1/* 2 * Copyright (C) 2013 Marek Vasut <marex@denx.de> 3 * 4 * The code contained herein is licensed under the GNU General Public 5 * License. You may obtain a copy of the GNU General Public License 6 * Version 2 or later at the following locations: 7 * 8 * http://www.opensource.org/licenses/gpl-license.html 9 * http://www.gnu.org/copyleft/gpl.html 10 */ 11 12/dts-v1/; 13#include "imx28.dtsi" 14 15/ { 16 model = "MSR M28CU3"; 17 compatible = "msr,m28cu3", "fsl,imx28"; 18 19 memory { 20 reg = <0x40000000 0x08000000>; 21 }; 22 23 apb@80000000 { 24 apbh@80000000 { 25 gpmi-nand@8000c000 { 26 #address-cells = <1>; 27 #size-cells = <1>; 28 pinctrl-names = "default"; 29 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 30 status = "okay"; 31 32 partition@0 { 33 label = "gpmi-nfc-0-boot"; 34 reg = <0x00000000 0x01400000>; 35 read-only; 36 }; 37 38 partition@1 { 39 label = "gpmi-nfc-general-use"; 40 reg = <0x01400000 0x0ec00000>; 41 }; 42 }; 43 44 ssp0: ssp@80010000 { 45 compatible = "fsl,imx28-mmc"; 46 pinctrl-names = "default"; 47 pinctrl-0 = <&mmc0_4bit_pins_a 48 &mmc0_cd_cfg 49 &mmc0_sck_cfg>; 50 bus-width = <4>; 51 vmmc-supply = <®_vddio_sd0>; 52 status = "okay"; 53 }; 54 55 ssp2: ssp@80014000 { 56 compatible = "fsl,imx28-mmc"; 57 pinctrl-names = "default"; 58 pinctrl-0 = <&mmc2_4bit_pins_a 59 &mmc2_cd_cfg 60 &mmc2_sck_cfg>; 61 bus-width = <4>; 62 vmmc-supply = <®_vddio_sd1>; 63 status = "okay"; 64 }; 65 66 pinctrl@80018000 { 67 pinctrl-names = "default"; 68 pinctrl-0 = <&hog_pins_a>; 69 70 hog_pins_a: hog@0 { 71 reg = <0>; 72 fsl,pinmux-ids = < 73 MX28_PAD_SSP2_SS0__GPIO_2_19 74 MX28_PAD_PWM4__GPIO_3_29 75 MX28_PAD_AUART2_RX__GPIO_3_8 76 MX28_PAD_ENET0_RX_CLK__GPIO_4_13 77 >; 78 fsl,drive-strength = <MXS_DRIVE_4mA>; 79 fsl,voltage = <MXS_VOLTAGE_HIGH>; 80 fsl,pull-up = <MXS_PULL_DISABLE>; 81 }; 82 83 lcdif_pins_m28: lcdif-m28@0 { 84 reg = <0>; 85 fsl,pinmux-ids = < 86 MX28_PAD_LCD_VSYNC__LCD_VSYNC 87 MX28_PAD_LCD_HSYNC__LCD_HSYNC 88 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 89 MX28_PAD_LCD_RESET__LCD_RESET 90 MX28_PAD_LCD_CS__LCD_ENABLE 91 MX28_PAD_AUART1_TX__GPIO_3_5 92 >; 93 fsl,drive-strength = <MXS_DRIVE_4mA>; 94 fsl,voltage = <MXS_VOLTAGE_HIGH>; 95 fsl,pull-up = <MXS_PULL_DISABLE>; 96 }; 97 98 led_pins_gpio: leds-m28@0 { 99 reg = <0>; 100 fsl,pinmux-ids = < 101 MX28_PAD_SSP3_MISO__GPIO_2_26 102 MX28_PAD_SSP3_SCK__GPIO_2_24 103 >; 104 fsl,drive-strength = <MXS_DRIVE_4mA>; 105 fsl,voltage = <MXS_VOLTAGE_HIGH>; 106 fsl,pull-up = <MXS_PULL_DISABLE>; 107 }; 108 }; 109 110 ocotp@8002c000 { 111 status = "okay"; 112 }; 113 114 lcdif@80030000 { 115 pinctrl-names = "default"; 116 pinctrl-0 = <&lcdif_24bit_pins_a 117 &lcdif_pins_m28>; 118 display = <&display0>; 119 status = "okay"; 120 121 display0: display0 { 122 bits-per-pixel = <32>; 123 bus-width = <24>; 124 125 display-timings { 126 native-mode = <&timing0>; 127 timing0: timing0 { 128 clock-frequency = <6410256>; 129 hactive = <320>; 130 vactive = <240>; 131 hback-porch = <38>; 132 hfront-porch = <20>; 133 vback-porch = <15>; 134 vfront-porch = <5>; 135 hsync-len = <30>; 136 vsync-len = <3>; 137 hsync-active = <0>; 138 vsync-active = <0>; 139 de-active = <1>; 140 pixelclk-active = <1>; 141 }; 142 }; 143 }; 144 }; 145 }; 146 147 apbx@80040000 { 148 duart: serial@80074000 { 149 pinctrl-names = "default"; 150 pinctrl-0 = <&duart_pins_b>; 151 status = "okay"; 152 }; 153 154 usbphy1: usbphy@8007e000 { 155 status = "okay"; 156 }; 157 158 auart0: serial@8006a000 { 159 pinctrl-names = "default"; 160 pinctrl-0 = <&auart0_2pins_a>; 161 status = "okay"; 162 }; 163 164 auart3: serial@80070000 { 165 pinctrl-names = "default"; 166 pinctrl-0 = <&auart3_2pins_b>; 167 status = "okay"; 168 }; 169 170 pwm: pwm@80064000 { 171 pinctrl-names = "default"; 172 pinctrl-0 = <&pwm3_pins_a>; 173 status = "okay"; 174 }; 175 }; 176 }; 177 178 ahb@80080000 { 179 usb1: usb@80090000 { 180 vbus-supply = <®_usb1_vbus>; 181 pinctrl-names = "default"; 182 pinctrl-0 = <&usb1_pins_a>; 183 disable-over-current; 184 status = "okay"; 185 }; 186 187 mac0: ethernet@800f0000 { 188 phy-mode = "rmii"; 189 pinctrl-names = "default"; 190 pinctrl-0 = <&mac0_pins_a>; 191 phy-reset-gpios = <&gpio4 13 0>; 192 phy-reset-duration = <100>; 193 status = "okay"; 194 }; 195 196 mac1: ethernet@800f4000 { 197 phy-mode = "rmii"; 198 pinctrl-names = "default"; 199 pinctrl-0 = <&mac1_pins_a>; 200 status = "okay"; 201 }; 202 }; 203 204 backlight { 205 compatible = "pwm-backlight"; 206 pwms = <&pwm 3 5000000>; 207 brightness-levels = <0 4 8 16 32 64 128 255>; 208 default-brightness-level = <6>; 209 }; 210 211 leds { 212 compatible = "gpio-leds"; 213 pinctrl-names = "default"; 214 pinctrl-0 = <&led_pins_gpio>; 215 216 user1 { 217 label = "sd0-led"; 218 gpios = <&gpio2 26 0>; 219 linux,default-trigger = "mmc0"; 220 }; 221 222 user2 { 223 label = "sd1-led"; 224 gpios = <&gpio2 24 0>; 225 linux,default-trigger = "mmc2"; 226 }; 227 }; 228 229 regulators { 230 compatible = "simple-bus"; 231 #address-cells = <1>; 232 #size-cells = <0>; 233 234 reg_3p3v: regulator@0 { 235 compatible = "regulator-fixed"; 236 reg = <0>; 237 regulator-name = "3P3V"; 238 regulator-min-microvolt = <3300000>; 239 regulator-max-microvolt = <3300000>; 240 regulator-always-on; 241 }; 242 243 reg_vddio_sd0: regulator@1 { 244 compatible = "regulator-fixed"; 245 reg = <1>; 246 regulator-name = "vddio-sd0"; 247 regulator-min-microvolt = <3300000>; 248 regulator-max-microvolt = <3300000>; 249 gpio = <&gpio3 29 0>; 250 }; 251 252 reg_vddio_sd1: regulator@2 { 253 compatible = "regulator-fixed"; 254 reg = <2>; 255 regulator-name = "vddio-sd1"; 256 regulator-min-microvolt = <3300000>; 257 regulator-max-microvolt = <3300000>; 258 gpio = <&gpio2 19 0>; 259 }; 260 261 reg_usb1_vbus: regulator@3 { 262 compatible = "regulator-fixed"; 263 reg = <3>; 264 regulator-name = "usb1_vbus"; 265 regulator-min-microvolt = <5000000>; 266 regulator-max-microvolt = <5000000>; 267 gpio = <&gpio3 8 0>; 268 enable-active-high; 269 }; 270 }; 271}; 272