| /* | 
 |  * Copyright (C) 2012 Marek Vasut <marex@denx.de> | 
 |  * | 
 |  * 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 = "DENX M28EVK"; | 
 | 	compatible = "denx,m28evk", "fsl,imx28"; | 
 |  | 
 | 	memory { | 
 | 		reg = <0x40000000 0x08000000>; | 
 | 	}; | 
 |  | 
 | 	apb@80000000 { | 
 | 		apbh@80000000 { | 
 | 			gpmi-nand@8000c000 { | 
 | 				#address-cells = <1>; | 
 | 				#size-cells = <1>; | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; | 
 | 				status = "okay"; | 
 |  | 
 | 				partition@0 { | 
 | 					label = "bootloader"; | 
 | 					reg = <0x00000000 0x00300000>; | 
 | 					read-only; | 
 | 				}; | 
 |  | 
 | 				partition@1 { | 
 | 					label = "environment"; | 
 | 					reg = <0x00300000 0x00080000>; | 
 | 				}; | 
 |  | 
 | 				partition@2 { | 
 | 					label = "redundant-environment"; | 
 | 					reg = <0x00380000 0x00080000>; | 
 | 				}; | 
 |  | 
 | 				partition@3 { | 
 | 					label = "kernel"; | 
 | 					reg = <0x00400000 0x00400000>; | 
 | 				}; | 
 |  | 
 | 				partition@4 { | 
 | 					label = "filesystem"; | 
 | 					reg = <0x00800000 0x0f800000>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			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 = <&gpio3 10 0>; | 
 | 				vmmc-supply = <®_vddio_sd0>; | 
 | 				status = "okay"; | 
 | 			}; | 
 |  | 
 | 			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 = "m25p80"; | 
 | 					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 = < | 
 | 						0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ | 
 | 						0x30a3 /* MX28_PAD_AUART2_CTS__GPIO_3_10 */ | 
 | 						0x30b3 /* MX28_PAD_AUART2_RTS__GPIO_3_11 */ | 
 | 						0x30c3 /* MX28_PAD_AUART3_RX__GPIO_3_12 */ | 
 | 						0x30d3 /* MX28_PAD_AUART3_TX__GPIO_3_13 */ | 
 | 					>; | 
 | 					fsl,drive-strength = <0>; | 
 | 					fsl,voltage = <1>; | 
 | 					fsl,pull-up = <0>; | 
 | 				}; | 
 |  | 
 | 				lcdif_pins_m28: lcdif-m28@0 { | 
 | 					reg = <0>; | 
 | 					fsl,pinmux-ids = < | 
 | 						0x11e0 /* MX28_PAD_LCD_DOTCLK__LCD_DOTCLK */ | 
 | 						0x11f0 /* MX28_PAD_LCD_ENABLE__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_m28>; | 
 | 				display = <&display>; | 
 | 				status = "okay"; | 
 |  | 
 | 				display: display { | 
 | 					bits-per-pixel = <16>; | 
 | 					bus-width = <18>; | 
 |  | 
 | 					display-timings { | 
 | 						native-mode = <&timing0>; | 
 | 						timing0: timing0 { | 
 | 							clock-frequency = <33260000>; | 
 | 							hactive = <800>; | 
 | 							vactive = <480>; | 
 | 							hback-porch = <0>; | 
 | 							hfront-porch = <256>; | 
 | 							vback-porch = <0>; | 
 | 							vfront-porch = <45>; | 
 | 							hsync-len = <1>; | 
 | 							vsync-len = <1>; | 
 | 							hsync-active = <0>; | 
 | 							vsync-active = <0>; | 
 | 							de-active = <1>; | 
 | 							pixelclk-active = <1>; | 
 | 						}; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			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"; | 
 | 			}; | 
 |  | 
 | 			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>; | 
 |  | 
 | 				}; | 
 |  | 
 | 				eeprom: eeprom@51 { | 
 | 					compatible = "atmel,24c128"; | 
 | 					reg = <0x51>; | 
 | 					pagesize = <32>; | 
 | 				}; | 
 |  | 
 | 				rtc: rtc@68 { | 
 | 					compatible = "stm,mt41t62"; | 
 | 					reg = <0x68>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			lradc@80050000 { | 
 | 				status = "okay"; | 
 | 				fsl,lradc-touchscreen-wires = <4>; | 
 | 			}; | 
 |  | 
 | 			duart: serial@80074000 { | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&duart_pins_a>; | 
 | 				status = "okay"; | 
 | 			}; | 
 |  | 
 | 			usbphy0: usbphy@8007c000 { | 
 | 				status = "okay"; | 
 | 			}; | 
 |  | 
 | 			usbphy1: usbphy@8007e000 { | 
 | 				status = "okay"; | 
 | 			}; | 
 |  | 
 | 			auart0: serial@8006a000 { | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&auart0_2pins_a>; | 
 | 				status = "okay"; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	ahb@80080000 { | 
 | 		usb0: usb@80080000 { | 
 | 			vbus-supply = <®_usb0_vbus>; | 
 | 			pinctrl-names = "default"; | 
 | 			pinctrl-0 = <&usbphy0_pins_a>; | 
 | 			status = "okay"; | 
 | 		}; | 
 |  | 
 | 		usb1: usb@80090000 { | 
 | 			vbus-supply = <®_usb1_vbus>; | 
 | 			pinctrl-names = "default"; | 
 | 			pinctrl-0 = <&usbphy1_pins_a>; | 
 | 			status = "okay"; | 
 | 		}; | 
 |  | 
 | 		mac0: ethernet@800f0000 { | 
 | 			phy-mode = "rmii"; | 
 | 			pinctrl-names = "default"; | 
 | 			pinctrl-0 = <&mac0_pins_a>; | 
 | 			clocks = <&clks 57>, <&clks 57>; | 
 | 			clock-names = "ipg", "ahb"; | 
 | 			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_usb0_vbus: usb0_vbus { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "usb0_vbus"; | 
 | 			regulator-min-microvolt = <5000000>; | 
 | 			regulator-max-microvolt = <5000000>; | 
 | 			gpio = <&gpio3 12 0>; | 
 | 		}; | 
 |  | 
 | 		reg_usb1_vbus: usb1_vbus { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "usb1_vbus"; | 
 | 			regulator-min-microvolt = <5000000>; | 
 | 			regulator-max-microvolt = <5000000>; | 
 | 			gpio = <&gpio3 13 0>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	sound { | 
 | 		compatible = "denx,m28evk-sgtl5000", | 
 | 			     "fsl,mxs-audio-sgtl5000"; | 
 | 		model = "m28evk-sgtl5000"; | 
 | 		saif-controllers = <&saif0 &saif1>; | 
 | 		audio-codec = <&sgtl5000>; | 
 | 	}; | 
 | }; |