blob: 38160fbd44b6e0f88d7ec4665d4ea858018b8f96 [file] [log] [blame]
Michael Heimpoldc98cea92017-02-09 08:42:46 +01001/*
2 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com>
3 * Copyright (C) 2016 Michael Heimpold <mhei@heimpold.de>
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13/dts-v1/;
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/gpio/gpio.h>
16#include "imx28.dtsi"
17
18/ {
19 model = "I2SE Duckbill 2";
20 compatible = "i2se,duckbill-2", "fsl,imx28";
21
Marco Franchiad00e082018-01-24 11:22:14 -020022 memory@40000000 {
Fabio Estevam32018d12018-11-26 10:08:56 -020023 device_type = "memory";
Michael Heimpoldc98cea92017-02-09 08:42:46 +010024 reg = <0x40000000 0x08000000>;
25 };
26
27 apb@80000000 {
28 apbh@80000000 {
Rob Herring5a2ecf02018-09-13 13:12:29 -050029 ssp0: spi@80010000 {
Michael Heimpoldc98cea92017-02-09 08:42:46 +010030 compatible = "fsl,imx28-mmc";
31 pinctrl-names = "default";
32 pinctrl-0 = <&mmc0_8bit_pins_a
33 &mmc0_cd_cfg &mmc0_sck_cfg>;
34 bus-width = <8>;
35 vmmc-supply = <&reg_3p3v>;
36 status = "okay";
37 non-removable;
38 };
39
Rob Herring5a2ecf02018-09-13 13:12:29 -050040 ssp2: spi@80014000 {
Michael Heimpoldc98cea92017-02-09 08:42:46 +010041 compatible = "fsl,imx28-mmc";
42 pinctrl-names = "default";
43 pinctrl-0 = <&mmc2_4bit_pins_b
44 &mmc2_cd_cfg &mmc2_sck_cfg_b>;
45 bus-width = <4>;
46 vmmc-supply = <&reg_3p3v>;
47 status = "okay";
48 };
49
50 pinctrl@80018000 {
51 pinctrl-names = "default";
52 pinctrl-0 = <&hog_pins_a>;
53
54 hog_pins_a: hog@0 {
55 reg = <0>;
56 fsl,pinmux-ids = <
57 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
58 >;
59 fsl,drive-strength = <MXS_DRIVE_4mA>;
60 fsl,voltage = <MXS_VOLTAGE_HIGH>;
61 fsl,pull-up = <MXS_PULL_DISABLE>;
62 };
63
64 mac0_phy_reset_pin: mac0-phy-reset@0 {
65 reg = <0>;
66 fsl,pinmux-ids = <
67 MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */
68 >;
69 fsl,drive-strength = <MXS_DRIVE_4mA>;
70 fsl,voltage = <MXS_VOLTAGE_HIGH>;
71 fsl,pull-up = <MXS_PULL_DISABLE>;
72 };
73
74 mac0_phy_int_pin: mac0-phy-int@0 {
75 reg = <0>;
76 fsl,pinmux-ids = <
77 MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */
78 >;
79 fsl,drive-strength = <MXS_DRIVE_4mA>;
80 fsl,voltage = <MXS_VOLTAGE_HIGH>;
81 fsl,pull-up = <MXS_PULL_DISABLE>;
82 };
83
84 led_pins: leds@0 {
85 reg = <0>;
86 fsl,pinmux-ids = <
87 MX28_PAD_SAIF0_MCLK__GPIO_3_20
88 MX28_PAD_SAIF0_LRCLK__GPIO_3_21
89 >;
90 fsl,drive-strength = <MXS_DRIVE_4mA>;
91 fsl,voltage = <MXS_VOLTAGE_HIGH>;
92 fsl,pull-up = <MXS_PULL_DISABLE>;
93 };
94 };
95 };
96
97 apbx@80040000 {
98 lradc@80050000 {
99 status = "okay";
100 };
101
102 i2c0: i2c@80058000 {
103 pinctrl-names = "default";
104 pinctrl-0 = <&i2c0_pins_a>;
105 status = "okay";
106 };
107
108 auart0: serial@8006a000 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&auart0_2pins_a>;
111 status = "okay";
112 };
113
114 duart: serial@80074000 {
115 pinctrl-names = "default";
116 pinctrl-0 = <&duart_pins_a>;
117 status = "okay";
118 };
119
120 usbphy0: usbphy@8007c000 {
121 status = "okay";
122 };
123 };
124 };
125
126 ahb@80080000 {
127 usb0: usb@80080000 {
128 status = "okay";
129 dr_mode = "peripheral";
130 };
131
132 mac0: ethernet@800f0000 {
133 phy-mode = "rmii";
134 pinctrl-names = "default";
135 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
136 phy-supply = <&reg_3p3v>;
137 phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
138 phy-reset-duration = <25>;
139 phy-handle = <&ethphy>;
140 status = "okay";
141
142 mdio {
143 #address-cells = <1>;
144 #size-cells = <0>;
145
146 ethphy: ethernet-phy@0 {
147 compatible = "ethernet-phy-ieee802.3-c22";
148 reg = <0>;
149 pinctrl-names = "default";
150 pinctrl-0 = <&mac0_phy_int_pin>;
151 interrupt-parent = <&gpio0>;
152 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
153 max-speed = <100>;
154 };
155 };
156 };
157 };
158
159 reg_3p3v: regulator-3p3v {
160 compatible = "regulator-fixed";
161 regulator-name = "3P3V";
162 regulator-min-microvolt = <3300000>;
163 regulator-max-microvolt = <3300000>;
164 regulator-always-on;
165 };
166
167 leds {
168 compatible = "gpio-leds";
169 pinctrl-names = "default";
170 pinctrl-0 = <&led_pins>;
171
172 status-red {
173 label = "duckbill:red:status";
174 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
175 linux,default-trigger = "default-on";
176 };
177
178 status-green {
179 label = "duckbill:green:status";
180 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
181 linux,default-trigger = "heartbeat";
182 };
183 };
184};