|  | /* | 
|  | * Copyright 2012 Freescale Semiconductor, Inc. | 
|  | * | 
|  | * The code contained herein is licensed under the GNU General Public | 
|  | * License. You may obtain a copy of the GNU General Public License | 
|  | * Version 2 or later at the following locations: | 
|  | * | 
|  | * http://www.opensource.org/licenses/gpl-license.html | 
|  | * http://www.gnu.org/copyleft/gpl.html | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  | /include/ "imx28.dtsi" | 
|  |  | 
|  | / { | 
|  | model = "Freescale i.MX28 Evaluation Kit"; | 
|  | compatible = "fsl,imx28-evk", "fsl,imx28"; | 
|  |  | 
|  | memory { | 
|  | reg = <0x40000000 0x08000000>; | 
|  | }; | 
|  |  | 
|  | apb@80000000 { | 
|  | apbh@80000000 { | 
|  | gpmi-nand@8000c000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg | 
|  | &gpmi_pins_evk>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | ssp0: ssp@80010000 { | 
|  | compatible = "fsl,imx28-mmc"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&mmc0_8bit_pins_a | 
|  | &mmc0_cd_cfg &mmc0_sck_cfg>; | 
|  | bus-width = <8>; | 
|  | wp-gpios = <&gpio2 12 0>; | 
|  | vmmc-supply = <®_vddio_sd0>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | ssp1: ssp@80012000 { | 
|  | compatible = "fsl,imx28-mmc"; | 
|  | bus-width = <8>; | 
|  | wp-gpios = <&gpio0 28 0>; | 
|  | }; | 
|  |  | 
|  | ssp2: ssp@80014000 { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | compatible = "fsl,imx28-spi"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&spi2_pins_a>; | 
|  | status = "okay"; | 
|  |  | 
|  | flash: m25p80@0 { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  | compatible = "sst,sst25vf016b"; | 
|  | spi-max-frequency = <40000000>; | 
|  | reg = <0>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pinctrl@80018000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&hog_pins_a>; | 
|  |  | 
|  | hog_pins_a: hog@0 { | 
|  | reg = <0>; | 
|  | fsl,pinmux-ids = < | 
|  | 0x20d3 /* MX28_PAD_SSP1_CMD__GPIO_2_13 */ | 
|  | 0x20f3 /* MX28_PAD_SSP1_DATA3__GPIO_2_15 */ | 
|  | 0x40d3 /* MX28_PAD_ENET0_RX_CLK__GPIO_4_13 */ | 
|  | 0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */ | 
|  | 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ | 
|  | 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */ | 
|  | 0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */ | 
|  | 0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */ | 
|  | >; | 
|  | fsl,drive-strength = <0>; | 
|  | fsl,voltage = <1>; | 
|  | fsl,pull-up = <0>; | 
|  | }; | 
|  |  | 
|  | led_pin_gpio3_5: led_gpio3_5@0 { | 
|  | reg = <0>; | 
|  | fsl,pinmux-ids = < | 
|  | 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */ | 
|  | >; | 
|  | fsl,drive-strength = <0>; | 
|  | fsl,voltage = <1>; | 
|  | fsl,pull-up = <0>; | 
|  | }; | 
|  |  | 
|  | gpmi_pins_evk: gpmi-nand-evk@0 { | 
|  | reg = <0>; | 
|  | fsl,pinmux-ids = < | 
|  | 0x0110 /* MX28_PAD_GPMI_CE1N__GPMI_CE1N */ | 
|  | 0x0150 /* MX28_PAD_GPMI_RDY1__GPMI_READY1 */ | 
|  | >; | 
|  | fsl,drive-strength = <0>; | 
|  | fsl,voltage = <1>; | 
|  | fsl,pull-up = <0>; | 
|  | }; | 
|  |  | 
|  | lcdif_pins_evk: lcdif-evk@0 { | 
|  | reg = <0>; | 
|  | fsl,pinmux-ids = < | 
|  | 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */ | 
|  | 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */ | 
|  | 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */ | 
|  | 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */ | 
|  | >; | 
|  | fsl,drive-strength = <0>; | 
|  | fsl,voltage = <1>; | 
|  | fsl,pull-up = <0>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | lcdif@80030000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&lcdif_24bit_pins_a | 
|  | &lcdif_pins_evk>; | 
|  | lcd-supply = <®_lcd_3v3>; | 
|  | display = <&display>; | 
|  | status = "okay"; | 
|  |  | 
|  | display: display { | 
|  | bits-per-pixel = <32>; | 
|  | bus-width = <24>; | 
|  |  | 
|  | display-timings { | 
|  | native-mode = <&timing0>; | 
|  | timing0: timing0 { | 
|  | clock-frequency = <33500000>; | 
|  | hactive = <800>; | 
|  | vactive = <480>; | 
|  | hback-porch = <89>; | 
|  | hfront-porch = <164>; | 
|  | vback-porch = <23>; | 
|  | vfront-porch = <10>; | 
|  | hsync-len = <10>; | 
|  | vsync-len = <10>; | 
|  | hsync-active = <0>; | 
|  | vsync-active = <0>; | 
|  | de-active = <1>; | 
|  | pixelclk-active = <0>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | can0: can@80032000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&can0_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | can1: can@80034000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&can1_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | apbx@80040000 { | 
|  | saif0: saif@80042000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&saif0_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | saif1: saif@80046000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&saif1_pins_a>; | 
|  | fsl,saif-master = <&saif0>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | lradc@80050000 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | i2c0: i2c@80058000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&i2c0_pins_a>; | 
|  | status = "okay"; | 
|  |  | 
|  | sgtl5000: codec@0a { | 
|  | compatible = "fsl,sgtl5000"; | 
|  | reg = <0x0a>; | 
|  | VDDA-supply = <®_3p3v>; | 
|  | VDDIO-supply = <®_3p3v>; | 
|  |  | 
|  | }; | 
|  |  | 
|  | at24@51 { | 
|  | compatible = "at24,24c32"; | 
|  | pagesize = <32>; | 
|  | reg = <0x51>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pwm: pwm@80064000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pwm2_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | duart: serial@80074000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&duart_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | auart0: serial@8006a000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&auart0_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | auart3: serial@80070000 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&auart3_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | usbphy0: usbphy@8007c000 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | usbphy1: usbphy@8007e000 { | 
|  | status = "okay"; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | ahb@80080000 { | 
|  | usb0: usb@80080000 { | 
|  | vbus-supply = <®_usb0_vbus>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | usb1: usb@80090000 { | 
|  | vbus-supply = <®_usb1_vbus>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | mac0: ethernet@800f0000 { | 
|  | phy-mode = "rmii"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&mac0_pins_a>; | 
|  | phy-supply = <®_fec_3v3>; | 
|  | phy-reset-gpios = <&gpio4 13 0>; | 
|  | phy-reset-duration = <100>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | mac1: ethernet@800f4000 { | 
|  | phy-mode = "rmii"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&mac1_pins_a>; | 
|  | status = "okay"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | regulators { | 
|  | compatible = "simple-bus"; | 
|  |  | 
|  | reg_3p3v: 3p3v { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "3P3V"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  | regulator-always-on; | 
|  | }; | 
|  |  | 
|  | reg_vddio_sd0: vddio-sd0 { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "vddio-sd0"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  | gpio = <&gpio3 28 0>; | 
|  | }; | 
|  |  | 
|  | reg_fec_3v3: fec-3v3 { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "fec-3v3"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  | gpio = <&gpio2 15 0>; | 
|  | }; | 
|  |  | 
|  | reg_usb0_vbus: usb0_vbus { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "usb0_vbus"; | 
|  | regulator-min-microvolt = <5000000>; | 
|  | regulator-max-microvolt = <5000000>; | 
|  | gpio = <&gpio3 9 0>; | 
|  | enable-active-high; | 
|  | }; | 
|  |  | 
|  | reg_usb1_vbus: usb1_vbus { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "usb1_vbus"; | 
|  | regulator-min-microvolt = <5000000>; | 
|  | regulator-max-microvolt = <5000000>; | 
|  | gpio = <&gpio3 8 0>; | 
|  | enable-active-high; | 
|  | }; | 
|  |  | 
|  | reg_lcd_3v3: lcd-3v3 { | 
|  | compatible = "regulator-fixed"; | 
|  | regulator-name = "lcd-3v3"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  | gpio = <&gpio3 30 0>; | 
|  | enable-active-high; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | sound { | 
|  | compatible = "fsl,imx28-evk-sgtl5000", | 
|  | "fsl,mxs-audio-sgtl5000"; | 
|  | model = "imx28-evk-sgtl5000"; | 
|  | saif-controllers = <&saif0 &saif1>; | 
|  | audio-codec = <&sgtl5000>; | 
|  | }; | 
|  |  | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&led_pin_gpio3_5>; | 
|  |  | 
|  | user { | 
|  | label = "Heartbeat"; | 
|  | gpios = <&gpio3 5 0>; | 
|  | linux,default-trigger = "heartbeat"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | backlight { | 
|  | compatible = "pwm-backlight"; | 
|  | pwms = <&pwm 2 5000000>; | 
|  | brightness-levels = <0 4 8 16 32 64 128 255>; | 
|  | default-brightness-level = <6>; | 
|  | }; | 
|  | }; |