Add support for Recore A5 to A8 (#6859)

Signed-off-by: Elias Bakken <elias@iagent.no>
This commit is contained in:
Elias Bakken 2024-07-02 10:49:29 +02:00 committed by GitHub
parent f5c0ec95b9
commit 4b9d96c11b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 833 additions and 10 deletions

View File

@ -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
}

View File

@ -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 = <&reg_aldo1>;
+ };
+
+ e1-consumer {
+ compatible = "custom,reg-userspace-consumer";
+ regulator-name = "e1-consumer";
+ controlled-supply = <&reg_aldo2>;
+ };
+
+ e2-consumer {
+ compatible = "custom,reg-userspace-consumer";
+ regulator-name = "e2-consumer";
+ controlled-supply = <&reg_dldo3>;
+ };
+
+ e3-consumer {
+ compatible = "custom,reg-userspace-consumer";
+ regulator-name = "e3-consumer";
+ controlled-supply = <&reg_dldo4>;
+ };
+};
+
+&reg_aldo1 {
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <700000>;
+ regulator-name = "vcc-vref-e0";
+};
+
+&reg_aldo2 {
+ regulator-min-microvolt = <3200000>;
+ regulator-max-microvolt = <3200000>;
+ regulator-name = "vcc-vref-e1";
+};
+
+&reg_dldo3 {
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <700000>;
+ regulator-name = "vcc-vref-e2";
+};
+
+&reg_dldo4 {
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <700000>;
+ regulator-name = "vcc-vref-e3";
+};
+
+&reg_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";
+};
+
+&reg_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";
+};
+
+&reg_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 = <&reg_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";
+ };
+};
+
+&reg_usb1_vbus3 {
+ gpio = <&pio 3 5 GPIO_ACTIVE_HIGH> ; /* PD5 */
+};
+
+&reg_usb1_vbus4 {
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH> ; /* PD6 */
+};
+
+&reg_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 */
+&reg_dldo2 {
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <700000>;
+};
+
+&usbphy {
+ usb1_vbus-supply = <&reg_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";
+ };
+};
+
+&reg_usb1_vbus3 {
+ gpio = <&pio 3 5 GPIO_ACTIVE_HIGH>;
+};
+
+&reg_usb1_vbus4 {
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
+};
+
+&reg_aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-ext";
+};
+
+/* Set over current to: 30 A = 1200 mV */
+&reg_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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_dcdc2>;
+};
+
+&cpu1 {
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&cpu2 {
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&cpu3 {
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii-txid";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <&reg_dcdc1>;
+ phy-io-supply = <&reg_dcdc1>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <&reg_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 = <&reg_dcdc1>;
+ vqmmc-supply = <&reg_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 = <&reg_dcdc1>;
+ vcc-pc-supply = <&reg_eldo1>;
+ vcc-pd-supply = <&reg_dcdc1>;
+ vcc-pe-supply = <&reg_dcdc1>;
+ vcc-pf-supply = <&reg_dcdc1>;
+ vcc-pg-supply = <&reg_dcdc1>;
+ vcc-ph-supply = <&reg_dcdc1>;
+ vcc-pl-supply = <&reg_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";
+};
+
+&reg_dc1sw {
+ regulator-always-on;
+ regulator-name = "vcc-phy";
+ regulator-enable-ramp-delay = <100000>;
+};
+
+&reg_dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3";
+};
+
+&reg_dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1040000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-name = "vdd-cpux";
+};
+
+&reg_dcdc5 {
+ regulator-always-on;
+ regulator-min-microvolt = <1360000>;
+ regulator-max-microvolt = <1360000>;
+ regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-sys";
+};
+
+&reg_aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vcc-pll-avcc";
+};
+
+&reg_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 */
+&reg_dldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-name = "current-control";
+};
+
+&reg_eldo1 {
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "emmc-io";
+};
+
+&reg_fldo1 {
+ regulator-name = "vdd-hsic";
+ status = "disabled";
+};
+
+&reg_fldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpus";
+};
+
+&reg_ldo_io0 {
+ function = "ldo";
+};
+
+&reg_ldo_io1 {
+ function = "ldo";
+};
+
+&reg_ldo_io0 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-ref";
+ status = "okay";
+};
+
+&reg_ldo_io1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-iref";
+ status = "okay";
+};
+
+&reg_rtc_ldo {
+ regulator-name = "vcc-rtc";
+};
+
+&simplefb_hdmi {
+ vcc-hdmi-supply = <&reg_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 = <&reg_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