| /* | 
 |  * 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 = < | 
 | 						MX28_PAD_SSP1_CMD__GPIO_2_13 | 
 | 						MX28_PAD_SSP1_DATA3__GPIO_2_15 | 
 | 						MX28_PAD_ENET0_RX_CLK__GPIO_4_13 | 
 | 						MX28_PAD_SSP1_SCK__GPIO_2_12 | 
 | 						MX28_PAD_PWM3__GPIO_3_28 | 
 | 						MX28_PAD_LCD_RESET__GPIO_3_30 | 
 | 						MX28_PAD_AUART2_RX__GPIO_3_8 | 
 | 						MX28_PAD_AUART2_TX__GPIO_3_9 | 
 | 					>; | 
 | 					fsl,drive-strength = <MXS_DRIVE_4mA>; | 
 | 					fsl,voltage = <MXS_VOLTAGE_HIGH>; | 
 | 					fsl,pull-up = <MXS_PULL_DISABLE>; | 
 | 				}; | 
 |  | 
 | 				led_pin_gpio3_5: led_gpio3_5@0 { | 
 | 					reg = <0>; | 
 | 					fsl,pinmux-ids = < | 
 | 						MX28_PAD_AUART1_TX__GPIO_3_5 | 
 | 					>; | 
 | 					fsl,drive-strength = <MXS_DRIVE_4mA>; | 
 | 					fsl,voltage = <MXS_VOLTAGE_HIGH>; | 
 | 					fsl,pull-up = <MXS_PULL_DISABLE>; | 
 | 				}; | 
 |  | 
 | 				gpmi_pins_evk: gpmi-nand-evk@0 { | 
 | 					reg = <0>; | 
 | 					fsl,pinmux-ids = < | 
 | 						MX28_PAD_GPMI_CE1N__GPMI_CE1N | 
 | 						MX28_PAD_GPMI_RDY1__GPMI_READY1 | 
 | 					>; | 
 | 					fsl,drive-strength = <MXS_DRIVE_4mA>; | 
 | 					fsl,voltage = <MXS_VOLTAGE_HIGH>; | 
 | 					fsl,pull-up = <MXS_PULL_DISABLE>; | 
 | 				}; | 
 |  | 
 | 				lcdif_pins_evk: lcdif-evk@0 { | 
 | 					reg = <0>; | 
 | 					fsl,pinmux-ids = < | 
 | 						MX28_PAD_LCD_RD_E__LCD_VSYNC | 
 | 						MX28_PAD_LCD_WR_RWN__LCD_HSYNC | 
 | 						MX28_PAD_LCD_RS__LCD_DOTCLK | 
 | 						MX28_PAD_LCD_CS__LCD_ENABLE | 
 | 					>; | 
 | 					fsl,drive-strength = <MXS_DRIVE_4mA>; | 
 | 					fsl,voltage = <MXS_VOLTAGE_HIGH>; | 
 | 					fsl,pull-up = <MXS_PULL_DISABLE>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			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>; | 
 | 				xceiver-supply = <®_can_3v3>; | 
 | 				status = "okay"; | 
 | 			}; | 
 |  | 
 | 			can1: can@80034000 { | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&can1_pins_a>; | 
 | 				xceiver-supply = <®_can_3v3>; | 
 | 				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 { | 
 | 				fsl,lradc-touchscreen-wires = <4>; | 
 | 				status = "okay"; | 
 | 				fsl,lradc-touchscreen-wires = <4>; | 
 | 				fsl,ave-ctrl = <4>; | 
 | 				fsl,ave-delay = <2>; | 
 | 				fsl,settling = <10>; | 
 | 			}; | 
 |  | 
 | 			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>; | 
 | 					clocks = <&saif0>; | 
 | 				}; | 
 |  | 
 | 				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>; | 
 | 				fsl,uart-has-rtscts; | 
 | 				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 { | 
 | 			pinctrl-names = "default"; | 
 | 			pinctrl-0 = <&usb0_id_pins_a>; | 
 | 			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; | 
 | 		}; | 
 |  | 
 | 		reg_can_3v3: can-3v3 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "can-3v3"; | 
 | 			regulator-min-microvolt = <3300000>; | 
 | 			regulator-max-microvolt = <3300000>; | 
 | 			gpio = <&gpio2 13 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>; | 
 | 	}; | 
 | }; |