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