-
Notifications
You must be signed in to change notification settings - Fork 189
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The Helios-4 uses the same SoM as the Clearfog and can share all of the clearfog specific configuration. The DTB has been copied from the Helios-4 linux fork on github.com: https://github.com/helios-4/linux-marvell/blob/linux-marvell-4.4/arch/arm/boot/dts/armada-388-helios4.dts Signed-off-by: Josua Mayer <[email protected]>
- Loading branch information
Showing
2 changed files
with
345 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,340 @@ | ||
/* | ||
* Device Tree file for Helios-4 | ||
* based on SolidRun Clearfog revision A1 rev 2.0 (88F6828) | ||
* | ||
* Copyright (C) 2017 | ||
* | ||
*/ | ||
|
||
/dts-v1/; | ||
#include "armada-388.dtsi" | ||
#include "armada-38x-solidrun-microsom.dtsi" | ||
|
||
/ { | ||
model = "Helios4"; | ||
compatible = "marvell,armada388", | ||
"marvell,armada385", "marvell,armada380"; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x00000000 0x40000000>; /* 1 GB */ | ||
}; | ||
|
||
aliases { | ||
/* So that mvebu u-boot can update the MAC addresses */ | ||
ethernet1 = ð0; | ||
}; | ||
|
||
chosen { | ||
stdout-path = "serial0:115200n8"; | ||
}; | ||
|
||
reg_12v: regulator-12v { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "power_brick_12V"; | ||
regulator-min-microvolt = <12000000>; | ||
regulator-max-microvolt = <12000000>; | ||
regulator-always-on; | ||
}; | ||
|
||
reg_3p3v: regulator-3p3v { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "3P3V"; | ||
regulator-min-microvolt = <3300000>; | ||
regulator-max-microvolt = <3300000>; | ||
regulator-always-on; | ||
vin-supply = <®_12v>; | ||
}; | ||
|
||
reg_5p0v_hdd: regulator-5v-hdd { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "5V_HDD"; | ||
regulator-min-microvolt = <5000000>; | ||
regulator-max-microvolt = <5000000>; | ||
regulator-always-on; | ||
vin-supply = <®_12v>; | ||
}; | ||
|
||
reg_5p0v_usb: regulator-5v-usb { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "USB-PWR"; | ||
regulator-min-microvolt = <5000000>; | ||
regulator-max-microvolt = <5000000>; | ||
regulator-boot-on; | ||
regulator-always-on; | ||
enable-active-high; | ||
gpio = <&expander0 6 GPIO_ACTIVE_HIGH>; | ||
vin-supply = <®_12v>; | ||
}; | ||
|
||
gpio-keys { | ||
compatible = "gpio-keys"; | ||
pinctrl-0 = <&user_button_pins>; | ||
pinctrl-names = "default"; | ||
|
||
button_0 { | ||
label = "User Button"; | ||
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; | ||
linux,can-disable; | ||
linux,code = <BTN_0>; | ||
}; | ||
}; | ||
|
||
system-leds { | ||
compatible = "gpio-leds"; | ||
status-led { | ||
label = "helios4:green:status"; | ||
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "heartbeat"; | ||
default-state = "on"; | ||
}; | ||
|
||
fault-led { | ||
label = "helios4:red:fault"; | ||
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
|
||
io-leds { | ||
compatible = "gpio-leds"; | ||
sata1-led { | ||
label = "helios4:green:ata1"; | ||
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "ata1"; | ||
default-state = "off"; | ||
}; | ||
sata2-led { | ||
label = "helios4:green:ata2"; | ||
gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "ata2"; | ||
default-state = "off"; | ||
}; | ||
sata3-led { | ||
label = "helios4:green:ata3"; | ||
gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "ata3"; | ||
default-state = "off"; | ||
}; | ||
sata4-led { | ||
label = "helios4:green:ata4"; | ||
gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "ata4"; | ||
default-state = "off"; | ||
}; | ||
usb-led { | ||
label = "helios4:green:usb"; | ||
gpios = <&gpio1 22 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "usb-host"; | ||
default-state = "off"; | ||
}; | ||
}; | ||
|
||
fan1: j10-pwm { | ||
compatible = "pwm-fan"; | ||
pwms = <&gpio1 9 3800>; | ||
}; | ||
|
||
fan2: j17-pwm { | ||
compatible = "pwm-fan"; | ||
pwms = <&gpio1 23 3800>; | ||
}; | ||
|
||
usb2_phy: usb2-phy { | ||
compatible = "usb-nop-xceiv"; | ||
vbus-regulator = <®_5p0v_usb>; | ||
}; | ||
|
||
usb3_phy: usb3-phy { | ||
compatible = "usb-nop-xceiv"; | ||
//vbus-regulator = <®_5p0v_usb>; | ||
}; | ||
|
||
soc { | ||
internal-regs { | ||
i2c@11000 { | ||
clock-frequency = <100000>; | ||
pinctrl-0 = <&i2c0_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
|
||
/* | ||
* PCA9655 GPIO expander, up to 1MHz clock. | ||
* 0-Board Revision bit 0 # | ||
* 1-Board Revision bit 1 # | ||
* 5-USB3 overcurrent | ||
* 6-USB3 power | ||
*/ | ||
expander0: gpio-expander@20 { | ||
/* | ||
* This is how it should be: | ||
* compatible = "onnn,pca9655", | ||
* "nxp,pca9555"; | ||
* but you can't do this because of | ||
* the way I2C works. | ||
*/ | ||
compatible = "nxp,pca9555"; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
reg = <0x20>; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pca0_pins>; | ||
interrupt-parent = <&gpio0>; | ||
interrupts = <18 IRQ_TYPE_EDGE_FALLING>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
|
||
board_rev_bit_0 { | ||
gpio-hog; | ||
gpios = <0 GPIO_ACTIVE_LOW>; | ||
input; | ||
line-name = "board-rev-0"; | ||
}; | ||
board_rev_bit_1 { | ||
gpio-hog; | ||
gpios = <1 GPIO_ACTIVE_LOW>; | ||
input; | ||
line-name = "board-rev-1"; | ||
}; | ||
usb3_ilimit { | ||
gpio-hog; | ||
gpios = <5 GPIO_ACTIVE_HIGH>; | ||
input; | ||
line-name = "usb-overcurrent-status"; | ||
}; | ||
}; | ||
|
||
temp_sensor: temp@4c { | ||
compatible = "ti,lm75"; | ||
reg = <0x4c>; | ||
vcc-supply = <®_3p3v>; | ||
}; | ||
|
||
/* What device at 0x64 ? */ | ||
}; | ||
|
||
i2c@11100 { | ||
/* | ||
* External I2C Bus for user peripheral | ||
*/ | ||
clock-frequency = <400000>; | ||
pinctrl-0 = <&helios_i2c1_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
}; | ||
|
||
sata@a8000 { | ||
status = "okay"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
sata0: sata-port@0 { | ||
reg = <0>; | ||
}; | ||
|
||
sata1: sata-port@1 { | ||
reg = <1>; | ||
}; | ||
}; | ||
|
||
sata@e0000 { | ||
status = "okay"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
sata2: sata-port@0 { | ||
reg = <0>; | ||
}; | ||
|
||
sata3: sata-port@1 { | ||
reg = <1>; | ||
}; | ||
}; | ||
|
||
spi@10680 { | ||
pinctrl-0 = <&spi1_pins | ||
µsom_spi1_cs_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
|
||
spi-flash@0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "w25q32", "jedec,spi-nor"; | ||
reg = <0>; /* Chip select 0 */ | ||
spi-max-frequency = <104000000>; | ||
spi-cpha; | ||
status = "okay"; | ||
}; | ||
}; | ||
|
||
sdhci@d8000 { | ||
bus-width = <4>; | ||
cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; | ||
no-1-8-v; | ||
pinctrl-0 = <&helios_sdhci_pins | ||
&helios_sdhci_cd_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
vmmc = <®_3p3v>; | ||
wp-inverted; | ||
}; | ||
|
||
usb@58000 { | ||
//vcc-supply = <®_5p0v_usb>; | ||
usb-phy = <&usb2_phy>; | ||
status = "okay"; | ||
}; | ||
|
||
usb3@f0000 { | ||
status = "okay"; | ||
}; | ||
|
||
usb3@f8000 { | ||
status = "okay"; | ||
}; | ||
|
||
pinctrl@18000 { | ||
pca0_pins: pca0_pins { | ||
marvell,pins = "mpp18"; | ||
marvell,function = "gpio"; | ||
}; | ||
helios_i2c1_pins: i2c1-pins { | ||
marvell,pins = "mpp26", "mpp27"; | ||
marvell,function = "i2c1"; | ||
}; | ||
helios_sdhci_cd_pins: helios-sdhci-cd-pins { | ||
marvell,pins = "mpp20"; | ||
marvell,function = "gpio"; | ||
}; | ||
helios_sdhci_pins: helios-sdhci-pins { | ||
marvell,pins = "mpp21", "mpp28", | ||
"mpp37", "mpp38", | ||
"mpp39", "mpp40"; | ||
marvell,function = "sd0"; | ||
}; | ||
helios_led_pins: helios-led-pins { | ||
marvell,pins = "mpp24", "mpp25", | ||
"mpp49", "mpp50", | ||
"mpp52", "mpp53", | ||
"mpp54"; | ||
marvell,function = "gpio"; | ||
}; | ||
helios_fan_pins: helios-fan-pins { | ||
marvell,pins = "mpp41", "mpp43", | ||
"mpp48", "mpp55"; | ||
marvell,function = "gpio"; | ||
}; | ||
microsom_spi1_cs_pins: spi1-cs-pins { | ||
marvell,pins = "mpp59"; | ||
marvell,function = "spi1"; | ||
}; | ||
user_button_pins: user-button-pins { | ||
marvell,pins = "mpp23"; | ||
marvell,function = "gpio"; | ||
}; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters