~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/marvell/armada-388-helios4.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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  */
  9 
 10 /dts-v1/;
 11 #include "armada-388.dtsi"
 12 #include "armada-38x-solidrun-microsom.dtsi"
 13 
 14 / {
 15         model = "Helios4";
 16         compatible = "kobol,helios4", "marvell,armada388",
 17                 "marvell,armada385", "marvell,armada380";
 18 
 19         memory {
 20                 device_type = "memory";
 21                 reg = <0x00000000 0x80000000>; /* 2 GB */
 22         };
 23 
 24         aliases {
 25                 /* So that mvebu u-boot can update the MAC addresses */
 26                 ethernet1 = &eth0;
 27         };
 28 
 29         chosen {
 30                 stdout-path = "serial0:115200n8";
 31         };
 32 
 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         };
 40 
 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         };
 49 
 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         };
 58 
 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         };
 70 
 71         system-leds {
 72                 compatible = "gpio-leds";
 73                 pinctrl-names = "default";
 74                 pinctrl-0 = <&helios_system_led_pins>;
 75 
 76                 status-led {
 77                         label = "helios4:green:status";
 78                         gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
 79                         linux,default-trigger = "heartbeat";
 80                         default-state = "on";
 81                 };
 82 
 83                 fault-led {
 84                         label = "helios4:red:fault";
 85                         gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
 86                         default-state = "keep";
 87                 };
 88         };
 89 
 90         io-leds {
 91                 compatible = "gpio-leds";
 92                 pinctrl-names = "default";
 93                 pinctrl-0 = <&helios_io_led_pins>;
 94 
 95                 sata1-led {
 96                         label = "helios4:green:ata1";
 97                         gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
 98                         linux,default-trigger = "ata1";
 99                         default-state = "off";
100                 };
101                 sata2-led {
102                         label = "helios4:green:ata2";
103                         gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
104                         linux,default-trigger = "ata2";
105                         default-state = "off";
106                 };
107                 sata3-led {
108                         label = "helios4:green:ata3";
109                         gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
110                         linux,default-trigger = "ata3";
111                         default-state = "off";
112                 };
113                 sata4-led {
114                         label = "helios4:green:ata4";
115                         gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
116                         linux,default-trigger = "ata4";
117                         default-state = "off";
118                 };
119                 usb-led {
120                         label = "helios4:green:usb";
121                         gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
122                         linux,default-trigger = "usb-host";
123                         default-state = "off";
124                 };
125         };
126 
127         fan1: j10-pwm {
128                 compatible = "pwm-fan";
129                 pwms = <&gpio1 9 40000>;        /* Target freq:25 kHz */
130                 pinctrl-names = "default";
131                 pinctrl-0 = <&helios_fan1_pins>;
132         };
133 
134         fan2: j17-pwm {
135                 compatible = "pwm-fan";
136                 pwms = <&gpio1 23 40000>;       /* Target freq:25 kHz */
137                 pinctrl-names = "default";
138                 pinctrl-0 = <&helios_fan2_pins>;
139         };
140 
141         usb2_phy: usb2-phy {
142                 compatible = "usb-nop-xceiv";
143                 vbus-regulator = <&reg_5p0v_usb>;
144         };
145 
146         usb3_phy: usb3-phy {
147                 compatible = "usb-nop-xceiv";
148         };
149 
150         soc {
151                 internal-regs {
152                         i2c@11000 {
153                                 /*
154                                  * PCA9655 GPIO expander, up to 1MHz clock.
155                                  *  0-Board Revision bit 0 #
156                                  *  1-Board Revision bit 1 #
157                                  *  5-USB3 overcurrent
158                                  *  6-USB3 power
159                                  */
160                                 expander0: gpio-expander@20 {
161                                         /*
162                                          * This is how it should be:
163                                          * compatible = "onnn,pca9655",
164                                          *       "nxp,pca9555";
165                                          * but you can't do this because of
166                                          * the way I2C works.
167                                          */
168                                         compatible = "nxp,pca9555";
169                                         gpio-controller;
170                                         #gpio-cells = <2>;
171                                         reg = <0x20>;
172                                         pinctrl-names = "default";
173                                         pinctrl-0 = <&pca0_pins>;
174                                         interrupt-parent = <&gpio0>;
175                                         interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
176                                         interrupt-controller;
177                                         #interrupt-cells = <2>;
178 
179                                         board-rev-bit-0-hog {
180                                                 gpio-hog;
181                                                 gpios = <0 GPIO_ACTIVE_LOW>;
182                                                 input;
183                                                 line-name = "board-rev-0";
184                                         };
185                                         board-rev-bit-1-hog {
186                                                 gpio-hog;
187                                                 gpios = <1 GPIO_ACTIVE_LOW>;
188                                                 input;
189                                                 line-name = "board-rev-1";
190                                         };
191                                         usb3-ilimit-hog {
192                                                 gpio-hog;
193                                                 gpios = <5 GPIO_ACTIVE_HIGH>;
194                                                 input;
195                                                 line-name = "usb-overcurrent-status";
196                                         };
197                                 };
198 
199                                 temp_sensor: temp@4c {
200                                         compatible = "ti,lm75";
201                                         reg = <0x4c>;
202                                         vcc-supply = <&reg_3p3v>;
203                                 };
204                         };
205 
206                         i2c@11100 {
207                                 /*
208                                  * External I2C Bus for user peripheral
209                                  */
210                                 clock-frequency = <400000>;
211                                 pinctrl-0 = <&helios_i2c1_pins>;
212                                 pinctrl-names = "default";
213                                 status = "okay";
214                         };
215 
216                         sata@a8000 {
217                                 status = "okay";
218                                 #address-cells = <1>;
219                                 #size-cells = <0>;
220 
221                                 sata0: sata-port@0 {
222                                         reg = <0>;
223                                 };
224 
225                                 sata1: sata-port@1 {
226                                         reg = <1>;
227                                 };
228                         };
229 
230                         sata@e0000 {
231                                 status = "okay";
232                                 #address-cells = <1>;
233                                 #size-cells = <0>;
234 
235                                 sata2: sata-port@0 {
236                                         reg = <0>;
237                                 };
238 
239                                 sata3: sata-port@1 {
240                                         reg = <1>;
241                                 };
242                         };
243 
244                         spi@10680 {
245                                 pinctrl-0 = <&spi1_pins
246                                              &microsom_spi1_cs_pins>;
247                                 pinctrl-names = "default";
248                                 status = "okay";
249                         };
250 
251                         sdhci@d8000 {
252                                 bus-width = <4>;
253                                 cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
254                                 no-1-8-v;
255                                 pinctrl-0 = <&helios_sdhci_pins
256                                              &helios_sdhci_cd_pins>;
257                                 pinctrl-names = "default";
258                                 status = "okay";
259                                 vmmc = <&reg_3p3v>;
260                                 wp-inverted;
261                         };
262 
263                         usb@58000 {
264                                 usb-phy = <&usb2_phy>;
265                                 status = "okay";
266                         };
267 
268                         usb3@f0000 {
269                                 status = "okay";
270                         };
271 
272                         usb3@f8000 {
273                                 status = "okay";
274                         };
275 
276                         pinctrl@18000 {
277                                 pca0_pins: pca0-pins {
278                                         marvell,pins = "mpp23";
279                                         marvell,function = "gpio";
280                                 };
281                                 microsom_phy0_int_pins: microsom-phy0-int-pins {
282                                         marvell,pins = "mpp18";
283                                         marvell,function = "gpio";
284                                 };
285                                 helios_i2c1_pins: i2c1-pins {
286                                         marvell,pins = "mpp26", "mpp27";
287                                         marvell,function = "i2c1";
288                                 };
289                                 helios_sdhci_cd_pins: helios-sdhci-cd-pins {
290                                         marvell,pins = "mpp20";
291                                         marvell,function = "gpio";
292                                 };
293                                 helios_sdhci_pins: helios-sdhci-pins {
294                                         marvell,pins = "mpp21", "mpp28",
295                                                        "mpp37", "mpp38",
296                                                        "mpp39", "mpp40";
297                                         marvell,function = "sd0";
298                                 };
299                                 helios_system_led_pins: helios-system-led-pins {
300                                         marvell,pins = "mpp24", "mpp25";
301                                         marvell,function = "gpio";
302                                 };
303                                 helios_io_led_pins: helios-io-led-pins {
304                                         marvell,pins = "mpp49", "mpp50",
305                                                        "mpp52", "mpp53",
306                                                        "mpp54";
307                                         marvell,function = "gpio";
308                                 };
309                                 helios_fan1_pins: helios_fan1_pins {
310                                         marvell,pins = "mpp41", "mpp43";
311                                         marvell,function = "gpio";
312                                 };
313                                 helios_fan2_pins: helios_fan2_pins {
314                                         marvell,pins = "mpp48", "mpp55";
315                                         marvell,function = "gpio";
316                                 };
317                                 microsom_spi1_cs_pins: spi1-cs-pins {
318                                         marvell,pins = "mpp59";
319                                         marvell,function = "spi1";
320                                 };
321                         };
322                 };
323         };
324 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php