Add support for Recore A5 to A8 (#6859)
Signed-off-by: Elias Bakken <elias@iagent.no>
This commit is contained in:
parent
f5c0ec95b9
commit
4b9d96c11b
@ -2,25 +2,27 @@
|
||||
BOARD_NAME="Iagent Recore"
|
||||
BOARDFAMILY="sun50iw1"
|
||||
BOOTCONFIG="recore_defconfig"
|
||||
KERNEL_TARGET="legacy,current"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
MODULES="g_serial"
|
||||
BOOT_LOGO="yes"
|
||||
BOARD_MAINTAINER="eliasbakken"
|
||||
|
||||
function post_family_config__shrink_atf() {
|
||||
display_alert "Shrink ATF" "🍰 recore"
|
||||
declare -g ATF_TARGET_MAP="PLAT=$ATF_PLAT DEBUG=0 SUNXI_PSCI_USE_SCPI=0 bl31;;build/$ATF_PLAT/release/bl31.bin"
|
||||
echo "🍰Choose ATF branch"
|
||||
declare -g ATFBRANCH="tag:v2.8.0"
|
||||
|
||||
display_alert "Compile without SCP binary" "🍰 recore"
|
||||
UBOOT_TARGET_MAP="SCP=/dev/null;;u-boot-sunxi-with-spl.bin"
|
||||
echo "🍰Shrink ATF"
|
||||
declare -g ATF_TARGET_MAP="PLAT=$ATF_PLAT DEBUG=0 SUNXI_PSCI_USE_SCPI=0 bl31;;build/$ATF_PLAT/release/bl31.bin"
|
||||
|
||||
echo "🍰Compile without SCP binary"
|
||||
UBOOT_TARGET_MAP="SCP=/dev/null;;u-boot-sunxi-with-spl.bin"
|
||||
}
|
||||
|
||||
function format_partitions__make_boot_ro() {
|
||||
display_alert "Making boot partition ro" "🍰 recore"
|
||||
sed -i 's:/boot ext4 defaults,commit=600,errors=remount-ro:/boot ext4 ro,defaults:' $SDCARD/etc/fstab
|
||||
echo "🍰Making boot partition ro"
|
||||
sed -i 's:/boot ext4 defaults,commit=600,errors=remount-ro:/boot ext4 ro,defaults:' $SDCARD/etc/fstab
|
||||
}
|
||||
|
||||
function extension_finish_config__enable_plymouth() {
|
||||
display_alert "Enable Plymouth on minimal build" "🍰 recore"
|
||||
PLYMOUTH=yes
|
||||
echo "🍰Enable Plymouth on minimal build"
|
||||
PLYMOUTH=yes
|
||||
}
|
||||
|
||||
@ -0,0 +1,821 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Elias Bakken <elias@iagent.no>
|
||||
Date: Thu, 27 Jun 2024 12:39:45 +0000
|
||||
Subject: Add device trees for Recore A5 to A8
|
||||
|
||||
Signed-off-by: Elias Bakken <elias@iagent.no>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 5 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a5.dts | 76 ++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a6.dts | 33 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a7.dts | 54 ++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a8.dts | 149 ++++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dts | 37 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dtsi | 396 ++++++++++
|
||||
7 files changed, 750 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index a957365edc1a..5f705361c468 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -18,10 +18,15 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.2b.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab-early-adopter.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-recore.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-recore-a5.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-recore-a6.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-recore-a7.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-recore-a8.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a5.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a5.dts
|
||||
new file mode 100644
|
||||
index 000000000000..22c369c9dea3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a5.dts
|
||||
@@ -0,0 +1,76 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-recore.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Recore-A5";
|
||||
+ compatible = "iagent,recore-a5", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ e0-consumer {
|
||||
+ compatible = "custom,reg-userspace-consumer";
|
||||
+ regulator-name = "e0-consumer";
|
||||
+ controlled-supply = <®_aldo1>;
|
||||
+ };
|
||||
+
|
||||
+ e1-consumer {
|
||||
+ compatible = "custom,reg-userspace-consumer";
|
||||
+ regulator-name = "e1-consumer";
|
||||
+ controlled-supply = <®_aldo2>;
|
||||
+ };
|
||||
+
|
||||
+ e2-consumer {
|
||||
+ compatible = "custom,reg-userspace-consumer";
|
||||
+ regulator-name = "e2-consumer";
|
||||
+ controlled-supply = <®_dldo3>;
|
||||
+ };
|
||||
+
|
||||
+ e3-consumer {
|
||||
+ compatible = "custom,reg-userspace-consumer";
|
||||
+ regulator-name = "e3-consumer";
|
||||
+ controlled-supply = <®_dldo4>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-min-microvolt = <700000>;
|
||||
+ regulator-max-microvolt = <700000>;
|
||||
+ regulator-name = "vcc-vref-e0";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-min-microvolt = <3200000>;
|
||||
+ regulator-max-microvolt = <3200000>;
|
||||
+ regulator-name = "vcc-vref-e1";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <700000>;
|
||||
+ regulator-max-microvolt = <700000>;
|
||||
+ regulator-name = "vcc-vref-e2";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-min-microvolt = <700000>;
|
||||
+ regulator-max-microvolt = <700000>;
|
||||
+ regulator-name = "vcc-vref-e3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+};
|
||||
+
|
||||
+/* STM32 */
|
||||
+&uart4 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart4_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mali {
|
||||
+ /delete-property/ operating-points-v2;
|
||||
+ assigned-clock-rates = <120000000>;
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a6.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a6.dts
|
||||
new file mode 100644
|
||||
index 000000000000..4a790dcf9d9f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a6.dts
|
||||
@@ -0,0 +1,33 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-recore.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Recore-A6";
|
||||
+ compatible = "iagent,recore-a6", "allwinner,sun50i-a64";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-ext";
|
||||
+};
|
||||
+&uart4 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart4_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+};
|
||||
+
|
||||
+&mali {
|
||||
+ /delete-property/ operating-points-v2;
|
||||
+ assigned-clock-rates = <120000000>;
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a7.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a7.dts
|
||||
new file mode 100644
|
||||
index 000000000000..52ea801b8910
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a7.dts
|
||||
@@ -0,0 +1,54 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-recore.dtsi"
|
||||
+#include <dt-bindings/usb/pd.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "Recore-A7";
|
||||
+ compatible = "iagent,recore-a7", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ reg_usb0_vbus: usb0-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ vin-supply = <®_5v>;
|
||||
+ regulator-name = "usb0-vbus0";
|
||||
+ regulator-type = "voltage";
|
||||
+ gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+®_usb1_vbus3 {
|
||||
+ gpio = <&pio 3 5 GPIO_ACTIVE_HIGH> ; /* PD5 */
|
||||
+};
|
||||
+
|
||||
+®_usb1_vbus4 {
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH> ; /* PD6 */
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-ext";
|
||||
+};
|
||||
+
|
||||
+/* Set over current to lowest value: 35 A = 700 mV */
|
||||
+®_dldo2 {
|
||||
+ regulator-min-microvolt = <700000>;
|
||||
+ regulator-max-microvolt = <700000>;
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb1_vbus-supply = <®_5v>;
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a8.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a8.dts
|
||||
new file mode 100644
|
||||
index 000000000000..44d559bdcfe2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore-a8.dts
|
||||
@@ -0,0 +1,149 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-recore.dtsi"
|
||||
+#include <dt-bindings/usb/pd.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "Recore-A8";
|
||||
+ compatible = "iagent,recore-a8", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ reg_usb0_vbus: usb0-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb0-vbus0";
|
||||
+ regulator-type = "voltage";
|
||||
+ gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; // PD7: EN-USB-OTG
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pio{
|
||||
+ reg_usb1_vbus4_pins: reg-usb1-vbus4-pins {
|
||||
+ pins = "PD5";
|
||||
+ function = "reg_usb1_vbus4";
|
||||
+ };
|
||||
+ reg_usb1_vbus3_pins: reg-usb1-vbus3-pins {
|
||||
+ pins = "PD6";
|
||||
+ function = "reg_usb1_vbus3";
|
||||
+ };
|
||||
+ reg_usb0_vbus_pins: reg-usb0-vbus-pins {
|
||||
+ pins = "PD7";
|
||||
+ function = "reg_usb0_vbus";
|
||||
+ };
|
||||
+ fusb0_int_pin: fusb0-int-pin {
|
||||
+ pins = "PH10";
|
||||
+ function = "gpio_in";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+®_usb1_vbus3 {
|
||||
+ gpio = <&pio 3 5 GPIO_ACTIVE_HIGH>;
|
||||
+};
|
||||
+
|
||||
+®_usb1_vbus4 {
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-ext";
|
||||
+};
|
||||
+
|
||||
+/* Set over current to: 30 A = 1200 mV */
|
||||
+®_dldo2 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+};
|
||||
+
|
||||
+/* stm32 mcu */
|
||||
+&uart2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ regulator-name = "usb-power-supply";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+ usb0_id_det-gpios = <&pio 4 7 GPIO_ACTIVE_HIGH>;
|
||||
+ usb0_vbus_det-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
|
||||
+ ports {
|
||||
+ port@0 {
|
||||
+ usb0_role_switch: endpoint {
|
||||
+ remote-endpoint = <&fusb302_ep>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ fusb0: fusb30x@22 {
|
||||
+ compatible = "fcs,fusb302";
|
||||
+ reg = <0x22>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&fusb0_int_pin>;
|
||||
+ vbus-supply = <®_usb0_vbus>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 10 IRQ_TYPE_EDGE_FALLING>; // PH10
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ usb_hs: endpoint@0 {
|
||||
+ reg = <0>;
|
||||
+ remote-endpoint = <&usb0_hs>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb_con: connector {
|
||||
+ compatible = "usb-c-connector";
|
||||
+ data-role = "dual";
|
||||
+ label = "USB-C";
|
||||
+ op-sink-microwatt = <1000000>;
|
||||
+ power-role = "dual";
|
||||
+ sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
|
||||
+ source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
|
||||
+ try-power-role = "sink";
|
||||
+
|
||||
+ ports {
|
||||
+ port@0 {
|
||||
+ fusb302_ep: endpoint {
|
||||
+ remote-endpoint = <&usb0_role_switch>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+ port {
|
||||
+ usb0_hs: endpoint {
|
||||
+ remote-endpoint = <&usb_hs>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dts
|
||||
new file mode 100644
|
||||
index 000000000000..0d6880ef9121
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dts
|
||||
@@ -0,0 +1,37 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-recore.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Recore-all";
|
||||
+ compatible = "iagent,recore-all", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ reg_usb1_vbus5: usb1-vbus5 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus5";
|
||||
+ gpio = <&pio 3 5 GPIO_ACTIVE_HIGH> ; /* PD5 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ vin-supply = <®_5v>;
|
||||
+ };
|
||||
+ reg_usb1_vbus6: usb1-vbus6 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus6";
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH> ; /* PD6 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ vin-supply = <®_5v>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mali {
|
||||
+ /delete-property/ operating-points-v2;
|
||||
+ assigned-clock-rates = <120000000>;
|
||||
+};
|
||||
+
|
||||
\ No newline at end of file
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..390af27157d6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-recore.dtsi
|
||||
@@ -0,0 +1,396 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+#include "sun50i-a64-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ heartbeat-led {
|
||||
+ label = "recore:white:heartbeat";
|
||||
+ gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ color = <LED_COLOR_ID_WHITE>;
|
||||
+ };
|
||||
+
|
||||
+ emmc-led {
|
||||
+ label = "recore:white:emmc";
|
||||
+ gpios = <&pio 1 5 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "mmc2";
|
||||
+ };
|
||||
+
|
||||
+ cpu-led {
|
||||
+ label = "recore:white:cpu";
|
||||
+ gpios = <&pio 1 6 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "activity";
|
||||
+ };
|
||||
+
|
||||
+ usb-led {
|
||||
+ label = "recore:white:usb";
|
||||
+ function = LED_FUNCTION_USB;
|
||||
+ gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>;
|
||||
+ trigger-sources = <&ohci1>, <&ehci1>;
|
||||
+ linux,default-trigger = "usb-host";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_5v: 5v-buck {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "5v-buck";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus1: usb1-vbus1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus1";
|
||||
+ gpio = <&pio 7 0 GPIO_ACTIVE_HIGH> ; /* PH0 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus2: usb1-vbus2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus2";
|
||||
+ gpio = <&pio 7 1 GPIO_ACTIVE_HIGH> ; /* PH1 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus3: usb1-vbus3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus3";
|
||||
+ gpio = <&pio 7 2 GPIO_ACTIVE_HIGH> ; /* PH2 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ vin-supply = <®_5v>;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus4: usb1-vbus4 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus4";
|
||||
+ gpio = <&pio 7 3 GPIO_ACTIVE_HIGH> ; /* PH3 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ vin-supply = <®_5v>;
|
||||
+ };
|
||||
+
|
||||
+ reg_hdmi_vbus: hdmi-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "hdmi-vbus";
|
||||
+ gpio = <&pio 6 9 GPIO_ACTIVE_HIGH> ; /* PG9 */
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rgmii_pins>;
|
||||
+ phy-mode = "rgmii-txid";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdc1>;
|
||||
+ phy-io-supply = <®_dcdc1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ hvcc-supply = <®_dldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <7>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mixer0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&tcon0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>/*, <&mmc2_ds_pin>*/;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ non-removable;
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ post-power-on-delay-ms = <1>; /* power is already turned on by the bootloader */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pb-supply = <®_dcdc1>;
|
||||
+ vcc-pc-supply = <®_eldo1>;
|
||||
+ vcc-pd-supply = <®_dcdc1>;
|
||||
+ vcc-pe-supply = <®_dcdc1>;
|
||||
+ vcc-pf-supply = <®_dcdc1>;
|
||||
+ vcc-pg-supply = <®_dcdc1>;
|
||||
+ vcc-ph-supply = <®_dcdc1>;
|
||||
+ vcc-pl-supply = <®_dcdc1>;
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_dc1sw {
|
||||
+ regulator-always-on;
|
||||
+ regulator-name = "vcc-phy";
|
||||
+ regulator-enable-ramp-delay = <100000>;
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1040000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1360000>;
|
||||
+ regulator-max-microvolt = <1360000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-hdmi";
|
||||
+};
|
||||
+
|
||||
+/* Set over current to lowest value: 35 A = 700 mV, 50 A = 1000 mV */
|
||||
+®_dldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1000000>;
|
||||
+ regulator-name = "current-control";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "emmc-io";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-name = "vdd-hsic";
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ function = "ldo";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ function = "ldo";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-ref";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-iref";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&simplefb_hdmi {
|
||||
+ vcc-hdmi-supply = <®_hdmi_vbus>;
|
||||
+};
|
||||
+
|
||||
+/* Debug port */
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* AR100 null-modem */
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ vcc-supply = <®_dcdc1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ /delete-property/ cpu-idle-states;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ /delete-property/ cpu-idle-states;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ /delete-property/ cpu-idle-states;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ /delete-property/ cpu-idle-states;
|
||||
+};
|
||||
+
|
||||
+/ {
|
||||
+ cpus {
|
||||
+ /delete-node/ idle-states;
|
||||
+ };
|
||||
+ /delete-node/ scpi;
|
||||
+};
|
||||
+
|
||||
+&mbus {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
||||
Loading…
Reference in New Issue
Block a user