The Libre Computer Project ALL-H3-CC has three models, all using the same board design, but with different pin compatible SoCs and amount of DRAM. Currently only the H3 1GB DRAM variant is supported. To support the two other variants, first split the original device tree into a common board design part and an SoC specific part. The SoC part only defines which SoC is used and model name, and includes the SoC specific dtsi file and the common design dtsi file. Also fix up the SPDX identifier line to use the correct comment style, and place it on the first line. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Jagan Teki <jagan@openedev.com>lime2-spi
parent
dccff21312
commit
d7b17f1c24
@ -1,175 +1,13 @@ |
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
||||
/* |
||||
* Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> |
||||
* |
||||
* SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
#include "sun8i-h3.dtsi" |
||||
|
||||
#include <dt-bindings/gpio/gpio.h> |
||||
#include <dt-bindings/input/input.h> |
||||
#include "sunxi-libretech-all-h3-cc.dtsi" |
||||
|
||||
/ { |
||||
model = "Libre Computer Board ALL-H3-CC H3"; |
||||
compatible = "libretech,all-h3-cc-h3", "allwinner,sun8i-h3"; |
||||
|
||||
aliases { |
||||
ethernet0 = &emac; |
||||
serial0 = &uart0; |
||||
}; |
||||
|
||||
chosen { |
||||
stdout-path = "serial0:115200n8"; |
||||
}; |
||||
|
||||
leds { |
||||
compatible = "gpio-leds"; |
||||
|
||||
pwr_led { |
||||
label = "librecomputer:green:pwr"; |
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ |
||||
default-state = "on"; |
||||
}; |
||||
|
||||
status_led { |
||||
label = "librecomputer:blue:status"; |
||||
gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ |
||||
}; |
||||
}; |
||||
|
||||
gpio_keys { |
||||
compatible = "gpio-keys"; |
||||
|
||||
power { |
||||
label = "power"; |
||||
linux,code = <KEY_POWER>; |
||||
gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ |
||||
}; |
||||
}; |
||||
|
||||
reg_vcc1v2: vcc1v2 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc1v2"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |
||||
enable-active-high; |
||||
}; |
||||
|
||||
reg_vcc3v3: vcc3v3 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc3v3"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
vin-supply = <®_vcc5v0>; |
||||
}; |
||||
|
||||
/* This represents the board's 5V input */ |
||||
reg_vcc5v0: vcc5v0 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc5v0"; |
||||
regulator-min-microvolt = <5000000>; |
||||
regulator-max-microvolt = <5000000>; |
||||
}; |
||||
|
||||
reg_vcc_dram: vcc-dram { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc-dram"; |
||||
regulator-min-microvolt = <1500000>; |
||||
regulator-max-microvolt = <1500000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ |
||||
enable-active-high; |
||||
}; |
||||
|
||||
reg_vcc_io: vcc-io { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc-io"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc3v3>; |
||||
gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ |
||||
}; |
||||
|
||||
reg_vdd_cpux: vdd-cpux { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vdd-cpux"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |
||||
enable-active-high; |
||||
}; |
||||
}; |
||||
|
||||
&ehci1 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ehci2 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ehci3 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&emac { |
||||
phy-handle = <&int_mii_phy>; |
||||
phy-mode = "mii"; |
||||
allwinner,leds-active-low; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ir { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&ir_pins_a>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&mmc0 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&mmc0_pins_a>; |
||||
vmmc-supply = <®_vcc_io>; |
||||
bus-width = <4>; |
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ |
||||
cd-inverted; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci1 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci2 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci3 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&uart0 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&uart0_pins_a>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&usbphy { |
||||
/* VBUS on USB ports are always on */ |
||||
usb0_vbus-supply = <®_vcc5v0>; |
||||
usb1_vbus-supply = <®_vcc5v0>; |
||||
usb2_vbus-supply = <®_vcc5v0>; |
||||
usb3_vbus-supply = <®_vcc5v0>; |
||||
status = "okay"; |
||||
}; |
||||
|
@ -0,0 +1,168 @@ |
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
||||
/* |
||||
* Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> |
||||
*/ |
||||
|
||||
#include <dt-bindings/gpio/gpio.h> |
||||
#include <dt-bindings/input/input.h> |
||||
|
||||
/ { |
||||
aliases { |
||||
ethernet0 = &emac; |
||||
serial0 = &uart0; |
||||
}; |
||||
|
||||
chosen { |
||||
stdout-path = "serial0:115200n8"; |
||||
}; |
||||
|
||||
leds { |
||||
compatible = "gpio-leds"; |
||||
|
||||
pwr_led { |
||||
label = "librecomputer:green:pwr"; |
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ |
||||
default-state = "on"; |
||||
}; |
||||
|
||||
status_led { |
||||
label = "librecomputer:blue:status"; |
||||
gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ |
||||
}; |
||||
}; |
||||
|
||||
gpio_keys { |
||||
compatible = "gpio-keys"; |
||||
|
||||
power { |
||||
label = "power"; |
||||
linux,code = <KEY_POWER>; |
||||
gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ |
||||
}; |
||||
}; |
||||
|
||||
reg_vcc1v2: vcc1v2 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc1v2"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |
||||
enable-active-high; |
||||
}; |
||||
|
||||
reg_vcc3v3: vcc3v3 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc3v3"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
vin-supply = <®_vcc5v0>; |
||||
}; |
||||
|
||||
/* This represents the board's 5V input */ |
||||
reg_vcc5v0: vcc5v0 { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc5v0"; |
||||
regulator-min-microvolt = <5000000>; |
||||
regulator-max-microvolt = <5000000>; |
||||
}; |
||||
|
||||
reg_vcc_dram: vcc-dram { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc-dram"; |
||||
regulator-min-microvolt = <1500000>; |
||||
regulator-max-microvolt = <1500000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ |
||||
enable-active-high; |
||||
}; |
||||
|
||||
reg_vcc_io: vcc-io { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc-io"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc3v3>; |
||||
gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ |
||||
}; |
||||
|
||||
reg_vdd_cpux: vdd-cpux { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vdd-cpux"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
vin-supply = <®_vcc5v0>; |
||||
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ |
||||
enable-active-high; |
||||
}; |
||||
}; |
||||
|
||||
&ehci1 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ehci2 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ehci3 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&emac { |
||||
phy-handle = <&int_mii_phy>; |
||||
phy-mode = "mii"; |
||||
allwinner,leds-active-low; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ir { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&ir_pins_a>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&mmc0 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&mmc0_pins_a>; |
||||
vmmc-supply = <®_vcc_io>; |
||||
bus-width = <4>; |
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ |
||||
cd-inverted; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci1 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci2 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ohci3 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&uart0 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&uart0_pins_a>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&usbphy { |
||||
/* VBUS on USB ports are always on */ |
||||
usb0_vbus-supply = <®_vcc5v0>; |
||||
usb1_vbus-supply = <®_vcc5v0>; |
||||
usb2_vbus-supply = <®_vcc5v0>; |
||||
usb3_vbus-supply = <®_vcc5v0>; |
||||
status = "okay"; |
||||
}; |
Loading…
Reference in new issue