diff --git a/projects/Amlogic/patches/u-boot/u-boot-0005-WIP-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5..patch b/projects/Amlogic/patches/u-boot/u-boot-0005-WIP-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5..patch deleted file mode 100644 index cb830c8ede..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0005-WIP-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5..patch +++ /dev/null @@ -1,554 +0,0 @@ -From f72090a5d057a18fa8bceec0400c212012f56126 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 20 Apr 2021 05:19:43 +0000 -Subject: [PATCH 05/22] WIP: ARM: dts: import WeTek Hub/Play2 DTs from Linux - 5.19 - -Import the WeTek common dtsi and Hub/Play2 device-trees. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 2 + - arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi | 7 + - arch/arm/dts/meson-gxbb-wetek-hub.dts | 58 ++++ - .../dts/meson-gxbb-wetek-play2-u-boot.dtsi | 7 + - arch/arm/dts/meson-gxbb-wetek-play2.dts | 121 ++++++++ - arch/arm/dts/meson-gxbb-wetek.dtsi | 292 ++++++++++++++++++ - 6 files changed, 487 insertions(+) - create mode 100644 arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxbb-wetek-hub.dts - create mode 100644 arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxbb-wetek-play2.dts - create mode 100644 arch/arm/dts/meson-gxbb-wetek.dtsi - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 965895bc2a..4a1ac8ecaf 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -181,6 +181,8 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-gxbb-nanopi-k2.dtb \ - meson-gxbb-p200.dtb \ - meson-gxbb-p201.dtb \ -+ meson-gxbb-wetek-hub.dtb \ -+ meson-gxbb-wetek-play2.dtb \ - meson-gxl-s805x-libretech-ac.dtb \ - meson-gxl-s905d-libretech-pc.dtb \ - meson-gxl-s905w-jethome-jethub-j80.dtb \ -diff --git a/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -new file mode 100644 -index 0000000000..c35158d7e9 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gx-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxbb-wetek-hub.dts b/arch/arm/dts/meson-gxbb-wetek-hub.dts -new file mode 100644 -index 0000000000..58733017ed ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-hub.dts -@@ -0,0 +1,58 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-wetek.dtsi" -+#include -+ -+/ { -+ compatible = "wetek,hub", "amlogic,meson-gxbb"; -+ model = "WeTek Hub"; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "WETEK-HUB"; -+ assigned-clocks = <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>, -+ <&clkc CLKID_MPLL2>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; -+ dai-format = "i2s"; -+ mclk-fs = <256>; -+ -+ codec-0 { -+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&aiu { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-wetek-hub"; -+}; -diff --git a/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -new file mode 100644 -index 0000000000..c35158d7e9 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gx-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxbb-wetek-play2.dts b/arch/arm/dts/meson-gxbb-wetek-play2.dts -new file mode 100644 -index 0000000000..6eae692792 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-play2.dts -@@ -0,0 +1,121 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-wetek.dtsi" -+#include -+#include -+ -+/ { -+ compatible = "wetek,play2", "amlogic,meson-gxbb"; -+ model = "WeTek Play 2"; -+ -+ spdif_dit: audio-codec-0 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ leds { -+ led-wifi { -+ label = "wetek-play:wifi-status"; -+ gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; -+ default-state = "off"; -+ }; -+ -+ led-ethernet { -+ label = "wetek-play:ethernet-status"; -+ gpios = <&gpio GPIODV_27 GPIO_ACTIVE_HIGH>; -+ default-state = "off"; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <100>; -+ -+ button@0 { -+ label = "reset"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "WETEK-PLAY2"; -+ assigned-clocks = <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>, -+ <&clkc CLKID_MPLL2>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; -+ dai-format = "i2s"; -+ mclk-fs = <256>; -+ -+ codec-0 { -+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>; -+ -+ codec-0 { -+ sound-dai = <&spdif_dit>; -+ }; -+ }; -+ -+ dai-link-4 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&aiu { -+ status = "okay"; -+ pinctrl-0 = <&spdif_out_y_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&i2c_A { -+ status = "okay"; -+ pinctrl-0 = <&i2c_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb1_phy { -+ status = "okay"; -+}; -+ -+&usb1 { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-wetek-play2"; -+}; -diff --git a/arch/arm/dts/meson-gxbb-wetek.dtsi b/arch/arm/dts/meson-gxbb-wetek.dtsi -new file mode 100644 -index 0000000000..3c3eeb148e ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek.dtsi -@@ -0,0 +1,292 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Andreas Färber -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Kevin Hilman -+ */ -+ -+#include "meson-gxbb.dtsi" -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-blue { -+ /* red in suspend or power-off */ -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ panic-indicator; -+ }; -+ }; -+ -+ usb_pwr: regulator-usb-pwrs { -+ compatible = "regulator-fixed"; -+ -+ regulator-name = "USB_PWR"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vddio_boot: regulator-vddio_boot { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_BOOT"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ vddio_ao18: regulator-vddio_ao18 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO18"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ }; -+ -+ vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ cvbs-connector { -+ compatible = "composite-video-connector"; -+ -+ port { -+ cvbs_connector_in: endpoint { -+ remote-endpoint = <&cvbs_vdac_out>; -+ }; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+}; -+ -+&cec_AO { -+ status = "okay"; -+ pinctrl-0 = <&ao_cec_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cvbs_vdac_port { -+ cvbs_vdac_out: endpoint { -+ remote-endpoint = <&cvbs_connector_in>; -+ }; -+}; -+ -+ðmac { -+ status = "okay"; -+ pinctrl-0 = <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ -+ phy-handle = <ð_phy0>; -+ phy-mode = "rgmii"; -+ -+ amlogic,tx-delay-ns = <2>; -+ -+ mdio { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ eth_phy0: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_15 */ -+ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; -+ }; -+ }; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&vddio_ao18>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ status = "okay"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&clkc CLKID_FCLK_DIV4>; -+ clock-names = "clkin0"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddio_ao18>; -+}; -+ -+/* Wireless SDIO Module */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_boot>; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <100000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vcc_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ max-frequency = <50000000>; -+ non-removable; -+ disable-wp; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&vddio_boot>; -+}; -+ -+/* This is connected to the Bluetooth module: */ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+/* This UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb0_phy { -+ status = "okay"; -+ phy-supply = <&usb_pwr>; -+}; -+ -+&usb0 { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0006-WIP-ARM-dts-use-snps-reset-on-WeTek-devices-to-fix-E.patch b/projects/Amlogic/patches/u-boot/u-boot-0006-WIP-ARM-dts-use-snps-reset-on-WeTek-devices-to-fix-E.patch deleted file mode 100644 index c29d217a9b..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0006-WIP-ARM-dts-use-snps-reset-on-WeTek-devices-to-fix-E.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 4df4197e1eb7e257d0c4dda60a7ff427fbd47c6f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 20 Apr 2021 05:29:19 +0000 -Subject: [PATCH 06/22] WIP: ARM: dts: use snps,reset on WeTek devices to fix - Ethernet - -The sync of the device tree and dt-bindings from Linux v5.6-rc2 -11a48a5a18c6 ("Linux 5.6-rc2") causes Ethernet to break on both -WeTek devices. The PHY seems to need proper reset timing to be -functional in U-Boot and Linux afterwards. Re-add the old PHY -reset bindings for dwmac until we support the new bindings in -the PHY node. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi | 7 +++++++ - arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi | 7 +++++++ - 2 files changed, 14 insertions(+) - -diff --git a/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -index c35158d7e9..2a245bbe7f 100644 ---- a/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -+++ b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -@@ -5,3 +5,10 @@ - */ - - #include "meson-gx-u-boot.dtsi" -+ -+ðmac { -+ snps,reset-gpio = <&gpio GPIOZ_14 0>; -+ snps,reset-delays-us = <0 10000 1000000>; -+ snps,reset-active-low; -+}; -+ -diff --git a/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -index c35158d7e9..2a245bbe7f 100644 ---- a/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -+++ b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -@@ -5,3 +5,10 @@ - */ - - #include "meson-gx-u-boot.dtsi" -+ -+ðmac { -+ snps,reset-gpio = <&gpio GPIOZ_14 0>; -+ snps,reset-delays-us = <0 10000 1000000>; -+ snps,reset-active-low; -+}; -+ --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0008-WIP-boards-amlogic-add-WeTek-Hub-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0008-WIP-boards-amlogic-add-WeTek-Hub-defconfig.patch deleted file mode 100644 index dcf99b2f34..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0008-WIP-boards-amlogic-add-WeTek-Hub-defconfig.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 8b7dfec310b69a5b7cafacbe11a3ca36b497c78c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 27 Feb 2021 06:03:00 +0000 -Subject: [PATCH 08/22] WIP: boards: amlogic: add WeTek Hub defconfig - -Signed-of-by: Christian Hewitt ---- - configs/wetek-hub_defconfig | 71 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 71 insertions(+) - create mode 100644 configs/wetek-hub_defconfig - -diff --git a/configs/wetek-hub_defconfig b/configs/wetek-hub_defconfig -new file mode 100644 -index 0000000000..9ad263ca2c ---- /dev/null -+++ b/configs/wetek-hub_defconfig -@@ -0,0 +1,71 @@ -+CONFIG_ARM=y -+CONFIG_SYS_BOARD="wetek-gxbb" -+CONFIG_ARCH_MESON=y -+CONFIG_TEXT_BASE=0x01000000 -+CONFIG_SYS_LOAD_ADDR=0x1000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEBUG_UART_BASE=0xc81004c0 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" wetek-hub" -+CONFIG_DEFAULT_DEVICE_TREE="meson-gxbb-wetek-hub" -+CONFIG_DEBUG_UART=y -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_ADC=y -+CONFIG_CMD_GPIO=y -+CONFIG_CMD_I2C=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_SARADC_MESON=y -+CONFIG_DM_I2C=y -+CONFIG_SYS_I2C_MESON=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE_MESON8B=y -+CONFIG_PHY=y -+CONFIG_MESON_GXBB_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_GXBB=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_SYSINFO=y -+CONFIG_SYSINFO_SMBIOS=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0009-WIP-boards-amlogic-add-WeTek-Play2-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0009-WIP-boards-amlogic-add-WeTek-Play2-defconfig.patch deleted file mode 100644 index a6f55080c2..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0009-WIP-boards-amlogic-add-WeTek-Play2-defconfig.patch +++ /dev/null @@ -1,91 +0,0 @@ -From e45b57304c28592eae3ad386559abb6dd3a7a802 Mon Sep 17 00:00:00 2001 -From: chewitt -Date: Sat, 27 Feb 2021 06:04:00 +0000 -Subject: [PATCH 09/22] WIP: boards: amlogic: add WeTek Play2 defconfig - -Signed-off-by: Christian Hewittt ---- - configs/wetek-play2_defconfig | 71 +++++++++++++++++++++++++++++++++++ - 1 file changed, 71 insertions(+) - create mode 100644 configs/wetek-play2_defconfig - -diff --git a/configs/wetek-play2_defconfig b/configs/wetek-play2_defconfig -new file mode 100644 -index 0000000000..624679f90c ---- /dev/null -+++ b/configs/wetek-play2_defconfig -@@ -0,0 +1,71 @@ -+CONFIG_ARM=y -+CONFIG_SYS_BOARD="wetek-gxbb" -+CONFIG_ARCH_MESON=y -+CONFIG_TEXT_BASE=0x01000000 -+CONFIG_SYS_LOAD_ADDR=0x1000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEBUG_UART_BASE=0xc81004c0 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" wetek-play2" -+CONFIG_DEFAULT_DEVICE_TREE="meson-gxbb-wetek-play2" -+CONFIG_DEBUG_UART=y -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_ADC=y -+CONFIG_CMD_GPIO=y -+CONFIG_CMD_I2C=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_SARADC_MESON=y -+CONFIG_DM_I2C=y -+CONFIG_SYS_I2C_MESON=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE_MESON8B=y -+CONFIG_PHY=y -+CONFIG_MESON_GXBB_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_GXBB=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_SYSINFO=y -+CONFIG_SYSINFO_SMBIOS=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0010-WIP-ARM-dts-add-support-for-Radxa-Zero2.patch b/projects/Amlogic/patches/u-boot/u-boot-0010-WIP-ARM-dts-add-support-for-Radxa-Zero2.patch deleted file mode 100644 index 3c3b36f534..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0010-WIP-ARM-dts-add-support-for-Radxa-Zero2.patch +++ /dev/null @@ -1,543 +0,0 @@ -From 7a49690898b3af72646df09784b8cdd9b1b593fd Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 15 Jan 2022 06:17:23 +0000 -Subject: [PATCH 10/22] WIP: ARM: dts: add support for Radxa Zero2 - -Import the initial dts (WIP) from chewitt/amlogic-5.16.y - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 1 + - .../dts/meson-g12b-radxa-zero2-u-boot.dtsi | 7 + - arch/arm/dts/meson-g12b-radxa-zero2.dts | 493 ++++++++++++++++++ - 3 files changed, 501 insertions(+) - create mode 100644 arch/arm/dts/meson-g12b-radxa-zero2-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-g12b-radxa-zero2.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4a1ac8ecaf..926ae0aae4 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -202,6 +202,7 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-g12b-gsking-x.dtb \ - meson-g12b-odroid-n2.dtb \ - meson-g12b-odroid-n2-plus.dtb \ -+ meson-g12b-radxa-zero2.dtb \ - meson-sm1-bananapi-m5.dtb \ - meson-sm1-khadas-vim3l.dtb \ - meson-sm1-odroid-c4.dtb \ -diff --git a/arch/arm/dts/meson-g12b-radxa-zero2-u-boot.dtsi b/arch/arm/dts/meson-g12b-radxa-zero2-u-boot.dtsi -new file mode 100644 -index 0000000000..236f2468dc ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-radxa-zero2-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-g12-common-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-g12b-radxa-zero2.dts b/arch/arm/dts/meson-g12b-radxa-zero2.dts -new file mode 100644 -index 0000000000..f0c9ef8592 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-radxa-zero2.dts -@@ -0,0 +1,493 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ * Copyright (c) 2019 Christian Hewitt -+ * Copyright (c) 2022 Radxa Limited -+ * Author: Yuntian Zhang -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-a311d.dtsi" -+#include -+#include -+#include -+#include -+ -+/ { -+ compatible = "radxa,zero2", "amlogic,a311d", "amlogic,g12b"; -+ model = "Radxa Zero2"; -+ -+ aliases { -+ serial0 = &uart_AO; -+ serial2 = &uart_A; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ poll-interval = <100>; -+ power-button { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio GPIOA_12 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+ cvbs-connector { -+ status = "disabled"; -+ compatible = "composite-video-connector"; -+ -+ port { -+ cvbs_connector_in: endpoint { -+ remote-endpoint = <&cvbs_vdac_out>; -+ }; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ ao_5v: regulator-ao_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "AO_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ -+ vcc_1v8: regulator-vcc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vcc_3v3>; -+ regulator-always-on; -+ }; -+ -+ vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ /* FIXME: actually controlled by VDDCPU_B_EN */ -+ }; -+ -+ vddao_1v8: regulator-vddao_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&ao_5v>; -+ regulator-always-on; -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ /* -+ * MP8756GD Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <730000>; -+ regulator-max-microvolt = <1022000>; -+ -+ pwm-supply = <&ao_5v>; -+ -+ pwms = <&pwm_ab 0 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddcpu_b: regulator-vddcpu-b { -+ /* -+ * Silergy SY8120B1ABC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <730000>; -+ regulator-max-microvolt = <1022000>; -+ -+ pwm-supply = <&ao_5v>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "RADXA-ZERO2"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ status = "disabled"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu100 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu101 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu102 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu103 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cvbs_vdac_port { -+ cvbs_vdac_out: endpoint { -+ remote-endpoint = <&cvbs_connector_in>; -+ }; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&gpio { -+ gpio-line-names = -+ /* GPIOZ */ -+ "PIN_27", "PIN_28", "PIN_7", "PIN_11", "PIN_13", "PIN_15", "PIN_18", "PIN_40", -+ "", "", "", "", "", "", "", "", -+ /* GPIOH */ -+ "", "", "", "", "PIN_19", "PIN_21", "PIN_24", "PIN_23", -+ "", -+ /* BOOT */ -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "EMMC_PWRSEQ", "", "", "", -+ /* GPIOC */ -+ "", "", "", "", "", "", "SD_CD", "PIN_36", -+ /* GPIOA */ -+ "PIN_32", "PIN_12", "PIN_35", "", "", "PIN_38", "", "", -+ "", "", "", "", "LED_GREEN", "PIN_31", "PIN_3", "PIN_5", -+ /* GPIOX */ -+ "", "", "", "", "", "", "SDIO_PWRSEQ", "", -+ "", "", "", "", "", "", "", "", -+ "", "BT_SHUTDOWN", "", ""; -+}; -+ -+&gpio_ao { -+ gpio-line-names = -+ /* GPIOAO */ -+ "PIN_8", "PIN_10", "", "BTN_POWER", "", "", "", "PIN_29", -+ "PIN_33", "PIN_37", "FAN", "", -+ /* GPIOE */ -+ "", "", ""; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&ao_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ status = "disabled"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_ab { -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ status = "okay"; -+}; -+ -+&pwm_ef { -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin2"; -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin4"; -+ status = "okay"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -+ -+/* SDIO */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <100000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_1v8>; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&vcc_1v8>; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; -+ -+&usb { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0011-WIP-boards-amlogic-add-Radxa-Zero2-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0011-WIP-boards-amlogic-add-Radxa-Zero2-defconfig.patch deleted file mode 100644 index b1d9d5550d..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0011-WIP-boards-amlogic-add-Radxa-Zero2-defconfig.patch +++ /dev/null @@ -1,110 +0,0 @@ -From e7babbfd6c66c20e81e9d728a6a4384a9a5885dd Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 15 Jan 2022 06:23:29 +0000 -Subject: [PATCH 11/22] WIP: boards: amlogic: add Radxa Zero2 defconfig - -Add a defconfig for the Radxa Zero2 SBC, using an Amlogic A311D chip. - -Signed-off-by: Christian Hewitt ---- - board/amlogic/w400/MAINTAINERS | 1 + - configs/radxa-zero2_defconfig | 77 ++++++++++++++++++++++++++++++++++ - 2 files changed, 78 insertions(+) - create mode 100644 configs/radxa-zero2_defconfig - -diff --git a/board/amlogic/w400/MAINTAINERS b/board/amlogic/w400/MAINTAINERS -index 96ccda2001..caad41577d 100644 ---- a/board/amlogic/w400/MAINTAINERS -+++ b/board/amlogic/w400/MAINTAINERS -@@ -3,4 +3,5 @@ M: Neil Armstrong - S: Maintained - L: u-boot-amlogic@groups.io - F: board/amlogic/w400/ -+F: configs/radxa-zero2_defconfig - F: doc/board/amlogic/w400.rst -diff --git a/configs/radxa-zero2_defconfig b/configs/radxa-zero2_defconfig -new file mode 100644 -index 0000000000..3ef3c9c143 ---- /dev/null -+++ b/configs/radxa-zero2_defconfig -@@ -0,0 +1,77 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-radxa-zero2" -+CONFIG_MESON_G12A=y -+CONFIG_DEBUG_UART_BASE=0xff803000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" radxa-zero2" -+CONFIG_SYS_LOAD_ADDR=0x1000000 -+CONFIG_DEBUG_UART=y -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 -+CONFIG_REMAKE_ELF=y -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+CONFIG_SYS_MAXARGS=32 -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_MTD=y -+CONFIG_DM_MTD=y -+# CONFIG_PHY_REALTEK is not set -+CONFIG_DM_MDIO=y -+CONFIG_DM_MDIO_MUX=y -+# CONFIG_ETH_DESIGNWARE_MESON8B is not set -+CONFIG_MDIO_MUX_MESON_G12A=y -+CONFIG_MESON_G12A_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_G12A=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_G12A=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0013-WIP-ARM-dts-import-Beelink-GT1-DT-from-Linux-5.21.patch b/projects/Amlogic/patches/u-boot/u-boot-0013-WIP-ARM-dts-import-Beelink-GT1-DT-from-Linux-5.21.patch deleted file mode 100644 index 786a26d81c..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0013-WIP-ARM-dts-import-Beelink-GT1-DT-from-Linux-5.21.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 7ce3779954032f9ac2591a02df06282115032cb3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 7 Jul 2022 10:24:03 +0000 -Subject: [PATCH 13/22] WIP: ARM: dts: import Beelink GT1 DT from Linux 5.21 - -Import the Beelink GT1 device-tree. - -Signed-off-by: Christian Hewitt ---- - .../dts/meson-gxm-gt1-ultimate-u-boot.dtsi | 7 ++ - arch/arm/dts/meson-gxm-gt1-ultimate.dts | 91 +++++++++++++++++++ - 2 files changed, 98 insertions(+) - create mode 100644 arch/arm/dts/meson-gxm-gt1-ultimate-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxm-gt1-ultimate.dts - -diff --git a/arch/arm/dts/meson-gxm-gt1-ultimate-u-boot.dtsi b/arch/arm/dts/meson-gxm-gt1-ultimate-u-boot.dtsi -new file mode 100644 -index 0000000000..39270ea71c ---- /dev/null -+++ b/arch/arm/dts/meson-gxm-gt1-ultimate-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gxl-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxm-gt1-ultimate.dts b/arch/arm/dts/meson-gxm-gt1-ultimate.dts -new file mode 100644 -index 0000000000..2c267884cc ---- /dev/null -+++ b/arch/arm/dts/meson-gxm-gt1-ultimate.dts -@@ -0,0 +1,91 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxm.dtsi" -+#include "meson-gx-p23x-q20x.dtsi" -+#include -+#include -+ -+/ { -+ compatible = "azw,gt1-ultimate", "amlogic,s912", "amlogic,meson-gxm"; -+ model = "Beelink GT1 Ultimate"; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-white { -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ panic-indicator; -+ }; -+ }; -+ -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 0>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1710000>; -+ -+ button-function { -+ label = "update"; -+ linux,code = ; -+ press-threshold-microvolt = <10000>; -+ }; -+ }; -+}; -+ -+ðmac { -+ pinctrl-0 = <ð_pins>; -+ pinctrl-names = "default"; -+ phy-handle = <&external_phy>; -+ amlogic,tx-delay-ns = <2>; -+ phy-mode = "rgmii"; -+}; -+ -+&external_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_15 */ -+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-beelink-gs1"; -+}; -+ -+&sd_emmc_a { -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0016-WIP-ARM-dts-convert-bananapi-m5-to-dtsi.patch b/projects/Amlogic/patches/u-boot/u-boot-0016-WIP-ARM-dts-convert-bananapi-m5-to-dtsi.patch deleted file mode 100644 index eef144642c..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0016-WIP-ARM-dts-convert-bananapi-m5-to-dtsi.patch +++ /dev/null @@ -1,936 +0,0 @@ -From 0addaf5179afa1c985f493035a1dca8f1b23a4ed Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 17 Feb 2023 05:37:13 +0000 -Subject: [PATCH 16/22] WIP: ARM: dts: convert bananapi-m5 to dtsi - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/meson-sm1-bananapi-m5.dts | 426 +----------------------- - arch/arm/dts/meson-sm1-bananapi.dtsi | 435 +++++++++++++++++++++++++ - 2 files changed, 436 insertions(+), 425 deletions(-) - create mode 100644 arch/arm/dts/meson-sm1-bananapi.dtsi - -diff --git a/arch/arm/dts/meson-sm1-bananapi-m5.dts b/arch/arm/dts/meson-sm1-bananapi-m5.dts -index effaa138b5..34b3238ee0 100644 ---- a/arch/arm/dts/meson-sm1-bananapi-m5.dts -+++ b/arch/arm/dts/meson-sm1-bananapi-m5.dts -@@ -6,10 +6,7 @@ - - /dts-v1/; - --#include "meson-sm1.dtsi" --#include --#include --#include -+#include "meson-sm1-bananapi.dtsi" - #include - #include - -@@ -17,28 +14,6 @@ - compatible = "bananapi,bpi-m5", "amlogic,sm1"; - model = "Banana Pi BPI-M5"; - -- adc_keys { -- compatible = "adc-keys"; -- io-channels = <&saradc 2>; -- io-channel-names = "buttons"; -- keyup-threshold-microvolt = <1800000>; -- -- key { -- label = "SW3"; -- linux,code = ; -- press-threshold-microvolt = <1700000>; -- }; -- }; -- -- aliases { -- serial0 = &uart_AO; -- ethernet0 = ðmac; -- }; -- -- chosen { -- stdout-path = "serial0:115200n8"; -- }; -- - /* TOFIX: handle CVBS_DET on SARADC channel 0 */ - cvbs-connector { - compatible = "composite-video-connector"; -@@ -50,150 +25,6 @@ - }; - }; - -- emmc_pwrseq: emmc-pwrseq { -- compatible = "mmc-pwrseq-emmc"; -- reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -- }; -- -- gpio-keys { -- compatible = "gpio-keys"; -- -- key { -- label = "SW1"; -- linux,code = ; -- gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; -- interrupt-parent = <&gpio_intc>; -- interrupts = <3 IRQ_TYPE_EDGE_BOTH>; -- }; -- }; -- -- hdmi-connector { -- compatible = "hdmi-connector"; -- type = "a"; -- -- port { -- hdmi_connector_in: endpoint { -- remote-endpoint = <&hdmi_tx_tmds_out>; -- }; -- }; -- }; -- -- leds { -- compatible = "gpio-leds"; -- -- green { -- color = ; -- function = LED_FUNCTION_STATUS; -- gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; -- }; -- -- blue { -- color = ; -- function = LED_FUNCTION_STATUS; -- gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>; -- linux,default-trigger = "heartbeat"; -- }; -- }; -- -- memory@0 { -- device_type = "memory"; -- reg = <0x0 0x0 0x0 0x40000000>; -- }; -- -- emmc_1v8: regulator-emmc_1v8 { -- compatible = "regulator-fixed"; -- regulator-name = "EMMC_1V8"; -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <1800000>; -- vin-supply = <&vddao_3v3>; -- regulator-always-on; -- }; -- -- dc_in: regulator-dc_in { -- compatible = "regulator-fixed"; -- regulator-name = "DC_IN"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- regulator-always-on; -- }; -- -- vddio_c: regulator-vddio_c { -- compatible = "regulator-gpio"; -- regulator-name = "VDDIO_C"; -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- -- enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>; -- enable-active-high; -- regulator-always-on; -- -- gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>; -- gpios-states = <1>; -- -- states = <1800000 0>, -- <3300000 1>; -- }; -- -- tflash_vdd: regulator-tflash_vdd { -- compatible = "regulator-fixed"; -- regulator-name = "TFLASH_VDD"; -- regulator-min-microvolt = <3300000>; -- regulator-max-microvolt = <3300000>; -- vin-supply = <&dc_in>; -- gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; -- enable-active-high; -- regulator-always-on; -- }; -- -- vddao_1v8: regulator-vddao_1v8 { -- compatible = "regulator-fixed"; -- regulator-name = "VDDAO_1V8"; -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <1800000>; -- vin-supply = <&vddao_3v3>; -- regulator-always-on; -- }; -- -- vddao_3v3: regulator-vddao_3v3 { -- compatible = "regulator-fixed"; -- regulator-name = "VDDAO_3V3"; -- regulator-min-microvolt = <3300000>; -- regulator-max-microvolt = <3300000>; -- vin-supply = <&dc_in>; -- regulator-always-on; -- }; -- -- vddcpu: regulator-vddcpu { -- /* -- * SY8120B1ABC DC/DC Regulator. -- */ -- compatible = "pwm-regulator"; -- -- regulator-name = "VDDCPU"; -- regulator-min-microvolt = <690000>; -- regulator-max-microvolt = <1050000>; -- -- vin-supply = <&dc_in>; -- -- pwms = <&pwm_AO_cd 1 1250 0>; -- pwm-dutycycle-range = <100 0>; -- -- regulator-boot-on; -- regulator-always-on; -- }; -- -- /* USB Hub Power Enable */ -- vl_pwr_en: regulator-vl_pwr_en { -- compatible = "regulator-fixed"; -- regulator-name = "VL_PWR_EN"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- vin-supply = <&dc_in>; -- -- gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; -- enable-active-high; -- }; -- - sound { - compatible = "amlogic,axg-sound-card"; - model = "BPI-M5"; -@@ -319,68 +150,17 @@ - status = "okay"; - }; - --&arb { -- status = "okay"; --}; - - &clkc_audio { - status = "okay"; - }; - --&cpu0 { -- cpu-supply = <&vddcpu>; -- operating-points-v2 = <&cpu_opp_table>; -- clocks = <&clkc CLKID_CPU_CLK>; -- clock-latency = <50000>; --}; -- --&cpu1 { -- cpu-supply = <&vddcpu>; -- operating-points-v2 = <&cpu_opp_table>; -- clocks = <&clkc CLKID_CPU1_CLK>; -- clock-latency = <50000>; --}; -- --&cpu2 { -- cpu-supply = <&vddcpu>; -- operating-points-v2 = <&cpu_opp_table>; -- clocks = <&clkc CLKID_CPU2_CLK>; -- clock-latency = <50000>; --}; -- --&cpu3 { -- cpu-supply = <&vddcpu>; -- operating-points-v2 = <&cpu_opp_table>; -- clocks = <&clkc CLKID_CPU3_CLK>; -- clock-latency = <50000>; --}; -- - &cvbs_vdac_port { - cvbs_vdac_out: endpoint { - remote-endpoint = <&cvbs_connector_in>; - }; - }; - --&ext_mdio { -- external_phy: ethernet-phy@0 { -- /* Realtek RTL8211F (0x001cc916) */ -- reg = <0>; -- max-speed = <1000>; -- -- interrupt-parent = <&gpio_intc>; -- /* MAC_INTR on GPIOZ_14 */ -- interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -- }; --}; -- --ðmac { -- pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -- pinctrl-names = "default"; -- status = "okay"; -- phy-mode = "rgmii-txid"; -- phy-handle = <&external_phy>; --}; -- - &frddr_a { - status = "okay"; - }; -@@ -393,191 +173,6 @@ - status = "okay"; - }; - --&gpio { -- gpio-line-names = -- /* GPIOZ */ -- "ETH_MDIO", /* GPIOZ_0 */ -- "ETH_MDC", /* GPIOZ_1 */ -- "ETH_RXCLK", /* GPIOZ_2 */ -- "ETH_RX_DV", /* GPIOZ_3 */ -- "ETH_RXD0", /* GPIOZ_4 */ -- "ETH_RXD1", /* GPIOZ_5 */ -- "ETH_RXD2", /* GPIOZ_6 */ -- "ETH_RXD3", /* GPIOZ_7 */ -- "ETH_TXCLK", /* GPIOZ_8 */ -- "ETH_TXEN", /* GPIOZ_9 */ -- "ETH_TXD0", /* GPIOZ_10 */ -- "ETH_TXD1", /* GPIOZ_11 */ -- "ETH_TXD2", /* GPIOZ_12 */ -- "ETH_TXD3", /* GPIOZ_13 */ -- "ETH_INTR", /* GPIOZ_14 */ -- "ETH_NRST", /* GPIOZ_15 */ -- /* GPIOH */ -- "HDMI_SDA", /* GPIOH_0 */ -- "HDMI_SCL", /* GPIOH_1 */ -- "HDMI_HPD", /* GPIOH_2 */ -- "HDMI_CEC", /* GPIOH_3 */ -- "VL-RST_N", /* GPIOH_4 */ -- "CON1-P36", /* GPIOH_5 */ -- "VL-PWREN", /* GPIOH_6 */ -- "WiFi_3V3_1V8", /* GPIOH_7 */ -- "TFLASH_VDD_EN", /* GPIOH_8 */ -- /* BOOT */ -- "eMMC_D0", /* BOOT_0 */ -- "eMMC_D1", /* BOOT_1 */ -- "eMMC_D2", /* BOOT_2 */ -- "eMMC_D3", /* BOOT_3 */ -- "eMMC_D4", /* BOOT_4 */ -- "eMMC_D5", /* BOOT_5 */ -- "eMMC_D6", /* BOOT_6 */ -- "eMMC_D7", /* BOOT_7 */ -- "eMMC_CLK", /* BOOT_8 */ -- "", -- "eMMC_CMD", /* BOOT_10 */ -- "", -- "eMMC_RST#", /* BOOT_12 */ -- "eMMC_DS", /* BOOT_13 */ -- /* GPIOC */ -- "SD_D0_B", /* GPIOC_0 */ -- "SD_D1_B", /* GPIOC_1 */ -- "SD_D2_B", /* GPIOC_2 */ -- "SD_D3_B", /* GPIOC_3 */ -- "SD_CLK_B", /* GPIOC_4 */ -- "SD_CMD_B", /* GPIOC_5 */ -- "CARD_EN_DET", /* GPIOC_6 */ -- "", -- /* GPIOA */ -- "", "", "", "", "", "", "", "", -- "", "", "", "", "", "", -- "CON1-P27", /* GPIOA_14 */ -- "CON1-P28", /* GPIOA_15 */ -- /* GPIOX */ -- "CON1-P16", /* GPIOX_0 */ -- "CON1-P18", /* GPIOX_1 */ -- "CON1-P22", /* GPIOX_2 */ -- "CON1-P11", /* GPIOX_3 */ -- "CON1-P13", /* GPIOX_4 */ -- "CON1-P07", /* GPIOX_5 */ -- "CON1-P33", /* GPIOX_6 */ -- "CON1-P15", /* GPIOX_7 */ -- "CON1-P19", /* GPIOX_8 */ -- "CON1-P21", /* GPIOX_9 */ -- "CON1-P24", /* GPIOX_10 */ -- "CON1-P23", /* GPIOX_11 */ -- "CON1-P08", /* GPIOX_12 */ -- "CON1-P10", /* GPIOX_13 */ -- "CON1-P29", /* GPIOX_14 */ -- "CON1-P31", /* GPIOX_15 */ -- "CON1-P26", /* GPIOX_16 */ -- "CON1-P03", /* GPIOX_17 */ -- "CON1-P05", /* GPIOX_18 */ -- "CON1-P32"; /* GPIOX_19 */ -- -- /* -- * WARNING: The USB Hub on the BPI-M5 needs a reset signal -- * to be turned high in order to be detected by the USB Controller -- * This signal should be handled by a USB specific power sequence -- * in order to reset the Hub when USB bus is powered down. -- */ -- usb-hub { -- gpio-hog; -- gpios = ; -- output-high; -- line-name = "usb-hub-reset"; -- }; --}; -- --&gpio_ao { -- gpio-line-names = -- /* GPIOAO */ -- "DEBUG TX", /* GPIOAO_0 */ -- "DEBUG RX", /* GPIOAO_1 */ -- "SYS_LED2", /* GPIOAO_2 */ -- "UPDATE_KEY", /* GPIOAO_3 */ -- "CON1-P40", /* GPIOAO_4 */ -- "IR_IN", /* GPIOAO_5 */ -- "TF_3V3N_1V8_EN", /* GPIOAO_6 */ -- "CON1-P35", /* GPIOAO_7 */ -- "CON1-P12", /* GPIOAO_8 */ -- "CON1-P37", /* GPIOAO_9 */ -- "CON1-P38", /* GPIOAO_10 */ -- "SYS_LED", /* GPIOAO_11 */ -- /* GPIOE */ -- "VDDEE_PWM", /* GPIOE_0 */ -- "VDDCPU_PWM", /* GPIOE_1 */ -- "TF_PWR_EN"; /* GPIOE_2 */ --}; -- --&hdmi_tx { -- status = "okay"; -- pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -- pinctrl-names = "default"; -- hdmi-supply = <&dc_in>; --}; -- --&hdmi_tx_tmds_port { -- hdmi_tx_tmds_out: endpoint { -- remote-endpoint = <&hdmi_connector_in>; -- }; --}; -- --&ir { -- status = "okay"; -- pinctrl-0 = <&remote_input_ao_pins>; -- pinctrl-names = "default"; --}; -- --&pwm_AO_cd { -- pinctrl-0 = <&pwm_ao_d_e_pins>; -- pinctrl-names = "default"; -- clocks = <&xtal>; -- clock-names = "clkin1"; -- status = "okay"; --}; -- --&saradc { -- status = "okay"; -- vref-supply = <&vddao_1v8>; --}; -- --/* SD card */ --&sd_emmc_b { -- status = "okay"; -- pinctrl-0 = <&sdcard_c_pins>; -- pinctrl-1 = <&sdcard_clk_gate_c_pins>; -- pinctrl-names = "default", "clk-gate"; -- -- bus-width = <4>; -- cap-sd-highspeed; -- max-frequency = <50000000>; -- disable-wp; -- -- /* TOFIX: SD card is barely usable in SDR modes */ -- -- cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -- vmmc-supply = <&tflash_vdd>; -- vqmmc-supply = <&vddio_c>; --}; -- --/* eMMC */ --&sd_emmc_c { -- status = "okay"; -- pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -- pinctrl-1 = <&emmc_clk_gate_pins>; -- pinctrl-names = "default", "clk-gate"; -- -- bus-width = <8>; -- cap-mmc-highspeed; -- mmc-ddr-1_8v; -- mmc-hs200-1_8v; -- max-frequency = <200000000>; -- disable-wp; -- -- mmc-pwrseq = <&emmc_pwrseq>; -- vmmc-supply = <&vddao_3v3>; -- vqmmc-supply = <&emmc_1v8>; --}; -- - &tdmif_b { - status = "okay"; - }; -@@ -625,22 +220,3 @@ - &toddr_c { - status = "okay"; - }; -- --&uart_AO { -- status = "okay"; -- pinctrl-0 = <&uart_ao_a_pins>; -- pinctrl-names = "default"; --}; -- --&usb { -- status = "okay"; --}; -- --&usb2_phy0 { -- phy-supply = <&dc_in>; --}; -- --&usb2_phy1 { -- /* Enable the hub which is connected to this port */ -- phy-supply = <&vl_pwr_en>; --}; -diff --git a/arch/arm/dts/meson-sm1-bananapi.dtsi b/arch/arm/dts/meson-sm1-bananapi.dtsi -new file mode 100644 -index 0000000000..c914f11481 ---- /dev/null -+++ b/arch/arm/dts/meson-sm1-bananapi.dtsi -@@ -0,0 +1,435 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 BayLibre SAS -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-sm1.dtsi" -+#include -+#include -+#include -+ -+/ { -+ adc_keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 2>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1800000>; -+ -+ key { -+ label = "SW3"; -+ linux,code = ; -+ press-threshold-microvolt = <1700000>; -+ }; -+ }; -+ -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ -+ key { -+ label = "SW1"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; -+ interrupt-parent = <&gpio_intc>; -+ interrupts = <3 IRQ_TYPE_EDGE_BOTH>; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; -+ }; -+ -+ led-blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ emmc_1v8: regulator-emmc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "EMMC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ dc_in: regulator-dc_in { -+ compatible = "regulator-fixed"; -+ regulator-name = "DC_IN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ -+ vddio_c: regulator-vddio_c { -+ compatible = "regulator-gpio"; -+ regulator-name = "VDDIO_C"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ -+ enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ regulator-always-on; -+ -+ gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>; -+ gpios-states = <1>; -+ -+ states = <1800000 0>, -+ <3300000 1>; -+ }; -+ -+ tflash_vdd: regulator-tflash_vdd { -+ compatible = "regulator-fixed"; -+ regulator-name = "TFLASH_VDD"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&dc_in>; -+ gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ regulator-always-on; -+ }; -+ -+ vddao_1v8: regulator-vddao_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&dc_in>; -+ regulator-always-on; -+ }; -+ -+ vddcpu: regulator-vddcpu { -+ /* -+ * SY8120B1ABC DC/DC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU"; -+ regulator-min-microvolt = <690000>; -+ regulator-max-microvolt = <1050000>; -+ -+ pwm-supply = <&dc_in>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ /* USB Hub Power Enable */ -+ vl_pwr_en: regulator-vl_pwr_en { -+ compatible = "regulator-fixed"; -+ regulator-name = "VL_PWR_EN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&dc_in>; -+ -+ gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU1_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU2_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU3_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+ðmac { -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+}; -+ -+&gpio { -+ gpio-line-names = -+ /* GPIOZ */ -+ "ETH_MDIO", /* GPIOZ_0 */ -+ "ETH_MDC", /* GPIOZ_1 */ -+ "ETH_RXCLK", /* GPIOZ_2 */ -+ "ETH_RX_DV", /* GPIOZ_3 */ -+ "ETH_RXD0", /* GPIOZ_4 */ -+ "ETH_RXD1", /* GPIOZ_5 */ -+ "ETH_RXD2", /* GPIOZ_6 */ -+ "ETH_RXD3", /* GPIOZ_7 */ -+ "ETH_TXCLK", /* GPIOZ_8 */ -+ "ETH_TXEN", /* GPIOZ_9 */ -+ "ETH_TXD0", /* GPIOZ_10 */ -+ "ETH_TXD1", /* GPIOZ_11 */ -+ "ETH_TXD2", /* GPIOZ_12 */ -+ "ETH_TXD3", /* GPIOZ_13 */ -+ "ETH_INTR", /* GPIOZ_14 */ -+ "ETH_NRST", /* GPIOZ_15 */ -+ /* GPIOH */ -+ "HDMI_SDA", /* GPIOH_0 */ -+ "HDMI_SCL", /* GPIOH_1 */ -+ "HDMI_HPD", /* GPIOH_2 */ -+ "HDMI_CEC", /* GPIOH_3 */ -+ "VL-RST_N", /* GPIOH_4 */ -+ "CON1-P36", /* GPIOH_5 */ -+ "VL-PWREN", /* GPIOH_6 */ -+ "WiFi_3V3_1V8", /* GPIOH_7 */ -+ "TFLASH_VDD_EN", /* GPIOH_8 */ -+ /* BOOT */ -+ "eMMC_D0", /* BOOT_0 */ -+ "eMMC_D1", /* BOOT_1 */ -+ "eMMC_D2", /* BOOT_2 */ -+ "eMMC_D3", /* BOOT_3 */ -+ "eMMC_D4", /* BOOT_4 */ -+ "eMMC_D5", /* BOOT_5 */ -+ "eMMC_D6", /* BOOT_6 */ -+ "eMMC_D7", /* BOOT_7 */ -+ "eMMC_CLK", /* BOOT_8 */ -+ "", -+ "eMMC_CMD", /* BOOT_10 */ -+ "", -+ "eMMC_RST#", /* BOOT_12 */ -+ "eMMC_DS", /* BOOT_13 */ -+ "", "", -+ /* GPIOC */ -+ "SD_D0_B", /* GPIOC_0 */ -+ "SD_D1_B", /* GPIOC_1 */ -+ "SD_D2_B", /* GPIOC_2 */ -+ "SD_D3_B", /* GPIOC_3 */ -+ "SD_CLK_B", /* GPIOC_4 */ -+ "SD_CMD_B", /* GPIOC_5 */ -+ "CARD_EN_DET", /* GPIOC_6 */ -+ "", -+ /* GPIOA */ -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", -+ "CON1-P27", /* GPIOA_14 */ -+ "CON1-P28", /* GPIOA_15 */ -+ /* GPIOX */ -+ "CON1-P16", /* GPIOX_0 */ -+ "CON1-P18", /* GPIOX_1 */ -+ "CON1-P22", /* GPIOX_2 */ -+ "CON1-P11", /* GPIOX_3 */ -+ "CON1-P13", /* GPIOX_4 */ -+ "CON1-P07", /* GPIOX_5 */ -+ "CON1-P33", /* GPIOX_6 */ -+ "CON1-P15", /* GPIOX_7 */ -+ "CON1-P19", /* GPIOX_8 */ -+ "CON1-P21", /* GPIOX_9 */ -+ "CON1-P24", /* GPIOX_10 */ -+ "CON1-P23", /* GPIOX_11 */ -+ "CON1-P08", /* GPIOX_12 */ -+ "CON1-P10", /* GPIOX_13 */ -+ "CON1-P29", /* GPIOX_14 */ -+ "CON1-P31", /* GPIOX_15 */ -+ "CON1-P26", /* GPIOX_16 */ -+ "CON1-P03", /* GPIOX_17 */ -+ "CON1-P05", /* GPIOX_18 */ -+ "CON1-P32"; /* GPIOX_19 */ -+ -+ /* -+ * WARNING: The USB Hub needs a reset signal to be turned high in -+ * order to be detected by the USB Controller. This signal should -+ * be handled by a USB specific power sequence to reset the Hub -+ * when the USB bus is powered down. -+ */ -+ usb-hub { -+ gpio-hog; -+ gpios = ; -+ output-high; -+ line-name = "usb-hub-reset"; -+ }; -+}; -+ -+&gpio_ao { -+ gpio-line-names = -+ /* GPIOAO */ -+ "DEBUG TX", /* GPIOAO_0 */ -+ "DEBUG RX", /* GPIOAO_1 */ -+ "SYS_LED2", /* GPIOAO_2 */ -+ "UPDATE_KEY", /* GPIOAO_3 */ -+ "CON1-P40", /* GPIOAO_4 */ -+ "IR_IN", /* GPIOAO_5 */ -+ "TF_3V3N_1V8_EN", /* GPIOAO_6 */ -+ "CON1-P35", /* GPIOAO_7 */ -+ "CON1-P12", /* GPIOAO_8 */ -+ "CON1-P37", /* GPIOAO_9 */ -+ "CON1-P38", /* GPIOAO_10 */ -+ "SYS_LED", /* GPIOAO_11 */ -+ /* GPIOE */ -+ "VDDEE_PWM", /* GPIOE_0 */ -+ "VDDCPU_PWM", /* GPIOE_1 */ -+ "TF_PWR_EN"; /* GPIOE_2 */ -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&dc_in>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ status = "okay"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ /* TOFIX: SD card is barely usable in SDR modes */ -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&tflash_vdd>; -+ vqmmc-supply = <&vddio_c>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&emmc_1v8>; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+}; -+ -+&usb2_phy0 { -+ phy-supply = <&dc_in>; -+}; -+ -+&usb2_phy1 { -+ /* Enable the hub which is connected to this port */ -+ phy-supply = <&vl_pwr_en>; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0017-WIP-ARM-dts-add-support-for-BananaPi-M2-Pro.patch b/projects/Amlogic/patches/u-boot/u-boot-0017-WIP-ARM-dts-add-support-for-BananaPi-M2-Pro.patch deleted file mode 100644 index aa2db89932..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0017-WIP-ARM-dts-add-support-for-BananaPi-M2-Pro.patch +++ /dev/null @@ -1,152 +0,0 @@ -From dbf80e3d843cb58b9098d7c0e24c9ab1208003a7 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 17 Feb 2023 05:38:46 +0000 -Subject: [PATCH 17/22] WIP: ARM: dts: add support for BananaPi M2-Pro - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 1 + - .../dts/meson-sm1-bananapi-m2-pro-u-boot.dtsi | 13 +++ - arch/arm/dts/meson-sm1-bananapi-m2-pro.dts | 98 +++++++++++++++++++ - 3 files changed, 112 insertions(+) - create mode 100644 arch/arm/dts/meson-sm1-bananapi-m2-pro-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-sm1-bananapi-m2-pro.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 926ae0aae4..4e9fa81e18 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -203,6 +203,7 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-g12b-odroid-n2.dtb \ - meson-g12b-odroid-n2-plus.dtb \ - meson-g12b-radxa-zero2.dtb \ -+ meson-sm1-bananapi-m2-pro.dtb \ - meson-sm1-bananapi-m5.dtb \ - meson-sm1-khadas-vim3l.dtb \ - meson-sm1-odroid-c4.dtb \ -diff --git a/arch/arm/dts/meson-sm1-bananapi-m2-pro-u-boot.dtsi b/arch/arm/dts/meson-sm1-bananapi-m2-pro-u-boot.dtsi -new file mode 100644 -index 0000000000..a86fdb5668 ---- /dev/null -+++ b/arch/arm/dts/meson-sm1-bananapi-m2-pro-u-boot.dtsi -@@ -0,0 +1,13 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-sm1-u-boot.dtsi" -+ -+ðmac { -+ snps,reset-gpio = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; -+ snps,reset-delays-us = <0 10000 1000000>; -+ snps,reset-active-low; -+}; -diff --git a/arch/arm/dts/meson-sm1-bananapi-m2-pro.dts b/arch/arm/dts/meson-sm1-bananapi-m2-pro.dts -new file mode 100644 -index 0000000000..4890d5d9a4 ---- /dev/null -+++ b/arch/arm/dts/meson-sm1-bananapi-m2-pro.dts -@@ -0,0 +1,98 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 BayLibre SAS -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-bananapi.dtsi" -+#include -+ -+/ { -+ compatible = "bananapi,bpi-m2-pro", "amlogic,sm1"; -+ model = "Banana Pi BPI-M2-PRO"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "BPI-M2-PRO"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0018-WIP-boards-add-BananaPi-M2-Pro-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0018-WIP-boards-add-BananaPi-M2-Pro-defconfig.patch deleted file mode 100644 index e17be8f0c5..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0018-WIP-boards-add-BananaPi-M2-Pro-defconfig.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 0be895d75648124c0bd8d7fce1fe61c3dbacbe5f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 17 Feb 2023 05:41:36 +0000 -Subject: [PATCH 18/22] WIP: boards: add BananaPi M2-Pro defconfig - -Signed-off-by: Christian Hewitt ---- - configs/bananapi-m2-pro_defconfig | 76 +++++++++++++++++++++++++++++++ - 1 file changed, 76 insertions(+) - create mode 100644 configs/bananapi-m2-pro_defconfig - -diff --git a/configs/bananapi-m2-pro_defconfig b/configs/bananapi-m2-pro_defconfig -new file mode 100644 -index 0000000000..1c2b8ab95e ---- /dev/null -+++ b/configs/bananapi-m2-pro_defconfig -@@ -0,0 +1,76 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-bananapi-m2-pro" -+CONFIG_MESON_G12A=y -+CONFIG_DEBUG_UART_BASE=0xff803000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING="bpi-m2-pro" -+CONFIG_SYS_LOAD_ADDR=0x1000000 -+CONFIG_DEBUG_UART=y -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 -+CONFIG_REMAKE_ELF=y -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+CONFIG_SYS_MAXARGS=32 -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_ADC=y -+CONFIG_SARADC_MESON=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_MDIO=y -+CONFIG_DM_MDIO_MUX=y -+CONFIG_ETH_DESIGNWARE_MESON8B=y -+CONFIG_MDIO_MUX_MESON_G12A=y -+CONFIG_MESON_G12A_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_G12A=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_G12A=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0020-WIP-boards-add-BananaPi-M2S-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0020-WIP-boards-add-BananaPi-M2S-defconfig.patch deleted file mode 100644 index 82df4f88b2..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0020-WIP-boards-add-BananaPi-M2S-defconfig.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 665eff902425685a2278e393a89452276e4ea665 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 18 Feb 2023 08:06:04 +0000 -Subject: [PATCH 20/22] WIP: boards: add BananaPi M2S defconfig - -Signed-off-by: Christian Hewitt ---- - configs/bananapi-m2s_defconfig | 82 ++++++++++++++++++++++++++++++++++ - 1 file changed, 82 insertions(+) - create mode 100644 configs/bananapi-m2s_defconfig - -diff --git a/configs/bananapi-m2s_defconfig b/configs/bananapi-m2s_defconfig -new file mode 100644 -index 0000000000..7a35ea623d ---- /dev/null -+++ b/configs/bananapi-m2s_defconfig -@@ -0,0 +1,82 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-bananapi-m2s" -+CONFIG_MESON_G12A=y -+CONFIG_DEBUG_UART_BASE=0xff803000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" bpi-m2s" -+CONFIG_SYS_LOAD_ADDR=0x1000000 -+CONFIG_DEBUG_UART=y -+CONFIG_AHCI=y -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 -+CONFIG_REMAKE_ELF=y -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+CONFIG_SYS_MAXARGS=32 -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_PCI=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_ADC=y -+CONFIG_SARADC_MESON=y -+CONFIG_AHCI_PCI=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_MDIO=y -+CONFIG_DM_MDIO_MUX=y -+CONFIG_ETH_DESIGNWARE_MESON8B=y -+CONFIG_MDIO_MUX_MESON_G12A=y -+CONFIG_PCI=y -+CONFIG_PCIE_DW_MESON=y -+CONFIG_MESON_G12A_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_G12A=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_G12A=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0022-WIP-ARM-dts-add-support-for-BananaPi-M2S.patch b/projects/Amlogic/patches/u-boot/u-boot-0022-WIP-ARM-dts-add-support-for-BananaPi-M2S.patch deleted file mode 100644 index fe9a7d6e12..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0022-WIP-ARM-dts-add-support-for-BananaPi-M2S.patch +++ /dev/null @@ -1,651 +0,0 @@ -From 821819ff0d9185954b251d5fd197b5b67cdd08d3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 18 Feb 2023 07:59:25 +0000 -Subject: [PATCH 22/22] WIP: ARM: dts: add support for BananaPi M2S - -Import the device-tree from Linux 6.x - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 1 + - .../arm/dts/meson-g12b-a311d-bananapi-m2s.dts | 14 + - arch/arm/dts/meson-g12b-bananapi-u-boot.dtsi | 13 + - arch/arm/dts/meson-g12b-bananapi.dtsi | 551 ++++++++++++++++++ - .../arm/dts/meson-g12b-s922x-bananapi-m2s.dts | 14 + - 5 files changed, 593 insertions(+) - create mode 100644 arch/arm/dts/meson-g12b-a311d-bananapi-m2s.dts - create mode 100644 arch/arm/dts/meson-g12b-bananapi-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-g12b-bananapi.dtsi - create mode 100644 arch/arm/dts/meson-g12b-s922x-bananapi-m2s.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4e9fa81e18..788fec93a3 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -196,6 +196,7 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-g12a-radxa-zero.dtb \ - meson-g12a-sei510.dtb \ - meson-g12a-u200.dtb \ -+ meson-g12b-a311d-bananapi-m2s.dtb \ - meson-g12b-a311d-khadas-vim3.dtb \ - meson-g12b-gtking.dtb \ - meson-g12b-gtking-pro.dtb \ -diff --git a/arch/arm/dts/meson-g12b-a311d-bananapi-m2s.dts b/arch/arm/dts/meson-g12b-a311d-bananapi-m2s.dts -new file mode 100644 -index 0000000000..f6c950919b ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-a311d-bananapi-m2s.dts -@@ -0,0 +1,14 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-a311d.dtsi" -+#include "meson-g12b-bananapi.dtsi" -+ -+/ { -+ compatible = "bananapi,bpi-m2s", "amlogic,a311d", "amlogic,g12b"; -+ model = "BananaPi M2S"; -+}; -diff --git a/arch/arm/dts/meson-g12b-bananapi-u-boot.dtsi b/arch/arm/dts/meson-g12b-bananapi-u-boot.dtsi -new file mode 100644 -index 0000000000..a92f9e9ff1 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-bananapi-u-boot.dtsi -@@ -0,0 +1,13 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-g12-common-u-boot.dtsi" -+ -+/* SARADC is needed for proper board variant detection */ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -diff --git a/arch/arm/dts/meson-g12b-bananapi.dtsi b/arch/arm/dts/meson-g12b-bananapi.dtsi -new file mode 100644 -index 0000000000..3a9f36ad4e ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-bananapi.dtsi -@@ -0,0 +1,551 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Christian Hewitt -+ */ -+ -+#include -+#include -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ serial2 = &uart_A; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 2>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1800000>; -+ -+ button-function { -+ label = "RST"; -+ linux,code = ; -+ press-threshold-microvolt = <40000>; -+ }; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ fan0: pwm-fan { -+ compatible = "pwm-fan"; -+ #cooling-cells = <2>; -+ cooling-min-state = <0>; -+ cooling-max-state = <3>; -+ cooling-levels = <0 120 170 220>; -+ pwms = <&pwm_cd 1 40000 0>; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; -+ }; -+ -+ blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+ -+ dc_in: regulator-dc_in { -+ compatible = "regulator-fixed"; -+ regulator-name = "DC_IN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ -+ vcc_5v: regulator-vcc_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&dc_in>; -+ -+ gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ }; -+ -+ vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&vsys_3v3>; -+ regulator-always-on; -+ }; -+ -+ vcc_1v8: regulator-vcc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vcc_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddao_1v8: regulator-vddao_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vsys_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ compatible = "pwm-regulator"; -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <690000>; -+ regulator-max-microvolt = <1050000>; -+ pwm-supply = <&dc_in>; -+ pwms = <&pwm_ab 0 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddcpu_b: regulator-vddcpu-b { -+ compatible = "pwm-regulator"; -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <690000>; -+ regulator-max-microvolt = <1050000>; -+ pwm-supply = <&vsys_3v3>; -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vsys_3v3: regulator-vsys_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VSYS_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&dc_in>; -+ regulator-always-on; -+ }; -+ -+ emmc_1v8: regulator-emmc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "EMMC_AO1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vcc_3v3>; -+ regulator-always-on; -+ }; -+ -+ usb_pwr: regulator-usb_pwr { -+ compatible = "regulator-fixed"; -+ regulator-name = "USB_PWR"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc_5v>; -+ -+ gpio = <&gpio GPIOA_6 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "BPI-M2S"; -+ audio-aux-devs = <&tdmin_a>, <&tdmout_a>; -+ audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", -+ "TDMOUT_A IN 1", "FRDDR_B OUT 0", -+ "TDMOUT_A IN 2", "FRDDR_C OUT 0", -+ "TDM_A Playback", "TDMOUT_A OUT", -+ "TDMIN_A IN 0", "TDM_A Capture", -+ "TDMIN_A IN 3", "TDM_A Loopback", -+ "TODDR_A IN 0", "TDMIN_A OUT", -+ "TODDR_B IN 0", "TDMIN_A OUT", -+ "TODDR_C IN 0", "TDMIN_A OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&toddr_a>; -+ }; -+ -+ dai-link-4 { -+ sound-dai = <&toddr_b>; -+ }; -+ -+ dai-link-5 { -+ sound-dai = <&toddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-6 { -+ sound-dai = <&tdmif_a>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-7 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ status = "disabled"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu100 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu101 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu102 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu103 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+ðmac { -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ phy-mode = "rgmii"; -+ phy-handle = <&external_phy>; -+ amlogic,tx-delay-ns = <2>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&vcc_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&pcie { -+ status = "okay"; -+ reset-gpios = <&gpio GPIOA_8 GPIO_ACTIVE_LOW>; -+}; -+ -+&pwm_ab { -+ status = "okay"; -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+}; -+ -+&pwm_cd { -+ status = "okay"; -+ pinctrl-0 = <&pwm_d_x6_pins>; -+ pinctrl-names = "default"; -+ pwm-gpios = <&gpio GPIOAO_10 GPIO_ACTIVE_HIGH>; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -+ -+/* SDIO */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ sd-uhs-sdr104; -+ max-frequency = <50000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vsys_3v3>; -+ vqmmc-supply = <&vddao_1v8>; -+ -+ rtl8822cs: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&vsys_3v3>; -+ vqmmc-supply = <&vsys_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&emmc_1v8>; -+}; -+ -+&tdmif_a { -+ status = "okay"; -+}; -+ -+&tdmin_a { -+ status = "okay"; -+}; -+ -+&tdmout_a { -+ status = "okay"; -+}; -+ -+&toddr_a { -+ status = "okay"; -+}; -+ -+&toddr_b { -+ status = "okay"; -+}; -+ -+&toddr_c { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&uart_A { -+ status = "disabled"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "realtek,rtl8822cs-bt"; -+ enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; -+ device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ }; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb2_phy0 { -+ phy-supply = <&dc_in>; -+}; -+ -+&usb2_phy1 { -+ phy-supply = <&usb_pwr>; -+}; -+ -+&usb3_pcie_phy { -+ phy-supply = <&usb_pwr>; -+}; -+ -+&usb { -+ status = "okay"; -+ dr_mode = "peripheral"; -+ phys = <&usb2_phy0>, <&usb2_phy1>; -+ phy-names = "usb2-phy0", "usb2-phy1"; -+}; -diff --git a/arch/arm/dts/meson-g12b-s922x-bananapi-m2s.dts b/arch/arm/dts/meson-g12b-s922x-bananapi-m2s.dts -new file mode 100644 -index 0000000000..7f66f263a2 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-s922x-bananapi-m2s.dts -@@ -0,0 +1,14 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-s922x.dtsi" -+#include "meson-g12b-bananapi.dtsi" -+ -+/ { -+ compatible = "bananapi,bpi-m2s", "amlogic,s922x", "amlogic,g12b"; -+ model = "BananaPi M2S"; -+}; --- -2.34.1 -