]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - rpmsg/rpmsg.git/blob - arch/arm/boot/dts/armada-388-helios4.dts
Revert "HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots"
[rpmsg/rpmsg.git] / arch / arm / boot / dts / armada-388-helios4.dts
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Device Tree file for Helios4
4  * based on SolidRun Clearfog revision A1 rev 2.0 (88F6828)
5  *
6  *  Copyright (C) 2017 Aditya Prayoga <aditya@kobol.io>
7  *
8  */
10 /dts-v1/;
11 #include "armada-388.dtsi"
12 #include "armada-38x-solidrun-microsom.dtsi"
14 / {
15         model = "Helios4";
16         compatible = "kobol,helios4", "marvell,armada388",
17                 "marvell,armada385", "marvell,armada380";
19         memory {
20                 device_type = "memory";
21                 reg = <0x00000000 0x80000000>; /* 2 GB */
22         };
24         aliases {
25                 /* So that mvebu u-boot can update the MAC addresses */
26                 ethernet1 = &eth0;
27         };
29         chosen {
30                 stdout-path = "serial0:115200n8";
31         };
33         reg_12v: regulator-12v {
34                 compatible = "regulator-fixed";
35                 regulator-name = "power_brick_12V";
36                 regulator-min-microvolt = <12000000>;
37                 regulator-max-microvolt = <12000000>;
38                 regulator-always-on;
39         };
41         reg_3p3v: regulator-3p3v {
42                 compatible = "regulator-fixed";
43                 regulator-name = "3P3V";
44                 regulator-min-microvolt = <3300000>;
45                 regulator-max-microvolt = <3300000>;
46                 regulator-always-on;
47                 vin-supply = <&reg_12v>;
48         };
50         reg_5p0v_hdd: regulator-5v-hdd {
51                 compatible = "regulator-fixed";
52                 regulator-name = "5V_HDD";
53                 regulator-min-microvolt = <5000000>;
54                 regulator-max-microvolt = <5000000>;
55                 regulator-always-on;
56                 vin-supply = <&reg_12v>;
57         };
59         reg_5p0v_usb: regulator-5v-usb {
60                 compatible = "regulator-fixed";
61                 regulator-name = "USB-PWR";
62                 regulator-min-microvolt = <5000000>;
63                 regulator-max-microvolt = <5000000>;
64                 regulator-boot-on;
65                 regulator-always-on;
66                 enable-active-high;
67                 gpio = <&expander0 6 GPIO_ACTIVE_HIGH>;
68                 vin-supply = <&reg_12v>;
69         };
71         system-leds {
72                 compatible = "gpio-leds";
73                 status-led {
74                         label = "helios4:green:status";
75                         gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
76                         linux,default-trigger = "heartbeat";
77                         default-state = "on";
78                 };
80                 fault-led {
81                         label = "helios4:red:fault";
82                         gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
83                         default-state = "keep";
84                 };
85         };
87         io-leds {
88                 compatible = "gpio-leds";
89                 sata1-led {
90                         label = "helios4:green:ata1";
91                         gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
92                         linux,default-trigger = "ata1";
93                         default-state = "off";
94                 };
95                 sata2-led {
96                         label = "helios4:green:ata2";
97                         gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
98                         linux,default-trigger = "ata2";
99                         default-state = "off";
100                 };
101                 sata3-led {
102                         label = "helios4:green:ata3";
103                         gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
104                         linux,default-trigger = "ata3";
105                         default-state = "off";
106                 };
107                 sata4-led {
108                         label = "helios4:green:ata4";
109                         gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
110                         linux,default-trigger = "ata4";
111                         default-state = "off";
112                 };
113                 usb-led {
114                         label = "helios4:green:usb";
115                         gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
116                         linux,default-trigger = "usb-host";
117                         default-state = "off";
118                 };
119         };
121         fan1: j10-pwm {
122                 compatible = "pwm-fan";
123                 pwms = <&gpio1 9 40000>;        /* Target freq:25 kHz */
124         };
126         fan2: j17-pwm {
127                 compatible = "pwm-fan";
128                 pwms = <&gpio1 23 40000>;       /* Target freq:25 kHz */
129         };
131         usb2_phy: usb2-phy {
132                 compatible = "usb-nop-xceiv";
133                 vbus-regulator = <&reg_5p0v_usb>;
134         };
136         usb3_phy: usb3-phy {
137                 compatible = "usb-nop-xceiv";
138         };
140         soc {
141                 internal-regs {
142                         i2c@11000 {
143                                 clock-frequency = <400000>;
144                                 pinctrl-0 = <&i2c0_pins>;
145                                 pinctrl-names = "default";
146                                 status = "okay";
148                                 /*
149                                  * PCA9655 GPIO expander, up to 1MHz clock.
150                                  *  0-Board Revision bit 0 #
151                                  *  1-Board Revision bit 1 #
152                                  *  5-USB3 overcurrent
153                                  *  6-USB3 power
154                                  */
155                                 expander0: gpio-expander@20 {
156                                         /*
157                                          * This is how it should be:
158                                          * compatible = "onnn,pca9655",
159                                          *       "nxp,pca9555";
160                                          * but you can't do this because of
161                                          * the way I2C works.
162                                          */
163                                         compatible = "nxp,pca9555";
164                                         gpio-controller;
165                                         #gpio-cells = <2>;
166                                         reg = <0x20>;
167                                         pinctrl-names = "default";
168                                         pinctrl-0 = <&pca0_pins>;
169                                         interrupt-parent = <&gpio0>;
170                                         interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
171                                         interrupt-controller;
172                                         #interrupt-cells = <2>;
174                                         board_rev_bit_0 {
175                                                 gpio-hog;
176                                                 gpios = <0 GPIO_ACTIVE_LOW>;
177                                                 input;
178                                                 line-name = "board-rev-0";
179                                         };
180                                         board_rev_bit_1 {
181                                                 gpio-hog;
182                                                 gpios = <1 GPIO_ACTIVE_LOW>;
183                                                 input;
184                                                 line-name = "board-rev-1";
185                                         };
186                                         usb3_ilimit {
187                                                 gpio-hog;
188                                                 gpios = <5 GPIO_ACTIVE_HIGH>;
189                                                 input;
190                                                 line-name = "usb-overcurrent-status";
191                                         };
192                                 };
194                                 temp_sensor: temp@4c {
195                                         compatible = "ti,lm75";
196                                         reg = <0x4c>;
197                                         vcc-supply = <&reg_3p3v>;
198                                 };
199                         };
201                         i2c@11100 {
202                                 /*
203                                  * External I2C Bus for user peripheral
204                                  */
205                                 clock-frequency = <400000>;
206                                 pinctrl-0 = <&helios_i2c1_pins>;
207                                 pinctrl-names = "default";
208                                 status = "okay";
209                         };
211                         sata@a8000 {
212                                 status = "okay";
213                                 #address-cells = <1>;
214                                 #size-cells = <0>;
216                                 sata0: sata-port@0 {
217                                         reg = <0>;
218                                 };
220                                 sata1: sata-port@1 {
221                                         reg = <1>;
222                                 };
223                         };
225                         sata@e0000 {
226                                 status = "okay";
227                                 #address-cells = <1>;
228                                 #size-cells = <0>;
230                                 sata2: sata-port@0 {
231                                         reg = <0>;
232                                 };
234                                 sata3: sata-port@1 {
235                                         reg = <1>;
236                                 };
237                         };
239                         spi@10680 {
240                                 pinctrl-0 = <&spi1_pins
241                                              &microsom_spi1_cs_pins>;
242                                 pinctrl-names = "default";
243                                 status = "okay";
244                         };
246                         sdhci@d8000 {
247                                 bus-width = <4>;
248                                 cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
249                                 no-1-8-v;
250                                 pinctrl-0 = <&helios_sdhci_pins
251                                              &helios_sdhci_cd_pins>;
252                                 pinctrl-names = "default";
253                                 status = "okay";
254                                 vmmc = <&reg_3p3v>;
255                                 wp-inverted;
256                         };
258                         usb@58000 {
259                                 usb-phy = <&usb2_phy>;
260                                 status = "okay";
261                         };
263                         usb3@f0000 {
264                                 status = "okay";
265                         };
267                         usb3@f8000 {
268                                 status = "okay";
269                         };
271                         pinctrl@18000 {
272                                 pca0_pins: pca0-pins {
273                                         marvell,pins = "mpp23";
274                                         marvell,function = "gpio";
275                                 };
276                                 microsom_phy0_int_pins: microsom-phy0-int-pins {
277                                         marvell,pins = "mpp18";
278                                         marvell,function = "gpio";
279                                 };
280                                 helios_i2c1_pins: i2c1-pins {
281                                         marvell,pins = "mpp26", "mpp27";
282                                         marvell,function = "i2c1";
283                                 };
284                                 helios_sdhci_cd_pins: helios-sdhci-cd-pins {
285                                         marvell,pins = "mpp20";
286                                         marvell,function = "gpio";
287                                 };
288                                 helios_sdhci_pins: helios-sdhci-pins {
289                                         marvell,pins = "mpp21", "mpp28",
290                                                        "mpp37", "mpp38",
291                                                        "mpp39", "mpp40";
292                                         marvell,function = "sd0";
293                                 };
294                                 helios_led_pins: helios-led-pins {
295                                         marvell,pins = "mpp24", "mpp25",
296                                                        "mpp49", "mpp50",
297                                                        "mpp52", "mpp53",
298                                                        "mpp54";
299                                         marvell,function = "gpio";
300                                 };
301                                 helios_fan_pins: helios-fan-pins {
302                                         marvell,pins = "mpp41", "mpp43",
303                                                        "mpp48", "mpp55";
304                                         marvell,function = "gpio";
305                                 };
306                                 microsom_spi1_cs_pins: spi1-cs-pins {
307                                         marvell,pins = "mpp59";
308                                         marvell,function = "spi1";
309                                 };
310                         };
311                 };
312         };
313 };