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