mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 00:48:52 +09:00
![Dennis Gilmore](/assets/img/avatar_default.png)
The helios4 is built on the same microsom as the clearfog, by syncing the config we enable the same featureset that exists in the som on the helios4. The current config does not boot as some of the clearfog changes needed to be made on the helios4 also, generally speaking most changes for the clearfog should also be made on the helios4. Signed-off-by: Dennis Gilmore <dennis@ausil.us> Reviewed-by: Stefan Roese <sr@denx.de>
309 lines
6.5 KiB
Plaintext
309 lines
6.5 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/*
|
|
* Device Tree file for Helios4
|
|
* based on SolidRun Clearfog revision A1 rev 2.0 (88F6828)
|
|
*
|
|
* Copyright (C) 2017 Aditya Prayoga <aditya@kobol.io>
|
|
*
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "armada-388.dtsi"
|
|
#include "armada-38x-solidrun-microsom.dtsi"
|
|
|
|
/ {
|
|
model = "Helios4";
|
|
compatible = "kobol,helios4", "marvell,armada388",
|
|
"marvell,armada385", "marvell,armada380";
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x80000000>; /* 2 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>;
|
|
};
|
|
|
|
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 40000>; /* Target freq:25 kHz */
|
|
};
|
|
|
|
fan2: j17-pwm {
|
|
compatible = "pwm-fan";
|
|
pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
|
|
};
|
|
|
|
usb2_phy: usb2-phy {
|
|
compatible = "usb-nop-xceiv";
|
|
vbus-regulator = <®_5p0v_usb>;
|
|
};
|
|
|
|
usb3_phy: usb3-phy {
|
|
compatible = "usb-nop-xceiv";
|
|
};
|
|
|
|
soc {
|
|
internal-regs {
|
|
i2c@11000 {
|
|
/*
|
|
* 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 = <23 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>;
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
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 {
|
|
usb-phy = <&usb2_phy>;
|
|
status = "okay";
|
|
};
|
|
|
|
usb3@f0000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb3@f8000 {
|
|
status = "okay";
|
|
};
|
|
|
|
pinctrl@18000 {
|
|
pca0_pins: pca0-pins {
|
|
marvell,pins = "mpp23";
|
|
marvell,function = "gpio";
|
|
};
|
|
microsom_phy0_int_pins: microsom-phy0-int-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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|