1// SPDX-License-Identifier: GPL-2.0+ 2// 3// Copyright 2012 Freescale Semiconductor, Inc. 4 5/dts-v1/; 6#include "imx28.dtsi" 7 8/ { 9 model = "Freescale i.MX28 Evaluation Kit"; 10 compatible = "fsl,imx28-evk", "fsl,imx28"; 11 12 memory@40000000 { 13 device_type = "memory"; 14 reg = <0x40000000 0x08000000>; 15 }; 16 17 18 reg_3p3v: regulator-3p3v { 19 compatible = "regulator-fixed"; 20 regulator-name = "3P3V"; 21 regulator-min-microvolt = <3300000>; 22 regulator-max-microvolt = <3300000>; 23 regulator-always-on; 24 }; 25 26 reg_vddio_sd0: regulator-vddio-sd0 { 27 compatible = "regulator-fixed"; 28 regulator-name = "vddio-sd0"; 29 regulator-min-microvolt = <3300000>; 30 regulator-max-microvolt = <3300000>; 31 gpio = <&gpio3 28 0>; 32 }; 33 34 reg_fec_3v3: regulator-fec-3v3 { 35 compatible = "regulator-fixed"; 36 regulator-name = "fec-3v3"; 37 regulator-min-microvolt = <3300000>; 38 regulator-max-microvolt = <3300000>; 39 gpio = <&gpio2 15 0>; 40 }; 41 42 reg_usb0_vbus: regulator-usb0-vbus { 43 compatible = "regulator-fixed"; 44 regulator-name = "usb0_vbus"; 45 regulator-min-microvolt = <5000000>; 46 regulator-max-microvolt = <5000000>; 47 gpio = <&gpio3 9 0>; 48 enable-active-high; 49 }; 50 51 reg_usb1_vbus: regulator-usb1-vbus { 52 compatible = "regulator-fixed"; 53 regulator-name = "usb1_vbus"; 54 regulator-min-microvolt = <5000000>; 55 regulator-max-microvolt = <5000000>; 56 gpio = <&gpio3 8 0>; 57 enable-active-high; 58 }; 59 60 reg_lcd_3v3: regulator-lcd-3v3 { 61 compatible = "regulator-fixed"; 62 regulator-name = "lcd-3v3"; 63 regulator-min-microvolt = <3300000>; 64 regulator-max-microvolt = <3300000>; 65 gpio = <&gpio3 30 0>; 66 enable-active-high; 67 }; 68 69 reg_can_3v3: regulator-can-3v3 { 70 compatible = "regulator-fixed"; 71 regulator-name = "can-3v3"; 72 regulator-min-microvolt = <3300000>; 73 regulator-max-microvolt = <3300000>; 74 gpio = <&gpio2 13 0>; 75 enable-active-high; 76 }; 77 78 reg_lcd_5v: regulator-lcd-5v { 79 compatible = "regulator-fixed"; 80 regulator-name = "lcd-5v"; 81 regulator-min-microvolt = <5000000>; 82 regulator-max-microvolt = <5000000>; 83 }; 84 85 panel { 86 compatible = "sii,43wvf1g"; 87 backlight = <&backlight_display>; 88 dvdd-supply = <®_lcd_3v3>; 89 avdd-supply = <®_lcd_5v>; 90 91 port { 92 panel_in: endpoint { 93 remote-endpoint = <&display_out>; 94 }; 95 }; 96 }; 97 98 apb@80000000 { 99 apbh@80000000 { 100 nand-controller@8000c000 { 101 pinctrl-names = "default"; 102 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg 103 &gpmi_pins_evk>; 104 status = "okay"; 105 }; 106 107 ssp0: spi@80010000 { 108 compatible = "fsl,imx28-mmc"; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&mmc0_8bit_pins_a 111 &mmc0_cd_cfg &mmc0_sck_cfg>; 112 bus-width = <8>; 113 wp-gpios = <&gpio2 12 0>; 114 vmmc-supply = <®_vddio_sd0>; 115 status = "okay"; 116 }; 117 118 ssp1: spi@80012000 { 119 compatible = "fsl,imx28-mmc"; 120 bus-width = <8>; 121 wp-gpios = <&gpio0 28 0>; 122 }; 123 124 ssp2: spi@80014000 { 125 #address-cells = <1>; 126 #size-cells = <0>; 127 compatible = "fsl,imx28-spi"; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&spi2_pins_a>; 130 status = "okay"; 131 132 flash: flash@0 { 133 #address-cells = <1>; 134 #size-cells = <1>; 135 compatible = "sst,sst25vf016b", "jedec,spi-nor"; 136 spi-max-frequency = <40000000>; 137 reg = <0>; 138 }; 139 }; 140 141 pinctrl@80018000 { 142 pinctrl-names = "default"; 143 pinctrl-0 = <&hog_pins_a>; 144 145 hog_pins_a: hog@0 { 146 reg = <0>; 147 fsl,pinmux-ids = < 148 MX28_PAD_SSP1_CMD__GPIO_2_13 149 MX28_PAD_SSP1_DATA3__GPIO_2_15 150 MX28_PAD_ENET0_RX_CLK__GPIO_4_13 151 MX28_PAD_SSP1_SCK__GPIO_2_12 152 MX28_PAD_PWM3__GPIO_3_28 153 MX28_PAD_LCD_RESET__GPIO_3_30 154 MX28_PAD_AUART2_RX__GPIO_3_8 155 MX28_PAD_AUART2_TX__GPIO_3_9 156 >; 157 fsl,drive-strength = <MXS_DRIVE_4mA>; 158 fsl,voltage = <MXS_VOLTAGE_HIGH>; 159 fsl,pull-up = <MXS_PULL_DISABLE>; 160 }; 161 162 led_pin_gpio3_5: led_gpio3_5@0 { 163 reg = <0>; 164 fsl,pinmux-ids = < 165 MX28_PAD_AUART1_TX__GPIO_3_5 166 >; 167 fsl,drive-strength = <MXS_DRIVE_4mA>; 168 fsl,voltage = <MXS_VOLTAGE_HIGH>; 169 fsl,pull-up = <MXS_PULL_DISABLE>; 170 }; 171 172 gpmi_pins_evk: gpmi-nand-evk@0 { 173 reg = <0>; 174 fsl,pinmux-ids = < 175 MX28_PAD_GPMI_CE1N__GPMI_CE1N 176 MX28_PAD_GPMI_RDY1__GPMI_READY1 177 >; 178 fsl,drive-strength = <MXS_DRIVE_4mA>; 179 fsl,voltage = <MXS_VOLTAGE_HIGH>; 180 fsl,pull-up = <MXS_PULL_DISABLE>; 181 }; 182 183 lcdif_pins_evk: lcdif-evk@0 { 184 reg = <0>; 185 fsl,pinmux-ids = < 186 MX28_PAD_LCD_RD_E__LCD_VSYNC 187 MX28_PAD_LCD_WR_RWN__LCD_HSYNC 188 MX28_PAD_LCD_RS__LCD_DOTCLK 189 MX28_PAD_LCD_CS__LCD_ENABLE 190 >; 191 fsl,drive-strength = <MXS_DRIVE_4mA>; 192 fsl,voltage = <MXS_VOLTAGE_HIGH>; 193 fsl,pull-up = <MXS_PULL_DISABLE>; 194 }; 195 }; 196 197 lcdif@80030000 { 198 pinctrl-names = "default"; 199 pinctrl-0 = <&lcdif_24bit_pins_a 200 &lcdif_pins_evk>; 201 status = "okay"; 202 203 port { 204 display_out: endpoint { 205 remote-endpoint = <&panel_in>; 206 }; 207 }; 208 }; 209 210 can0: can@80032000 { 211 pinctrl-names = "default"; 212 pinctrl-0 = <&can0_pins_a>; 213 xceiver-supply = <®_can_3v3>; 214 status = "okay"; 215 }; 216 217 can1: can@80034000 { 218 pinctrl-names = "default"; 219 pinctrl-0 = <&can1_pins_a>; 220 xceiver-supply = <®_can_3v3>; 221 status = "okay"; 222 }; 223 }; 224 225 apbx@80040000 { 226 saif0: saif@80042000 { 227 pinctrl-names = "default"; 228 pinctrl-0 = <&saif0_pins_a>; 229 status = "okay"; 230 }; 231 232 saif1: saif@80046000 { 233 pinctrl-names = "default"; 234 pinctrl-0 = <&saif1_pins_a>; 235 fsl,saif-master = <&saif0>; 236 status = "okay"; 237 }; 238 239 lradc@80050000 { 240 status = "okay"; 241 fsl,lradc-touchscreen-wires = <4>; 242 fsl,ave-ctrl = <4>; 243 fsl,ave-delay = <2>; 244 fsl,settling = <10>; 245 }; 246 247 i2c0: i2c@80058000 { 248 pinctrl-names = "default"; 249 pinctrl-0 = <&i2c0_pins_a>; 250 status = "okay"; 251 252 sgtl5000: codec@a { 253 compatible = "fsl,sgtl5000"; 254 reg = <0x0a>; 255 #sound-dai-cells = <0>; 256 VDDA-supply = <®_3p3v>; 257 VDDIO-supply = <®_3p3v>; 258 clocks = <&saif0>; 259 }; 260 261 at24@51 { 262 compatible = "atmel,24c32"; 263 pagesize = <32>; 264 reg = <0x51>; 265 }; 266 }; 267 268 pwm: pwm@80064000 { 269 pinctrl-names = "default"; 270 pinctrl-0 = <&pwm2_pins_a>; 271 status = "okay"; 272 }; 273 274 duart: serial@80074000 { 275 pinctrl-names = "default"; 276 pinctrl-0 = <&duart_pins_a>; 277 status = "okay"; 278 }; 279 280 auart0: serial@8006a000 { 281 pinctrl-names = "default"; 282 pinctrl-0 = <&auart0_pins_a>; 283 uart-has-rtscts; 284 status = "okay"; 285 }; 286 287 auart3: serial@80070000 { 288 pinctrl-names = "default"; 289 pinctrl-0 = <&auart3_pins_a>; 290 status = "okay"; 291 }; 292 293 usbphy0: usbphy@8007c000 { 294 status = "okay"; 295 }; 296 297 usbphy1: usbphy@8007e000 { 298 status = "okay"; 299 }; 300 }; 301 }; 302 303 ahb@80080000 { 304 usb0: usb@80080000 { 305 pinctrl-names = "default"; 306 pinctrl-0 = <&usb0_id_pins_a>; 307 vbus-supply = <®_usb0_vbus>; 308 status = "okay"; 309 }; 310 311 usb1: usb@80090000 { 312 vbus-supply = <®_usb1_vbus>; 313 status = "okay"; 314 }; 315 316 mac0: ethernet@800f0000 { 317 phy-mode = "rmii"; 318 pinctrl-names = "default"; 319 pinctrl-0 = <&mac0_pins_a>; 320 phy-supply = <®_fec_3v3>; 321 phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 322 phy-reset-duration = <100>; 323 status = "okay"; 324 }; 325 326 mac1: ethernet@800f4000 { 327 phy-mode = "rmii"; 328 pinctrl-names = "default"; 329 pinctrl-0 = <&mac1_pins_a>; 330 status = "okay"; 331 }; 332 }; 333 334 sound { 335 compatible = "fsl,imx28-evk-sgtl5000", 336 "fsl,mxs-audio-sgtl5000"; 337 model = "imx28-evk-sgtl5000"; 338 saif-controllers = <&saif0 &saif1>; 339 audio-codec = <&sgtl5000>; 340 }; 341 342 leds { 343 compatible = "gpio-leds"; 344 pinctrl-names = "default"; 345 pinctrl-0 = <&led_pin_gpio3_5>; 346 347 user { 348 label = "Heartbeat"; 349 gpios = <&gpio3 5 0>; 350 linux,default-trigger = "heartbeat"; 351 }; 352 }; 353 354 backlight_display: backlight { 355 compatible = "pwm-backlight"; 356 pwms = <&pwm 2 5000000>; 357 brightness-levels = <0 4 8 16 32 64 128 255>; 358 default-brightness-level = <6>; 359 }; 360}; 361