1/* 2 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com> 3 * Copyright (C) 2016 Michael Heimpold <mhei@heimpold.de> 4 * 5 * The code contained herein is licensed under the GNU General Public 6 * License. You may obtain a copy of the GNU General Public License 7 * Version 2 or later at the following locations: 8 * 9 * http://www.opensource.org/licenses/gpl-license.html 10 * http://www.gnu.org/copyleft/gpl.html 11 */ 12 13/dts-v1/; 14#include <dt-bindings/interrupt-controller/irq.h> 15#include <dt-bindings/gpio/gpio.h> 16#include "imx28.dtsi" 17 18/ { 19 model = "I2SE Duckbill 2 485"; 20 compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28"; 21 22 memory@40000000 { 23 reg = <0x40000000 0x08000000>; 24 }; 25 26 apb@80000000 { 27 apbh@80000000 { 28 ssp0: ssp@80010000 { 29 compatible = "fsl,imx28-mmc"; 30 pinctrl-names = "default"; 31 pinctrl-0 = <&mmc0_8bit_pins_a 32 &mmc0_cd_cfg &mmc0_sck_cfg>; 33 bus-width = <8>; 34 vmmc-supply = <®_3p3v>; 35 status = "okay"; 36 non-removable; 37 }; 38 39 ssp2: ssp@80014000 { 40 compatible = "fsl,imx28-mmc"; 41 pinctrl-names = "default"; 42 pinctrl-0 = <&mmc2_4bit_pins_b 43 &mmc2_cd_cfg &mmc2_sck_cfg_b>; 44 bus-width = <4>; 45 vmmc-supply = <®_3p3v>; 46 status = "okay"; 47 }; 48 49 pinctrl@80018000 { 50 pinctrl-names = "default"; 51 pinctrl-0 = <&hog_pins_a>; 52 53 hog_pins_a: hog@0 { 54 reg = <0>; 55 fsl,pinmux-ids = < 56 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 57 >; 58 fsl,drive-strength = <MXS_DRIVE_4mA>; 59 fsl,voltage = <MXS_VOLTAGE_HIGH>; 60 fsl,pull-up = <MXS_PULL_DISABLE>; 61 }; 62 63 mac0_phy_reset_pin: mac0-phy-reset@0 { 64 reg = <0>; 65 fsl,pinmux-ids = < 66 MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 67 >; 68 fsl,drive-strength = <MXS_DRIVE_4mA>; 69 fsl,voltage = <MXS_VOLTAGE_HIGH>; 70 fsl,pull-up = <MXS_PULL_DISABLE>; 71 }; 72 73 mac0_phy_int_pin: mac0-phy-int@0 { 74 reg = <0>; 75 fsl,pinmux-ids = < 76 MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 77 >; 78 fsl,drive-strength = <MXS_DRIVE_4mA>; 79 fsl,voltage = <MXS_VOLTAGE_HIGH>; 80 fsl,pull-up = <MXS_PULL_DISABLE>; 81 }; 82 83 led_pins: leds@0 { 84 reg = <0>; 85 fsl,pinmux-ids = < 86 MX28_PAD_SAIF0_MCLK__GPIO_3_20 87 MX28_PAD_SAIF0_LRCLK__GPIO_3_21 88 MX28_PAD_I2C0_SCL__GPIO_3_24 89 MX28_PAD_I2C0_SDA__GPIO_3_25 90 >; 91 fsl,drive-strength = <MXS_DRIVE_4mA>; 92 fsl,voltage = <MXS_VOLTAGE_HIGH>; 93 fsl,pull-up = <MXS_PULL_DISABLE>; 94 }; 95 }; 96 }; 97 98 apbx@80040000 { 99 lradc@80050000 { 100 status = "okay"; 101 }; 102 103 auart0: serial@8006a000 { 104 pinctrl-names = "default"; 105 pinctrl-0 = <&auart0_2pins_a>; 106 status = "okay"; 107 }; 108 109 duart: serial@80074000 { 110 pinctrl-names = "default"; 111 pinctrl-0 = <&duart_pins_a>; 112 status = "okay"; 113 }; 114 115 usbphy0: usbphy@8007c000 { 116 status = "okay"; 117 }; 118 }; 119 }; 120 121 ahb@80080000 { 122 usb0: usb@80080000 { 123 status = "okay"; 124 dr_mode = "peripheral"; 125 }; 126 127 mac0: ethernet@800f0000 { 128 phy-mode = "rmii"; 129 pinctrl-names = "default"; 130 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 131 phy-supply = <®_3p3v>; 132 phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 133 phy-reset-duration = <25>; 134 phy-handle = <ðphy>; 135 status = "okay"; 136 137 mdio { 138 #address-cells = <1>; 139 #size-cells = <0>; 140 141 ethphy: ethernet-phy@0 { 142 compatible = "ethernet-phy-ieee802.3-c22"; 143 reg = <0>; 144 pinctrl-names = "default"; 145 pinctrl-0 = <&mac0_phy_int_pin>; 146 interrupt-parent = <&gpio0>; 147 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 148 max-speed = <100>; 149 }; 150 }; 151 }; 152 }; 153 154 reg_3p3v: regulator-3p3v { 155 compatible = "regulator-fixed"; 156 regulator-name = "3P3V"; 157 regulator-min-microvolt = <3300000>; 158 regulator-max-microvolt = <3300000>; 159 regulator-always-on; 160 }; 161 162 leds { 163 compatible = "gpio-leds"; 164 pinctrl-names = "default"; 165 pinctrl-0 = <&led_pins>; 166 167 status-red { 168 label = "duckbill:red:status"; 169 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 170 linux,default-trigger = "default-on"; 171 }; 172 173 status-green { 174 label = "duckbill:green:status"; 175 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 176 linux,default-trigger = "heartbeat"; 177 }; 178 179 rs485-red { 180 label = "duckbill:red:rs485"; 181 gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; 182 }; 183 184 rs485-green { 185 label = "duckbill:green:rs485"; 186 gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; 187 }; 188 }; 189}; 190