GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / imx28-duckbill.dts
1 /*
2  * Copyright (C) 2013-2014,2016 Michael Heimpold <mhei@heimpold.de>
3  * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com>
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/gpio/gpio.h>
15 #include "imx28.dtsi"
16
17 / {
18         model = "I2SE Duckbill";
19         compatible = "i2se,duckbill", "fsl,imx28";
20
21         memory@40000000 {
22                 reg = <0x40000000 0x08000000>;
23         };
24
25         apb@80000000 {
26                 apbh@80000000 {
27                         ssp0: ssp@80010000 {
28                                 compatible = "fsl,imx28-mmc";
29                                 pinctrl-names = "default";
30                                 pinctrl-0 = <&mmc0_4bit_pins_a
31                                         &mmc0_cd_cfg &mmc0_sck_cfg>;
32                                 bus-width = <4>;
33                                 vmmc-supply = <&reg_3p3v>;
34                                 status = "okay";
35                         };
36
37                         ssp2: ssp@80014000 {
38                                 compatible = "fsl,imx28-spi";
39                                 pinctrl-names = "default";
40                                 pinctrl-0 = <&spi2_pins_a>;
41                                 status = "okay";
42                         };
43
44                         pinctrl@80018000 {
45                                 pinctrl-names = "default";
46                                 pinctrl-0 = <&hog_pins_a>;
47
48                                 hog_pins_a: hog@0 {
49                                         reg = <0>;
50                                         fsl,pinmux-ids = <
51                                                 MX28_PAD_LCD_D17__GPIO_1_17    /* Revision detection */
52                                         >;
53                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
54                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
55                                         fsl,pull-up = <MXS_PULL_DISABLE>;
56                                 };
57
58                                 mac0_phy_reset_pin: mac0-phy-reset@0 {
59                                         reg = <0>;
60                                         fsl,pinmux-ids = <
61                                                 MX28_PAD_SSP0_DATA7__GPIO_2_7    /* PHY Reset */
62                                         >;
63                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
64                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
65                                         fsl,pull-up = <MXS_PULL_DISABLE>;
66                                 };
67
68                                 led_pins: leds@0 {
69                                         reg = <0>;
70                                         fsl,pinmux-ids = <
71                                                 MX28_PAD_AUART1_RX__GPIO_3_4
72                                                 MX28_PAD_AUART1_TX__GPIO_3_5
73                                         >;
74                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
75                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
76                                         fsl,pull-up = <MXS_PULL_DISABLE>;
77                                 };
78                         };
79                 };
80
81                 apbx@80040000 {
82                         lradc@80050000 {
83                                 status = "okay";
84                         };
85
86                         i2c0: i2c@80058000 {
87                                 pinctrl-names = "default";
88                                 pinctrl-0 = <&i2c0_pins_a>;
89                                 status = "okay";
90                         };
91
92                         auart0: serial@8006a000 {
93                                 pinctrl-names = "default";
94                                 pinctrl-0 = <&auart0_2pins_a>;
95                                 status = "okay";
96                         };
97
98                         duart: serial@80074000 {
99                                 pinctrl-names = "default";
100                                 pinctrl-0 = <&duart_pins_a>;
101                                 status = "okay";
102                         };
103
104                         usbphy0: usbphy@8007c000 {
105                                 status = "okay";
106                         };
107                 };
108         };
109
110         ahb@80080000 {
111                 usb0: usb@80080000 {
112                         status = "okay";
113                         dr_mode = "peripheral";
114                 };
115
116                 mac0: ethernet@800f0000 {
117                         phy-mode = "rmii";
118                         pinctrl-names = "default";
119                         pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
120                         phy-supply = <&reg_3p3v>;
121                         phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
122                         phy-reset-duration = <25>;
123                         status = "okay";
124                 };
125         };
126
127         reg_3p3v: regulator-3p3v {
128                 compatible = "regulator-fixed";
129                 regulator-name = "3P3V";
130                 regulator-min-microvolt = <3300000>;
131                 regulator-max-microvolt = <3300000>;
132                 regulator-always-on;
133         };
134
135         leds {
136                 compatible = "gpio-leds";
137                 pinctrl-names = "default";
138                 pinctrl-0 = <&led_pins>;
139
140                 status-red {
141                         label = "duckbill:red:status";
142                         gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
143                         linux,default-trigger = "default-on";
144                 };
145
146                 status-green {
147                         label = "duckbill:green:status";
148                         gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
149                         linux,default-trigger = "heartbeat";
150                 };
151         };
152 };