1/*
2 * Copyright (C) 2013 Michael Heimpold <mhei@heimpold.de>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13#include "imx28.dtsi"
14
15/ {
16	model = "I2SE Duckbill";
17	compatible = "i2se,duckbill", "fsl,imx28";
18
19	memory {
20		reg = <0x40000000 0x08000000>;
21	};
22
23	apb@80000000 {
24		apbh@80000000 {
25			ssp0: ssp@80010000 {
26				compatible = "fsl,imx28-mmc";
27				pinctrl-names = "default";
28				pinctrl-0 = <&mmc0_4bit_pins_a
29					&mmc0_cd_cfg &mmc0_sck_cfg>;
30				bus-width = <4>;
31				vmmc-supply = <&reg_3p3v>;
32				status = "okay";
33			};
34
35			pinctrl@80018000 {
36				pinctrl-names = "default";
37				pinctrl-0 = <&hog_pins_a>;
38
39				hog_pins_a: hog@0 {
40					reg = <0>;
41					fsl,pinmux-ids = <
42						MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */
43					>;
44					fsl,drive-strength = <MXS_DRIVE_4mA>;
45					fsl,voltage = <MXS_VOLTAGE_HIGH>;
46					fsl,pull-up = <MXS_PULL_DISABLE>;
47				};
48
49				led_pins_a: led_gpio@0 {
50					reg = <0>;
51					fsl,pinmux-ids = <
52						MX28_PAD_AUART1_RX__GPIO_3_4
53						MX28_PAD_AUART1_TX__GPIO_3_5
54					>;
55					fsl,drive-strength = <MXS_DRIVE_4mA>;
56					fsl,voltage = <MXS_VOLTAGE_HIGH>;
57					fsl,pull-up = <MXS_PULL_DISABLE>;
58				};
59			};
60		};
61
62		apbx@80040000 {
63			duart: serial@80074000 {
64				pinctrl-names = "default";
65				pinctrl-0 = <&duart_pins_a>;
66				status = "okay";
67			};
68
69			usbphy0: usbphy@8007c000 {
70				status = "okay";
71			};
72		};
73	};
74
75	ahb@80080000 {
76		usb0: usb@80080000 {
77			status = "okay";
78		};
79
80		mac0: ethernet@800f0000 {
81			phy-mode = "rmii";
82			pinctrl-names = "default";
83			pinctrl-0 = <&mac0_pins_a>;
84			phy-supply = <&reg_3p3v>;
85			phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
86			phy-reset-duration = <100>;
87			status = "okay";
88		};
89	};
90
91	regulators {
92		compatible = "simple-bus";
93		#address-cells = <1>;
94		#size-cells = <0>;
95
96		reg_3p3v: regulator@0 {
97			compatible = "regulator-fixed";
98			reg = <0>;
99			regulator-name = "3P3V";
100			regulator-min-microvolt = <3300000>;
101			regulator-max-microvolt = <3300000>;
102			regulator-always-on;
103		};
104	};
105
106	leds {
107		compatible = "gpio-leds";
108		pinctrl-names = "default";
109		pinctrl-0 = <&led_pins_a>;
110
111		status {
112			label = "duckbill:green:status";
113			gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
114		};
115
116		failure {
117			label = "duckbill:red:status";
118			gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
119		};
120	};
121};
122