diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 72d9a90ea9..ed18d665d3 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}" case "${LINUX}" in amlogic) - PKG_VERSION="7163dc197f14f1360506d97814fef17a51673293" # 6.1.36 - PKG_SHA256="18f6a5e57cb2ca021e500680784e757c9985a63f6301f2bea32ea5ebee8edaf0" + PKG_VERSION="8bbe7c640d76724e9cfd8aa130b8d36ad6db77a9" # 6.5.8 + PKG_SHA256="9d6f2b0bfd3571b7fe2cebe2537ea9cc627293e1c4c9c0b3e7cd0b15629e5f87" PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" PKG_PATCH_DIRS="default" diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch index 74ebd01acc..878e113364 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From c5478965aad09d2ebc682438e5474f7606e06eb2 Mon Sep 17 00:00:00 2001 +From 7ed334706ae8e3f5d84261523bc686e6093a1a47 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 13 Apr 2019 05:41:51 +0000 -Subject: [PATCH 001/120] LOCAL: set meson-gx cma pool to 896MB +Subject: [PATCH 01/43] LOCAL: set meson-gx cma pool to 896MB This change sets the CMA pool to a larger 896MB! value for vdec use @@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index 80d86780cb6b..7f20b90e11da 100644 +index 2673f0dbafe7..5f9b0854c201 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -58,7 +58,7 @@ secmon_reserved_bl32: secmon@5300000 { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-LOCAL-set-meson-g12-cma-pool-to-896MB.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-LOCAL-set-meson-g12-cma-pool-to-896MB.patch index e919d19953..5f0d23407f 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-LOCAL-set-meson-g12-cma-pool-to-896MB.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-LOCAL-set-meson-g12-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From f442bde4d5400279042a90b8af49e4631eac3133 Mon Sep 17 00:00:00 2001 +From 24c355f2c8dfec913313d2f0c9b53732c0c90476 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 14 Aug 2019 19:58:14 +0000 -Subject: [PATCH 002/120] LOCAL: set meson-g12 cma pool to 896MB +Subject: [PATCH 02/43] LOCAL: set meson-g12 cma pool to 896MB This change sets the CMA pool to a larger 896MB! value for vdec use @@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index 131a8a5a9f5a..d2b6fa8034ea 100644 +index 0c49655cc90c..73947bbb2c2c 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -116,7 +116,7 @@ secmon_reserved_bl32: secmon@5300000 { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-LOCAL-arm64-fix-Kodi-sysinfo-CPU-information.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-LOCAL-arm64-fix-Kodi-sysinfo-CPU-information.patch index b8437d85d4..3b78abcda4 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-LOCAL-arm64-fix-Kodi-sysinfo-CPU-information.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-LOCAL-arm64-fix-Kodi-sysinfo-CPU-information.patch @@ -1,7 +1,7 @@ -From 79decc6d434e12c4bb2fc6c88073ab210bc8c8cb Mon Sep 17 00:00:00 2001 +From 4a3f07cb10adfe827f26cc1d3e292711b2b9ec5b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 13 Apr 2019 05:45:18 +0000 -Subject: [PATCH 003/120] LOCAL: arm64: fix Kodi sysinfo CPU information +Subject: [PATCH 03/43] LOCAL: arm64: fix Kodi sysinfo CPU information This allows the CPU information to show in the Kodi sysinfo screen, e.g. @@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c -index 28d4f442b0bc..d46cea365be4 100644 +index 98fda8500535..945030a5caf6 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c -@@ -170,8 +170,7 @@ static int c_show(struct seq_file *m, void *v) +@@ -189,8 +189,7 @@ static int c_show(struct seq_file *m, void *v) * "processor". Give glibc what it expects. */ seq_printf(m, "processor\t: %d\n", i); diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-LOCAL-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-LOCAL-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch index da89855fd1..b676d120a9 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-LOCAL-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-LOCAL-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch @@ -1,7 +1,7 @@ -From 4430a4f8e570fc70b2053fc4970758bc0976fda9 Mon Sep 17 00:00:00 2001 +From 76ec846213989506d9db7f06a26c03c2f9d9b5c0 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:23 +0100 -Subject: [PATCH 004/120] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend +Subject: [PATCH 04/43] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend The Amlogic Meson GX SoCs uses a non-standard argument to the PSCI CPU_SUSPEND call to enter system suspend. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-LOCAL-arm64-dts-meson-add-support-for-GX-PM-and-Virt.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-LOCAL-arm64-dts-meson-add-support-for-GX-PM-and-Virt.patch index 3eade2ab65..aa53c5c5ec 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-LOCAL-arm64-dts-meson-add-support-for-GX-PM-and-Virt.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-LOCAL-arm64-dts-meson-add-support-for-GX-PM-and-Virt.patch @@ -1,7 +1,7 @@ -From dbe7af745c89a0824b90c8f0dcf9bb4cc0f48d4c Mon Sep 17 00:00:00 2001 +From 7742f613c3849735639dad015eed16a067a21ee5 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:25 +0100 -Subject: [PATCH 005/120] LOCAL: arm64: dts: meson: add support for GX PM and +Subject: [PATCH 05/43] LOCAL: arm64: dts: meson: add support for GX PM and Virtual RTC Signed-off-by: Neil Armstrong @@ -10,10 +10,10 @@ Signed-off-by: Neil Armstrong 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index 7f20b90e11da..f39de6ead2fb 100644 +index 5f9b0854c201..b702a7f7bcf5 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -221,6 +221,10 @@ sm: secure-monitor { +@@ -223,6 +223,10 @@ sm: secure-monitor { }; }; @@ -24,7 +24,7 @@ index 7f20b90e11da..f39de6ead2fb 100644 efuse: efuse { compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse"; #address-cells = <1>; -@@ -459,6 +463,11 @@ clkc_AO: clock-controller { +@@ -461,6 +465,11 @@ clkc_AO: clock-controller { }; }; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch index 91295503bf..cace00dea5 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch @@ -1,7 +1,7 @@ -From 08655d3530269d8c17410a6dc3fde69e9c23fe2f Mon Sep 17 00:00:00 2001 +From 5e26cbef52883c53b10c4ef593781e4ee3e384ee Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 21 Jan 2021 01:35:36 +0000 -Subject: [PATCH 006/120] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to +Subject: [PATCH 06/43] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Khadas VIM Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index 6ab1cc125b96..24af15e18026 100644 +index 02f81839d4e3..2f88f78de5b7 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -29,6 +29,8 @@ button-function { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch index f0717cab55..7a16ec76c4 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patch @@ -1,7 +1,7 @@ -From 35731fd9e4a198dbd96911828de0270f7f7fcfe9 Mon Sep 17 00:00:00 2001 +From fd1e2fb37e52b336d0a1de845a5b929b7f6a63ee Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 6 Nov 2021 13:01:08 +0000 -Subject: [PATCH 007/120] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to +Subject: [PATCH 07/43] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Khadas VIM2 Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index f43c45daf7eb..6d396c1be3d6 100644 +index 74897a154891..be3e91bbfb2f 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -18,6 +18,8 @@ / { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch index 1a1eab50af..8a81107b26 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch @@ -1,8 +1,8 @@ -From 54396343f2c349acae2c8c31fd07719f3f71577f Mon Sep 17 00:00:00 2001 +From c51b7f87b994f233b47509194cb86b6b35b9a6e3 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 1 Feb 2021 19:27:40 +0000 -Subject: [PATCH 008/120] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to - Minix NEO U9-H +Subject: [PATCH 08/43] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix + NEO U9-H Add node aliases to prevent meson-vrtc from claiming /dev/rtc0 @@ -12,7 +12,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts -index b8ef3bd8b840..0920e7b096f5 100644 +index 1703da3235ea..b929682805dd 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts @@ -14,6 +14,11 @@ / { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch index 48beb80f41..90ddef2cfd 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch @@ -1,8 +1,8 @@ -From 6f81de193a1d33648341c8d3a702a070dc71c133 Mon Sep 17 00:00:00 2001 +From 06cadd3f5f4fc0698c32fe8f3dde6e9d26f6ac7e Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Sun, 17 Apr 2022 04:37:48 +0000 -Subject: [PATCH 009/120] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 - kctls to device 0 +Subject: [PATCH 09/43] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls + to device 0 On SoC sound devices utilizing codec2codec DAI links with a HDMI codec the kctls for chmap, ELD, IEC958 are currently created using the @@ -25,10 +25,10 @@ Signed-off-by: Anssi Hannula 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c -index 8b6aeb8a78f7..eee05d447dec 100644 +index 9c121a921b04..1df845a9d0f5 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c -@@ -2514,7 +2514,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, +@@ -2540,7 +2540,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, knew.name = "Playback Channel Map"; else knew.name = "Capture Channel Map"; @@ -41,10 +41,10 @@ index 8b6aeb8a78f7..eee05d447dec 100644 knew.private_value = private_value; info->kctl = snd_ctl_new1(&knew, info); diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c -index 0b1cdb2d6049..bbc33161bcca 100644 +index d661bc9255f9..51a2dba502f3 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c -@@ -793,7 +793,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, +@@ -819,7 +819,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, if (!kctl) return -ENOMEM; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-LOCAL-usb-hub-disable-autosuspend-for-Genesys-Logic-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-LOCAL-usb-hub-disable-autosuspend-for-Genesys-Logic-.patch index f57591283e..16c29c5a31 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-LOCAL-usb-hub-disable-autosuspend-for-Genesys-Logic-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-LOCAL-usb-hub-disable-autosuspend-for-Genesys-Logic-.patch @@ -1,8 +1,8 @@ -From 6101cde6d49a5d6c4ed4535131dbce78f3523eb9 Mon Sep 17 00:00:00 2001 +From d7d4030a59fa2bc12d489e923fdf48dc99dd7c55 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 3 Jan 2022 10:44:17 +0000 -Subject: [PATCH 010/120] LOCAL: usb: hub: disable autosuspend for Genesys - Logic Hubs +Subject: [PATCH 10/43] LOCAL: usb: hub: disable autosuspend for Genesys Logic + Hubs Disable autosuspend in Genesys Logic hubs to allow USB devices on the Odroid C2 board to be used. The alternative to this patch is setting @@ -17,10 +17,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1abe43ddb75f..7889811e5516 100644 +index f2c561ae4bfe..da29cbd06cb0 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5799,7 +5799,7 @@ static const struct usb_device_id hub_id_table[] = { +@@ -5945,7 +5945,7 @@ static const struct usb_device_id hub_id_table[] = { | USB_DEVICE_ID_MATCH_INT_CLASS, .idVendor = USB_VENDOR_GENESYS_LOGIC, .bInterfaceClass = USB_CLASS_HUB, diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-bananapi-sw.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-bananapi-sw.patch new file mode 100644 index 0000000000..c993474fa3 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-bananapi-sw.patch @@ -0,0 +1,35 @@ +From b48494ce7c123893cf20ff9a4b113dd2a2765526 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Tue, 25 Jul 2023 16:27:03 +0200 +Subject: [PATCH 11/43] FROMGIT(6.6): arm64: dts: amlogic: meson-g12b-bananapi: + switch to enable-gpios + +The recommended name for enable GPIOs property in regulator-gpio is +enable-gpios. This is also required by bindings: + + meson-g12b-bananapi-cm4-cm4io.dtb: regulator-vddio-c: Unevaluated properties are not allowed ('enable-gpio' was unexpected) + +Signed-off-by: Krzysztof Kozlowski +Reviewed-by: Neil Armstrong +Link: https://lore.kernel.org/r/20230725142703.157547-1-krzysztof.kozlowski@linaro.org +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi +index 97e522921b06..86adc1423385 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi +@@ -56,7 +56,7 @@ vddio_c: regulator-vddio-c { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + +- enable-gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; ++ enable-gpios = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; + enable-active-high; + regulator-always-on; + +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-LOCAL-of-partial-revert-of-fdt.c-changes.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-LOCAL-of-partial-revert-of-fdt.c-changes.patch deleted file mode 100644 index b046c64bd3..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-LOCAL-of-partial-revert-of-fdt.c-changes.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 012c3d681e1370c701cc666027871817bfc0ec6d Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Wed, 15 Sep 2021 05:00:45 +0000 -Subject: [PATCH 011/120] LOCAL: of: partial revert of fdt.c changes - -This resolves reports similar to the below which are present in dmesg -since Linux 5.10; which are also causing crashes in some distros: - -[ 0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'secmon@5000000': base 0x0000000005000000, size 3 MiB - -Signed-off-by: Christian Hewitt ---- - drivers/of/fdt.c | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c -index d1a68b6d03b3..81508e8b34d2 100644 ---- a/drivers/of/fdt.c -+++ b/drivers/of/fdt.c -@@ -480,15 +480,6 @@ static int __init early_init_dt_reserve_memory(phys_addr_t base, - phys_addr_t size, bool nomap) - { - if (nomap) { -- /* -- * If the memory is already reserved (by another region), we -- * should not allow it to be marked nomap, but don't worry -- * if the region isn't memory as it won't be mapped. -- */ -- if (memblock_overlaps_region(&memblock.memory, base, size) && -- memblock_is_region_reserved(base, size)) -- return -EBUSY; -- - return memblock_mark_nomap(base, size); - } - return memblock_reserve(base, size); --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-6.6-arm64-dts-amlogic-drop-redundant-status-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-6.6-arm64-dts-amlogic-drop-redundant-status-.patch new file mode 100644 index 0000000000..1ead6b4c07 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-6.6-arm64-dts-amlogic-drop-redundant-status-.patch @@ -0,0 +1,461 @@ +From 47e5a1fab175890d0fd23d93774a1cab527577c2 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Mon, 31 Jul 2023 11:36:15 +0200 +Subject: [PATCH 12/43] FROMGIT(6.6): arm64: dts: amlogic: drop redundant + status=okay in sound nodes + +status=okay is by default. + +Signed-off-by: Krzysztof Kozlowski +Reviewed-by: Neil Armstrong +Link: https://lore.kernel.org/r/20230731093615.148949-1-krzysztof.kozlowski@linaro.org +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-axg-s400.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi | 1 - + arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 -- + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 1 - + arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts | 1 - + arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts | 1 - + 34 files changed, 35 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts +index 359589d1dfa9..df16eead2c80 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts +@@ -280,7 +280,6 @@ sound { + assigned-clock-rates = <589824000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts +index cf0a9be83fc4..fcd7e1d8e16f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts +@@ -145,7 +145,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +index 4fb31c2ba31c..0ad0c2b7dfef 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +@@ -209,7 +209,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts +index b2bb94981838..8237aa1f05e9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts +@@ -166,7 +166,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts +index 1fa6e75abd21..bb73e10b5e74 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts +@@ -55,7 +55,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts +index afe375fa83ca..6eeedd54ab91 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts +@@ -56,7 +56,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts +index 5d96c1449050..3e826095e792 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts +@@ -45,7 +45,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +index 24d0442dffb2..802b0256f1cb 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -78,7 +78,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts +index 70919f40d597..e26f3e3258e1 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts +@@ -46,7 +46,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts +index 0c7892600d56..098a3af6d381 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts +@@ -40,7 +40,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +index 4e84ab87cc7d..5e7b9273b062 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +@@ -201,7 +201,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index dafc841f7c16..18f7b730289e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -137,8 +137,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; +- + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 7d94160f5802..1fd2e56e6b08 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -142,7 +142,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +index 63137ce3cb9d..4aab1ab705b4 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +@@ -149,7 +149,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index 01356437a077..e6d2de7c45a9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -184,7 +184,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +index 66daf3af34c3..e8303089bff6 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +@@ -116,7 +116,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts +index 58733017eda8..af9ea32a2876 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts +@@ -23,7 +23,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts +index 505ffcd8eb76..e1b74b174915 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts +@@ -56,7 +56,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +index 213a0705ebdc..a29b49f051ae 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +@@ -130,7 +130,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts +index ff906becd2ab..c0d6eb55100a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts +@@ -135,7 +135,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +index 2f88f78de5b7..dacbca73279c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +@@ -76,7 +76,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts +index 6c4e68e0e625..2825db91e462 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts +@@ -167,7 +167,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index 82bfabfbd39c..27093e6ac9e2 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -149,7 +149,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index be3e91bbfb2f..cee27e7222c8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -159,7 +159,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +index 236c0a144142..7d525bdb0e06 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +@@ -94,7 +94,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +index 50137aafab10..50d49aec41bd 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +@@ -109,7 +109,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi b/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +index c9705941e4ab..514a6dd4b124 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +@@ -189,7 +189,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts +index d1debccdc1c2..7991fafed05c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts +@@ -29,7 +29,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts +index c94f2870b78b..6e34fd80ed71 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts +@@ -29,7 +29,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts +index 0f6660e68e72..85d7e7110596 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts +@@ -29,7 +29,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi +index 2fce44939f45..cdb80e0a7718 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi +@@ -181,7 +181,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +index 9068a334ea57..cf4f78e6bd21 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +@@ -247,7 +247,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts +index 7e1a74046ba5..fda0630c235b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts +@@ -29,7 +29,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts +index cd93d798f2a3..9ea969255b4f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts +@@ -29,7 +29,6 @@ sound { + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +- status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-FIXES-drm-meson-meson_venc-Relax-the-support.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-FIXES-drm-meson-meson_venc-Relax-the-support.patch deleted file mode 100644 index 6a8a2f3aac..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-FIXES-drm-meson-meson_venc-Relax-the-support.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8f94ff5bdfe66ddbaafd35beb20b77fd3a1790f8 Mon Sep 17 00:00:00 2001 -From: Carlo Caione -Date: Mon, 13 Feb 2023 10:32:09 +0100 -Subject: [PATCH 012/120] FROMGIT(FIXES): drm/meson/meson_venc: Relax the - supported mode checks - -Relax a bit the supported modes list by including also 480x1920 and -400x1280. This was actually tested on real hardware and it works -correctly. - -Signed-off-by: Carlo Caione ---- - drivers/gpu/drm/meson/meson_venc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c -index 3c55ed003359..fcd532db19c1 100644 ---- a/drivers/gpu/drm/meson/meson_venc.c -+++ b/drivers/gpu/drm/meson/meson_venc.c -@@ -866,10 +866,10 @@ meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) - DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC)) - return MODE_BAD; - -- if (mode->hdisplay < 640 || mode->hdisplay > 1920) -+ if (mode->hdisplay < 400 || mode->hdisplay > 1920) - return MODE_BAD_HVALUE; - -- if (mode->vdisplay < 480 || mode->vdisplay > 1200) -+ if (mode->vdisplay < 480 || mode->vdisplay > 1920) - return MODE_BAD_VVALUE; - - return MODE_OK; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-odroid-n2-f.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-odroid-n2-f.patch new file mode 100644 index 0000000000..b93d8482cd --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-6.6-arm64-dts-amlogic-meson-g12b-odroid-n2-f.patch @@ -0,0 +1,31 @@ +From 2ae5f353e77d31ebfa781130be1e93a753071fb2 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Thu, 6 Jul 2023 10:00:19 +0200 +Subject: [PATCH 13/43] FROMGIT(6.6): arm64: dts: amlogic: + meson-g12b-odroid-n2: fix usb hub hog name + +This fixes the following dtschema check error: +arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dtb: pinctrl@40: bank@40: Unevaluated properties are not allowed ('hog-0' was unexpected) + +Link: https://lore.kernel.org/r/20230706-topic-amlogic-upstream-dt-fixes-take3-v1-1-63ed070eeab2@linaro.org +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +index 802b0256f1cb..08fde513bac9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -240,7 +240,7 @@ &gpio { + * This signal should be handled by a USB specific power sequence + * in order to reset the Hub when USB bus is powered down. + */ +- hog-0 { ++ usb-hub-hog { + gpio-hog; + gpios = ; + output-high; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.2-Revert-arm64-dts-meson-sm1-odroid-hc4-di.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.2-Revert-arm64-dts-meson-sm1-odroid-hc4-di.patch deleted file mode 100644 index d9742dba27..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.2-Revert-arm64-dts-meson-sm1-odroid-hc4-di.patch +++ /dev/null @@ -1,38 +0,0 @@ -From df013bc124b5814849cf5d4d97027432752d976d Mon Sep 17 00:00:00 2001 -From: Pierre-Olivier Mercier -Date: Wed, 4 Jan 2023 15:19:06 +0000 -Subject: [PATCH 014/120] FROMGIT(6.2): Revert "arm64: dts: - meson-sm1-odroid-hc4: disable unused USB PHY0" - -This reverts commit 703e84d6615a4a95fb504c8f2e4c9426b86f3930. - -USB device enumeration was not working on Odroid HC4 as both USB2 PHYs -need to be enabled. This is inherited from the GLX USB design [0]. - -[0]: https://lore.kernel.org/all/20170814224542.18257-1-martin.blumenstingl@googlemail.com/T/ -Link: https://lore.kernel.org/all/Y6okoXpwF%2FLZewhv@nemunai.re/ -Signed-off-by: Pierre-Olivier Mercier ---- - arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts -index 3d642d739c35..74088e7280fe 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts -@@ -139,10 +139,6 @@ flash@0 { - }; - - &usb { -- phys = <&usb2_phy1>; -- phy-names = "usb2-phy1"; --}; -- --&usb2_phy0 { -- status = "disabled"; -+ phys = <&usb2_phy0>, <&usb2_phy1>; -+ phy-names = "usb2-phy0", "usb2-phy1"; - }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.6-arm64-dts-amlogic-meson-g12-common-chang.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.6-arm64-dts-amlogic-meson-g12-common-chang.patch new file mode 100644 index 0000000000..6d87c93db5 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-6.6-arm64-dts-amlogic-meson-g12-common-chang.patch @@ -0,0 +1,30 @@ +From 748a3e4d0c02e0ca21e205de1b6eeaf586aee511 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Thu, 6 Jul 2023 10:00:20 +0200 +Subject: [PATCH 14/43] FROMGIT(6.6): arm64: dts: amlogic: meson-g12-common: + change aobus-pinctrl node name + +Bindings expects name to be "pinctrl", fix it. + +Link: https://lore.kernel.org/r/20230706-topic-amlogic-upstream-dt-fixes-take3-v1-2-63ed070eeab2@linaro.org +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +index 73947bbb2c2c..d54fc71cbadf 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +@@ -1733,7 +1733,7 @@ clkc_AO: clock-controller { + clock-names = "xtal", "mpeg-clk"; + }; + +- ao_pinctrl: pinctrl@14 { ++ ao_pinctrl: pinctrl { + compatible = "amlogic,meson-g12a-aobus-pinctrl"; + #address-cells = <2>; + #size-cells = <2>; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.3-arm64-dts-meson-add-Broadcom-WiFi-to-P21.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.3-arm64-dts-meson-add-Broadcom-WiFi-to-P21.patch deleted file mode 100644 index 1093f79244..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.3-arm64-dts-meson-add-Broadcom-WiFi-to-P21.patch +++ /dev/null @@ -1,33 +0,0 @@ -From bc574310bb7aad62c46aeee3a7e590df1f5ae0e7 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 13 Jan 2022 03:50:01 +0000 -Subject: [PATCH 015/120] FROMGIT(6.3): arm64: dts: meson: add Broadcom WiFi to - P212 dtsi - -The P212 has a combined WiFi/BT module. The BT side is already enabled -in the dtsi but the WiFi side is not. Let's enable the WiFi module. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 05cb2f5e5c36..7055057d7942 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -@@ -125,6 +125,11 @@ &sd_emmc_a { - - vmmc-supply = <&vddao_3v3>; - vqmmc-supply = <&vddio_boot>; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; - }; - - /* SD card */ --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.6-arm64-dts-amlogic-drop-cooling-min-max-s.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.6-arm64-dts-amlogic-drop-cooling-min-max-s.patch new file mode 100644 index 0000000000..8ee5221a46 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-6.6-arm64-dts-amlogic-drop-cooling-min-max-s.patch @@ -0,0 +1,45 @@ +From 689b44b3b594719cf8e87486481140507e7fdd84 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Thu, 6 Jul 2023 10:00:21 +0200 +Subject: [PATCH 15/43] FROMGIT(6.6): arm64: dts: amlogic: drop + cooling-[min|max]-state from pwm-fan + +Drop the invalid cooling-min-state & cooling-max-state from the +pwm-fan node defined in the bananapi dtsi and odroid-hc4 DT. + +Link: https://lore.kernel.org/r/20230706-topic-amlogic-upstream-dt-fixes-take3-v1-3-63ed070eeab2@linaro.org +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi | 2 -- + arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi +index 83709787eb91..42f30112b56a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi +@@ -47,8 +47,6 @@ emmc_pwrseq: emmc-pwrseq { + 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>; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts +index 74088e7280fe..846a2d6c20e5 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts +@@ -19,8 +19,6 @@ aliases { + 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>; + }; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.3-arm64-dts-meson-move-pwm_ef-node-in-P212.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.3-arm64-dts-meson-move-pwm_ef-node-in-P212.patch deleted file mode 100644 index cd9b564713..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.3-arm64-dts-meson-move-pwm_ef-node-in-P212.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 127106564fbef4f111b65f556affddef25d73764 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 13 Jan 2022 03:56:12 +0000 -Subject: [PATCH 016/120] FROMGIT(6.3): arm64: dts: meson: move pwm_ef node in - P212 dtsi - -Cosmetic-only change to alpha-sort the pwm_ef node. - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 7055057d7942..a150cc0e18ff 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -@@ -97,6 +97,14 @@ &ir { - 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>; -@@ -170,14 +178,6 @@ &sd_emmc_c { - vqmmc-supply = <&vddio_boot>; - }; - --&pwm_ef { -- status = "okay"; -- pinctrl-0 = <&pwm_e_pins>; -- pinctrl-names = "default"; -- clocks = <&clkc CLKID_FCLK_DIV4>; -- clock-names = "clkin0"; --}; -- - /* This is connected to the Bluetooth module: */ - &uart_A { - status = "okay"; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.6-soc-amlogic-use-name-instead-of-index-as.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.6-soc-amlogic-use-name-instead-of-index-as.patch new file mode 100644 index 0000000000..4c2147bc27 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-6.6-soc-amlogic-use-name-instead-of-index-as.patch @@ -0,0 +1,34 @@ +From 7664c1312c44e7319e9d2e470a8dfbb4408a5979 Mon Sep 17 00:00:00 2001 +From: Xianwei Zhao +Date: Fri, 7 Jul 2023 08:37:07 +0800 +Subject: [PATCH 16/43] FROMGIT(6.6): soc: amlogic: use name instead of index + as criterion + +The variate 'index' could be equal to zero in some SoCs. Such as C3 SoC, +PWRC_C3_NNA_ID be defined zero. Use 'name' instead of 'index' as criterion. + +Signed-off-by: Xianwei Zhao +Reviewed-by: Neil Armstrong +Reviewed-by: Dmitry Rokosov +Link: https://lore.kernel.org/r/20230707003710.2667989-2-xianwei.zhao@amlogic.com +Signed-off-by: Neil Armstrong +--- + drivers/soc/amlogic/meson-secure-pwrc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/soc/amlogic/meson-secure-pwrc.c +index 25b4b71df9b8..c11d65a3e3d9 100644 +--- a/drivers/soc/amlogic/meson-secure-pwrc.c ++++ b/drivers/soc/amlogic/meson-secure-pwrc.c +@@ -179,7 +179,7 @@ static int meson_secure_pwrc_probe(struct platform_device *pdev) + for (i = 0 ; i < match->count ; ++i) { + struct meson_secure_pwrc_domain *dom = &pwrc->domains[i]; + +- if (!match->domains[i].index) ++ if (!match->domains[i].name) + continue; + + dom->pwrc = pwrc; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.3-arm64-dts-meson-remove-WiFi-BT-nodes-fro.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.3-arm64-dts-meson-remove-WiFi-BT-nodes-fro.patch deleted file mode 100644 index bd0fddd8d9..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.3-arm64-dts-meson-remove-WiFi-BT-nodes-fro.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0097b59b870692e148373b4fe171b227295d296b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 13 Jan 2022 03:58:58 +0000 -Subject: [PATCH 017/120] FROMGIT(6.3): arm64: dts: meson: remove WiFi/BT nodes - from Khadas VIM1 - -The Broadcom WiFi/BT SDIO nodes are now inherited from the P212 common dtsi -so we can remove them from the VIM1 board dts. - -Signed-off-by: Christian Hewitt ---- - .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 15 --------------- - 1 file changed, 15 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index 24af15e18026..5ed1e9313003 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -@@ -221,21 +221,6 @@ &pwm_ef { - - &sd_emmc_a { - max-frequency = <100000000>; -- -- brcmf: wifi@1 { -- reg = <1>; -- compatible = "brcm,bcm4329-fmac"; -- }; --}; -- --&uart_A { -- bluetooth { -- compatible = "brcm,bcm43438-bt"; -- shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -- max-speed = <2000000>; -- clocks = <&wifi32k>; -- clock-names = "lpo"; -- }; - }; - - /* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.6-soc-amlogic-Explicitly-include-correct-D.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.6-soc-amlogic-Explicitly-include-correct-D.patch new file mode 100644 index 0000000000..b3a9bde351 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-6.6-soc-amlogic-Explicitly-include-correct-D.patch @@ -0,0 +1,92 @@ +From 8762341551da23759d32abde5a78aa98c61cbac2 Mon Sep 17 00:00:00 2001 +From: Rob Herring +Date: Fri, 14 Jul 2023 11:51:23 -0600 +Subject: [PATCH 17/43] FROMGIT(6.6): soc: amlogic: Explicitly include correct + DT includes + +The DT of_device.h and of_platform.h date back to the separate +of_platform_bus_type before it as merged into the regular platform bus. +As part of that merge prepping Arm DT support 13 years ago, they +"temporarily" include each other. They also include platform_device.h +and of.h. As a result, there's a pretty much random mix of those include +files used throughout the tree. In order to detangle these headers and +replace the implicit includes with struct declarations, users need to +explicitly include the correct includes. + +Signed-off-by: Rob Herring +Reviewed-by: Neil Armstrong +Link: https://lore.kernel.org/r/20230714175124.4066972-1-robh@kernel.org +Signed-off-by: Neil Armstrong +--- + drivers/soc/amlogic/meson-canvas.c | 1 + + drivers/soc/amlogic/meson-ee-pwrc.c | 3 +-- + drivers/soc/amlogic/meson-gx-pwrc-vpu.c | 3 +-- + drivers/soc/amlogic/meson-secure-pwrc.c | 2 +- + 4 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/drivers/soc/amlogic/meson-canvas.c b/drivers/soc/amlogic/meson-canvas.c +index 383b0cfc584e..b6e06c4d2117 100644 +--- a/drivers/soc/amlogic/meson-canvas.c ++++ b/drivers/soc/amlogic/meson-canvas.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/drivers/soc/amlogic/meson-ee-pwrc.c b/drivers/soc/amlogic/meson-ee-pwrc.c +index f54acffc83f9..cfb796d40d9d 100644 +--- a/drivers/soc/amlogic/meson-ee-pwrc.c ++++ b/drivers/soc/amlogic/meson-ee-pwrc.c +@@ -4,13 +4,12 @@ + * Author: Neil Armstrong + */ + +-#include + #include + #include + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +index 5d4f12800d93..33df520eab95 100644 +--- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c ++++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +@@ -5,13 +5,12 @@ + * SPDX-License-Identifier: GPL-2.0+ + */ + +-#include + #include + #include + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/soc/amlogic/meson-secure-pwrc.c +index c11d65a3e3d9..9aa7b1a123e6 100644 +--- a/drivers/soc/amlogic/meson-secure-pwrc.c ++++ b/drivers/soc/amlogic/meson-secure-pwrc.c +@@ -7,7 +7,7 @@ + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + + #include +-#include ++#include + #include + #include + #include +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.3-arm64-dts-meson-add-audio-playback-to-S9.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.3-arm64-dts-meson-add-audio-playback-to-S9.patch deleted file mode 100644 index 6a18442973..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.3-arm64-dts-meson-add-audio-playback-to-S9.patch +++ /dev/null @@ -1,109 +0,0 @@ -From da97eaeea4e9583bee58cc05afc29462a7d42403 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 13 Jan 2022 04:30:44 +0000 -Subject: [PATCH 018/120] FROMGIT(6.3): arm64: dts: meson: add audio playback - to S905X-P212 dts - -Add support for the HDMI and Analogue i2s audio outputs. - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-gxl-s905x-p212.dts | 70 +++++++++++++++++++ - 1 file changed, 70 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -index 2602940c2077..c2bc7cec476d 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -@@ -7,11 +7,19 @@ - /dts-v1/; - - #include "meson-gxl-s905x-p212.dtsi" -+#include - - / { - compatible = "amlogic,p212", "amlogic,s905x", "amlogic,meson-gxl"; - model = "Amlogic Meson GXL (S905X) P212 Development Board"; - -+ dio2133: analog-amplifier { -+ compatible = "simple-audio-amplifier"; -+ sound-name-prefix = "AU2"; -+ VCC-supply = <&hdmi_5v>; -+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ }; -+ - cvbs-connector { - compatible = "composite-video-connector"; - -@@ -32,6 +40,68 @@ hdmi_connector_in: endpoint { - }; - }; - }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "S905X-P212"; -+ audio-aux-devs = <&dio2133>; -+ audio-widgets = "Line", "Lineout"; -+ audio-routing = "AU2 INL", "ACODEC LOLN", -+ "AU2 INR", "ACODEC LORN", -+ "Lineout", "AU2 OUTL", -+ "Lineout", "AU2 OUTR"; -+ 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>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddio_ao18>; -+ status = "okay"; -+}; -+ -+&aiu { -+ status = "okay"; - }; - - &cec_AO { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch similarity index 85% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch index abc4c8e28e..aee928300f 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch @@ -1,17 +1,18 @@ -From a44b679ac6004a5a9a3c28ed744e597df0c840b5 Mon Sep 17 00:00:00 2001 +From 8f7ceadbc56efe95ab3ae35668fa8a7c00550b7b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:56:15 +0000 -Subject: [PATCH 069/120] WIP: arm64: dts: meson: add audio playback to p200 +Subject: [PATCH 18/43] FROMGIT(6.7): arm64: dts: meson: add audio playback to + p200 Add initial support limited to HDMI i2s and SPDIF (LPCM). Signed-off-by: Christian Hewitt --- - .../boot/dts/amlogic/meson-gxbb-p200.dts | 61 +++++++++++++++++++ - 1 file changed, 61 insertions(+) + .../boot/dts/amlogic/meson-gxbb-p200.dts | 60 +++++++++++++++++++ + 1 file changed, 60 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts -index 3c93d1898b40..27b3ab20f070 100644 +index 3c93d1898b40..292c718ee19c 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts @@ -9,11 +9,19 @@ @@ -34,7 +35,7 @@ index 3c93d1898b40..27b3ab20f070 100644 avdd18_usb_adc: regulator-avdd18_usb_adc { compatible = "regulator-fixed"; regulator-name = "AVDD18_USB_ADC"; -@@ -57,6 +65,59 @@ button-menu { +@@ -57,6 +65,58 @@ button-menu { press-threshold-microvolt = <0>; /* 0% */ }; }; @@ -49,7 +50,6 @@ index 3c93d1898b40..27b3ab20f070 100644 + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; -+ status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.3-dt-bindings-reset-meson-g12a-Add-missing.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.3-dt-bindings-reset-meson-g12a-Add-missing.patch deleted file mode 100644 index 857e303195..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.3-dt-bindings-reset-meson-g12a-Add-missing.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6dafa687717b7d33cdecbc0494cca51f5b754251 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Wed, 30 Nov 2022 12:03:14 +0000 -Subject: [PATCH 019/120] FROMGIT(6.3): dt-bindings: reset: meson-g12a: Add - missing NNA reset - -Doesn't appear in the TRM I have, but it is used by the downstream -galcore driver. - -Signed-off-by: Tomeu Vizoso -Acked-by: Neil Armstrong -Acked-by: Philipp Zabel -Reviewed-by: Martin Blumenstingl ---- - include/dt-bindings/reset/amlogic,meson-g12a-reset.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/include/dt-bindings/reset/amlogic,meson-g12a-reset.h b/include/dt-bindings/reset/amlogic,meson-g12a-reset.h -index 6d487c5eba2c..45f6b8a951d0 100644 ---- a/include/dt-bindings/reset/amlogic,meson-g12a-reset.h -+++ b/include/dt-bindings/reset/amlogic,meson-g12a-reset.h -@@ -69,7 +69,9 @@ - #define RESET_PARSER_FETCH 72 - #define RESET_CTL 73 - #define RESET_PARSER_TOP 74 --/* 75-77 */ -+/* 75 */ -+#define RESET_NNA 76 -+/* 77 */ - #define RESET_DVALIN 78 - #define RESET_HDMITX 79 - /* 80-95 */ --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch similarity index 81% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch index 8bae5f8cde..0bd57fab75 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-p2.patch @@ -1,20 +1,21 @@ -From 8aadc1cc8f6f3ff75b071c935e2f885fd735ba81 Mon Sep 17 00:00:00 2001 +From 073f530305d96215ad32f58c4936269e4f84213a Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:52:47 +0000 -Subject: [PATCH 068/120] WIP: arm64: dts: meson: add audio playback to p201 +Subject: [PATCH 19/43] FROMGIT(6.7): arm64: dts: meson: add audio playback to + p201 Add initial audio support limited to HDMI i2s. Signed-off-by: Christian Hewitt --- - .../boot/dts/amlogic/meson-gxbb-p201.dts | 40 +++++++++++++++++++ - 1 file changed, 40 insertions(+) + .../boot/dts/amlogic/meson-gxbb-p201.dts | 39 +++++++++++++++++++ + 1 file changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts -index 150a82f3b2d7..22bd0070146b 100644 +index 150a82f3b2d7..6f81eed83bec 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts -@@ -8,10 +8,50 @@ +@@ -8,10 +8,49 @@ /dts-v1/; #include "meson-gxbb-p20x.dtsi" @@ -34,7 +35,6 @@ index 150a82f3b2d7..22bd0070146b 100644 + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; -+ status = "okay"; + + dai-link-0 { + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.3-dt-bindings-power-Add-G12A-NNA-power-dom.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.3-dt-bindings-power-Add-G12A-NNA-power-dom.patch deleted file mode 100644 index 130cd2918d..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.3-dt-bindings-power-Add-G12A-NNA-power-dom.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7327250ae9d136ee318b4f9d0537b965df324111 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Wed, 30 Nov 2022 12:04:02 +0000 -Subject: [PATCH 020/120] FROMGIT(6.3): dt-bindings: power: Add G12A NNA power - domain - -Add define for the NNA power domain for the NPU in the G12A. - -Signed-off-by: Tomeu Vizoso -Acked-by: Neil Armstrong -Reviewed-by: Martin Blumenstingl ---- - include/dt-bindings/power/meson-g12a-power.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/dt-bindings/power/meson-g12a-power.h b/include/dt-bindings/power/meson-g12a-power.h -index bb5e67a842de..93b03bdd60b7 100644 ---- a/include/dt-bindings/power/meson-g12a-power.h -+++ b/include/dt-bindings/power/meson-g12a-power.h -@@ -9,5 +9,6 @@ - - #define PWRC_G12A_VPU_ID 0 - #define PWRC_G12A_ETH_ID 1 -+#define PWRC_G12A_NNA_ID 2 - - #endif --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-u2.patch similarity index 88% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-u2.patch index 297bf71efb..1533c41716 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-6.7-arm64-dts-meson-add-audio-playback-to-u2.patch @@ -1,17 +1,18 @@ -From 76dfcdd0088bbc374551c52759be7223f8752074 Mon Sep 17 00:00:00 2001 +From 72f7b2729f6c1b8518aa3def2ba508cf605e7a73 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 17 May 2020 05:00:55 +0000 -Subject: [PATCH 070/120] WIP: arm64: dts: meson: add audio playback to u200 +Subject: [PATCH 20/43] FROMGIT(6.7): arm64: dts: meson: add audio playback to + u200 Add initial support limited to HDMI i2s and SPDIF (LPCM). Signed-off-by: Christian Hewitt --- - .../boot/dts/amlogic/meson-g12a-u200.dts | 130 ++++++++++++++++++ - 1 file changed, 130 insertions(+) + .../boot/dts/amlogic/meson-g12a-u200.dts | 129 ++++++++++++++++++ + 1 file changed, 129 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts -index 4b5d11e56364..61a85c27a463 100644 +index 4b5d11e56364..2878e3ad7de2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts @@ -8,6 +8,7 @@ @@ -36,7 +37,7 @@ index 4b5d11e56364..61a85c27a463 100644 chosen { stdout-path = "serial0:115200n8"; }; -@@ -147,6 +155,90 @@ vddcpu: regulator-vddcpu { +@@ -147,6 +155,89 @@ vddcpu: regulator-vddcpu { regulator-boot-on; regulator-always-on; }; @@ -60,7 +61,6 @@ index 4b5d11e56364..61a85c27a463 100644 + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; -+ status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; @@ -127,7 +127,7 @@ index 4b5d11e56364..61a85c27a463 100644 }; &cec_AO { -@@ -163,6 +255,10 @@ &cecb_AO { +@@ -163,6 +254,10 @@ &cecb_AO { hdmi-phandle = <&hdmi_tx>; }; @@ -138,7 +138,7 @@ index 4b5d11e56364..61a85c27a463 100644 &cpu0 { cpu-supply = <&vddcpu>; operating-points-v2 = <&cpu_opp_table>; -@@ -203,6 +299,18 @@ ðmac { +@@ -203,6 +298,18 @@ ðmac { phy-mode = "rmii"; }; @@ -157,7 +157,7 @@ index 4b5d11e56364..61a85c27a463 100644 &hdmi_tx { status = "okay"; pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -@@ -288,6 +396,28 @@ &sd_emmc_c { +@@ -288,6 +395,28 @@ &sd_emmc_c { vqmmc-supply = <&flash_1v8>; }; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.3-soc-amlogic-meson-pwrc-Add-NNA-power-dom.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.3-soc-amlogic-meson-pwrc-Add-NNA-power-dom.patch deleted file mode 100644 index a2eb049521..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.3-soc-amlogic-meson-pwrc-Add-NNA-power-dom.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 17a33be46d9bf9f977855c631a6303c99abd002e Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Wed, 30 Nov 2022 12:04:51 +0000 -Subject: [PATCH 021/120] FROMGIT(6.3): soc: amlogic: meson-pwrc: Add NNA power - domain for A311D - -Based on power initialization sequence in downstream driver. - -Signed-off-by: Tomeu Vizoso -Reviewed-by: Neil Armstrong -Reviewed-by: Martin Blumenstingl ---- - drivers/soc/amlogic/meson-ee-pwrc.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/drivers/soc/amlogic/meson-ee-pwrc.c b/drivers/soc/amlogic/meson-ee-pwrc.c -index dd5f2a13ceb5..dfbf0b1c7d29 100644 ---- a/drivers/soc/amlogic/meson-ee-pwrc.c -+++ b/drivers/soc/amlogic/meson-ee-pwrc.c -@@ -46,6 +46,9 @@ - #define HHI_NANOQ_MEM_PD_REG1 (0x47 << 2) - #define HHI_VPU_MEM_PD_REG2 (0x4d << 2) - -+#define G12A_HHI_NANOQ_MEM_PD_REG0 (0x43 << 2) -+#define G12A_HHI_NANOQ_MEM_PD_REG1 (0x44 << 2) -+ - struct meson_ee_pwrc; - struct meson_ee_pwrc_domain; - -@@ -106,6 +109,13 @@ static struct meson_ee_pwrc_top_domain sm1_pwrc_usb = SM1_EE_PD(17); - static struct meson_ee_pwrc_top_domain sm1_pwrc_pci = SM1_EE_PD(18); - static struct meson_ee_pwrc_top_domain sm1_pwrc_ge2d = SM1_EE_PD(19); - -+static struct meson_ee_pwrc_top_domain g12a_pwrc_nna = { \ -+ .sleep_reg = GX_AO_RTI_GEN_PWR_SLEEP0, \ -+ .sleep_mask = BIT(16) | BIT(17), \ -+ .iso_reg = GX_AO_RTI_GEN_PWR_ISO0, \ -+ .iso_mask = BIT(16) | BIT(17), \ -+ }; -+ - /* Memory PD Domains */ - - #define VPU_MEMPD(__reg) \ -@@ -217,6 +227,11 @@ static struct meson_ee_pwrc_mem_domain sm1_pwrc_mem_audio[] = { - { HHI_AUDIO_MEM_PD_REG0, GENMASK(27, 26) }, - }; - -+static struct meson_ee_pwrc_mem_domain g12a_pwrc_mem_nna[] = { -+ { G12A_HHI_NANOQ_MEM_PD_REG0, GENMASK(31, 0) }, -+ { G12A_HHI_NANOQ_MEM_PD_REG1, GENMASK(23, 0) }, -+}; -+ - #define VPU_PD(__name, __top_pd, __mem, __is_pwr_off, __resets, __clks) \ - { \ - .name = __name, \ -@@ -253,6 +268,8 @@ static struct meson_ee_pwrc_domain_desc g12a_pwrc_domains[] = { - [PWRC_G12A_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, g12a_pwrc_mem_vpu, - pwrc_ee_is_powered_off, 11, 2), - [PWRC_G12A_ETH_ID] = MEM_PD("ETH", meson_pwrc_mem_eth), -+ [PWRC_G12A_NNA_ID] = TOP_PD("NNA", &g12a_pwrc_nna, g12a_pwrc_mem_nna, -+ pwrc_ee_is_powered_off), - }; - - static struct meson_ee_pwrc_domain_desc gxbb_pwrc_domains[] = { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.7-arm64-dts-meson-u200-fix-spdif-output-pi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.7-arm64-dts-meson-u200-fix-spdif-output-pi.patch new file mode 100644 index 0000000000..00af63cecf --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-6.7-arm64-dts-meson-u200-fix-spdif-output-pi.patch @@ -0,0 +1,33 @@ +From a9342bba1ef3048b49e4ea26e0a4953e9464c7db Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 11 Sep 2023 17:45:37 +0200 +Subject: [PATCH 21/43] FROMGIT(6.7): arm64: dts: meson: u200: fix spdif output + pin + +u200 outputs spdif on GPIOAO_10, not GPIOH_4 which is used for the LCD +panel. + +Fixes: cfae4eadb7cd ("arm64: dts: meson: add audio playback to u200") +Signed-off-by: Jerome Brunet +Link: https://lore.kernel.org/r/20230911154541.471484-2-jbrunet@baylibre.com +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +index 2878e3ad7de2..8fa17a62534c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +@@ -396,7 +396,7 @@ &sd_emmc_c { + }; + + &spdifout { +- pinctrl-0 = <&spdif_out_h_pins>; ++ pinctrl-0 = <&spdif_ao_out_pins>; + pinctrl-names = "default"; + status = "okay"; + }; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.3-arm64-dts-Add-DT-node-for-the-VIPNano-QI.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.3-arm64-dts-Add-DT-node-for-the-VIPNano-QI.patch deleted file mode 100644 index 9b60cd58e9..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.3-arm64-dts-Add-DT-node-for-the-VIPNano-QI.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f34fad413355b9fb666b61cc9e8df7156bbbb7b6 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Wed, 30 Nov 2022 12:05:46 +0000 -Subject: [PATCH 022/120] FROMGIT(6.3): arm64: dts: Add DT node for the - VIPNano-QI on the A311D - -This "NPU" is very similar to the Vivante GPUs and Etnaviv works well -with it with just a few small changes. - -Signed-off-by: Tomeu Vizoso -Reviewed-by: Neil Armstrong ---- - arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 12 ++++++++++++ - .../dts/amlogic/meson-g12b-a311d-khadas-vim3.dts | 4 ++++ - 2 files changed, 16 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index d2b6fa8034ea..c90066823250 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - / { - interrupt-parent = <&gic>; -@@ -2484,4 +2485,15 @@ xtal: xtal-clk { - #clock-cells = <0>; - }; - -+ npu: npu@ff100000 { -+ status = "disabled"; -+ compatible = "vivante,gc"; -+ reg = <0x0 0xff100000 0x0 0x20000>; -+ interrupts = <0 147 4>; -+ clocks = <&clkc CLKID_NNA_CORE_CLK>, -+ <&clkc CLKID_NNA_AXI_CLK>; -+ clock-names = "core", "bus"; -+ resets = <&reset RESET_NNA>; -+ power-domains = <&pwrc PWRC_G12A_NNA_ID>; -+ }; - }; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts -index 124a80901084..73f3d87dcefd 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dts -@@ -15,6 +15,10 @@ / { - compatible = "khadas,vim3", "amlogic,a311d", "amlogic,g12b"; - }; - -+&npu { -+ status = "okay"; -+}; -+ - /* - * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential - * lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.7-arm64-dts-meson-u200-add-missing-audio-c.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.7-arm64-dts-meson-u200-add-missing-audio-c.patch new file mode 100644 index 0000000000..73cbeb2e9f --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-6.7-arm64-dts-meson-u200-add-missing-audio-c.patch @@ -0,0 +1,35 @@ +From 4d0ee6623fbd3433db6abd7aa3fd67796ca1c31e Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 11 Sep 2023 17:45:38 +0200 +Subject: [PATCH 22/43] FROMGIT(6.7): arm64: dts: meson: u200: add missing + audio clock controller + +The audio subsystem will not work if the audio clock controller is not +enabled. + +Fixes: cfae4eadb7cd ("arm64: dts: meson: add audio playback to u200") +Signed-off-by: Jerome Brunet +Link: https://lore.kernel.org/r/20230911154541.471484-3-jbrunet@baylibre.com +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +index 8fa17a62534c..2380d237d220 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +@@ -286,6 +286,10 @@ &cpu3 { + clock-latency = <50000>; + }; + ++&clkc_audio { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.3-drm-etnaviv-Add-nn_core_count-to-chip-fe.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.3-drm-etnaviv-Add-nn_core_count-to-chip-fe.patch deleted file mode 100644 index fdae267884..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.3-drm-etnaviv-Add-nn_core_count-to-chip-fe.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 32817c57b6cc75595d60ea68ccc0c7c767d46898 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Sat, 3 Dec 2022 06:01:47 +0000 -Subject: [PATCH 023/120] FROMGIT(6.3): drm/etnaviv: Add nn_core_count to chip - feature struct - -We will use these for differentiating between GPUs and NPUs, as the -downstream driver does. - -Signed-off-by: Tomeu Vizoso ---- - drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 3 +++ - drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 4 ++++ - 2 files changed, 7 insertions(+) - -diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h -index 85eddd492774..c8f3ad2031ce 100644 ---- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h -+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h -@@ -50,6 +50,9 @@ struct etnaviv_chip_identity { - /* Number of shader cores. */ - u32 shader_core_count; - -+ /* Number of Neural Network cores. */ -+ u32 nn_core_count; -+ - /* Size of the vertex cache. */ - u32 vertex_cache_size; - -diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -index f2fc645c7956..44df273a5aae 100644 ---- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -@@ -16,6 +16,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = { - .register_max = 64, - .thread_count = 128, - .shader_core_count = 1, -+ .nn_core_count = 0, - .vertex_cache_size = 8, - .vertex_output_buffer_size = 1024, - .pixel_pipes = 1, -@@ -47,6 +48,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = { - .register_max = 64, - .thread_count = 512, - .shader_core_count = 2, -+ .nn_core_count = 0, - .vertex_cache_size = 16, - .vertex_output_buffer_size = 1024, - .pixel_pipes = 1, -@@ -78,6 +80,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = { - .register_max = 64, - .thread_count = 512, - .shader_core_count = 2, -+ .nn_core_count = 0, - .vertex_cache_size = 16, - .vertex_output_buffer_size = 1024, - .pixel_pipes = 1, -@@ -109,6 +112,7 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = { - .register_max = 64, - .thread_count = 1024, - .shader_core_count = 4, -+ .nn_core_count = 0, - .vertex_cache_size = 16, - .vertex_output_buffer_size = 1024, - .pixel_pipes = 2, --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.7-arm64-dts-meson-u200-add-spdifout-b-rout.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.7-arm64-dts-meson-u200-add-spdifout-b-rout.patch new file mode 100644 index 0000000000..fb3d3666e9 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-6.7-arm64-dts-meson-u200-add-spdifout-b-rout.patch @@ -0,0 +1,38 @@ +From 46dbe836bcf858bc4c540822ea5441cbecb69e13 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 11 Sep 2023 17:45:39 +0200 +Subject: [PATCH 23/43] FROMGIT(6.7): arm64: dts: meson: u200: add spdifout b + routes + +spdifout B remains untested as it can only feed the HDMI controller, which +does not support spdif ATM. + +Still if the u200 has spdifout b, the routes to it should be set. + +Fixes: cfae4eadb7cd ("arm64: dts: meson: add audio playback to u200") +Signed-off-by: Jerome Brunet +Link: https://lore.kernel.org/r/20230911154541.471484-4-jbrunet@baylibre.com +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +index 2380d237d220..921b62c5ab33 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +@@ -166,7 +166,10 @@ sound { + "TDM_B Playback", "TDMOUT_B OUT", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "SPDIFOUT IN 1", "FRDDR_B OUT 3", +- "SPDIFOUT IN 2", "FRDDR_C OUT 3"; ++ "SPDIFOUT IN 2", "FRDDR_C OUT 3", ++ "SPDIFOUT_B IN 0", "FRDDR_A OUT 4", ++ "SPDIFOUT_B IN 1", "FRDDR_B OUT 4", ++ "SPDIFOUT_B IN 2", "FRDDR_C OUT 4"; + + assigned-clocks = <&clkc CLKID_MPLL2>, + <&clkc CLKID_MPLL0>, +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.3-drm-etnaviv-Warn-when-probing-on-NPUs.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.3-drm-etnaviv-Warn-when-probing-on-NPUs.patch deleted file mode 100644 index e7fb624bf3..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.3-drm-etnaviv-Warn-when-probing-on-NPUs.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b3155f8944de71787491aa1cedbf079939539de7 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Sat, 3 Dec 2022 06:02:31 +0000 -Subject: [PATCH 024/120] FROMGIT(6.3): drm/etnaviv: Warn when probing on NPUs - -Userspace is still not making full use of the hardware, so we don't know -yet if changes to the UAPI won't be needed. Warn about it. - -Signed-off-by: Tomeu Vizoso ---- - drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c -index f667e7906d1f..2fb70c73cf71 100644 ---- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c -+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c -@@ -772,6 +772,10 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu) - goto fail; - } - -+ if (gpu->identity.nn_core_count > 0) -+ dev_warn(gpu->dev, "etnaviv has been instantiated on a NPU, " -+ "for which the UAPI is still experimental\n"); -+ - /* Exclude VG cores with FE2.0 */ - if (gpu->identity.features & chipFeatures_PIPE_VG && - gpu->identity.features & chipFeatures_FE20) { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.7-arm64-dts-meson-u200-use-TDM-C-for-HDMI.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.7-arm64-dts-meson-u200-use-TDM-C-for-HDMI.patch new file mode 100644 index 0000000000..21bee4a80a --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-6.7-arm64-dts-meson-u200-use-TDM-C-for-HDMI.patch @@ -0,0 +1,77 @@ +From fb9192dbe6b129934ea723aa22692676152f366b Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 11 Sep 2023 17:45:40 +0200 +Subject: [PATCH 24/43] FROMGIT(6.7): arm64: dts: meson: u200: use TDM C for + HDMI + +On the u200, TDM B is wired to the onboard AD82584F i2c speaker codec. +This makes TDM B a poor choice for the interface dedicated to HDMI which +uses 4 i2s lanes. + +TDM A is not a good choice either as it is connected to the SDIO wifi/bt +chip. + +TDM C is not used externally by default, which makes it a better choice for +the HDMI interface. + +Signed-off-by: Jerome Brunet +Link: https://lore.kernel.org/r/20230911154541.471484-5-jbrunet@baylibre.com +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +index 921b62c5ab33..da66e2e1dffb 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +@@ -159,10 +159,10 @@ vddcpu: regulator-vddcpu { + sound { + compatible = "amlogic,axg-sound-card"; + model = "U200"; +- 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", ++ audio-aux-devs = <&tdmout_c>; ++ audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", ++ "TDMOUT_C IN 1", "FRDDR_B OUT 2", ++ "TDMOUT_C IN 2", "FRDDR_C OUT 2", + "TDM_B Playback", "TDMOUT_B OUT", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "SPDIFOUT IN 1", "FRDDR_B OUT 3", +@@ -193,7 +193,7 @@ dai-link-2 { + + /* 8ch hdmi interface */ + dai-link-3 { +- sound-dai = <&tdmif_b>; ++ sound-dai = <&tdmif_c>; + dai-format = "i2s"; + dai-tdm-slot-tx-mask-0 = <1 1>; + dai-tdm-slot-tx-mask-1 = <1 1>; +@@ -202,7 +202,7 @@ dai-link-3 { + mclk-fs = <256>; + + codec { +- sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; ++ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>; + }; + }; + +@@ -412,11 +412,11 @@ &spdifout_b { + status = "okay"; + }; + +-&tdmif_b { ++&tdmif_c { + status = "okay"; + }; + +-&tdmout_b { ++&tdmout_c { + status = "okay"; + }; + +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.3-drm-etnaviv-add-HWDB-entry-for-VIPNano-Q.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.3-drm-etnaviv-add-HWDB-entry-for-VIPNano-Q.patch deleted file mode 100644 index 88f127be8f..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.3-drm-etnaviv-add-HWDB-entry-for-VIPNano-Q.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 3e9c8855643486b4f793bd13fbfc759058524062 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Sat, 3 Dec 2022 06:03:16 +0000 -Subject: [PATCH 025/120] FROMGIT(6.3): drm/etnaviv: add HWDB entry for - VIPNano-QI.7120.0055 - -This is a compute-only module marketed towards AI and vision -acceleration. This particular version can be found on the Amlogic A311D -SoC. - -The feature bits are taken from the Khadas downstream kernel driver -6.4.4.3.310723AAA. - -Signed-off-by: Tomeu Vizoso ---- - drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 31 ++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -index 44df273a5aae..66b8ad6c7d26 100644 ---- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c -@@ -134,6 +134,37 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = { - .minor_features10 = 0x90044250, - .minor_features11 = 0x00000024, - }, -+ { -+ .model = 0x8000, -+ .revision = 0x7120, -+ .product_id = 0x45080009, -+ .customer_id = 0x88, -+ .eco_id = 0, -+ .stream_count = 8, -+ .register_max = 64, -+ .thread_count = 256, -+ .shader_core_count = 1, -+ .vertex_cache_size = 16, -+ .vertex_output_buffer_size = 1024, -+ .pixel_pipes = 1, -+ .instruction_count = 512, -+ .num_constants = 320, -+ .buffer_size = 0, -+ .varyings_count = 16, -+ .features = 0xe0287cac, -+ .minor_features0 = 0xc1799eff, -+ .minor_features1 = 0xfefbfadb, -+ .minor_features2 = 0xeb9d6fbf, -+ .minor_features3 = 0xedfffced, -+ .minor_features4 = 0xd30dafc7, -+ .minor_features5 = 0x7b5ac333, -+ .minor_features6 = 0xfc8ee200, -+ .minor_features7 = 0x03fffa6f, -+ .minor_features8 = 0x00fe0ef0, -+ .minor_features9 = 0x0088003c, -+ .minor_features10 = 0x108048c0, -+ .minor_features11 = 0x00000010, -+ }, - }; - - bool etnaviv_fill_identity_from_hwdb(struct etnaviv_gpu *gpu) --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.7-arm64-dts-meson-u200-add-onboard-devices.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.7-arm64-dts-meson-u200-add-onboard-devices.patch new file mode 100644 index 0000000000..fc587414a3 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-6.7-arm64-dts-meson-u200-add-onboard-devices.patch @@ -0,0 +1,356 @@ +From 89c446cddb72204357772318f37eb9ad1d31f833 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 11 Sep 2023 17:45:41 +0200 +Subject: [PATCH 25/43] FROMGIT(6.7): arm64: dts: meson: u200: add onboard + devices + +Add missing audio devices found on the u200 PCB. This includes +* Lineout connected to the internal DAC +* SPDIF input connected to a coaxial socket +* TDM input decoders allowing output loopback +* TDM A and B output encoders and interfaces + +TDM A and B link format is set by the related external codec. +Internal audio DAC can hook to any TDM output. + +This change does not include support necessary the optional the speaker and +PDM Mic headers + +Signed-off-by: Jerome Brunet +Link: https://lore.kernel.org/r/20230911154541.471484-6-jbrunet@baylibre.com +[narmstrong: fixed sound-dai-cells and removed default okay status] +Signed-off-by: Neil Armstrong +--- + .../boot/dts/amlogic/meson-g12a-u200.dts | 229 +++++++++++++++++- + 1 file changed, 217 insertions(+), 12 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +index da66e2e1dffb..7310e192efe7 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + / { + compatible = "amlogic,u200", "amlogic,g12a"; +@@ -19,10 +20,23 @@ aliases { + ethernet0 = ðmac; + }; + +- spdif_dit: audio-codec-1 { ++ dioo2133: audio-amplifier-0 { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; ++ VCC-supply = <&vcc_5v>; ++ #sound-dai-cells = <0>; ++ sound-name-prefix = "10U2"; ++ }; ++ ++ spdif_dir: audio-codec-0 { ++ compatible = "linux,spdif-dir"; + #sound-dai-cells = <0>; ++ sound-name-prefix = "DIR"; ++ }; ++ ++ spdif_dit: audio-codec-1 { + compatible = "linux,spdif-dit"; +- status = "okay"; ++ #sound-dai-cells = <0>; + sound-name-prefix = "DIT"; + }; + +@@ -159,17 +173,71 @@ vddcpu: regulator-vddcpu { + sound { + compatible = "amlogic,axg-sound-card"; + model = "U200"; +- audio-aux-devs = <&tdmout_c>; +- audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", ++ audio-widgets = "Line", "Lineout"; ++ audio-aux-devs = <&tdmout_a>, <&tdmout_b>, <&tdmout_c>, ++ <&tdmin_a>, <&tdmin_b>, <&tdmin_c>, ++ <&tdmin_lb>, <&dioo2133>; ++ 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", ++ "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", ++ "TDMOUT_C IN 0", "FRDDR_A OUT 2", + "TDMOUT_C IN 1", "FRDDR_B OUT 2", + "TDMOUT_C IN 2", "FRDDR_C OUT 2", +- "TDM_B Playback", "TDMOUT_B OUT", ++ "TDM_C Playback", "TDMOUT_C OUT", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "SPDIFOUT IN 1", "FRDDR_B OUT 3", + "SPDIFOUT IN 2", "FRDDR_C OUT 3", + "SPDIFOUT_B IN 0", "FRDDR_A OUT 4", + "SPDIFOUT_B IN 1", "FRDDR_B OUT 4", +- "SPDIFOUT_B IN 2", "FRDDR_C OUT 4"; ++ "SPDIFOUT_B IN 2", "FRDDR_C OUT 4", ++ "TDMIN_A IN 0", "TDM_A Capture", ++ "TDMIN_A IN 1", "TDM_B Capture", ++ "TDMIN_A IN 2", "TDM_C Capture", ++ "TDMIN_A IN 3", "TDM_A Loopback", ++ "TDMIN_A IN 4", "TDM_B Loopback", ++ "TDMIN_A IN 5", "TDM_C Loopback", ++ "TDMIN_B IN 0", "TDM_A Capture", ++ "TDMIN_B IN 1", "TDM_B Capture", ++ "TDMIN_B IN 2", "TDM_C Capture", ++ "TDMIN_B IN 3", "TDM_A Loopback", ++ "TDMIN_B IN 4", "TDM_B Loopback", ++ "TDMIN_B IN 5", "TDM_C Loopback", ++ "TDMIN_C IN 0", "TDM_A Capture", ++ "TDMIN_C IN 1", "TDM_B Capture", ++ "TDMIN_C IN 2", "TDM_C Capture", ++ "TDMIN_C IN 3", "TDM_A Loopback", ++ "TDMIN_C IN 4", "TDM_B Loopback", ++ "TDMIN_C IN 5", "TDM_C Loopback", ++ "TDMIN_LB IN 3", "TDM_A Capture", ++ "TDMIN_LB IN 4", "TDM_B Capture", ++ "TDMIN_LB IN 5", "TDM_C Capture", ++ "TDMIN_LB IN 0", "TDM_A Loopback", ++ "TDMIN_LB IN 1", "TDM_B Loopback", ++ "TDMIN_LB IN 2", "TDM_C Loopback", ++ "TODDR_A IN 0", "TDMIN_A OUT", ++ "TODDR_B IN 0", "TDMIN_A OUT", ++ "TODDR_C IN 0", "TDMIN_A OUT", ++ "TODDR_A IN 1", "TDMIN_B OUT", ++ "TODDR_B IN 1", "TDMIN_B OUT", ++ "TODDR_C IN 1", "TDMIN_B OUT", ++ "TODDR_A IN 2", "TDMIN_C OUT", ++ "TODDR_B IN 2", "TDMIN_C OUT", ++ "TODDR_C IN 2", "TDMIN_C OUT", ++ "TODDR_A IN 3", "SPDIFIN Capture", ++ "TODDR_B IN 3", "SPDIFIN Capture", ++ "TODDR_C IN 3", "SPDIFIN Capture", ++ "TODDR_A IN 6", "TDMIN_LB OUT", ++ "TODDR_B IN 6", "TDMIN_LB OUT", ++ "TODDR_C IN 6", "TDMIN_LB OUT", ++ "10U2 INL", "ACODEC LOLP", ++ "10U2 INR", "ACODEC LORP", ++ "Lineout", "10U2 OUTL", ++ "Lineout", "10U2 OUTR"; + + assigned-clocks = <&clkc CLKID_MPLL2>, + <&clkc CLKID_MPLL0>, +@@ -191,8 +259,52 @@ dai-link-2 { + sound-dai = <&frddr_c>; + }; + +- /* 8ch hdmi interface */ + dai-link-3 { ++ sound-dai = <&toddr_a>; ++ }; ++ ++ dai-link-4 { ++ sound-dai = <&toddr_b>; ++ }; ++ ++ dai-link-5 { ++ sound-dai = <&toddr_c>; ++ }; ++ ++ /* Connected to the WIFI/BT chip */ ++ dai-link-6 { ++ sound-dai = <&tdmif_a>; ++ dai-format = "dsp_a"; ++ dai-tdm-slot-tx-mask-0 = <1 1>; ++ mclk-fs = <256>; ++ ++ codec-0 { ++ sound-dai = <&toacodec TOACODEC_IN_A>; ++ }; ++ ++ codec-1 { ++ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; ++ }; ++ }; ++ ++ /* Connected to the onboard AD82584F DAC */ ++ dai-link-7 { ++ sound-dai = <&tdmif_b>; ++ dai-format = "i2s"; ++ dai-tdm-slot-tx-mask-0 = <1 1>; ++ mclk-fs = <256>; ++ ++ codec-0 { ++ sound-dai = <&toacodec TOACODEC_IN_B>; ++ }; ++ ++ codec-1 { ++ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; ++ }; ++ }; ++ ++ /* 8ch HDMI interface */ ++ dai-link-8 { + sound-dai = <&tdmif_c>; + dai-format = "i2s"; + dai-tdm-slot-tx-mask-0 = <1 1>; +@@ -201,13 +313,17 @@ dai-link-3 { + dai-tdm-slot-tx-mask-3 = <1 1>; + mclk-fs = <256>; + +- codec { ++ codec-0 { ++ sound-dai = <&toacodec TOACODEC_IN_C>; ++ }; ++ ++ codec-1 { + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>; + }; + }; + +- /* spdif hdmi or toslink interface */ +- dai-link-4 { ++ /* spdif hdmi and coax output */ ++ dai-link-9 { + sound-dai = <&spdifout>; + + codec-0 { +@@ -220,7 +336,7 @@ codec-1 { + }; + + /* spdif hdmi interface */ +- dai-link-5 { ++ dai-link-10 { + sound-dai = <&spdifout_b>; + + codec { +@@ -229,16 +345,38 @@ codec { + }; + + /* hdmi glue */ +- dai-link-6 { ++ dai-link-11 { + sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; + + codec { + sound-dai = <&hdmi_tx>; + }; + }; ++ ++ /* internal codec glue */ ++ dai-link-12 { ++ sound-dai = <&toacodec TOACODEC_OUT>; ++ ++ codec { ++ sound-dai = <&acodec>; ++ }; ++ }; ++ ++ /* spdif coax input */ ++ dai-link-13 { ++ sound-dai = <&spdifin>; ++ ++ codec { ++ sound-dai = <&spdif_dir>; ++ }; ++ }; + }; + }; + ++&acodec { ++ status = "okay"; ++}; ++ + &arb { + status = "okay"; + }; +@@ -402,6 +540,12 @@ &sd_emmc_c { + vqmmc-supply = <&flash_1v8>; + }; + ++&spdifin { ++ pinctrl-0 = <&spdif_in_h_pins>; ++ pinctrl-names = "default"; ++ status = "okay"; ++}; ++ + &spdifout { + pinctrl-0 = <&spdif_ao_out_pins>; + pinctrl-names = "default"; +@@ -412,14 +556,75 @@ &spdifout_b { + status = "okay"; + }; + ++&tdmif_a { ++ pinctrl-0 = <&tdm_a_fs_pins>, <&tdm_a_sclk_pins>, <&tdm_a_dout0_pins> ; ++ pinctrl-names = "default"; ++ status = "okay"; ++}; ++ ++&tdmif_b { ++ pinctrl-0 = <&mclk0_a_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, ++ <&tdm_b_dout0_pins>; ++ pinctrl-names = "default"; ++ status = "okay"; ++ ++ assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD0>, ++ <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>, ++ <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>; ++ assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_MCLK>, ++ <&clkc_audio AUD_CLKID_MST_B_SCLK>, ++ <&clkc_audio AUD_CLKID_MST_B_LRCLK>; ++ assigned-clock-rates = <0>, <0>, <0>; ++}; ++ + &tdmif_c { + status = "okay"; + }; + ++&tdmin_a { ++ status = "okay"; ++}; ++ ++&tdmin_b { ++ status = "okay"; ++}; ++ ++&tdmin_c { ++ status = "okay"; ++}; ++ ++&tdmin_lb { ++ status = "okay"; ++}; ++ ++&tdmout_a { ++ status = "okay"; ++}; ++ ++&tdmout_b { ++ status = "okay"; ++}; ++ + &tdmout_c { + status = "okay"; + }; + ++&toacodec { ++ status = "okay"; ++}; ++ ++&toddr_a { ++ status = "okay"; ++}; ++ ++&toddr_b { ++ status = "okay"; ++}; ++ ++&toddr_c { ++ status = "okay"; ++}; ++ + &tohdmitx { + status = "okay"; + }; +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-6.3-arm64-dts-Fix-NPU-power-domain-reference.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-6.3-arm64-dts-Fix-NPU-power-domain-reference.patch deleted file mode 100644 index e0a937863b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-6.3-arm64-dts-Fix-NPU-power-domain-reference.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2a3a6c002d0055ae280e94bdcff00088c60e56a6 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Sat, 3 Dec 2022 06:04:00 +0000 -Subject: [PATCH 026/120] FROMGIT(6.3): arm64: dts: Fix NPU power domain - references in Amlogic G12-based SoCs - -The power sequence is different between SoCs in that family, so get the -right bits for each one. - -Signed-off-by: Tomeu Vizoso ---- - arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 -- - arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 4 ++++ - arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 4 ++++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index c90066823250..bb2e86073261 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -11,7 +11,6 @@ - #include - #include - #include --#include - - / { - interrupt-parent = <&gic>; -@@ -2494,6 +2493,5 @@ npu: npu@ff100000 { - <&clkc CLKID_NNA_AXI_CLK>; - clock-names = "core", "bus"; - resets = <&reset RESET_NNA>; -- power-domains = <&pwrc PWRC_G12A_NNA_ID>; - }; - }; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -index ee8fcae9f9f0..886380b5a96f 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -@@ -139,3 +139,7 @@ map1 { - &mali { - dma-coherent; - }; -+ -+&npu { -+ power-domains = <&pwrc PWRC_G12A_NNA_ID>; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -index 80737731af3f..318a16aa4433 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -@@ -543,3 +543,7 @@ &vpu { - &usb { - power-domains = <&pwrc PWRC_SM1_USB_ID>; - }; -+ -+&npu { -+ power-domains = <&pwrc PWRC_SM1_NNA_ID>; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch similarity index 82% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch index 729ee90649..da45ebe49c 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch @@ -1,7 +1,7 @@ -From 022946dc830b928d2361e87501c7fca8505d6910 Mon Sep 17 00:00:00 2001 +From 1134f4b513a880a1bfcfc97fa5f8fddde514ca62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 20 Feb 2022 08:23:12 +0000 -Subject: [PATCH 051/120] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan +Subject: [PATCH 26/43] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan Micro Electronics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -17,10 +17,10 @@ Signed-off-by: Heiner Kallweit 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 6e323a380294..9570cc9e0e06 100644 +index af60bf1a6664..1d2d7aaa2663 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1303,6 +1303,8 @@ patternProperties: +@@ -1375,6 +1375,8 @@ patternProperties: description: Texas Instruments "^tianma,.*": description: Tianma Micro-electronics Co., Ltd. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMGIT-6.3-clk-meson-mpll-Switch-from-.round_rate-t.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMGIT-6.3-clk-meson-mpll-Switch-from-.round_rate-t.patch deleted file mode 100644 index 7a1dcc49e2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMGIT-6.3-clk-meson-mpll-Switch-from-.round_rate-t.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 3a1d65dcdcdd2201dacf97eb5394bec9f4677297 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 26 Dec 2022 04:41:46 +0000 -Subject: [PATCH 027/120] FROMGIT(6.3): clk: meson: mpll: Switch from - .round_rate to .determine_rate - -clk_ops.round_rate will be removed at some point. It's replacement is -.determine_rate. Switch clk-mpll over to use .determine_rate. - -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-mpll.c | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -diff --git a/drivers/clk/meson/clk-mpll.c b/drivers/clk/meson/clk-mpll.c -index fc9df4860872..20255e129b37 100644 ---- a/drivers/clk/meson/clk-mpll.c -+++ b/drivers/clk/meson/clk-mpll.c -@@ -87,16 +87,22 @@ static unsigned long mpll_recalc_rate(struct clk_hw *hw, - return rate < 0 ? 0 : rate; - } - --static long mpll_round_rate(struct clk_hw *hw, -- unsigned long rate, -- unsigned long *parent_rate) -+static int mpll_determine_rate(struct clk_hw *hw, struct clk_rate_request *req) - { - struct clk_regmap *clk = to_clk_regmap(hw); - struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk); - unsigned int sdm, n2; -+ long rate; -+ -+ params_from_rate(req->rate, req->best_parent_rate, &sdm, &n2, -+ mpll->flags); - -- params_from_rate(rate, *parent_rate, &sdm, &n2, mpll->flags); -- return rate_from_params(*parent_rate, sdm, n2); -+ rate = rate_from_params(req->best_parent_rate, sdm, n2); -+ if (rate < 0) -+ return rate; -+ -+ req->rate = rate; -+ return 0; - } - - static int mpll_set_rate(struct clk_hw *hw, -@@ -157,13 +163,13 @@ static int mpll_init(struct clk_hw *hw) - - const struct clk_ops meson_clk_mpll_ro_ops = { - .recalc_rate = mpll_recalc_rate, -- .round_rate = mpll_round_rate, -+ .determine_rate = mpll_determine_rate, - }; - EXPORT_SYMBOL_GPL(meson_clk_mpll_ro_ops); - - const struct clk_ops meson_clk_mpll_ops = { - .recalc_rate = mpll_recalc_rate, -- .round_rate = mpll_round_rate, -+ .determine_rate = mpll_determine_rate, - .set_rate = mpll_set_rate, - .init = mpll_init, - }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch index 8ffb8d24a7..e9701a5db3 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch @@ -1,8 +1,8 @@ -From 94060333363a0241442deb5b993655188901840d Mon Sep 17 00:00:00 2001 +From b7330b4386011cb37e93bdc2967f678abe0adb8b Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Sun, 20 Feb 2022 08:24:47 +0000 -Subject: [PATCH 052/120] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan - Micro Electronics TM1628 +Subject: [PATCH 27/43] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro + Electronics TM1628 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMGIT-6.3-clk-meson-dualdiv-switch-from-.round_rat.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMGIT-6.3-clk-meson-dualdiv-switch-from-.round_rat.patch deleted file mode 100644 index c12bebe505..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMGIT-6.3-clk-meson-dualdiv-switch-from-.round_rat.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 6239c914d58c0517ccc5f1386918da94c03c2508 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 26 Dec 2022 04:42:41 +0000 -Subject: [PATCH 028/120] FROMGIT(6.3): clk: meson: dualdiv: switch from - .round_rate to .determine_rate - -clk_ops.round_rate will be removed at some point. It's replacement is -.determine_rate. Switch clk-dualdiv over to use .determine_rate. - -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-dualdiv.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/drivers/clk/meson/clk-dualdiv.c b/drivers/clk/meson/clk-dualdiv.c -index c5ca23a5e3e8..feae49a8f6dc 100644 ---- a/drivers/clk/meson/clk-dualdiv.c -+++ b/drivers/clk/meson/clk-dualdiv.c -@@ -86,18 +86,23 @@ __dualdiv_get_setting(unsigned long rate, unsigned long parent_rate, - return (struct meson_clk_dualdiv_param *)&table[best_i]; - } - --static long meson_clk_dualdiv_round_rate(struct clk_hw *hw, unsigned long rate, -- unsigned long *parent_rate) -+static int meson_clk_dualdiv_determine_rate(struct clk_hw *hw, -+ struct clk_rate_request *req) - { - struct clk_regmap *clk = to_clk_regmap(hw); - struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk); -- const struct meson_clk_dualdiv_param *setting = -- __dualdiv_get_setting(rate, *parent_rate, dualdiv); -+ const struct meson_clk_dualdiv_param *setting; - -- if (!setting) -- return meson_clk_dualdiv_recalc_rate(hw, *parent_rate); -+ setting = __dualdiv_get_setting(req->rate, req->best_parent_rate, -+ dualdiv); -+ if (setting) -+ req->rate = __dualdiv_param_to_rate(req->best_parent_rate, -+ setting); -+ else -+ req->rate = meson_clk_dualdiv_recalc_rate(hw, -+ req->best_parent_rate); - -- return __dualdiv_param_to_rate(*parent_rate, setting); -+ return 0; - } - - static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -122,7 +127,7 @@ static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate, - - const struct clk_ops meson_clk_dualdiv_ops = { - .recalc_rate = meson_clk_dualdiv_recalc_rate, -- .round_rate = meson_clk_dualdiv_round_rate, -+ .determine_rate = meson_clk_dualdiv_determine_rate, - .set_rate = meson_clk_dualdiv_set_rate, - }; - EXPORT_SYMBOL_GPL(meson_clk_dualdiv_ops); --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch similarity index 88% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch index ac8922c5be..849f9ae885 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch @@ -1,7 +1,7 @@ -From a53c2bef9b9f389914eb410e73b02b5099266708 Mon Sep 17 00:00:00 2001 +From 9d4a3d9491b99c1696c8e1a75218b3bfc63e5150 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Sun, 20 Feb 2022 08:26:27 +0000 -Subject: [PATCH 053/120] FROMLIST(v5): docs: ABI: document tm1628 attribute +Subject: [PATCH 28/43] FROMLIST(v5): docs: ABI: document tm1628 attribute display-text Document the attribute for reading / writing the text to be displayed on diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMGIT-6.3-clk-meson-sclk-div-switch-from-.round_ra.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMGIT-6.3-clk-meson-sclk-div-switch-from-.round_ra.patch deleted file mode 100644 index eb9be382a1..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMGIT-6.3-clk-meson-sclk-div-switch-from-.round_ra.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 450b9f39897989b1f1f9c1efe5a07417d7ef04cf Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 26 Dec 2022 04:43:33 +0000 -Subject: [PATCH 029/120] FROMGIT(6.3): clk: meson: sclk-div: switch from - .round_rate to .determine_rate - -clk_ops.round_rate will be removed at some point. It's replacement is -.determine_rate. Switch sclk-div over to use .determine_rate. - -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/sclk-div.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/meson/sclk-div.c b/drivers/clk/meson/sclk-div.c -index 76d31c0a3342..d12c45c4c261 100644 ---- a/drivers/clk/meson/sclk-div.c -+++ b/drivers/clk/meson/sclk-div.c -@@ -96,16 +96,17 @@ static int sclk_div_bestdiv(struct clk_hw *hw, unsigned long rate, - return bestdiv; - } - --static long sclk_div_round_rate(struct clk_hw *hw, unsigned long rate, -- unsigned long *prate) -+static int sclk_div_determine_rate(struct clk_hw *hw, -+ struct clk_rate_request *req) - { - struct clk_regmap *clk = to_clk_regmap(hw); - struct meson_sclk_div_data *sclk = meson_sclk_div_data(clk); - int div; - -- div = sclk_div_bestdiv(hw, rate, prate, sclk); -+ div = sclk_div_bestdiv(hw, req->rate, &req->best_parent_rate, sclk); -+ req->rate = DIV_ROUND_UP_ULL((u64)req->best_parent_rate, div); - -- return DIV_ROUND_UP_ULL((u64)*prate, div); -+ return 0; - } - - static void sclk_apply_ratio(struct clk_regmap *clk, -@@ -237,7 +238,7 @@ static int sclk_div_init(struct clk_hw *hw) - - const struct clk_ops meson_sclk_div_ops = { - .recalc_rate = sclk_div_recalc_rate, -- .round_rate = sclk_div_round_rate, -+ .determine_rate = sclk_div_determine_rate, - .set_rate = sclk_div_set_rate, - .enable = sclk_div_enable, - .disable = sclk_div_disable, --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch similarity index 98% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch index 9cbc375b8c..ccf077f257 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch @@ -1,7 +1,7 @@ -From e64e545d0880e5617042ae8d28e60a455a689a78 Mon Sep 17 00:00:00 2001 +From 151a6cb7e6d4815cae5b01f791888124bd739771 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Mon, 4 Apr 2022 18:51:20 +0000 -Subject: [PATCH 054/120] FROMLIST(v5): auxdisplay: add support for Titanmec +Subject: [PATCH 29/43] FROMLIST(v5): auxdisplay: add support for Titanmec TM1628 7 segment display controller MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMGIT-6.3-clk-meson-clk-cpu-dyndiv-switch-from-.ro.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMGIT-6.3-clk-meson-clk-cpu-dyndiv-switch-from-.ro.patch deleted file mode 100644 index 00df92b688..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMGIT-6.3-clk-meson-clk-cpu-dyndiv-switch-from-.ro.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 900d5cb13f3c1b7ced0586497190be1ed96a4742 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Mon, 26 Dec 2022 04:44:26 +0000 -Subject: [PATCH 030/120] FROMGIT(6.3): clk: meson: clk-cpu-dyndiv: switch from - .round_rate to .determine_rate - -clk_ops.round_rate will be removed at some point. It's replacement is -.determine_rate. Switch clk-cpu-dyndiv over to use .determine_rate. - -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-cpu-dyndiv.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/meson/clk-cpu-dyndiv.c b/drivers/clk/meson/clk-cpu-dyndiv.c -index 36976927fe82..8778c149d26a 100644 ---- a/drivers/clk/meson/clk-cpu-dyndiv.c -+++ b/drivers/clk/meson/clk-cpu-dyndiv.c -@@ -27,14 +27,13 @@ static unsigned long meson_clk_cpu_dyndiv_recalc_rate(struct clk_hw *hw, - NULL, 0, data->div.width); - } - --static long meson_clk_cpu_dyndiv_round_rate(struct clk_hw *hw, -- unsigned long rate, -- unsigned long *prate) -+static int meson_clk_cpu_dyndiv_determine_rate(struct clk_hw *hw, -+ struct clk_rate_request *req) - { - struct clk_regmap *clk = to_clk_regmap(hw); - struct meson_clk_cpu_dyndiv_data *data = meson_clk_cpu_dyndiv_data(clk); - -- return divider_round_rate(hw, rate, prate, NULL, data->div.width, 0); -+ return divider_determine_rate(hw, req, NULL, data->div.width, 0); - } - - static int meson_clk_cpu_dyndiv_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -63,7 +62,7 @@ static int meson_clk_cpu_dyndiv_set_rate(struct clk_hw *hw, unsigned long rate, - - const struct clk_ops meson_clk_cpu_dyndiv_ops = { - .recalc_rate = meson_clk_cpu_dyndiv_recalc_rate, -- .round_rate = meson_clk_cpu_dyndiv_round_rate, -+ .determine_rate = meson_clk_cpu_dyndiv_determine_rate, - .set_rate = meson_clk_cpu_dyndiv_set_rate, - }; - EXPORT_SYMBOL_GPL(meson_clk_cpu_dyndiv_ops); --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch index f00d6cb89a..1d7bd2f092 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch @@ -1,8 +1,8 @@ -From 136c5d1f6275026217be5741df24816a3875e7a4 Mon Sep 17 00:00:00 2001 +From be7269a4d8a2c843a9454311c1f18217ce773e1a Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Mon, 4 Apr 2022 18:52:34 +0000 -Subject: [PATCH 055/120] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: - add support for the 7 segment display +Subject: [PATCH 30/43] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add + support for the 7 segment display This patch adds support for the 7 segment display of the device. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMGIT-6.3-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMGIT-6.3-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch deleted file mode 100644 index a17b89a83e..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMGIT-6.3-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6e28630c533846d7c79bb388a1cc1e13650e45b6 Mon Sep 17 00:00:00 2001 -From: David Heidelberg -Date: Sat, 27 Nov 2021 07:23:35 +0000 -Subject: [PATCH 031/120] FROMGIT(6.3): arm64: dts: meson: make dts use - gpio-fan matrix instead of array - -No functional changes. - -Adjust to comply with dt-schema requirements -and make possible to validate values. - -Signed-off-by: David Heidelberg -Acked-by: Martin Blumenstingl ---- - arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index 6d396c1be3d6..9b0c7e9d0620 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -@@ -54,10 +54,11 @@ gpio_fan: gpio-fan { - gpios = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH - &gpio GPIODV_15 GPIO_ACTIVE_HIGH>; - /* Dummy RPM values since fan is optional */ -- gpio-fan,speed-map = <0 0 -- 1 1 -- 2 2 -- 3 3>; -+ gpio-fan,speed-map = -+ <0 0>, -+ <1 1>, -+ <2 2>, -+ <3 3>; - #cooling-cells = <2>; - }; - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch similarity index 65% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch index 44cec1ff07..0ff2cabe71 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch @@ -1,7 +1,7 @@ -From fbc5936b6016a740768dcd2ac99be9691750e649 Mon Sep 17 00:00:00 2001 +From cf1fd062b0e594116df411cd040dbcf049aa9cc6 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Mon, 4 Apr 2022 18:53:32 +0000 -Subject: [PATCH 056/120] FROMLIST(v5): MAINTAINERS: Add entry for tm1628 +Subject: [PATCH 31/43] FROMLIST(v5): MAINTAINERS: Add entry for tm1628 auxdisplay driver Signed-off-by: Heiner Kallweit @@ -10,10 +10,10 @@ Signed-off-by: Heiner Kallweit 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS -index 350d7e3ba94f..93e294dc03c0 100644 +index 4cc6bf79fdd8..b61c8eb9024c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -20728,6 +20728,13 @@ W: http://sourceforge.net/projects/tlan/ +@@ -21491,6 +21491,13 @@ W: http://sourceforge.net/projects/tlan/ F: Documentation/networking/device_drivers/ethernet/ti/tlan.rst F: drivers/net/ethernet/ti/tlan.* @@ -24,9 +24,9 @@ index 350d7e3ba94f..93e294dc03c0 100644 +F: Documentation/ABI/testing/sysfs-devices-auxdisplay-tm1628 +F: drivers/auxdisplay/tm1628.c + - TM6000 VIDEO4LINUX DRIVER - M: Mauro Carvalho Chehab - L: linux-media@vger.kernel.org + TMIO/SDHI MMC DRIVER + M: Wolfram Sang + L: linux-mmc@vger.kernel.org -- 2.34.1 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patch deleted file mode 100644 index 7ca713a61e..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patch +++ /dev/null @@ -1,941 +0,0 @@ -From 67e3334c533941ed976a3d6390c4553a0a4bf660 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 25 Jan 2023 08:10:48 +0000 -Subject: [PATCH 032/120] FROMGIT(6.3): arm64: dts: meson: - meson-sm1-bananapi-m5: convert to dtsi - -Convert the BPI-M5 dts into meson-sm1-bananapi.dtsi to support the -addition of new boards based on the same design. - -Signed-off-by: Christian Hewitt ---- - .../dts/amlogic/meson-sm1-bananapi-m5.dts | 427 +---------------- - .../boot/dts/amlogic/meson-sm1-bananapi.dtsi | 435 ++++++++++++++++++ - 2 files changed, 436 insertions(+), 426 deletions(-) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts -index 38ebe98ba9c6..34b3238ee0a0 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts -+++ b/arch/arm64/boot/dts/amlogic/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>; -- -- button-sw3 { -- 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 @@ cvbs_connector_in: endpoint { - }; - }; - -- 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_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; -- }; -- - sound { - compatible = "amlogic,axg-sound-card"; - model = "BPI-M5"; -@@ -319,68 +150,17 @@ &acodec { - 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,192 +173,6 @@ &frddr_c { - 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"; - }; -@@ -626,22 +220,3 @@ &toddr_b { - &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/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi -new file mode 100644 -index 000000000000..c914f1148185 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/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/devices/AMLGX/patches/linux/amlogic-0057-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch index 6162c22d72..5386c7cd4a 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patch @@ -1,7 +1,7 @@ -From fdcff6282a2fcb2afb2751c33f22ea245002b068 Mon Sep 17 00:00:00 2001 +From 130f5d2805eaa0c9970203e39942a07e69e2ee07 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 23 Dec 2018 02:24:38 +0100 -Subject: [PATCH 057/120] FROMLIST(v1): ASoC: hdmi-codec: reorder channel +Subject: [PATCH 32/43] FROMLIST(v1): ASoC: hdmi-codec: reorder channel allocation list Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx(). @@ -25,7 +25,7 @@ Signed-off-by: Jonas Karlman 1 file changed, 77 insertions(+), 63 deletions(-) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c -index bbc33161bcca..7a5c26208149 100644 +index 51a2dba502f3..d165ec6a1469 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -184,84 +184,97 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch deleted file mode 100644 index e93629e142..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 654df5af5a8feddbb6407c100061a1412a5f8238 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 25 Jan 2023 09:28:27 +0000 -Subject: [PATCH 033/120] FROMGIT(6.3): dt-bindings: arm: amlogic: add support - for BananaPi M2-Pro - -BPI-M2-PRO is based upon the BPI-M5 using the Amlogic SM1 (S905X3) chipset. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 9fda2436c618..d63f6b899f25 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -175,6 +175,7 @@ properties: - - enum: - - amediatech,x96-air - - amediatech,x96-air-gbit -+ - bananapi,bpi-m2-pro - - bananapi,bpi-m5 - - cyx,a95xf3-air - - cyx,a95xf3-air-gbit --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch index ec0760fd70..90f428f212 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patch @@ -1,7 +1,7 @@ -From 89e62d3e8515a1f51b415b255b7200bdf8f1209d Mon Sep 17 00:00:00 2001 +From 8ababb71c85795505e6c1d879867c6b2c104fd7b Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 22 Nov 2021 09:15:21 +0000 -Subject: [PATCH 058/120] FROMLIST(v1): media: meson: vdec: esparser: check +Subject: [PATCH 33/43] FROMLIST(v1): media: meson: vdec: esparser: check parsing state with hardware write pointer Also check the hardware write pointer to check if ES Parser has stalled. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patch deleted file mode 100644 index 57cbcec449..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 2c38c04f66a209ef843a74c47d5ad55049a45fee Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 25 Jan 2023 08:13:28 +0000 -Subject: [PATCH 034/120] FROMGIT(6.3): arm64: dts: meson: add support for - BananaPi M2-Pro - -BPI-M2-PRO is based upon the BPI-M5 design except for a different -physical board layout and the following changes: - -- USB 3.0 ports reduced from 4x to 2x -- 3.5mm Combined CVBS/Audio Jack removed -- RTL8821BU WiFi/BT module (internal USB connected) - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-sm1-bananapi-m2-pro.dts | 98 +++++++++++++++++++ - 2 files changed, 99 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index e213aeebb774..5e5433718c6e 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-gbit.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m2-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-h96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts -new file mode 100644 -index 000000000000..4890d5d9a4f7 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/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/devices/AMLGX/patches/linux/amlogic-0059-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch similarity index 98% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch index be628e9038..7189702d01 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patch @@ -1,7 +1,7 @@ -From 88671c6347d92c258d84e6448d2f0590ed8766d4 Mon Sep 17 00:00:00 2001 +From ba5f1cc660cc77359935f1e0d8ecb8a74b3016bc Mon Sep 17 00:00:00 2001 From: Benjamin Roszak Date: Mon, 23 Jan 2023 10:56:46 +0000 -Subject: [PATCH 059/120] FROMLIST(v2): media: meson: vdec: implement 10bit +Subject: [PATCH 34/43] FROMLIST(v2): media: meson: vdec: implement 10bit bitstream handling In order to support 10bit bitstream decoding, buffers and MMU @@ -349,7 +349,7 @@ index cf072b8a9da2..13f9f1d90a94 100644 #endif diff --git a/drivers/staging/media/meson/vdec/codec_vp9.c b/drivers/staging/media/meson/vdec/codec_vp9.c -index 897f5d7a6aad..33b758cded77 100644 +index 394df5761556..8e3bbf0db4b3 100644 --- a/drivers/staging/media/meson/vdec/codec_vp9.c +++ b/drivers/staging/media/meson/vdec/codec_vp9.c @@ -458,12 +458,6 @@ struct codec_vp9 { @@ -430,7 +430,7 @@ index 897f5d7a6aad..33b758cded77 100644 intra_only = param->p.show_frame ? 0 : param->p.intra_only; -@@ -2132,7 +2134,8 @@ static irqreturn_t codec_vp9_threaded_isr(struct amvdec_session *sess) +@@ -2130,7 +2132,8 @@ static irqreturn_t codec_vp9_threaded_isr(struct amvdec_session *sess) codec_vp9_fetch_rpm(sess); if (codec_vp9_process_rpm(vp9)) { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch deleted file mode 100644 index 54918f9aaa..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b71a8761891cdca7af133b91aaef4f485e7542b3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 16 Feb 2022 07:27:07 +0000 -Subject: [PATCH 035/120] FROMGIT(6.3): dt-bindings: arm: amlogic: add support - for Radxa Zero2 - -The Radxa Zero2 is a small form-factor SBC using the Amlogic -A311D chip. - -Signed-off-by: Christian Hewitt -Acked-by: Krzysztof Kozlowski ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index d63f6b899f25..7ded40b309a4 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -154,6 +154,7 @@ properties: - items: - - enum: - - khadas,vim3 -+ - radxa,zero2 - - const: amlogic,a311d - - const: amlogic,g12b - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch similarity index 99% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch index b2f16add62..be09963cca 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patch @@ -1,8 +1,7 @@ -From bc74e7054ac07e488d17c25f7c30660fcff5fb4d Mon Sep 17 00:00:00 2001 +From 82d94e2317b8a56b5b0873848bdde2aea61e6ecb Mon Sep 17 00:00:00 2001 From: Maxime Jourdan Date: Mon, 23 Jan 2023 11:07:04 +0000 -Subject: [PATCH 060/120] FROMLIST(v2): media: meson: vdec: add HEVC decode - codec +Subject: [PATCH 35/43] FROMLIST(v2): media: meson: vdec: add HEVC decode codec Add initial HEVC codec for the Amlogic GXBB/GXL/GXM SoCs using the common "HEVC" decoder driver. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-Radxa-Ze.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-Radxa-Ze.patch deleted file mode 100644 index ebe526745e..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-Radxa-Ze.patch +++ /dev/null @@ -1,538 +0,0 @@ -From 263e11fb9680d32705f0980569dc32a412818488 Mon Sep 17 00:00:00 2001 -From: Yuntian Zhang -Date: Fri, 14 Jan 2022 15:50:02 +0000 -Subject: [PATCH 036/120] FROMGIT(6.3): arm64: dts: meson: add support for - Radxa Zero2 - -Radxa Zero2 is a small form factor SBC based on the Amlogic A311D -chipset that ships in a number of eMMC configurations: - -- Amlogic A311D (Quad A73 + Dual A53) CPU -- 4GB LPDDR4 RAM -- 32/64/128GB eMMC -- Mali G52-MP4 GPU -- HDMI 2.1 output (micro) -- BCM4345 WiFi (2.4/5GHz a/b/g/n/ac) and BT 5.0 -- 1x USB 2.0 port - Type C (OTG) -- 1x USB 3.0 port - Type C (Host) -- 1x micro SD Card slot -- 40 Pin GPIO header - -Signed-off-by: Yuntian Zhang -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-g12b-radxa-zero2.dts | 489 ++++++++++++++++++ - 2 files changed, 490 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 5e5433718c6e..5d5ec22a469e 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -14,6 +14,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts -new file mode 100644 -index 000000000000..9a60c5ec2072 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts -@@ -0,0 +1,489 @@ -+// 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"; -+ }; -+ }; -+ -+ 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>; -+ -+ 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: clock-0 { -+ 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>; -+}; -+ -+&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_ab { -+ pinctrl-0 = <&pwm_ao_a_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin3"; -+ 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"; -+ }; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v1-ASoC-meson-axg-extend-TDM-maximum-sample.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v1-ASoC-meson-axg-extend-TDM-maximum-sample.patch new file mode 100644 index 0000000000..36c8356735 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v1-ASoC-meson-axg-extend-TDM-maximum-sample.patch @@ -0,0 +1,60 @@ +From 17f79dce029ddbdf73e902c8b2967a086722f67d Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 7 Sep 2023 11:09:10 +0200 +Subject: [PATCH 36/43] FROMLIST(v1): ASoC: meson: axg: extend TDM maximum + sample rate to 384kHz + +The TDM HW on the axg SoC families and derivatives actually supports +384kHz sampling rate. + +Update the fifo and tdm interface constraints accordingly. + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/axg-fifo.c | 2 +- + sound/soc/meson/axg-fifo.h | 2 +- + sound/soc/meson/axg-tdm.h | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/meson/axg-fifo.c b/sound/soc/meson/axg-fifo.c +index bccfb770b339..2e3d0108179b 100644 +--- a/sound/soc/meson/axg-fifo.c ++++ b/sound/soc/meson/axg-fifo.c +@@ -31,7 +31,7 @@ static struct snd_pcm_hardware axg_fifo_hw = { + SNDRV_PCM_INFO_NO_PERIOD_WAKEUP), + .formats = AXG_FIFO_FORMATS, + .rate_min = 5512, +- .rate_max = 192000, ++ .rate_max = 384000, + .channels_min = 1, + .channels_max = AXG_FIFO_CH_MAX, + .period_bytes_min = AXG_FIFO_BURST, +diff --git a/sound/soc/meson/axg-fifo.h b/sound/soc/meson/axg-fifo.h +index b63acd723c87..df528e8cb7c9 100644 +--- a/sound/soc/meson/axg-fifo.h ++++ b/sound/soc/meson/axg-fifo.h +@@ -22,7 +22,7 @@ struct snd_soc_pcm_runtime; + + #define AXG_FIFO_CH_MAX 128 + #define AXG_FIFO_RATES (SNDRV_PCM_RATE_5512 | \ +- SNDRV_PCM_RATE_8000_192000) ++ SNDRV_PCM_RATE_8000_384000) + #define AXG_FIFO_FORMATS (SNDRV_PCM_FMTBIT_S8 | \ + SNDRV_PCM_FMTBIT_S16_LE | \ + SNDRV_PCM_FMTBIT_S20_LE | \ +diff --git a/sound/soc/meson/axg-tdm.h b/sound/soc/meson/axg-tdm.h +index 5774ce0916d4..42f7470b9a7f 100644 +--- a/sound/soc/meson/axg-tdm.h ++++ b/sound/soc/meson/axg-tdm.h +@@ -16,7 +16,7 @@ + #define AXG_TDM_NUM_LANES 4 + #define AXG_TDM_CHANNEL_MAX 128 + #define AXG_TDM_RATES (SNDRV_PCM_RATE_5512 | \ +- SNDRV_PCM_RATE_8000_192000) ++ SNDRV_PCM_RATE_8000_384000) + #define AXG_TDM_FORMATS (SNDRV_PCM_FMTBIT_S8 | \ + SNDRV_PCM_FMTBIT_S16_LE | \ + SNDRV_PCM_FMTBIT_S20_LE | \ +-- +2.34.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patch deleted file mode 100644 index e71914115b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patch +++ /dev/null @@ -1,89 +0,0 @@ -From be94b9629bc355647bda972f92e0887d3a94c17f Mon Sep 17 00:00:00 2001 -From: Jerome Brunet -Date: Mon, 30 Jan 2023 16:16:15 +0100 -Subject: [PATCH 037/120] FROMGIT(6.4): dt-bindings: net: add amlogic gxl mdio - multiplexer - -Add documentation for the MDIO bus multiplexer found on the Amlogic GXL -SoC family - -Reviewed-by: Krzysztof Kozlowski -Signed-off-by: Jerome Brunet ---- - .../bindings/net/amlogic,gxl-mdio-mux.yaml | 64 +++++++++++++++++++ - 1 file changed, 64 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml - -diff --git a/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml b/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml -new file mode 100644 -index 000000000000..27ae004dbea0 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml -@@ -0,0 +1,64 @@ -+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/net/amlogic,gxl-mdio-mux.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Amlogic GXL MDIO bus multiplexer -+ -+maintainers: -+ - Jerome Brunet -+ -+description: -+ This is a special case of a MDIO bus multiplexer. It allows to choose between -+ the internal mdio bus leading to the embedded 10/100 PHY or the external -+ MDIO bus on the Amlogic GXL SoC family. -+ -+allOf: -+ - $ref: mdio-mux.yaml# -+ -+properties: -+ compatible: -+ const: amlogic,gxl-mdio-mux -+ -+ reg: -+ maxItems: 1 -+ -+ clocks: -+ maxItems: 1 -+ -+ clock-names: -+ items: -+ - const: ref -+ -+required: -+ - compatible -+ - reg -+ - clocks -+ - clock-names -+ -+unevaluatedProperties: false -+ -+examples: -+ - | -+ eth_phy_mux: mdio@558 { -+ compatible = "amlogic,gxl-mdio-mux"; -+ reg = <0x558 0xc>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ clocks = <&refclk>; -+ clock-names = "ref"; -+ mdio-parent-bus = <&mdio0>; -+ -+ external_mdio: mdio@0 { -+ reg = <0x0>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ internal_mdio: mdio@1 { -+ reg = <0x1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch index c24a8cc6a5..35263319f6 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patch @@ -1,7 +1,7 @@ -From 866fcbd4b9f8e1f3502ab857a23a7a19f2d0ba9e Mon Sep 17 00:00:00 2001 +From 2cdc76b17304782027b42f1b3474ee00a9c863a0 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 5 Jan 2023 15:16:46 +0000 -Subject: [PATCH 064/120] WIP: media: meson: vdec: disable MPEG1/MPEG2 hardware +Subject: [PATCH 37/43] WIP: media: meson: vdec: disable MPEG1/MPEG2 hardware decoding The MPEG1/2 decoder is broken and nobody has volunteered to poke diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patch deleted file mode 100644 index ce672e6d80..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patch +++ /dev/null @@ -1,225 +0,0 @@ -From 7246aabe2dcaced67c24646712e930e931177c71 Mon Sep 17 00:00:00 2001 -From: Jerome Brunet -Date: Mon, 30 Jan 2023 16:16:16 +0100 -Subject: [PATCH 038/120] FROMGIT(6.4): net: mdio: add amlogic gxl mdio mux - support - -Add support for the mdio mux and internal phy glue of the GXL SoC -family - -Reported-by: Da Xue -Signed-off-by: Jerome Brunet -Reviewed-by: Andrew Lunn ---- - drivers/net/mdio/Kconfig | 11 ++ - drivers/net/mdio/Makefile | 1 + - drivers/net/mdio/mdio-mux-meson-gxl.c | 164 ++++++++++++++++++++++++++ - 3 files changed, 176 insertions(+) - create mode 100644 drivers/net/mdio/mdio-mux-meson-gxl.c - -diff --git a/drivers/net/mdio/Kconfig b/drivers/net/mdio/Kconfig -index bfa16826a6e1..90309980686e 100644 ---- a/drivers/net/mdio/Kconfig -+++ b/drivers/net/mdio/Kconfig -@@ -215,6 +215,17 @@ config MDIO_BUS_MUX_MESON_G12A - the amlogic g12a SoC. The multiplexers connects either the external - or the internal MDIO bus to the parent bus. - -+config MDIO_BUS_MUX_MESON_GXL -+ tristate "Amlogic GXL based MDIO bus multiplexer" -+ depends on ARCH_MESON || COMPILE_TEST -+ depends on OF_MDIO && HAS_IOMEM && COMMON_CLK -+ select MDIO_BUS_MUX -+ default m if ARCH_MESON -+ help -+ This module provides a driver for the MDIO multiplexer/glue of -+ the amlogic GXL SoC. The multiplexer connects either the external -+ or the internal MDIO bus to the parent bus. -+ - config MDIO_BUS_MUX_BCM6368 - tristate "Broadcom BCM6368 MDIO bus multiplexers" - depends on OF && OF_MDIO && (BMIPS_GENERIC || COMPILE_TEST) -diff --git a/drivers/net/mdio/Makefile b/drivers/net/mdio/Makefile -index 15f8dc4042ce..7d4cb4c11e4e 100644 ---- a/drivers/net/mdio/Makefile -+++ b/drivers/net/mdio/Makefile -@@ -28,5 +28,6 @@ obj-$(CONFIG_MDIO_BUS_MUX_BCM6368) += mdio-mux-bcm6368.o - obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o - obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o - obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o -+obj-$(CONFIG_MDIO_BUS_MUX_MESON_GXL) += mdio-mux-meson-gxl.o - obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o - obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o -diff --git a/drivers/net/mdio/mdio-mux-meson-gxl.c b/drivers/net/mdio/mdio-mux-meson-gxl.c -new file mode 100644 -index 000000000000..76188575ca1f ---- /dev/null -+++ b/drivers/net/mdio/mdio-mux-meson-gxl.c -@@ -0,0 +1,164 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* Copyright (c) 2022 Baylibre, SAS. -+ * Author: Jerome Brunet -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define ETH_REG2 0x0 -+#define REG2_PHYID GENMASK(21, 0) -+#define EPHY_GXL_ID 0x110181 -+#define REG2_LEDACT GENMASK(23, 22) -+#define REG2_LEDLINK GENMASK(25, 24) -+#define REG2_DIV4SEL BIT(27) -+#define REG2_ADCBYPASS BIT(30) -+#define REG2_CLKINSEL BIT(31) -+#define ETH_REG3 0x4 -+#define REG3_ENH BIT(3) -+#define REG3_CFGMODE GENMASK(6, 4) -+#define REG3_AUTOMDIX BIT(7) -+#define REG3_PHYADDR GENMASK(12, 8) -+#define REG3_PWRUPRST BIT(21) -+#define REG3_PWRDOWN BIT(22) -+#define REG3_LEDPOL BIT(23) -+#define REG3_PHYMDI BIT(26) -+#define REG3_CLKINEN BIT(29) -+#define REG3_PHYIP BIT(30) -+#define REG3_PHYEN BIT(31) -+#define ETH_REG4 0x8 -+#define REG4_PWRUPRSTSIG BIT(0) -+ -+#define MESON_GXL_MDIO_EXTERNAL_ID 0 -+#define MESON_GXL_MDIO_INTERNAL_ID 1 -+ -+struct gxl_mdio_mux { -+ void __iomem *regs; -+ void *mux_handle; -+}; -+ -+static void gxl_enable_internal_mdio(struct gxl_mdio_mux *priv) -+{ -+ u32 val; -+ -+ /* Setup the internal phy */ -+ val = (REG3_ENH | -+ FIELD_PREP(REG3_CFGMODE, 0x7) | -+ REG3_AUTOMDIX | -+ FIELD_PREP(REG3_PHYADDR, 8) | -+ REG3_LEDPOL | -+ REG3_PHYMDI | -+ REG3_CLKINEN | -+ REG3_PHYIP); -+ -+ writel(REG4_PWRUPRSTSIG, priv->regs + ETH_REG4); -+ writel(val, priv->regs + ETH_REG3); -+ mdelay(10); -+ -+ /* NOTE: The HW kept the phy id configurable at runtime. -+ * The id below is arbitrary. It is the one used in the vendor code. -+ * The only constraint is that it must match the one in -+ * drivers/net/phy/meson-gxl.c to properly match the PHY. -+ */ -+ writel(FIELD_PREP(REG2_PHYID, EPHY_GXL_ID), -+ priv->regs + ETH_REG2); -+ -+ /* Enable the internal phy */ -+ val |= REG3_PHYEN; -+ writel(val, priv->regs + ETH_REG3); -+ writel(0, priv->regs + ETH_REG4); -+ -+ /* The phy needs a bit of time to power up */ -+ mdelay(10); -+} -+ -+static void gxl_enable_external_mdio(struct gxl_mdio_mux *priv) -+{ -+ /* Reset the mdio bus mux to the external phy */ -+ writel(0, priv->regs + ETH_REG3); -+} -+ -+static int gxl_mdio_switch_fn(int current_child, int desired_child, -+ void *data) -+{ -+ struct gxl_mdio_mux *priv = dev_get_drvdata(data); -+ -+ if (current_child == desired_child) -+ return 0; -+ -+ switch (desired_child) { -+ case MESON_GXL_MDIO_EXTERNAL_ID: -+ gxl_enable_external_mdio(priv); -+ break; -+ case MESON_GXL_MDIO_INTERNAL_ID: -+ gxl_enable_internal_mdio(priv); -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static const struct of_device_id gxl_mdio_mux_match[] = { -+ { .compatible = "amlogic,gxl-mdio-mux", }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, gxl_mdio_mux_match); -+ -+static int gxl_mdio_mux_probe(struct platform_device *pdev) -+{ -+ struct device *dev = &pdev->dev; -+ struct gxl_mdio_mux *priv; -+ struct clk *rclk; -+ int ret; -+ -+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); -+ if (!priv) -+ return -ENOMEM; -+ platform_set_drvdata(pdev, priv); -+ -+ priv->regs = devm_platform_ioremap_resource(pdev, 0); -+ if (IS_ERR(priv->regs)) -+ return PTR_ERR(priv->regs); -+ -+ rclk = devm_clk_get_enabled(dev, "ref"); -+ if (IS_ERR(rclk)) -+ return dev_err_probe(dev, PTR_ERR(rclk), -+ "failed to get reference clock\n"); -+ -+ ret = mdio_mux_init(dev, dev->of_node, gxl_mdio_switch_fn, -+ &priv->mux_handle, dev, NULL); -+ if (ret) -+ dev_err_probe(dev, ret, "mdio multiplexer init failed\n"); -+ -+ return ret; -+} -+ -+static int gxl_mdio_mux_remove(struct platform_device *pdev) -+{ -+ struct gxl_mdio_mux *priv = platform_get_drvdata(pdev); -+ -+ mdio_mux_uninit(priv->mux_handle); -+ -+ return 0; -+} -+ -+static struct platform_driver gxl_mdio_mux_driver = { -+ .probe = gxl_mdio_mux_probe, -+ .remove = gxl_mdio_mux_remove, -+ .driver = { -+ .name = "gxl-mdio-mux", -+ .of_match_table = gxl_mdio_mux_match, -+ }, -+}; -+module_platform_driver(gxl_mdio_mux_driver); -+ -+MODULE_DESCRIPTION("Amlogic GXL MDIO multiplexer driver"); -+MODULE_AUTHOR("Jerome Brunet "); -+MODULE_LICENSE("GPL"); --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch index 73b8de0d2d..bc0305dd92 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch @@ -1,7 +1,7 @@ -From 705f27c026178c3cc9af1142fcbea2f686e034a5 Mon Sep 17 00:00:00 2001 +From b0bd15f554a3749fb608e9efc89a2356ff7ae5f2 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 18 Jan 2022 15:09:12 +0000 -Subject: [PATCH 065/120] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to +Subject: [PATCH 38/43] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to 100MHz Amlogic datasheets describe 50MHz max-frequency for SDIO on GXL/GXM but @@ -79,10 +79,10 @@ Signed-off-by: Christian Hewitt 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index dafc841f7c16..8d315508360d 100644 +index 18f7b730289e..417c6c535325 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -@@ -259,7 +259,7 @@ &sd_emmc_a { +@@ -257,7 +257,7 @@ &sd_emmc_a { bus-width = <4>; cap-sd-highspeed; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMGIT-6.4-mmc-meson-gx-remove-meson_mmc_get_cd.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMGIT-6.4-mmc-meson-gx-remove-meson_mmc_get_cd.patch deleted file mode 100644 index aff142305b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMGIT-6.4-mmc-meson-gx-remove-meson_mmc_get_cd.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 3f94f73ae5c31ac0c009e2867a25077cd63df251 Mon Sep 17 00:00:00 2001 -From: Heiner Kallweit -Date: Sun, 12 Feb 2023 22:43:32 +0100 -Subject: [PATCH 039/120] FROMGIT(6.4): mmc: meson-gx: remove meson_mmc_get_cd - -MMC core only checks whether return value of .get_cd() equals zero. -Therefore -ENOSYS and 1 are effectively the same and the function -can be removed. - -Signed-off-by: Heiner Kallweit ---- - drivers/mmc/host/meson-gx-mmc.c | 16 +--------------- - 1 file changed, 1 insertion(+), 15 deletions(-) - -diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c -index 5c94ad4661ce..a1051a853f91 100644 ---- a/drivers/mmc/host/meson-gx-mmc.c -+++ b/drivers/mmc/host/meson-gx-mmc.c -@@ -1083,20 +1083,6 @@ static irqreturn_t meson_mmc_irq_thread(int irq, void *dev_id) - return IRQ_HANDLED; - } - --/* -- * NOTE: we only need this until the GPIO/pinctrl driver can handle -- * interrupts. For now, the MMC core will use this for polling. -- */ --static int meson_mmc_get_cd(struct mmc_host *mmc) --{ -- int status = mmc_gpio_get_cd(mmc); -- -- if (status == -ENOSYS) -- return 1; /* assume present */ -- -- return status; --} -- - static void meson_mmc_cfg_init(struct meson_host *host) - { - u32 cfg = 0; -@@ -1165,7 +1151,7 @@ static void meson_mmc_ack_sdio_irq(struct mmc_host *mmc) - static const struct mmc_host_ops meson_mmc_ops = { - .request = meson_mmc_request, - .set_ios = meson_mmc_set_ios, -- .get_cd = meson_mmc_get_cd, -+ .get_cd = mmc_gpio_get_cd, - .pre_req = meson_mmc_pre_req, - .post_req = meson_mmc_post_req, - .execute_tuning = meson_mmc_resampling_tuning, --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch similarity index 85% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch index b9f1ed186d..c1671fa15e 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch @@ -1,7 +1,7 @@ -From fb0a50ba250cb8b6c328e32b5132f29a7ada0488 Mon Sep 17 00:00:00 2001 +From 49923992b6ff340aea7bcda59686f8d93c306814 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 19 Jan 2022 06:45:06 +0000 -Subject: [PATCH 066/120] WIP: arm64: dts: meson: add UHS SDIO capabilities to +Subject: [PATCH 39/43] WIP: arm64: dts: meson: add UHS SDIO capabilities to p212/p23x/q20x Add UHS capabilities to the SDIO node to enable 100MHz speeds. @@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt 2 files changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 8d315508360d..b0d008fc5f7a 100644 +index 417c6c535325..59f7b51598b5 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -@@ -259,6 +259,10 @@ &sd_emmc_a { +@@ -257,6 +257,10 @@ &sd_emmc_a { bus-width = <4>; cap-sd-highspeed; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMGIT-6.4-media-meson-vdec-remove-redundant-if-sta.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMGIT-6.4-media-meson-vdec-remove-redundant-if-sta.patch deleted file mode 100644 index 5c38ed15d2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMGIT-6.4-media-meson-vdec-remove-redundant-if-sta.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5142ba301edc43cc70ca708aafa84cf1b2b32feb Mon Sep 17 00:00:00 2001 -From: Benjamin Roszak -Date: Thu, 15 Jul 2021 14:32:33 -0400 -Subject: [PATCH 040/120] FROMGIT(6.4): media: meson: vdec: remove redundant if - statement - -Checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done as a -condition to enter the if statement where this additional check is made. - -Signed-off-by: Benjamin Roszak -Signed-off-by: Christian Hewitt ---- - drivers/staging/media/meson/vdec/esparser.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 86ccc8937afc..7b15fc54efe4 100644 ---- a/drivers/staging/media/meson/vdec/esparser.c -+++ b/drivers/staging/media/meson/vdec/esparser.c -@@ -314,8 +314,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) - num_dst_bufs = codec_ops->num_pending_bufs(sess); - - num_dst_bufs += v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx); -- if (sess->fmt_out->pixfmt == V4L2_PIX_FMT_VP9) -- num_dst_bufs -= 3; -+ num_dst_bufs -= 3; - - if (esparser_vififo_get_free_space(sess) < payload_size || - atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs) --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch similarity index 80% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch index 45d7263372..d114c609a2 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch @@ -1,7 +1,7 @@ -From dac1058a8890451e943cd3dd82a04b23436928b2 Mon Sep 17 00:00:00 2001 +From 3b01be747f02ecd49f1c8f186081f898206b8585 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 18 Jan 2022 15:18:32 +0000 -Subject: [PATCH 067/120] WIP: arm64: dts: meson: remove SDIO node from Khadas +Subject: [PATCH 40/43] WIP: arm64: dts: meson: remove SDIO node from Khadas VIM1 Now that SDIO 100MHz max-frequency is inherited from the p212 dtsi we @@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 4 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index 5ed1e9313003..fb0dd920882f 100644 +index dacbca73279c..aeda42d5d606 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -@@ -219,10 +219,6 @@ &pwm_ef { +@@ -217,10 +217,6 @@ &pwm_ef { pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; }; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMGIT-6.4-dt-bindings-media-rc-add-rc-dreambox-bin.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMGIT-6.4-dt-bindings-media-rc-add-rc-dreambox-bin.patch deleted file mode 100644 index ceae1dd7e4..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMGIT-6.4-dt-bindings-media-rc-add-rc-dreambox-bin.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 1b5d94d6c98f76a33fcc98f09a9e2c414cb6c4ee Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 1 Feb 2023 08:53:39 +0000 -Subject: [PATCH 041/120] FROMGIT(6.4): dt-bindings: media: rc: add rc-dreambox - binding - -Add a binding for the rc-dreambox remote keymap - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/media/rc.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index e732b7f3a635..e7d2ae5a7eb9 100644 ---- a/Documentation/devicetree/bindings/media/rc.yaml -+++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -55,6 +55,7 @@ properties: - - rc-dm1105-nec - - rc-dntv-live-dvb-t - - rc-dntv-live-dvbt-pro -+ - rc-dreambox - - rc-dtt200u - - rc-dvbsky - - rc-dvico-mce --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0118-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch similarity index 86% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0118-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch index 695ab4f782..69d87dbb58 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0118-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-p23x-q20x-fix-usb-init-don-t-for.patch @@ -1,8 +1,8 @@ -From 295d65e7123908556d5fb78683c256459b9be871 Mon Sep 17 00:00:00 2001 +From 06ec0d138e5f9c85063a157f35a0d5bdb45a3317 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 14 Feb 2023 08:28:00 +0000 -Subject: [PATCH 118/120] WIP: arm64: dts: meson: p23x-q20x: fix usb init - - don't force otg +Subject: [PATCH 41/43] WIP: arm64: dts: meson: p23x-q20x: fix usb init - don't + force otg Forcing OTG in the p23x-q20x dtsi causes USB problems on multiple boards: @@ -27,10 +27,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index b0d008fc5f7a..025cefd6939a 100644 +index 59f7b51598b5..b8ffc0e014fb 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -@@ -324,5 +324,5 @@ &uart_AO { +@@ -322,5 +322,5 @@ &uart_AO { &usb { status = "okay"; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMGIT-6.4-media-rc-add-common-keymap-for-Dreambox-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMGIT-6.4-media-rc-add-common-keymap-for-Dreambox-.patch deleted file mode 100644 index 61e20e146c..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMGIT-6.4-media-rc-add-common-keymap-for-Dreambox-.patch +++ /dev/null @@ -1,215 +0,0 @@ -From c86408e487a66dc5664c3002da54478eb103228c Mon Sep 17 00:00:00 2001 -From: Emanuel Strobel -Date: Mon, 5 Apr 2021 17:57:57 +0000 -Subject: [PATCH 042/120] FROMGIT(6.4): media: rc: add common keymap for - Dreambox RC10/RC0 and RC20/RC-BT remotes - -Add a common keymap for the RC10/RC0 and RC20/RC-BT remotes used with -the Dreambox One and Dreambox Two DVB-S/T boxes. The maps are combined -since the IR codes do not conflict and both boxes have shipped with -both remote designs over time. - -Both remote types can be programmed to control TVs, so include non-IR -keys that are used to switch-to or toggle the remote mode: - -- DREAM in RC10/RC0 switches to (Dreambox) STB control mode -- TV in RC10/RC0 switches to TV control mode -- MODE in RC20/RC-BT toggles between STB/TV/BT control modes - -In the RC20 keymap the Android MIC (voice search) key maps to KEY_HELP -and EXIT is mapped to KEY_ESC to replicate the go-backwards navigation -behaviour in the Android vendor OS that ships on Dreambox devices. - -Signed-off-by: Emanuel Strobel -Signed-off-by: Christian Hewitt ---- - drivers/media/rc/keymaps/Makefile | 1 + - drivers/media/rc/keymaps/rc-dreambox.c | 151 +++++++++++++++++++++++++ - include/media/rc-map.h | 1 + - 3 files changed, 153 insertions(+) - create mode 100644 drivers/media/rc/keymaps/rc-dreambox.c - -diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index f513ff5caf4e..6931c89fca99 100644 ---- a/drivers/media/rc/keymaps/Makefile -+++ b/drivers/media/rc/keymaps/Makefile -@@ -37,6 +37,7 @@ obj-$(CONFIG_RC_MAP) += \ - rc-dm1105-nec.o \ - rc-dntv-live-dvb-t.o \ - rc-dntv-live-dvbt-pro.o \ -+ rc-dreambox.o \ - rc-dtt200u.o \ - rc-dvbsky.o \ - rc-dvico-mce.o \ -diff --git a/drivers/media/rc/keymaps/rc-dreambox.c b/drivers/media/rc/keymaps/rc-dreambox.c -new file mode 100644 -index 000000000000..dea024fa3a22 ---- /dev/null -+++ b/drivers/media/rc/keymaps/rc-dreambox.c -@@ -0,0 +1,151 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (c) 2021 Emanuel Strobel -+ */ -+ -+#include -+#include -+ -+/* -+ * Keytable for Dreambox RC10/RC0 and RC20/RC-BT remote controls -+ * -+ * Keys that are not IR addressable: -+ * -+ * // DREAM switches to STB control mode -+ * // TV switches to TV control mode -+ * // MODE toggles STB/TV/BT control modes -+ * -+ */ -+ -+static struct rc_map_table dreambox[] = { -+ /* Dreambox RC10/RC0/RCU-BT remote */ -+ { 0x3200, KEY_POWER }, -+ -+ // DREAM -+ { 0x3290, KEY_HELP }, -+ // TV -+ -+ { 0x3201, KEY_1 }, -+ { 0x3202, KEY_2 }, -+ { 0x3203, KEY_3 }, -+ { 0x3204, KEY_4 }, -+ { 0x3205, KEY_5 }, -+ { 0x3206, KEY_6 }, -+ { 0x3207, KEY_7 }, -+ { 0x3208, KEY_8 }, -+ { 0x3209, KEY_9 }, -+ { 0x320a, KEY_PREVIOUS }, -+ { 0x320b, KEY_0 }, -+ { 0x320c, KEY_NEXT }, -+ -+ { 0x321f, KEY_RED }, -+ { 0x3220, KEY_GREEN }, -+ { 0x3221, KEY_YELLOW }, -+ { 0x3222, KEY_BLUE }, -+ -+ { 0x3210, KEY_INFO }, -+ { 0x3212, KEY_MENU }, -+ { 0x320e, KEY_AUDIO }, -+ { 0x3218, KEY_PVR }, -+ -+ { 0x3213, KEY_LEFT }, -+ { 0x3211, KEY_UP }, -+ { 0x3215, KEY_RIGHT }, -+ { 0x3217, KEY_DOWN }, -+ { 0x3214, KEY_OK }, -+ -+ { 0x3219, KEY_VOLUMEUP }, -+ { 0x321c, KEY_VOLUMEDOWN }, -+ -+ { 0x321d, KEY_ESC }, // EXIT -+ { 0x321a, KEY_MUTE }, -+ -+ { 0x321b, KEY_PAGEUP }, -+ { 0x321e, KEY_PAGEDOWN }, -+ -+ { 0x3223, KEY_PREVIOUSSONG }, -+ { 0x3224, KEY_PLAYPAUSE }, -+ { 0x3225, KEY_STOP }, -+ { 0x3226, KEY_NEXTSONG }, -+ -+ { 0x3227, KEY_TV }, -+ { 0x3228, KEY_RADIO }, -+ { 0x3229, KEY_TEXT }, -+ { 0x322a, KEY_RECORD }, -+ -+ /* Dreambox RC20/RC-BT */ -+ { 0x3407, KEY_MUTE }, -+ // MODE -+ { 0x3401, KEY_POWER }, -+ -+ { 0x3432, KEY_PREVIOUSSONG }, -+ { 0x3433, KEY_PLAYPAUSE }, -+ { 0x3435, KEY_NEXTSONG }, -+ -+ { 0x3436, KEY_RECORD }, -+ { 0x3434, KEY_STOP }, -+ { 0x3425, KEY_TEXT }, -+ -+ { 0x341f, KEY_RED }, -+ { 0x3420, KEY_GREEN }, -+ { 0x3421, KEY_YELLOW }, -+ { 0x3422, KEY_BLUE }, -+ -+ { 0x341b, KEY_INFO }, -+ { 0x341c, KEY_MENU }, -+ { 0x3430, KEY_AUDIO }, -+ { 0x3431, KEY_PVR }, -+ -+ { 0x3414, KEY_LEFT }, -+ { 0x3411, KEY_UP }, -+ { 0x3416, KEY_RIGHT }, -+ { 0x3419, KEY_DOWN }, -+ { 0x3415, KEY_OK }, -+ -+ { 0x3413, KEY_VOLUMEUP }, -+ { 0x3418, KEY_VOLUMEDOWN }, -+ -+ { 0x3412, KEY_ESC }, // EXIT -+ { 0x3426, KEY_HELP }, // MIC -+ -+ { 0x3417, KEY_PAGEUP }, -+ { 0x341a, KEY_PAGEDOWN }, -+ -+ { 0x3404, KEY_1 }, -+ { 0x3405, KEY_2 }, -+ { 0x3406, KEY_3 }, -+ { 0x3408, KEY_4 }, -+ { 0x3409, KEY_5 }, -+ { 0x340a, KEY_6 }, -+ { 0x340c, KEY_7 }, -+ { 0x340d, KEY_8 }, -+ { 0x340e, KEY_9 }, -+ { 0x340b, KEY_PREVIOUS }, -+ { 0x3410, KEY_0 }, -+ { 0x340f, KEY_NEXT }, -+}; -+ -+static struct rc_map_list dreambox_map = { -+ .map = { -+ .scan = dreambox, -+ .size = ARRAY_SIZE(dreambox), -+ .rc_proto = RC_PROTO_NEC, -+ .name = RC_MAP_DREAMBOX, -+ } -+}; -+ -+static int __init init_rc_map_dreambox(void) -+{ -+ return rc_map_register(&dreambox_map); -+} -+ -+static void __exit exit_rc_map_dreambox(void) -+{ -+ rc_map_unregister(&dreambox_map); -+} -+ -+module_init(init_rc_map_dreambox) -+module_exit(exit_rc_map_dreambox) -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Emanuel Strobel "); -diff --git a/include/media/rc-map.h b/include/media/rc-map.h -index 793b54342dff..94ee968d4722 100644 ---- a/include/media/rc-map.h -+++ b/include/media/rc-map.h -@@ -241,6 +241,7 @@ struct rc_map *rc_map_get(const char *name); - #define RC_MAP_DM1105_NEC "rc-dm1105-nec" - #define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t" - #define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro" -+#define RC_MAP_DREAMBOX "rc-dreambox" - #define RC_MAP_DTT200U "rc-dtt200u" - #define RC_MAP_DVBSKY "rc-dvbsky" - #define RC_MAP_DVICO_MCE "rc-dvico-mce" --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0119-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch similarity index 83% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0119-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch index ce8909e8c0..81820e0da8 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0119-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-WiFi-BT-support-to-BananaPi-.patch @@ -1,8 +1,8 @@ -From 43a534f7b59e2364221f972df637f5cc8e8ab153 Mon Sep 17 00:00:00 2001 +From 9f26e8cb1a24072df4f66a90f76960482a396a75 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 7 Mar 2023 13:17:16 +0000 -Subject: [PATCH 119/120] WIP: arm64: dts: meson: add WiFi/BT support to - BananaPi M5 +Subject: [PATCH 42/43] WIP: arm64: dts: meson: add WiFi/BT support to BananaPi + M5 The BPI-M5 has an optional RTL8822CS WiFi/BT mezzanine board. Describe the board but mark the sd_mmc_a and uart_A nodes disabled so they can @@ -10,11 +10,11 @@ be enabled via overlay or fdtput when the baord is connected. Signed-off-by: Christian Hewitt --- - .../dts/amlogic/meson-sm1-bananapi-m5.dts | 59 +++++++++++++++++++ - 1 file changed, 59 insertions(+) + .../dts/amlogic/meson-sm1-bananapi-m5.dts | 65 +++++++++++++++++++ + 1 file changed, 65 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts -index 34b3238ee0a0..0b434572a789 100644 +index f045bf851638..90ef1f029ede 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts @@ -25,6 +25,20 @@ cvbs_connector_in: endpoint { @@ -38,10 +38,16 @@ index 34b3238ee0a0..0b434572a789 100644 sound { compatible = "amlogic,axg-sound-card"; model = "BPI-M5"; -@@ -173,6 +187,36 @@ &frddr_c { +@@ -172,6 +186,42 @@ &frddr_c { status = "okay"; }; ++&pwm_ef { ++ status = "okay"; ++ pinctrl-0 = <&pwm_e_pins>; ++ pinctrl-names = "default"; ++}; ++ +/* SDIO */ +&sd_emmc_a { + /* enable if WiFi/BT board connected */ @@ -75,7 +81,7 @@ index 34b3238ee0a0..0b434572a789 100644 &tdmif_b { status = "okay"; }; -@@ -220,3 +264,18 @@ &toddr_b { +@@ -219,3 +269,18 @@ &toddr_b { &toddr_c { status = "okay"; }; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMGIT-6.4-dt-bindings-media-rc-add-rc-beelink-mxii.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMGIT-6.4-dt-bindings-media-rc-add-rc-beelink-mxii.patch deleted file mode 100644 index e4caef3849..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMGIT-6.4-dt-bindings-media-rc-add-rc-beelink-mxii.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b2ab233ef1556f2e210c6fe88ea7fca11b52092c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 4 Feb 2023 06:42:20 +0000 -Subject: [PATCH 043/120] FROMGIT(6.4): dt-bindings: media: rc: add - rc-beelink-mxiii - -Add a binding for the rc-beelink-mxiii remote keymap - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/media/rc.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index e7d2ae5a7eb9..deeda4bb8dae 100644 ---- a/Documentation/devicetree/bindings/media/rc.yaml -+++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -39,6 +39,7 @@ properties: - - rc-avertv-303 - - rc-azurewave-ad-tu700 - - rc-beelink-gs1 -+ - rc-beelink-mxiii - - rc-behold - - rc-behold-columbus - - rc-budget-ci-old --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0105-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch similarity index 89% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0105-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch index 7d834a5756..f4f6349774 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0105-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patch @@ -1,7 +1,7 @@ -From 84eeb2347773a89ae03b936c4ba36267b6dcb28f Mon Sep 17 00:00:00 2001 +From fa5e98eb6b18be104fe6a4cace6cdf5833f8d311 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 30 Jan 2023 05:09:18 +0000 -Subject: [PATCH 105/120] WIP: arm64: dts: meson: radxa-zero2: add pwm-fan +Subject: [PATCH 43/43] WIP: arm64: dts: meson: radxa-zero2: add pwm-fan support The A311D on Zero2 needs active cooling and the board includes a header to @@ -15,7 +15,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 27 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts -index 9a60c5ec2072..567a443356fe 100644 +index 890f5bfebb03..895b6ea67180 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts @@ -33,6 +33,15 @@ memory@0 { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMGIT-6.4-media-rc-add-Beelink-Mini-MXIII-keymap.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMGIT-6.4-media-rc-add-Beelink-Mini-MXIII-keymap.patch deleted file mode 100644 index fc1bbe58f1..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMGIT-6.4-media-rc-add-Beelink-Mini-MXIII-keymap.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 428bfd6a70cdf2dba7e39568e2cb5a3c283c0bb6 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 8 Dec 2021 15:33:47 +0000 -Subject: [PATCH 044/120] FROMGIT(6.4): media: rc: add Beelink Mini MXIII - keymap - -Add a keymap for the simple IR (NEC) remote used with the Beelink -Mini MXIII Android STB device. - -Signed-off-by: Christian Hewitt ---- - drivers/media/rc/keymaps/Makefile | 1 + - drivers/media/rc/keymaps/rc-beelink-mxiii.c | 57 +++++++++++++++++++++ - include/media/rc-map.h | 1 + - 3 files changed, 59 insertions(+) - create mode 100644 drivers/media/rc/keymaps/rc-beelink-mxiii.c - -diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index 6931c89fca99..f19558fdab0c 100644 ---- a/drivers/media/rc/keymaps/Makefile -+++ b/drivers/media/rc/keymaps/Makefile -@@ -22,6 +22,7 @@ obj-$(CONFIG_RC_MAP) += \ - rc-avertv-303.o \ - rc-azurewave-ad-tu700.o \ - rc-beelink-gs1.o \ -+ rc-beelink-mxiii.o \ - rc-behold-columbus.o \ - rc-behold.o \ - rc-budget-ci-old.o \ -diff --git a/drivers/media/rc/keymaps/rc-beelink-mxiii.c b/drivers/media/rc/keymaps/rc-beelink-mxiii.c -new file mode 100644 -index 000000000000..01180cd92205 ---- /dev/null -+++ b/drivers/media/rc/keymaps/rc-beelink-mxiii.c -@@ -0,0 +1,57 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (C) 2019 Christian Hewitt -+ * -+ */ -+ -+#include -+#include -+ -+/* -+ * Keytable for the Beelink Mini MXIII remote control -+ * -+ */ -+ -+static struct rc_map_table beelink_mxiii[] = { -+ { 0xb2dc, KEY_POWER }, -+ -+ { 0xb288, KEY_MUTE }, -+ { 0xb282, KEY_HOME }, -+ -+ { 0xb2ca, KEY_UP }, -+ { 0xb299, KEY_LEFT }, -+ { 0xb2ce, KEY_OK }, -+ { 0xb2c1, KEY_RIGHT }, -+ { 0xb2d2, KEY_DOWN }, -+ -+ { 0xb2c5, KEY_MENU }, -+ { 0xb29a, KEY_BACK }, -+ -+ { 0xb281, KEY_VOLUMEDOWN }, -+ { 0xb280, KEY_VOLUMEUP }, -+}; -+ -+static struct rc_map_list beelink_mxiii_map = { -+ .map = { -+ .scan = beelink_mxiii, -+ .size = ARRAY_SIZE(beelink_mxiii), -+ .rc_proto = RC_PROTO_NEC, -+ .name = RC_MAP_BEELINK_MXIII, -+ } -+}; -+ -+static int __init init_rc_map_beelink_mxiii(void) -+{ -+ return rc_map_register(&beelink_mxiii_map); -+} -+ -+static void __exit exit_rc_map_beelink_mxiii(void) -+{ -+ rc_map_unregister(&beelink_mxiii_map); -+} -+ -+module_init(init_rc_map_beelink_mxiii) -+module_exit(exit_rc_map_beelink_mxiii) -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Christian Hewitt -Date: Fri, 10 Feb 2023 02:16:12 +0000 -Subject: [PATCH 045/120] FROMGIT(6.4): arm64: dts: meson: gxbb-kii-pro: sort - and tidy the dts - -Alpha-sort the nodes, move the default line in the LED node to where it's -normally found, and remove excess spacing. No functional changes. - -Signed-off-by: Christian Hewitt -Tested-by: Ferass El Hafidi -Reviewed-by: Neil Armstrong ---- - .../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 31 ++++++++----------- - 1 file changed, 13 insertions(+), 18 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -index 5f2d4317ecfb..73ad0f5110f3 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -@@ -6,10 +6,10 @@ - /dts-v1/; - - #include "meson-gxbb-p20x.dtsi" -- - #include - #include - #include -+ - / { - compatible = "videostrong,kii-pro", "amlogic,meson-gxbb"; - model = "Videostrong KII Pro"; -@@ -18,9 +18,9 @@ leds { - compatible = "gpio-leds"; - led { - gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>; -- default-state = "off"; - color = ; - function = LED_FUNCTION_STATUS; -+ default-state = "off"; - }; - }; - -@@ -34,24 +34,8 @@ button-reset { - gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; - }; - }; -- - }; - -- -- --&uart_A { -- status = "okay"; -- pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -- pinctrl-names = "default"; -- uart-has-rtscts; -- -- bluetooth { -- compatible = "brcm,bcm4335a0"; -- }; --}; -- -- -- - ðmac { - status = "okay"; - pinctrl-0 = <ð_rmii_pins>; -@@ -78,3 +62,14 @@ eth_phy0: ethernet-phy@0 { - &ir { - linux,rc-map-name = "rc-videostrong-kii-pro"; - }; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm4335a0"; -+ }; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-complete-th.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-complete-th.patch deleted file mode 100644 index d6c8baa2f7..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-complete-th.patch +++ /dev/null @@ -1,34 +0,0 @@ -From eb1e3d228629c1946aef18c7337c5bc0e2694610 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 10 Feb 2023 02:21:08 +0000 -Subject: [PATCH 046/120] FROMGIT(6.4): arm64: dts: meson: gxbb-kii-pro: - complete the bluetooth node - -Add missing content to the bluetooth node to align it with the content -used in (all) other GXBB dts files. - -Signed-off-by: Christian Hewitt -Tested-by: Ferass El Hafidi -Reviewed-by: Neil Armstrong ---- - arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -index 73ad0f5110f3..a800e8955c4a 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -@@ -71,5 +71,10 @@ &uart_A { - - bluetooth { - compatible = "brcm,bcm4335a0"; -+ shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; -+ host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; - }; - }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-add-initial.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-add-initial.patch deleted file mode 100644 index e5a299280d..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMGIT-6.4-arm64-dts-meson-gxbb-kii-pro-add-initial.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 52fdf527ce95b5c7347cde0f0105b3003a834ac8 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 10 Feb 2023 02:29:00 +0000 -Subject: [PATCH 047/120] FROMGIT(6.4): arm64: dts: meson: gxbb-kii-pro: add - initial audio support - -Add initial support for HDMI and S/PDIF audio output. - -Signed-off-by: Christian Hewitt -Tested-by: Ferass El Hafidi -Reviewed-by: Neil Armstrong ---- - .../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 60 +++++++++++++++++++ - 1 file changed, 60 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -index a800e8955c4a..e238f1f10124 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts -@@ -9,11 +9,19 @@ - #include - #include - #include -+#include - - / { - compatible = "videostrong,kii-pro", "amlogic,meson-gxbb"; - model = "Videostrong KII Pro"; - -+ spdif_dit: audio-codec-0 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ - leds { - compatible = "gpio-leds"; - led { -@@ -34,6 +42,58 @@ button-reset { - gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; - }; - }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "KII-PRO"; -+ assigned-clocks = <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>, -+ <&clkc CLKID_MPLL2>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ -+ 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"; - }; - - ðmac { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMGIT-6.4-dt-bindings-arm-amlogic-Document-the-boa.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMGIT-6.4-dt-bindings-arm-amlogic-Document-the-boa.patch deleted file mode 100644 index 38984711ac..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMGIT-6.4-dt-bindings-arm-amlogic-Document-the-boa.patch +++ /dev/null @@ -1,39 +0,0 @@ -From dafb23b2d7961125dc39553fa6b2ffb1b892a8b5 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Fri, 3 Mar 2023 18:37:57 +0100 -Subject: [PATCH 048/120] FROMGIT(6.4): dt-bindings: arm: amlogic: Document the - boards with the BPI-CM4 connected - -The BPI-CM4 module with an Amlogic A311D SoC is a module compatible -with the Raspberry Pi CM4 specifications. - -Document the boards using this module, by specifying the BananaPi CM4 -compatible in addition to the baseboard compatible. - -Signed-off-by: Neil Armstrong ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 7ded40b309a4..94f68e7c85ed 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -158,6 +158,14 @@ properties: - - const: amlogic,a311d - - const: amlogic,g12b - -+ - description: Boards using the BPI-CM4 module with Amlogic Meson G12B A311D SoC -+ items: -+ - enum: -+ - bananapi,bpi-cm4io -+ - const: bananapi,bpi-cm4 -+ - const: amlogic,a311d -+ - const: amlogic,g12b -+ - - description: Boards with the Amlogic Meson G12B S922X SoC - items: - - enum: --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMGIT-6.4-arm64-dts-amlogic-Add-initial-support-fo.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMGIT-6.4-arm64-dts-amlogic-Add-initial-support-fo.patch deleted file mode 100644 index d5f4230f94..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMGIT-6.4-arm64-dts-amlogic-Add-initial-support-fo.patch +++ /dev/null @@ -1,610 +0,0 @@ -From b76cd699a611d0fb168b6204489b8f2e41311b6b Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Sat, 4 Mar 2023 07:14:17 +0000 -Subject: [PATCH 049/120] FROMGIT(6.4): arm64: dts: amlogic: Add initial - support for BPI-CM4 module with BPI-CM4IO baseboard - -Add support for both the BananaPi BPI-CM4 module and the BananaPi -baseboard which is comnpatible with the RaspberryPi CM4IO baseboard. - -The BananaPi BPI-CM4 module follows the CM4 specifications at [1], -but with a single HDMI port and a since DSI output. - -The current CM4IO baseboard DT should work fine on the Raspberry CM4 -baseboard and other derivatives baseboards, but proper DT should -be written for other baseboards. - -The split is done so it's easy to describe a new CM4 baseboard, enabling -only the necessary HW used on the baseboard. - -[1] https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf - -Signed-off-by: Neil Armstrong ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../amlogic/meson-g12b-bananapi-cm4-cm4io.dts | 165 ++++++++ - .../dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 388 ++++++++++++++++++ - 3 files changed, 554 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 5d5ec22a469e..f5845e565efb 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts -new file mode 100644 -index 000000000000..1b0c3881c6a1 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts -@@ -0,0 +1,165 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-bananapi-cm4.dtsi" -+#include -+#include -+#include -+ -+/ { -+ compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b"; -+ model = "BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module"; -+ -+ aliases { -+ ethernet0 = ðmac; -+ i2c0 = &i2c1; -+ i2c1 = &i2c3; -+ }; -+ -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 2>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1710000>; -+ -+ button-function { -+ label = "Function"; -+ linux,code = ; -+ press-threshold-microvolt = <10000>; -+ }; -+ }; -+ -+ hdmi_connector: hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ -+ led-green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "BPI-CM4IO"; -+ 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>; -+ -+ 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>; -+ }; -+ }; -+ }; -+}; -+ -+&cecb_AO { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+/* CSI port */ -+&i2c1 { -+ status = "okay"; -+}; -+ -+/* DSI port for touchscreen */ -+&i2c3 { -+ status = "okay"; -+}; -+ -+/* miniPCIe port with USB + SIM slot */ -+&pcie { -+ status = "okay"; -+}; -+ -+&sd_emmc_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+/* Peripheral Only USB-C port */ -+&usb { -+ dr_mode = "peripheral"; -+ -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi -new file mode 100644 -index 000000000000..dc0988c82694 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi -@@ -0,0 +1,388 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Neil Armstrong -+ */ -+ -+#include "meson-g12b-a311d.dtsi" -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ rtc1 = &vrtc; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOAO_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ 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 GPIOAO_3 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ regulator-always-on; -+ -+ gpios = <&gpio_ao GPIOAO_9 GPIO_OPEN_DRAIN>; -+ gpios-states = <1>; -+ -+ states = <1800000 0>, -+ <3300000 1>; -+ }; -+ -+ 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_a: regulator-vddcpu-a { -+ /* -+ * MP8756GD DC/DC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ 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 { -+ /* -+ * SY8120B1ABC DC/DC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ pwm-supply = <&dc_in>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ 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"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ 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>; -+}; -+ -+&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>; -+ }; -+}; -+ -+/* Ethernet to be enabled in baseboard DT */ -+ðmac { -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+/* HDMI to be enabled in baseboard DT */ -+&hdmi_tx { -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&dc_in>; -+}; -+ -+/* "Camera" I2C bus */ -+&i2c1 { -+ pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* Main I2C bus */ -+&i2c2 { -+ pinctrl-0 = <&i2c2_sda_x_pins>, <&i2c2_sck_x_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* "ID" I2C bus */ -+&i2c3 { -+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pcie { -+ reset-gpios = <&gpio GPIOA_8 GPIO_ACTIVE_LOW>; -+}; -+ -+&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"; -+ -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vddao_1v8>; -+ -+ status = "okay"; -+}; -+ -+/* on-module SDIO WiFi */ -+&sd_emmc_a { -+ 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 in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_3v3>; -+ -+ status = "okay"; -+ -+ rtl8822cs: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ -+/* SD card to be enabled in baseboard DT */ -+&sd_emmc_b { -+ 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 = <&vddio_c>; -+}; -+ -+/* on-module eMMC */ -+&sd_emmc_c { -+ 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 = <&vddao_1v8>; -+ -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+/* on-module UART BT */ -+&uart_A { -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ status = "okay"; -+ -+ 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>; -+ }; -+}; -+ -+&uart_AO { -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&usb { -+ phys = <&usb2_phy0>, <&usb2_phy1>; -+ phy-names = "usb2-phy0", "usb2-phy1"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-FROMLIST-v2-dt-bindings-serial-amlogic-meson-uart-Ad.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-FROMLIST-v2-dt-bindings-serial-amlogic-meson-uart-Ad.patch deleted file mode 100644 index a7a0d6be40..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-FROMLIST-v2-dt-bindings-serial-amlogic-meson-uart-Ad.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f9e1f4f9ae2a9390cc8bde8742f4454acc29ff0f Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Wed, 22 Feb 2023 21:41:53 +0100 -Subject: [PATCH 061/120] FROMLIST(v2): dt-bindings: serial: - amlogic,meson-uart: Add compatible string for G12A - -Amlogic G12A SoCs gained a new "divide XTAL by 2" bit. Everything else -(we know about) is identical to the UART IP on GX (GXBB/GXL/GXM) SoCs. -Add a new compatible string for this SoC so this new bit can be managed -accordingly while keeping "amlogic,meson-gx-uart" as fallback compatible -string. - -Signed-off-by: Martin Blumenstingl ---- - .../bindings/serial/amlogic,meson-uart.yaml | 28 +++++++++++++------ - 1 file changed, 19 insertions(+), 9 deletions(-) - -diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml -index 7822705ad16c..644d52859497 100644 ---- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml -+++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml -@@ -23,21 +23,31 @@ properties: - compatible: - oneOf: - - description: Always-on power domain UART controller -- items: -+ oneOf: -+ - items: -+ - enum: -+ - amlogic,meson6-uart -+ - amlogic,meson8-uart -+ - amlogic,meson8b-uart -+ - amlogic,meson-gx-uart -+ - amlogic,meson-s4-uart -+ - const: amlogic,meson-ao-uart -+ - items: -+ - const: amlogic,meson-g12a-uart -+ - const: amlogic,meson-gx-uart -+ - const: amlogic,meson-ao-uart -+ - description: Everything-Else power domain UART controller -+ oneOf: - - enum: - - amlogic,meson6-uart - - amlogic,meson8-uart - - amlogic,meson8b-uart - - amlogic,meson-gx-uart -+ - amlogic,meson-g12a-uart - - amlogic,meson-s4-uart -- - const: amlogic,meson-ao-uart -- - description: Everything-Else power domain UART controller -- enum: -- - amlogic,meson6-uart -- - amlogic,meson8-uart -- - amlogic,meson8b-uart -- - amlogic,meson-gx-uart -- - amlogic,meson-s4-uart -+ - items: -+ - const: amlogic,meson-g12a-uart -+ - const: amlogic,meson-gx-uart - - reg: - maxItems: 1 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-FROMLIST-v2-tty-serial-meson-Add-a-new-compatible-st.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-FROMLIST-v2-tty-serial-meson-Add-a-new-compatible-st.patch deleted file mode 100644 index 1b9f041712..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-FROMLIST-v2-tty-serial-meson-Add-a-new-compatible-st.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6784e19cbe62900c5524fe8e2b5b6216f7fb2ae5 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Wed, 22 Feb 2023 21:44:16 +0100 -Subject: [PATCH 062/120] FROMLIST(v2): tty: serial: meson: Add a new - compatible string for the G12A SoC - -Amlogic Meson G12A (and later) SoCs also have the "divide XTAL by 2" bit -as the S4 UART controllers. Add a new compatible string for these SoCs -and enable the has_xtal_div2 flag for them. - -Tested-by: Christian Hewitt -Signed-off-by: Martin Blumenstingl ---- - drivers/tty/serial/meson_uart.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 056243c12836..931965d2fecc 100644 ---- a/drivers/tty/serial/meson_uart.c -+++ b/drivers/tty/serial/meson_uart.c -@@ -780,7 +780,7 @@ static int meson_uart_remove(struct platform_device *pdev) - return 0; - } - --static struct meson_uart_data s4_uart_data = { -+static struct meson_uart_data meson_g12a_uart_data = { - .has_xtal_div2 = true, - }; - -@@ -789,9 +789,13 @@ static const struct of_device_id meson_uart_dt_match[] = { - { .compatible = "amlogic,meson8-uart" }, - { .compatible = "amlogic,meson8b-uart" }, - { .compatible = "amlogic,meson-gx-uart" }, -+ { -+ .compatible = "amlogic,meson-g12a-uart", -+ .data = (void *)&meson_g12a_uart_data, -+ }, - { - .compatible = "amlogic,meson-s4-uart", -- .data = (void *)&s4_uart_data, -+ .data = (void *)&meson_g12a_uart_data, - }, - { /* sentinel */ }, - }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-FROMLIST-v2-arm64-dts-meson-g12-common-Use-the-G12A-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-FROMLIST-v2-arm64-dts-meson-g12-common-Use-the-G12A-.patch deleted file mode 100644 index 15a86382d4..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-FROMLIST-v2-arm64-dts-meson-g12-common-Use-the-G12A-.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 9bf0bf029cc3ddea57cab66ea49db0d69048ee99 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Wed, 22 Feb 2023 21:47:16 +0100 -Subject: [PATCH 063/120] FROMLIST(v2): arm64: dts: meson-g12-common: Use the - G12A UART compatible string - -Switch meson-12-common.dtsi to use the Meson G12A specific UART -compatible string. This enables the "divide XTAL by 2" divider which -improves support for UART attached Bluetooth modules (for example -RTL8822CS) running at a baud rate of 1500000. Without dividing XTAL -(24MHz) by 2 a baud rate of 1500000 cannot be generated cleanly and the -resulting jitter breaks communication with the module. - -Tested-by: Christian Hewitt -Signed-off-by: Martin Blumenstingl ---- - arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index bb2e86073261..ec78283d9a9e 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -2040,7 +2040,8 @@ pwm_AO_cd: pwm@2000 { - }; - - uart_AO: serial@3000 { -- compatible = "amlogic,meson-gx-uart", -+ compatible = "amlogic,meson-g12a-uart", -+ "amlogic,meson-gx-uart", - "amlogic,meson-ao-uart"; - reg = <0x0 0x3000 0x0 0x18>; - interrupts = ; -@@ -2050,7 +2051,8 @@ uart_AO: serial@3000 { - }; - - uart_AO_B: serial@4000 { -- compatible = "amlogic,meson-gx-uart", -+ compatible = "amlogic,meson-g12a-uart", -+ "amlogic,meson-gx-uart", - "amlogic,meson-ao-uart"; - reg = <0x0 0x4000 0x0 0x18>; - interrupts = ; -@@ -2287,7 +2289,8 @@ clk_msr: clock-measure@18000 { - }; - - uart_C: serial@22000 { -- compatible = "amlogic,meson-gx-uart"; -+ compatible = "amlogic,meson-g12a-uart", -+ "amlogic,meson-gx-uart"; - reg = <0x0 0x22000 0x0 0x18>; - interrupts = ; - clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; -@@ -2296,7 +2299,8 @@ uart_C: serial@22000 { - }; - - uart_B: serial@23000 { -- compatible = "amlogic,meson-gx-uart"; -+ compatible = "amlogic,meson-g12a-uart", -+ "amlogic,meson-gx-uart"; - reg = <0x0 0x23000 0x0 0x18>; - interrupts = ; - clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; -@@ -2305,7 +2309,8 @@ uart_B: serial@23000 { - }; - - uart_A: serial@24000 { -- compatible = "amlogic,meson-gx-uart"; -+ compatible = "amlogic,meson-g12a-uart", -+ "amlogic,meson-gx-uart"; - reg = <0x0 0x24000 0x0 0x18>; - interrupts = ; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch deleted file mode 100644 index 41b746fcde..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch +++ /dev/null @@ -1,215 +0,0 @@ -From c60ca77b02dd6904ffbd5418138a5880a822b460 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 27 Nov 2021 13:50:06 +0000 -Subject: [PATCH 071/120] WIP: arm64: dts: meson: add Headphone output to - Beelink GT-King - -Add support for the Headphone audio DAC built-in to the S922X chip. - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-g12b-gtking.dts | 120 +++++++++++++++++- - 1 file changed, 113 insertions(+), 7 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts -index 5d96c1449050..a441975cbfb0 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts -@@ -8,6 +8,7 @@ - /dts-v1/; - - #include "meson-g12b-w400.dtsi" -+#include - #include - - / { -@@ -29,14 +30,37 @@ spdif_dit: audio-codec-1 { - sound { - compatible = "amlogic,axg-sound-card"; - model = "GTKING"; -- audio-aux-devs = <&tdmout_b>; -+ audio-widgets = "Line", "Lineout"; -+ audio-aux-devs = <&tdmout_b>, <&tdmout_c>, -+ <&tdmin_a>, <&tdmin_b>, <&tdmin_c>; - 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", -+ "TDMOUT_C IN 0", "FRDDR_A OUT 2", -+ "TDMOUT_C IN 1", "FRDDR_B OUT 2", -+ "TDMOUT_C IN 2", "FRDDR_C OUT 2", -+ "TDM_C Playback", "TDMOUT_C OUT", -+ "TDMIN_A IN 4", "TDM_B Loopback", -+ "TDMIN_B IN 4", "TDM_B Loopback", -+ "TDMIN_C IN 4", "TDM_B Loopback", -+ "TDMIN_A IN 5", "TDM_C Loopback", -+ "TDMIN_B IN 5", "TDM_C Loopback", -+ "TDMIN_C IN 5", "TDM_C Loopback", -+ "TODDR_A IN 0", "TDMIN_A OUT", -+ "TODDR_B IN 0", "TDMIN_A OUT", -+ "TODDR_C IN 0", "TDMIN_A OUT", -+ "TODDR_A IN 1", "TDMIN_B OUT", -+ "TODDR_B IN 1", "TDMIN_B OUT", -+ "TODDR_C IN 1", "TDMIN_B OUT", -+ "TODDR_A IN 2", "TDMIN_C OUT", -+ "TODDR_B IN 2", "TDMIN_C OUT", -+ "TODDR_C IN 2", "TDMIN_C OUT", - "SPDIFOUT IN 0", "FRDDR_A OUT 3", - "SPDIFOUT IN 1", "FRDDR_B OUT 3", -- "SPDIFOUT IN 2", "FRDDR_C OUT 3"; -+ "SPDIFOUT IN 2", "FRDDR_C OUT 3", -+ "Lineout", "ACODEC LOLP", -+ "Lineout", "ACODEC LORP"; - - assigned-clocks = <&clkc CLKID_MPLL2>, - <&clkc CLKID_MPLL0>, -@@ -59,8 +83,20 @@ dai-link-2 { - sound-dai = <&frddr_c>; - }; - -- /* 8ch hdmi interface */ - 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_b>; - dai-format = "i2s"; - dai-tdm-slot-tx-mask-0 = <1 1>; -@@ -69,13 +105,17 @@ dai-link-3 { - dai-tdm-slot-tx-mask-3 = <1 1>; - mclk-fs = <256>; - -- codec { -+ codec-0 { - sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; - }; -+ -+ codec-1 { -+ sound-dai = <&toacodec TOACODEC_IN_B>; -+ }; - }; - - /* spdif hdmi or toslink interface */ -- dai-link-4 { -+ dai-link-7 { - sound-dai = <&spdifout>; - - codec-0 { -@@ -88,7 +128,7 @@ codec-1 { - }; - - /* spdif hdmi interface */ -- dai-link-5 { -+ dai-link-8 { - sound-dai = <&spdifout_b>; - - codec { -@@ -96,17 +136,47 @@ codec { - }; - }; - -+ /* i2s jack output interface */ -+ dai-link-9 { -+ sound-dai = <&tdmif_c>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec-0 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&toacodec TOACODEC_IN_C>; -+ }; -+ }; -+ - /* hdmi glue */ -- dai-link-6 { -+ dai-link-10 { - sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; - - codec { - sound-dai = <&hdmi_tx>; - }; - }; -+ -+ /* acodec glue */ -+ dai-link-11 { -+ sound-dai = <&toacodec TOACODEC_OUT>; -+ -+ codec { -+ sound-dai = <&acodec>; -+ }; -+ }; - }; - }; - -+&acodec { -+ AVDD-supply = <&vddao_1v8>; -+ status = "okay"; -+}; -+ - &arb { - status = "okay"; - }; -@@ -154,10 +224,46 @@ &tdmif_b { - status = "okay"; - }; - -+&tdmif_c { -+ status = "okay"; -+}; -+ -+&tdmin_a { -+ status = "okay"; -+}; -+ -+&tdmin_b { -+ status = "okay"; -+}; -+ -+&tdmin_c { -+ status = "okay"; -+}; -+ - &tdmout_b { - status = "okay"; - }; - -+&tdmout_c { -+ status = "okay"; -+}; -+ -+&toacodec { -+ status = "okay"; -+}; -+ -+&toddr_a { -+ status = "okay"; -+}; -+ -+&toddr_b { -+ status = "okay"; -+}; -+ -+&toddr_c { -+ status = "okay"; -+}; -+ - &tohdmitx { - status = "okay"; - }; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch deleted file mode 100644 index 3d0af16ff5..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d7ec2bf4d082d383dd2f3a77cbf46bb10261ea59 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 29 Feb 2020 15:13:02 +0000 -Subject: [PATCH 072/120] WIP: dt-bindings: arm: amlogic: add support for the - Tanix TX5 Max - -The Oranth (Tanix) TX5 Max is based on the Amlogic U200 reference -board with an S905X2 chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 94f68e7c85ed..845a5eb56ff3 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -146,6 +146,7 @@ properties: - - enum: - - amediatech,x96-max - - amlogic,u200 -+ - oranth,tx5-max - - radxa,zero - - seirobotics,sei510 - - const: amlogic,g12a --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch deleted file mode 100644 index 02eb33fa99..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch +++ /dev/null @@ -1,529 +0,0 @@ -From e842f0a1b8d3454ac9a166c992986fe9bc5af99f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 20 Oct 2019 04:06:59 +0000 -Subject: [PATCH 073/120] WIP: arm64: dts: meson: add support for the Tanix TX5 - Max - -The Tanix TX5 Max is based on the Amlogic U200 reference design -using the S905X2 chipset. Hardware specification: - -- 4GB LPDDR4 RAM -- 32GB eMMC storage -- 10/100/1000 Base-T Ethernet using External RGMII PHY -- 802.11 a/b/g/b/ac + BT 4.1 sdio wireless -- HDMI 2.0 (4k@60p) video -- Composite video + 2-channel audio output on 3.5mm jack -- S/PDIF audio output -- 1x USB 3.0 -- 1x USB 2.0 -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-g12a-tanix-tx5max.dts | 481 ++++++++++++++++++ - 2 files changed, 482 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index f5845e565efb..5897fd0f594b 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12a-tanix-tx5max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts -new file mode 100644 -index 000000000000..0e55427ca398 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts -@@ -0,0 +1,481 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2018 BayLibre SAS. All rights reserved. -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12a.dtsi" -+#include -+#include -+#include -+ -+/ { -+ compatible = "oranth,tx5-max", "amlogic,g12a"; -+ model = "Tanix TX5 Max"; -+ -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ spdif_dit: audio-codec-1 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ 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>; -+ }; -+ }; -+ }; -+ -+ 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"; -+ }; -+ -+ flash_1v8: regulator-flash_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "FLASH_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vcc_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; -+ }; -+ -+ 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 */ -+ }; -+ -+ 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-low; -+ }; -+ -+ 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 { -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU"; -+ regulator-min-microvolt = <721000>; -+ regulator-max-microvolt = <1022000>; -+ -+ vin-supply = <&dc_in>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "TANIX-TX5MAX"; -+ 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", -+ "SPDIFOUT IN 0", "FRDDR_A OUT 3", -+ "SPDIFOUT IN 1", "FRDDR_B OUT 3", -+ "SPDIFOUT IN 2", "FRDDR_C OUT 3"; -+ -+ 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>; -+ }; -+ }; -+ -+ /* spdif hdmi or toslink interface */ -+ dai-link-4 { -+ sound-dai = <&spdifout>; -+ -+ codec-0 { -+ sound-dai = <&spdif_dit>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; -+ }; -+ }; -+ -+ /* spdif hdmi interface */ -+ dai-link-5 { -+ sound-dai = <&spdifout_b>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-6 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&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>; -+ 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_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU_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"; -+}; -+ -+&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>; -+ }; -+}; -+ -+&ir { -+ status = "okay"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+ linux,rc-map-name = "rc-tx5max"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ eee-broken-1000t; -+ -+ 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>; -+ }; -+}; -+ -+ðmac { -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ phy-mode = "rgmii"; -+ phy-handle = <&external_phy>; -+ amlogic,tx-delay-ns = <2>; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+}; -+ -+&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"; -+ }; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+ dr_mode = "host"; -+}; -+ -+/* 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; -+ sd-uhs-sdr50; -+ 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 = <100000000>; -+ 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; -+ max-frequency = <100000000>; -+ non-removable; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&flash_1v8>; -+}; -+ -+&spdifout { -+ pinctrl-0 = <&spdif_out_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&spdifout_b { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch deleted file mode 100644 index 45f883e3e3..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch +++ /dev/null @@ -1,215 +0,0 @@ -From 98656236664654dc5163a60522ed69d7e3f99823 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 21 Oct 2019 03:58:06 +0000 -Subject: [PATCH 074/120] WIP: arm64: dts: meson: add multiple MeCool device - trees - -This adds initial device trees for a range of MeCool devices based on various -Amlogic GXBB, GXL and GXM reference designs. The current purpose is to allow -devices to be associated with their respective IR remote keymaps. It also -prepares for the addition of DVB support in the future. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 11 ++++++ - .../dts/amlogic/meson-gxbb-mecool-ki-plus.dts | 34 +++++++++++++++++++ - .../dts/amlogic/meson-gxbb-mecool-kii-pro.dts | 34 +++++++++++++++++++ - .../meson-gxl-s905d-mecool-ki-plus.dts | 21 ++++++++++++ - .../amlogic/meson-gxl-s905d-mecool-ki-pro.dts | 16 +++++++++ - .../meson-gxl-s905d-mecool-m8s-plus.dts | 16 +++++++++ - 6 files changed, 132 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-kii-pro.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-plus.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-pro.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 5897fd0f594b..be7cc188706a 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -20,6 +20,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb -@@ -33,12 +35,21 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-plus.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-kii-pro.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-m8s-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts -new file mode 100644 -index 000000000000..cb422633a8f9 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts -@@ -0,0 +1,34 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/* -+ * Author: Christian Hewitt -+ */ -+ -+#include "meson-gxbb-p201.dts" -+ -+/ { -+ compatible = "videostrong,gxbb-ki-plus", "amlogic,meson-gxbb"; -+ model = "MeCool KI Plus"; -+ -+ clock: meson_clock { -+ compatible = "amlogic, gxbb-clock"; -+ reg = <0x0 0xc883c000 0x0 0x1000>, -+ <0x0 0xc8100000 0x0 0x1000>; -+ #clock-cells = <1>; -+ #reset-cells = <1>; -+ sys_max = <1536000000>; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-ki-plus"; -+}; -+ -+&usb_pwr { -+ gpio = <>; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-kii-pro.dts -new file mode 100644 -index 000000000000..0dbcf0f7dbd9 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-kii-pro.dts -@@ -0,0 +1,34 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/* -+ * Author: Christian Hewitt -+ */ -+ -+#include "meson-gxbb-p201.dts" -+ -+/ { -+ compatible = "videostrong,gxbb-kii-pro", "amlogic,meson-gxbb"; -+ model = "MeCool KII Pro"; -+ -+ clock: meson_clock { -+ compatible = "amlogic, gxbb-clock"; -+ reg = <0x0 0xc883c000 0x0 0x1000>, -+ <0x0 0xc8100000 0x0 0x1000>; -+ #clock-cells = <1>; -+ #reset-cells = <1>; -+ sys_max = <1536000000>; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-kii-pro"; -+}; -+ -+&usb_pwr { -+ gpio = <>; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-plus.dts -new file mode 100644 -index 000000000000..b4aed5d0dbdf ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-plus.dts -@@ -0,0 +1,21 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/* -+ * Author: Christian Hewitt -+ */ -+ -+#include "meson-gxl-s905d-p231.dts" -+ -+/ { -+ compatible = "videostrong,gxl-ki-plus", "amlogic,s905d", "amlogic,meson-gxl"; -+ model = "MeCool KI Plus"; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-ki-plus"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-pro.dts -new file mode 100644 -index 000000000000..af695620728c ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-pro.dts -@@ -0,0 +1,16 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/* -+ * Author: Christian Hewitt -+ */ -+ -+#include "meson-gxl-s905d-p230.dts" -+ -+/ { -+ compatible = "videostrong,gxl-ki-pro", "amlogic,s905d", "amlogic,meson-gxl"; -+ model = "MeCool KI Pro"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-ki-pro"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts -new file mode 100644 -index 000000000000..3ddcf59d2649 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts -@@ -0,0 +1,16 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/* -+ * Author: Christian Hewitt -+ */ -+ -+#include "meson-gxl-s905d-p231.dts" -+ -+/ { -+ compatible = "videostrong,gxl-kii-pro", "amlogic,s905d", "amlogic,meson-gxl"; -+ model = "MeCool M8S Plus"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-m8s-plus"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch deleted file mode 100644 index d7fa0ed79b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 821b974dba480063ad5c60d83bd28441ba164f7c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 11 Apr 2021 05:50:13 +0000 -Subject: [PATCH 075/120] WIP: dt-bindings: arm: amlogic: add support for Minix - NEO-U1 - -The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB) -reference design with an S905 chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 845a5eb56ff3..657af6e662ea 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -58,6 +58,7 @@ properties: - - amlogic,p201 - - friendlyarm,nanopi-k2 - - hardkernel,odroid-c2 -+ - minix,neo-u1 - - nexbox,a95x - - videostrong,kii-pro - - wetek,hub --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch deleted file mode 100644 index 9ce8b79988..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch +++ /dev/null @@ -1,241 +0,0 @@ -From d498d3a2fbd330d5f85f75b0f752351fe6745d53 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 11 Apr 2021 05:52:14 +0000 -Subject: [PATCH 076/120] WIP: arm64: dts: meson: add initial device-tree for - Minix NEO-U1 - -The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB) -reference design with an S905-H chip and the following specs: - -- 2GB DDR3 RAM -- 16GB eMMC -- 10/100/1000 Base-T Ethernet -- AP6356 Wireless (802.11 b/g/n/ac, BT 5.0) -- HDMI 2.1 video -- S/PDIF optical output -- ES8323 DAC -- 3x USB 2.0 port -- 1x USB micro OTG port -- RTC chip (hym8563) -- IR receiver -- 1x Power LED (white) -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-gxbb-minix-neo-u1.dts | 189 ++++++++++++++++++ - 2 files changed, 190 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index be7cc188706a..c310be848a62 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-minix-neo-u1.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts -new file mode 100644 -index 000000000000..5343e90f9f34 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts -@@ -0,0 +1,189 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-p20x.dtsi" -+#include -+#include -+#include -+#include -+ -+/ { -+ compatible = "minix,neo-u1", "amlogic,meson-gxbb"; -+ model = "Minix NEO U1"; -+ -+ aliases { -+ rtc0 = &rtc; -+ }; -+ -+ spdif_dit: audio-codec-0 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-status { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <20>; -+ -+ button-reset { -+ label = "reset"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ avdd18_usb_adc: regulator-avdd18_usb_adc { -+ compatible = "regulator-fixed"; -+ regulator-name = "AVDD18_USB_ADC"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "MINIX-NEO"; -+ 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"; -+}; -+ -+ð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>; -+ }; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-minix-neo"; -+}; -+ -+&i2c_A { -+ status = "okay"; -+ pinctrl-0 = <&i2c_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&i2c_B { -+ status = "okay"; -+ pinctrl-0 = <&i2c_b_pins>; -+ pinctrl-names = "default"; -+ -+ rtc: rtc@51 { -+ status = "okay"; -+ compatible = "haoyu,hym8563"; -+ reg = <0x51>; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ clock-output-names = "xin32k"; -+ wakeup-source; -+ }; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&avdd18_usb_adc>; -+}; -+ -+/* 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 = "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/devices/AMLGX/patches/linux/amlogic-0077-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0077-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch deleted file mode 100644 index 3165dd11b5..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0077-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e262438bbff7de98affac0b45496fc1e96cab49e Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 19 Aug 2022 21:32:21 +0000 -Subject: [PATCH 077/120] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to - Minix NEO-U1 - -Add node aliases to prevent meson-vrtc from claiming /dev/rtc0 - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts -index 5343e90f9f34..5900ee92ca28 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts -@@ -17,6 +17,7 @@ / { - - aliases { - rtc0 = &rtc; -+ rtc1 = &vrtc; - }; - - spdif_dit: audio-codec-0 { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch deleted file mode 100644 index 37c6674cad..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 13fcb2cd934993bf97d27f11db35f2a478d173b4 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 8 Dec 2021 15:28:50 +0000 -Subject: [PATCH 078/120] WIP: dt-bindings: arm: amlogic: add support for - Beelink Mini MXIII - -The Beelink Mini MXIII is an Android STB based on the Amlogic P200 -(GXBB) reference design with an S905 chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 657af6e662ea..a0ea076b7b4d 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -56,6 +56,7 @@ properties: - - enum: - - amlogic,p200 - - amlogic,p201 -+ - beelink,mini-mxiii - - friendlyarm,nanopi-k2 - - hardkernel,odroid-c2 - - minix,neo-u1 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch deleted file mode 100644 index 8ce3bb7e0c..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 7202d36700ce8a77703bcc0d1ee1b0ba1346927a Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 8 Dec 2021 15:26:00 +0000 -Subject: [PATCH 079/120] WIP: arm64: dts: meson: add support for Beelink Mini - MXIII - -This is a GXBB board that ships in two variants, one with -a Broadcom SDIO module, and a second with RTL8723BS. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../amlogic/meson-gxbb-beelink-mini-mxiii.dts | 172 ++++++++++++++++++ - 2 files changed, 173 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index c310be848a62..f27222c9d292 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-beelink-mini-mxiii.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-minix-neo-u1.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts -new file mode 100644 -index 000000000000..3d99ca93e1d5 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts -@@ -0,0 +1,172 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-p20x.dtsi" -+#include -+#include -+#include -+#include -+ -+/ { -+ compatible = "beelink,mini-mxiii", "amlogic,meson-gxbb"; -+ model = "Beelink Mini MXIII"; -+ -+ spdif_dit: audio-codec-0 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-power { -+ /* Red in Standby */ -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <20>; -+ -+ button-reset { -+ label = "reset"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ avdd18_usb_adc: regulator-avdd18_usb_adc { -+ compatible = "regulator-fixed"; -+ regulator-name = "AVDD18_USB_ADC"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "MINI-MXIII"; -+ 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"; -+}; -+ -+ð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>; -+ }; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-beelink-mxiii"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&avdd18_usb_adc>; -+}; -+ -+/* Realtek Wireless SDIO Module */ -+&sd_emmc_a { -+ /delete-node/ brcmf; -+ -+ rtl8723bs: wifi@1 { -+ reg = <1>; -+ compatible = "realtek,rtl8723bs"; -+ }; -+}; -+ -+/* 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 = "realtek,rtl8723bs-bt"; -+ enable-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; -+ host-wake-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; -+ }; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch deleted file mode 100644 index 322c78ffb6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 895414b87c0d4e345c304d48bd39cdf1b3408e81 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 16 Jan 2022 08:48:02 +0000 -Subject: [PATCH 080/120] WIP: media: rc: add keymap for MeCool M8S Pro W - remote - -Add a keymap and bindings for the simple IR (NEC) remote used with -the MeCool M8S Pro W Android STB device. - -Signed-off-by: Christian Hewitt ---- - .../devicetree/bindings/media/rc.yaml | 1 + - drivers/media/rc/keymaps/Makefile | 2 + - .../media/rc/keymaps/rc-mecool-m8s-pro-w.c | 75 +++++++++++++++++++ - include/media/rc-map.h | 1 + - 4 files changed, 79 insertions(+) - create mode 100644 drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c - -diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index deeda4bb8dae..37583861376e 100644 ---- a/Documentation/devicetree/bindings/media/rc.yaml -+++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -95,6 +95,7 @@ properties: - - rc-manli - - rc-mecool-kii-pro - - rc-mecool-kiii-pro -+ - rc-mecool-m8s-pro-w - - rc-medion-x10 - - rc-medion-x10-digitainer - - rc-medion-x10-or2x -diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index f19558fdab0c..f1fba08d8ed4 100644 ---- a/drivers/media/rc/keymaps/Makefile -+++ b/drivers/media/rc/keymaps/Makefile -@@ -76,6 +76,8 @@ obj-$(CONFIG_RC_MAP) += \ - rc-manli.o \ - rc-mecool-kiii-pro.o \ - rc-mecool-kii-pro.o \ -+ rc-mecool-m8s-pro-w.o \ -+ rc-medion-x10.o \ - rc-medion-x10-digitainer.o \ - rc-medion-x10.o \ - rc-medion-x10-or2x.o \ -diff --git a/drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c b/drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c -new file mode 100644 -index 000000000000..9024b999d5a9 ---- /dev/null -+++ b/drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c -@@ -0,0 +1,75 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+// -+// Copyright (C) 2022 Christian Hewitt -+ -+#include -+#include -+ -+// -+// Keytable for the MeCool M8S Pro W remote control -+// -+ -+static struct rc_map_table mecool_m8s_pro_w[] = { -+ -+ { 0x59, KEY_POWER }, -+ -+ // TV CONTROLS -+ -+ { 0x08, KEY_PREVIOUS }, -+ { 0x0b, KEY_NEXT }, -+ { 0x18, KEY_TEXT }, // INTERNET -+ { 0x19, KEY_MUTE }, -+ { 0x13, KEY_VOLUMEUP }, -+ { 0x17, KEY_VOLUMEDOWN }, -+ -+ { 0x0d, KEY_HOME }, -+ { 0x05, KEY_BACK }, -+ -+ { 0x06, KEY_UP }, -+ { 0x5a, KEY_LEFT }, -+ { 0x1b, KEY_RIGHT }, -+ { 0x1a, KEY_ENTER }, -+ { 0x16, KEY_DOWN }, -+ -+ { 0x45, KEY_MENU }, -+ { 0x12, KEY_CONTEXT_MENU }, // MOUSE -+ -+ { 0x52, KEY_NUMERIC_1 }, -+ { 0x50, KEY_NUMERIC_2 }, -+ { 0x10, KEY_NUMERIC_3 }, -+ { 0x56, KEY_NUMERIC_4 }, -+ { 0x54, KEY_NUMERIC_5 }, -+ { 0x14, KEY_NUMERIC_6 }, -+ { 0x4e, KEY_NUMERIC_7 }, -+ { 0x4c, KEY_NUMERIC_8 }, -+ { 0x0c, KEY_NUMERIC_9 }, -+ { 0x22, KEY_INFO }, // SEARCH -+ { 0x0f, KEY_NUMERIC_0 }, -+ { 0x51, KEY_BACKSPACE }, -+ -+}; -+ -+static struct rc_map_list mecool_m8s_pro_w_map = { -+ .map = { -+ .scan = mecool_m8s_pro_w, -+ .size = ARRAY_SIZE(mecool_m8s_pro_w), -+ .rc_proto = RC_PROTO_NEC, -+ .name = RC_MAP_MECOOL_M8S_PRO_W, -+ } -+}; -+ -+static int __init init_rc_map_mecool_m8s_pro_w(void) -+{ -+ return rc_map_register(&mecool_m8s_pro_w_map); -+} -+ -+static void __exit exit_rc_map_mecool_m8s_pro_w(void) -+{ -+ rc_map_unregister(&mecool_m8s_pro_w_map); -+} -+ -+module_init(init_rc_map_mecool_m8s_pro_w) -+module_exit(exit_rc_map_mecool_m8s_pro_w) -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Christian Hewitt -Date: Sun, 16 Jan 2022 08:15:36 +0000 -Subject: [PATCH 081/120] WIP: dt-bindings: arm: amlogic: add support for - MeCool M8S Pro W - -The MeCool M8S Pro W is an Android STB based on the Amlogic P281 -(GXL) reference design with an S905W chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index a0ea076b7b4d..70706c8d5ed8 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -89,6 +89,7 @@ properties: - - amlogic,p281 - - oranth,tx3-mini - - jethome,jethub-j80 -+ - videostrong,gxl-m8s-pro-w - - const: amlogic,s905w - - const: amlogic,meson-gxl - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch deleted file mode 100644 index 1bede5f714..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 8dbd84116d2dd92367fe327292e71104c84f5b0c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 16 Jan 2022 08:17:41 +0000 -Subject: [PATCH 082/120] WIP: arm64: dts: meson: add support for MeCool M8S - Pro W - -MeCool M8S Pro W is an Android STB based on the Amlogic P281 (GXL) -reference design with an S905W chip and the following specs: - -- 2GB DDR3 RAM -- 16GB eMMC -- 10/100 Base-T Ethernet -- SSV6051P Wireless (802.11 b/g/n) -- HDMI 2.0 video -- 1x 3.5mm AV jack -- 2x USB 2.0 port -- IR receiver -- 1x Power LED (blue) -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - .../meson-gxl-s905w-mecool-m8s-pro-w.dts | 30 +++++++++++++++++++ - 1 file changed, 30 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-mecool-m8s-pro-w.dts - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-mecool-m8s-pro-w.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-mecool-m8s-pro-w.dts -new file mode 100644 -index 000000000000..a5bbe7315471 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-mecool-m8s-pro-w.dts -@@ -0,0 +1,30 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2018 Martin Blumenstingl . -+ * Based on meson-gxl-s905d-p231.dts: -+ * - Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905x.dtsi" -+#include "meson-gx-p23x-q20x.dtsi" -+ -+/ { -+ compatible = "videostrong,gxl-m8s-pro-w", "amlogic,s905w", "amlogic,meson-gxl"; -+ model = "MeCool M8S Pro W"; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-m8s-pro-w"; -+}; -+ -+&usb { -+ dr_mode = "host"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch deleted file mode 100644 index 0b9a74d026..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 98ae62b3a7453b7210a56a97b0d78d5772f5d797 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 19 Jan 2022 02:40:20 +0000 -Subject: [PATCH 083/120] WIP: dt-bindings: arm: amlogic: add Vero 4K binding - -Add the board binding for the OSMC Vero 4K STB device - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 70706c8d5ed8..63a2093cb626 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -102,6 +102,7 @@ properties: - - libretech,aml-s905x-cc - - libretech,aml-s905x-cc-v2 - - nexbox,a95x -+ - osmc,vero4k - - const: amlogic,s905x - - const: amlogic,meson-gxl - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch deleted file mode 100644 index 8bdeaf5220..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch +++ /dev/null @@ -1,230 +0,0 @@ -From 3cf39f2b0406b2d6c9eaf85e1e8e920448357ba1 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 19 Jan 2022 04:06:17 +0000 -Subject: [PATCH 084/120] WIP: arm64: dts: meson: add support for OSMC Vero 4K - -The OSMC Vero 4K device is based on the Amlogic S905X (P212) reference -design with the following specifications: - -- 2GB DDR4 RAM -- 16GB eMMC -- HDMI 2.1 video -- S/PDIF optical output -- AV output -- 10/100 Ethernet -- AP6255 Wireless (802.11 a/b/g/n/ac, BT 4.2) -- 2x USB 2.0 ports (1x OTG) -- IR receiver (internal) -- IR extender port (external) -- 1x micro SD card slot -- 1x Power LED (red) -- 1x Reset button (in AV jack) - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-gxl-s905x-vero4k.dts | 180 ++++++++++++++++++ - 2 files changed, 181 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index f27222c9d292..2c4c83cc0a04 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -52,6 +52,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts -new file mode 100644 -index 000000000000..6196153e424d ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts -@@ -0,0 +1,180 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Author: Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905x-p212.dtsi" -+#include -+#include -+#include -+ -+/ { -+ compatible = "osmc,vero4k", "amlogic,s905x", "amlogic,meson-gxl"; -+ model = "OSMC Vero 4K"; -+ -+ reserved-memory { -+ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ -+ secmon_reserved_bl32: secmon@5300000 { -+ reg = <0x0 0x05300000 0x0 0x2000000>; -+ no-map; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <20>; -+ -+ button@0 { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-standby { -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_LOW>; -+ default-state = "off"; -+ panic-indicator; -+ }; -+ }; -+ -+ dio2133: analog-amplifier { -+ compatible = "simple-audio-amplifier"; -+ sound-name-prefix = "AU2"; -+ VCC-supply = <&hdmi_5v>; -+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ 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>; -+ }; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "VERO4K"; -+ audio-aux-devs = <&dio2133>; -+ audio-widgets = "Line", "Lineout"; -+ audio-routing = "AU2 INL", "ACODEC LOLN", -+ "AU2 INR", "ACODEC LORN", -+ "Lineout", "AU2 OUTL", -+ "Lineout", "AU2 OUTR"; -+ 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>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddio_ao18>; -+ status = "okay"; -+}; -+ -+&aiu { -+ status = "okay"; -+}; -+ -+&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 { -+ phy-mode = "rmii"; -+ phy-handle = <&internal_phy>; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&hdmi_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&internal_phy { -+ pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* This UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-sm1-x96-air-add-RTL8822CS-WiFi-a.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-sm1-x96-air-add-RTL8822CS-WiFi-a.patch deleted file mode 100644 index 9f92a3a7e2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-sm1-x96-air-add-RTL8822CS-WiFi-a.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 98494cbc35117a83cff5e0c23d200243bdff4f43 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 12 Apr 2022 11:21:21 +0000 -Subject: [PATCH 085/120] WIP: arm64: dts: meson: sm1-x96-air: add RTL8822CS - WiFi and Bluetooth support - -Add support for the RTL8822CS WiFi and BT module on the board. - -Signed-off-by: Christian Hewitt ---- - .../dts/amlogic/meson-sm1-x96-air-gbit.dts | 24 +++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts -index 7e1a74046ba5..9217db5bdcea 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts -@@ -13,6 +13,10 @@ / { - compatible = "amediatech,x96-air-gbit", "amlogic,sm1"; - model = "Shenzhen Amediatech Technology Co., Ltd X96 Air"; - -+ aliases { -+ serial2 = &uart_A; -+ }; -+ - sound { - compatible = "amlogic,axg-sound-card"; - model = "X96-AIR"; -@@ -120,6 +124,12 @@ &ir { - linux,rc-map-name = "rc-x96max"; - }; - -+&sd_emmc_a { -+ rtl8822cs: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ - &tdmif_b { - status = "okay"; - }; -@@ -131,3 +141,17 @@ &tdmout_b { - &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 = "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>; -+ }; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch deleted file mode 100644 index f25987d739..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch +++ /dev/null @@ -1,154 +0,0 @@ -From bbb4c8b01cf73f2e600b1d67b742d515e1f2e6d1 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 10 Apr 2022 11:51:38 +0000 -Subject: [PATCH 086/120] WIP: media: rc: add keymap for Venz V10 remote - -Add a keymap and bindings for the IR (NEC) remote used with -the Venz V10 Android STB device. - -Signed-off-by: Christian Hewitt ---- - .../devicetree/bindings/media/rc.yaml | 1 + - drivers/media/rc/keymaps/Makefile | 1 + - drivers/media/rc/keymaps/rc-venz-v10.c | 92 +++++++++++++++++++ - include/media/rc-map.h | 1 + - 4 files changed, 95 insertions(+) - create mode 100644 drivers/media/rc/keymaps/rc-venz-v10.c - -diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index 37583861376e..f390a5d2c82d 100644 ---- a/Documentation/devicetree/bindings/media/rc.yaml -+++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -152,6 +152,7 @@ properties: - - rc-videomate-tv-pvr - - rc-videostrong-kii-pro - - rc-vega-s9x -+ - rc-venz-v10 - - rc-wetek-hub - - rc-wetek-play2 - - rc-winfast -diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index f1fba08d8ed4..03bc9a8d355e 100644 ---- a/drivers/media/rc/keymaps/Makefile -+++ b/drivers/media/rc/keymaps/Makefile -@@ -129,6 +129,7 @@ obj-$(CONFIG_RC_MAP) += \ - rc-twinhan1027.o \ - rc-twinhan-dtv-cab-ci.o \ - rc-vega-s9x.o \ -+ rc-venz-v10.o \ - rc-videomate-m1f.o \ - rc-videomate-s350.o \ - rc-videomate-tv-pvr.o \ -diff --git a/drivers/media/rc/keymaps/rc-venz-v10.c b/drivers/media/rc/keymaps/rc-venz-v10.c -new file mode 100644 -index 000000000000..f0a99a31a1d7 ---- /dev/null -+++ b/drivers/media/rc/keymaps/rc-venz-v10.c -@@ -0,0 +1,92 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+// -+// Copyright (C) 2022 Christian Hewitt -+ -+#include -+#include -+ -+// -+// Keytable for the Venz V10 remote control -+// -+ -+static struct rc_map_table venz_v10[] = { -+ { 0x847912, KEY_POWER }, -+ { 0x847903, KEY_MUTE }, -+ -+ { 0x847921, KEY_EPG }, -+ { 0x847922, KEY_ZOOMIN }, -+ { 0x847923, KEY_ZOOMOUT }, -+ { 0x847924, KEY_SCREEN }, // LAUNCHER -+ -+ // UP -+ // DOWN -+ // LEFT -+ // RIGHT -+ -+ { 0x847904, KEY_FAVORITES }, // TV-SYS -+ { 0x84790a, KEY_INFO }, // RATIO -+ { 0x84791f, KEY_LANGUAGE }, // TRACK -+ { 0x84791e, KEY_SUBTITLE }, // SUB-T -+ -+ { 0x847929, KEY_RED }, -+ { 0x847930, KEY_GREEN }, -+ { 0x847931, KEY_YELLOW }, -+ { 0x847932, KEY_BLUE }, -+ -+ { 0x847906, KEY_HOME }, -+ { 0x84791b, KEY_CONFIG }, -+ -+ { 0x847905, KEY_UP }, -+ { 0x847907, KEY_LEFT }, -+ { 0x847908, KEY_OK }, -+ { 0x847909, KEY_RIGHT }, -+ { 0x847900, KEY_DOWN }, -+ -+ { 0x847920, KEY_CONTEXT_MENU }, -+ { 0x84791a, KEY_BACK }, -+ -+ { 0x847910, KEY_VOLUMEUP }, -+ { 0x84790f, KEY_VOLUMEDOWN }, -+ { 0x847919, KEY_PLAYPAUSE }, -+ { 0x84791c, KEY_STOP }, -+ { 0x84791d, KEY_PREVIOUS }, -+ { 0x847928, KEY_NEXT }, -+ -+ { 0x84790b, KEY_1 }, -+ { 0x84790c, KEY_2 }, -+ { 0x84790d, KEY_3 }, -+ { 0x84790e, KEY_4 }, -+ { 0x847911, KEY_5 }, -+ { 0x847927, KEY_6 }, -+ { 0x847913, KEY_7 }, -+ { 0x847914, KEY_8 }, -+ { 0x847915, KEY_9 }, -+ { 0x847916, KEY_MENU }, // MOUSE -+ { 0x847917, KEY_0 }, -+ { 0x847918, KEY_DELETE }, -+}; -+ -+static struct rc_map_list venz_v10_map = { -+ .map = { -+ .scan = venz_v10, -+ .size = ARRAY_SIZE(venz_v10), -+ .rc_proto = RC_PROTO_NEC, -+ .name = RC_MAP_VENZ_V10, -+ } -+}; -+ -+static int __init init_rc_map_venz_v10(void) -+{ -+ return rc_map_register(&venz_v10_map); -+} -+ -+static void __exit exit_rc_map_venz_v10(void) -+{ -+ rc_map_unregister(&venz_v10_map); -+} -+ -+module_init(init_rc_map_venz_v10) -+module_exit(exit_rc_map_venz_v10) -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Christian Hewitt -Date: Sat, 9 Apr 2022 06:27:50 +0000 -Subject: [PATCH 087/120] WIP: dt-bindings: arm: amlogic: add S905L and Venz - V10 bindings - -Add SOC bindings for S905L devices and the board binding for Venz V10. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 63a2093cb626..5ff3e7f43a51 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -83,6 +83,13 @@ properties: - - const: amlogic,s805x - - const: amlogic,meson-gxl - -+ - description: Boards with the Amlogic Meson GXL S905L SoC -+ items: -+ - enum: -+ - venz,v10 -+ - const: amlogic,s905l -+ - const: amlogic,meson-gxl -+ - - description: Boards with the Amlogic Meson GXL S905W SoC - items: - - enum: --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch deleted file mode 100644 index a5ba97b33b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch +++ /dev/null @@ -1,373 +0,0 @@ -From 5cd1412e6bb2a6e445b6e6e8bb35c3f2e74bbf4f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 9 Apr 2022 06:21:58 +0000 -Subject: [PATCH 088/120] WIP: arm64: dts: meson: add support for Venz V10 - -The Venz V10 is an Android STB based on the Amlogic P212 (GXL) -reference design with an S905L chip and the following specs: - -- 1GB DDR3 RAM -- 8GB eMMC -- 10/100 Base-T Ethernet -- RTL8189ES Wireless (802.11 b/g/n) -- HDMI 2.0b video -- 1x 3.5mm AV jack -- 2x USB 2.0 port -- IR receiver -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-gxl-s905l-venz-v10.dts | 326 ++++++++++++++++++ - 2 files changed, 327 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 2c4c83cc0a04..81e8195509b4 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -46,6 +46,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905l-venz-v10.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts -new file mode 100644 -index 000000000000..553377fce051 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts -@@ -0,0 +1,326 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905x.dtsi" -+#include -+#include -+#include -+ -+/ { -+ compatible = "venz,v10", "amlogic,s905l", "amlogic,meson-gxl"; -+ model = "Venz V10"; -+ -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ wlan0 = &rtl8189; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ dio2133: analog-amplifier { -+ compatible = "simple-audio-amplifier"; -+ sound-name-prefix = "AU2"; -+ VCC-supply = <&hdmi_5v>; -+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-standby { -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ 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>; -+ }; -+ }; -+ }; -+ -+ hdmi_5v: regulator-hdmi-5v { -+ compatible = "regulator-fixed"; -+ -+ regulator-name = "HDMI_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ regulator-always-on; -+ }; -+ -+ 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>; -+ }; -+ -+ 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"; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "VENZ-V10"; -+ audio-aux-devs = <&dio2133>; -+ audio-widgets = "Line", "Lineout"; -+ audio-routing = "AU2 INL", "ACODEC LOLN", -+ "AU2 INR", "ACODEC LORN", -+ "Lineout", "AU2 OUTL", -+ "Lineout", "AU2 OUTR"; -+ 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>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddio_ao18>; -+ status = "okay"; -+}; -+ -+&aiu { -+ status = "okay"; -+}; -+ -+&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"; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&hdmi_5v>; -+}; -+ -+&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"; -+ linux,rc-map-name = "rc-venz-v10"; -+}; -+ -+&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 = <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 = <&vddio_boot>; -+ -+ rtl8189: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ -+/* 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 = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_boot>; -+}; -+ -+/* 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 = <200000000>; -+ 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 UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+ dr_mode = "host"; -+}; -+ -+&usb2_phy0 { -+ /* HDMI_5V is the supply for the USB VBUS */ -+ phy-supply = <&hdmi_5v>; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-dt-bindings-vendor-prefixes-add-tbee-prefix.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-dt-bindings-vendor-prefixes-add-tbee-prefix.patch deleted file mode 100644 index 9cf01f7aa4..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-dt-bindings-vendor-prefixes-add-tbee-prefix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From de812cac86ea6d25dbe3d0e0862f762749519be4 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 6 Jul 2022 05:15:41 +0000 -Subject: [PATCH 089/120] WIP: dt-bindings: vendor-prefixes: add tbee prefix - -QUIDBox, Lda. are the Portuguese manufacturer of 'TBee' branded -Android Set-Top Box devices. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 9570cc9e0e06..369bd0c826a1 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1263,6 +1263,8 @@ patternProperties: - "^synopsys,.*": - description: Synopsys, Inc. (deprecated, use snps) - deprecated: true -+ "^tbee,.*": -+ description: QUIDBox Lda. - "^tbs,.*": - description: TBS Technologies - "^tbs-biometrics,.*": --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-dt-bindings-arm-amlogic-add-TBee-Box-binding.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-dt-bindings-arm-amlogic-add-TBee-Box-binding.patch deleted file mode 100644 index 94bfbe7bc1..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-dt-bindings-arm-amlogic-add-TBee-Box-binding.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 74edd1397576e08df2de0fb5944ddbd85d47172b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 6 Jul 2022 05:05:11 +0000 -Subject: [PATCH 090/120] WIP: dt-bindings: arm: amlogic: add TBee Box binding - -Add the board binding for the TBee Box. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 5ff3e7f43a51..9e410dc8d0c5 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -110,6 +110,7 @@ properties: - - libretech,aml-s905x-cc-v2 - - nexbox,a95x - - osmc,vero4k -+ - tbee,box - - const: amlogic,s905x - - const: amlogic,meson-gxl - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0091-WIP-arm64-dts-meson-add-support-for-TBee-Box.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0091-WIP-arm64-dts-meson-add-support-for-TBee-Box.patch deleted file mode 100644 index bbfe362055..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0091-WIP-arm64-dts-meson-add-support-for-TBee-Box.patch +++ /dev/null @@ -1,201 +0,0 @@ -From c2965f88c61c79d8cb6378b3c5f7849c7e5fa487 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 6 Jul 2022 05:23:12 +0000 -Subject: [PATCH 091/120] WIP: arm64: dts: meson: add support for TBee Box - -The TBee Box is an Android STB based on the Amlogic P212 (GXL) -reference design with an S905X chip and the following specs: - -- 2GB DDR3 RAM -- 16GB eMMC -- 10/100 Base-T Ethernet -- QCA9377 Wireless (802.11 a/b/g/n, Bluetooth 4.0) -- HDMI 2.0b video -- 3x USB 2.0 ports -- 1x USB WebCam (Sonix Technology) -- IR receiver -- 1x Update/Reset button (underside) -- 1x Power LED (blue, front) -- 1x SD card slot (full-size) - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../boot/dts/amlogic/meson-gxl-s905x-tbee.dts | 153 ++++++++++++++++++ - 2 files changed, 154 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-tbee.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 81e8195509b4..48459c7f8f1e 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-tbee.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-tbee.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-tbee.dts -new file mode 100644 -index 000000000000..3584d87c1916 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-tbee.dts -@@ -0,0 +1,153 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905x-p212.dtsi" -+#include -+ -+/ { -+ compatible = "tbee,box", "amlogic,s905x", "amlogic,meson-gxl"; -+ model = "TBee-Box"; -+ -+ dio2133: analog-amplifier { -+ compatible = "simple-audio-amplifier"; -+ sound-name-prefix = "AU2"; -+ VCC-supply = <&hdmi_5v>; -+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ 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>; -+ }; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "TBEE-BOX"; -+ audio-aux-devs = <&dio2133>; -+ audio-widgets = "Line", "Lineout"; -+ audio-routing = "AU2 INL", "ACODEC LOLN", -+ "AU2 INR", "ACODEC LORN", -+ "Lineout", "AU2 OUTL", -+ "Lineout", "AU2 OUTR"; -+ 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>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddio_ao18>; -+ status = "okay"; -+}; -+ -+&aiu { -+ status = "okay"; -+}; -+ -+&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>; -+ }; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&hdmi_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+/* 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 = "qcom,qca9377-bt"; -+ enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; -+ -+/* This UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+}; -+ --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0092-WIP-dt-bindings-arm-amlogic-add-Beelink-GT1-binding.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0092-WIP-dt-bindings-arm-amlogic-add-Beelink-GT1-binding.patch deleted file mode 100644 index f3ed825f29..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0092-WIP-dt-bindings-arm-amlogic-add-Beelink-GT1-binding.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9d8461e4e3f8f54ba7b3a9ced9eb627d4f03376e Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 24 Jul 2022 08:50:28 +0000 -Subject: [PATCH 092/120] WIP: dt-bindings: arm: amlogic: add Beelink GT1 - binding - -Add the board binding for the Shenzen AZW (Beelink) GT1 Android -Set-Top Box device. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 9e410dc8d0c5..658702b68afe 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -132,6 +132,7 @@ properties: - - enum: - - amlogic,q200 - - amlogic,q201 -+ - azw,gt1 - - azw,gt1-ultimate - - khadas,vim2 - - kingnovel,r-box-pro --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0093-WIP-arm64-dts-meson-add-support-for-Beelink-GT1.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0093-WIP-arm64-dts-meson-add-support-for-Beelink-GT1.patch deleted file mode 100644 index 33c358eb49..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0093-WIP-arm64-dts-meson-add-support-for-Beelink-GT1.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 265a4f2df88d969f26edc1303bc0f6b1527d54d1 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 6 Jul 2022 10:01:03 +0000 -Subject: [PATCH 093/120] WIP: arm64: dts: meson: add support for Beelink GT1 - -The Beelink GT1 is based on the Amlogic S912 (Q200) reference -design with the following specifications: - -- 2GB DDR3 RAM -- 16GB eMMC -- HDMI 2.1 video -- S/PDIF optical output -- 10/100/1000 Ethernet -- QCA9377 Wireless (802.11 a/b/g/n, BT 4.0) -- 2x USB 2.0 ports -- IR receiver (internal) -- 1x micro SD card slot -- 1x Power LED (white) -- 1x Reset button (underneath) - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts | 126 ++++++++++++++++++ - 2 files changed, 127 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 48459c7f8f1e..187c83c4c61e 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -64,6 +64,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-gt1.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-gt1-ultimate.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts -new file mode 100644 -index 000000000000..c7cdb15a4810 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-gt1.dts -@@ -0,0 +1,126 @@ -+// 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", "amlogic,s912", "amlogic,meson-gxm"; -+ model = "Beelink GT1"; -+ -+ aliases { -+ rtc0 = &rtc; -+ rtc1 = &vrtc; -+ }; -+ -+ 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>; -+ phy-mode = "rgmii"; -+ -+ amlogic,tx-delay-ns = <2>; -+}; -+ -+&external_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x2009087f) */ -+ 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"; -+}; -+ -+&i2c_B { -+ status = "okay"; -+ pinctrl-0 = <&i2c_b_pins>; -+ pinctrl-names = "default"; -+ -+ rtc: rtc@51 { -+ compatible = "haoyu,hym8563"; -+ reg = <0x51>; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ clock-output-names = "xin32k"; -+ wakeup-source; -+ }; -+}; -+ -+&pinctrl_periphs { -+ /* Ensure the phy irq pin is properly configured as input */ -+ eth_phy_irq_pin: eth-phy-irq { -+ mux { -+ groups = "GPIOZ_15"; -+ function = "gpio_periphs"; -+ bias-disable; -+ output-disable; -+ }; -+ }; -+}; -+ -+&sd_emmc_a { -+ /* QCA9377 WiFi */ -+ ath10k: wifi@1 { -+ reg = <1>; -+ compatible = "qcom,ath10k"; -+ }; -+}; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "qcom,qca9377-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/devices/AMLGX/patches/linux/amlogic-0094-WIP-arm64-dts-meson-add-vcc_5v-regulator-to-WeTek-dt.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0094-WIP-arm64-dts-meson-add-vcc_5v-regulator-to-WeTek-dt.patch deleted file mode 100644 index 55dcf40a00..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0094-WIP-arm64-dts-meson-add-vcc_5v-regulator-to-WeTek-dt.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2652e86837fdb21477d62ef1645e463da9139536 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 27 Jul 2022 10:27:10 +0000 -Subject: [PATCH 094/120] WIP: arm64: dts: meson: add vcc_5v regulator to WeTek - dtsi - -Add the vcc_5v regulator used by the audio DAC chip - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi -index 94dafb955301..caa63f5edf03 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi -@@ -71,6 +71,13 @@ vddio_ao18: regulator-vddio_ao18 { - regulator-always-on; - }; - -+ vcc_5v: regulator-vcc_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ - vcc_3v3: regulator-vcc_3v3 { - compatible = "regulator-fixed"; - regulator-name = "VCC_3V3"; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0095-WIP-arm64-dts-meson-add-audio-lineout-to-WeTek-Play2.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0095-WIP-arm64-dts-meson-add-audio-lineout-to-WeTek-Play2.patch deleted file mode 100644 index 1b691325b9..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0095-WIP-arm64-dts-meson-add-audio-lineout-to-WeTek-Play2.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 80342953ec8e2d955dfa2abfa522d0b165e6d1be Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 27 Jul 2022 13:39:23 +0000 -Subject: [PATCH 095/120] WIP: arm64: dts: meson: add audio lineout to WeTek - Play2 - -Add support for the ES7134LV headphone output on the WeTek Play2 - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-gxbb-wetek-play2.dts | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -index 505ffcd8eb76..e206d658d157 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -@@ -21,6 +21,13 @@ spdif_dit: audio-codec-0 { - sound-name-prefix = "DIT"; - }; - -+ i2s_codec: audio-codec-1 { -+ #sound-dai-cells = <0>; -+ compatible = "everest,es7134"; -+ VDD-supply = <&vcc_5v>; -+ status = "okay"; -+ }; -+ - leds { - led-wifi { - label = "wetek-play:wifi-status"; -@@ -74,6 +81,10 @@ dai-link-2 { - codec-0 { - sound-dai = <&aiu AIU_HDMI CTRL_I2S>; - }; -+ -+ codec-1 { -+ sound-dai = <&i2s_codec>; -+ }; - }; - - dai-link-3 { -@@ -96,7 +107,9 @@ codec-0 { - - &aiu { - status = "okay"; -- pinctrl-0 = <&spdif_out_y_pins>; -+ pinctrl-0 = <&i2s_am_clk_pins>, <&i2s_out_ao_clk_pins>, -+ <&i2s_out_lr_clk_pins>, <&i2s_out_ch01_ao_pins>, -+ <&spdif_out_y_pins>; - pinctrl-names = "default"; - }; - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0096-WIP-arm64-dts-amlogic-fix-cvbs-disable-on-WeTek-Hub.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0096-WIP-arm64-dts-amlogic-fix-cvbs-disable-on-WeTek-Hub.patch deleted file mode 100644 index ebd509d719..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0096-WIP-arm64-dts-amlogic-fix-cvbs-disable-on-WeTek-Hub.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6c308ef81cfef32b67d12c4f3ab19cc71c19d41e Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 29 Jul 2022 08:29:20 +0000 -Subject: [PATCH 096/120] WIP: arm64: dts: amlogic: fix cvbs disable on WeTek - Hub - -The original submission in commit d537d289de06 ("ARM64: dts: meson-gxbb: -Add support for WeTek Hub and Play") shows cvbs output as disabled, but -this appears to have been dropped accidentally when moving WeTek boards -to a common dtsi. The Hub does not have cvbs hardware so let's fix and -reinstate the disable. - -Fixes fb72c03e0e32 ("ARM64: dts: meson-gxbb-wetek: add a wetek specific dtsi to cleanup hub and play2") -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts -index 58733017eda8..23bea3fe9501 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts -@@ -13,6 +13,10 @@ / { - compatible = "wetek,hub", "amlogic,meson-gxbb"; - model = "WeTek Hub"; - -+ cvbs-connector { -+ status = "disabled"; -+ }; -+ - sound { - compatible = "amlogic,gx-sound-card"; - model = "WETEK-HUB"; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0097-WIP-ASoC-dt-bindings-add-compatible-for-es8323-i2c.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0097-WIP-ASoC-dt-bindings-add-compatible-for-es8323-i2c.patch deleted file mode 100644 index ca3dc15b80..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0097-WIP-ASoC-dt-bindings-add-compatible-for-es8323-i2c.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b10501e41c8bede399b8465a9f02de357726f940 Mon Sep 17 00:00:00 2001 -From: Romain Perier -Date: Sun, 14 Aug 2022 04:21:16 +0000 -Subject: [PATCH 097/120] WIP: ASoC: dt-bindings: add compatible for es8323-i2c - -Add a compatible for the everest,es8323 audio codec used with a number -of Amlogic and Rockchip board devices. - -Signed-off-by: Romain Perier -Signed-off-by: Christian Hewitt -Acked-by: Rob Herring ---- - Documentation/devicetree/bindings/sound/es8328.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/Documentation/devicetree/bindings/sound/es8328.txt b/Documentation/devicetree/bindings/sound/es8328.txt -index 33fbf058c997..86b6d6e99732 100644 ---- a/Documentation/devicetree/bindings/sound/es8328.txt -+++ b/Documentation/devicetree/bindings/sound/es8328.txt -@@ -4,7 +4,10 @@ This device supports both I2C and SPI. - - Required properties: - -- - compatible : Should be "everest,es8328" or "everest,es8388" -+ - compatible : Should be one of the following: -+ - "everest,es8323" -+ - "everest,es8328" -+ - "everest,es8388" - - DVDD-supply : Regulator providing digital core supply voltage 1.8 - 3.6V - - AVDD-supply : Regulator providing analog supply voltage 3.3V - - PVDD-supply : Regulator providing digital IO supply voltage 1.8 - 3.6V --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0098-WIP-ASoC-codecs-add-support-for-ES8323.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0098-WIP-ASoC-codecs-add-support-for-ES8323.patch deleted file mode 100644 index e3c0af35f0..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0098-WIP-ASoC-codecs-add-support-for-ES8323.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a1c69fc092755a59b25b7a90be3c97796bc77dc7 Mon Sep 17 00:00:00 2001 -From: Romain Perier -Date: Sun, 14 Aug 2022 04:29:32 +0000 -Subject: [PATCH 098/120] WIP: ASoC: codecs: add support for ES8323 - -The ES8323 is compatible with the existing ES8328 codec driver, so add -compatibles allowing it to be used. - -Signed-off-by: Romain Perier -Signed-off-by: Christian Hewitt ---- - sound/soc/codecs/es8328-i2c.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sound/soc/codecs/es8328-i2c.c b/sound/soc/codecs/es8328-i2c.c -index 68072e99fcc7..57c7de5cfa05 100644 ---- a/sound/soc/codecs/es8328-i2c.c -+++ b/sound/soc/codecs/es8328-i2c.c -@@ -16,6 +16,7 @@ - #include "es8328.h" - - static const struct i2c_device_id es8328_id[] = { -+ { "es8323", 0 }, - { "es8328", 0 }, - { "es8388", 0 }, - { } -@@ -23,6 +24,7 @@ static const struct i2c_device_id es8328_id[] = { - MODULE_DEVICE_TABLE(i2c, es8328_id); - - static const struct of_device_id es8328_of_match[] = { -+ { .compatible = "everest,es8323", }, - { .compatible = "everest,es8328", }, - { .compatible = "everest,es8388", }, - { } --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0099-WIP-dt-bindings-add-dream-vendor-prefix.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0099-WIP-dt-bindings-add-dream-vendor-prefix.patch deleted file mode 100644 index 20098fd1a3..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0099-WIP-dt-bindings-add-dream-vendor-prefix.patch +++ /dev/null @@ -1,28 +0,0 @@ -From eefcf6ac4648114ce7c0d818ee0a2c32508d09f6 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 5 Apr 2021 13:47:52 +0000 -Subject: [PATCH 099/120] WIP: dt-bindings: add dream vendor prefix - -Add vendor prefix for Dream Property GmbH - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 369bd0c826a1..a585da02832e 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -350,6 +350,8 @@ patternProperties: - description: DPTechnics - "^dragino,.*": - description: Dragino Technology Co., Limited -+ "^dream,.*": -+ description: Dream Property GmbH - "^ds,.*": - description: DaSheng, Inc. - "^dserve,.*": --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0100-WIP-dt-bindings-arm-amlogic-add-support-for-Dreambox.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0100-WIP-dt-bindings-arm-amlogic-add-support-for-Dreambox.patch deleted file mode 100644 index 2fd6803bf6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0100-WIP-dt-bindings-arm-amlogic-add-support-for-Dreambox.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 04dd3e0b7c2b58a169dbfc93dca5e16b1eac18da Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 5 Apr 2021 13:48:34 +0000 -Subject: [PATCH 100/120] WIP: dt-bindings: arm: amlogic: add support for - Dreambox One/Two - -The Dreambox One and Dreambox Two are DVBS/T2 receiver boxes based -on the Amlogic W400 reference board with an S922X chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 658702b68afe..b7ade343feaf 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -186,6 +186,8 @@ properties: - - azw,gsking-x - - azw,gtking - - azw,gtking-pro -+ - dream,dreambox-one -+ - dream,dreambox-two - - hardkernel,odroid-n2 - - hardkernel,odroid-n2-plus - - khadas,vim3 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0101-WIP-arm64-dts-meson-add-initial-device-trees-for-Dre.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0101-WIP-arm64-dts-meson-add-initial-device-trees-for-Dre.patch deleted file mode 100644 index 57d7399c37..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0101-WIP-arm64-dts-meson-add-initial-device-trees-for-Dre.patch +++ /dev/null @@ -1,261 +0,0 @@ -From 98ea0ea77819bebf2f5cfdb07020edabdd5cfbb0 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 5 Apr 2021 13:51:20 +0000 -Subject: [PATCH 101/120] WIP: arm64: dts: meson: add initial device-trees for - Dreambox One/Two - -Dreambox One and Dreambox Two are based on the Amlogic W400 reference -board with an S922X chip and the following specs: - -- 2GB DDR3 RAM -- 16GB eMMC -- 10/100/1000 Base-T Ethernet -- AP6356 Wireless (802.11 b/g/n/ac, BT 5.0) -- HDMI 2.1 video -- S/PDIF optical output -- 2x DVB-S2/T2 -- Smartcard Reader Slot -- 2x USB 2.0 port (1x micro-USB for service) -- 1x USB 3.0 port -- IR receiver -- 1x Power LED (blue) -- 1x Power button (top) -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Dreambox Two differences: - -- 3" Colour LCD display (MIPI-DSI) -- Common Interface Slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 2 + - .../dts/amlogic/meson-g12b-dreambox-one.dts | 13 ++ - .../dts/amlogic/meson-g12b-dreambox-two.dts | 13 ++ - .../boot/dts/amlogic/meson-g12b-dreambox.dtsi | 160 ++++++++++++++++++ - 4 files changed, 188 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 187c83c4c61e..bc50ca8b0e79 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -11,6 +11,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-one.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-two.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts -new file mode 100644 -index 000000000000..ce3f18ad044a ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-one.dts -@@ -0,0 +1,13 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-dreambox.dtsi" -+ -+/ { -+ compatible = "dream,dreambox-one", "amlogic,g12b"; -+ model = "Dreambox One"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts -new file mode 100644 -index 000000000000..b63bbb01036e ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox-two.dts -@@ -0,0 +1,13 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-dreambox.dtsi" -+ -+/ { -+ compatible = "dream,dreambox-two", "amlogic,g12b"; -+ model = "Dreambox Two"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi -new file mode 100644 -index 000000000000..14b2827b592d ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi -@@ -0,0 +1,160 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2021 Christian Hewitt -+ */ -+ -+#include "meson-g12b-w400.dtsi" -+#include -+#include -+#include -+ -+/ { -+ cvbs-connector { -+ status = "disabled"; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ spdif_dit: audio-codec-1 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "DREAMBOX"; -+ 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", -+ "SPDIFOUT IN 0", "FRDDR_A OUT 3", -+ "SPDIFOUT IN 1", "FRDDR_B OUT 3", -+ "SPDIFOUT IN 2", "FRDDR_C OUT 3"; -+ -+ 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>; -+ }; -+ }; -+ -+ /* spdif hdmi or toslink interface */ -+ dai-link-4 { -+ sound-dai = <&spdifout>; -+ -+ codec-0 { -+ sound-dai = <&spdif_dit>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; -+ }; -+ }; -+ -+ /* spdif hdmi interface */ -+ dai-link-5 { -+ sound-dai = <&spdifout_b>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-6 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-dreambox"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -+ -+&spdifout { -+ pinctrl-0 = <&spdif_out_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&spdifout_b { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0102-WIP-dt-bindings-arm-amlogic-add-support-for-Ugoos-AM.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0102-WIP-dt-bindings-arm-amlogic-add-support-for-Ugoos-AM.patch deleted file mode 100644 index 01f72411a6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0102-WIP-dt-bindings-arm-amlogic-add-support-for-Ugoos-AM.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 740b7806615c9781caa1f40e390b6075764bb85e Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 15 Dec 2022 04:27:45 +0000 -Subject: [PATCH 102/120] WIP: dt-bindings: arm: amlogic: add support for Ugoos - AM6 plus - -The AM6 plus is a revised version of the AM6 Android box based -on the Amlogic W400 reference board, but now with an S922XJ to -bump CPU speeds (rev C silicon) and add Dolby Vision features. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index b7ade343feaf..a1ec954a8b8b 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -192,6 +192,7 @@ properties: - - hardkernel,odroid-n2-plus - - khadas,vim3 - - ugoos,am6 -+ - ugoos,am6-plus - - const: amlogic,s922x - - const: amlogic,g12b - --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0103-WIP-arm64-dts-meson-add-support-for-Ugoos-AM6-Plus.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0103-WIP-arm64-dts-meson-add-support-for-Ugoos-AM6-Plus.patch deleted file mode 100644 index 6e0ff777a7..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0103-WIP-arm64-dts-meson-add-support-for-Ugoos-AM6-Plus.patch +++ /dev/null @@ -1,274 +0,0 @@ -From 65a60781fde14e49a5dd4c422cc909b61542cc50 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 15 Dec 2022 05:29:31 +0000 -Subject: [PATCH 103/120] WIP: arm64: dts: meson: add support for Ugoos AM6 - Plus - -The Ugoos AM6 Plus is based on the Amlogic W400 (G12B) reference design -using the S922XJ (S922X rev-C with Dolby Vision license) chipset. - -Hardware specifications: - -- 2GB/4GB LPDDR4 RAM -- 16GB/32GB eMMC storage -- 10/100/1000 Base-T Ethernet using External RGMII PHY -- 802.11 a/b/g/b/ac + BT 5.0 sdio wireless (Ampak 6398S) -- HDMI 2.0 (4k@60p) video -- Composite video + 2-channel audio output on 3.5mm jack -- S/PDIF audio output -- Aux input -- 1x USB 3.0 -- 3x USB 2.0 -- 1x micro SD card slot -- 1x power button (rear) - -Suggested-by: Furkan Kardame -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-g12b-ugoos-am6-plus.dts | 221 ++++++++++++++++++ - 2 files changed, 222 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index bc50ca8b0e79..615b1c496a34 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-beelink-mini-mxiii.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts -new file mode 100644 -index 000000000000..dd5a9665a996 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts -@@ -0,0 +1,221 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ * Copyright (c) 2019 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-w400.dtsi" -+#include -+ -+/ { -+ compatible = "ugoos,am6-plus", "amlogic,s922x", "amlogic,g12b"; -+ model = "Ugoos AM6 Plus"; -+ -+ aliases { -+ rtc0 = &rtc; -+ rtc1 = &vrtc; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ poll-interval = <100>; -+ -+ power-button { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-green { -+ label = "power:green"; -+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ spdif_dit: audio-codec-1 { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dit"; -+ status = "okay"; -+ sound-name-prefix = "DIT"; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "AM6-PLUS"; -+ 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", -+ "SPDIFOUT IN 0", "FRDDR_A OUT 3", -+ "SPDIFOUT IN 1", "FRDDR_B OUT 3", -+ "SPDIFOUT IN 2", "FRDDR_C OUT 3"; -+ -+ 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>; -+ }; -+ }; -+ -+ /* spdif hdmi or toslink interface */ -+ dai-link-4 { -+ sound-dai = <&spdifout>; -+ -+ codec-0 { -+ sound-dai = <&spdif_dit>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; -+ }; -+ }; -+ -+ /* spdif hdmi interface */ -+ dai-link-5 { -+ sound-dai = <&spdifout_b>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-6 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-khadas"; -+}; -+ -+&i2c3 { -+ status = "okay"; -+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; -+ pinctrl-names = "default"; -+ -+ rtc: rtc@51 { -+ compatible = "haoyu,hym8563"; -+ reg = <0x51>; -+ }; -+}; -+ -+&spdifout { -+ pinctrl-0 = <&spdif_out_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&spdifout_b { -+ status = "okay"; -+}; -+ -+&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"; -+ }; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+ dr_mode = "host"; -+ vbus-supply = <&usb_pwr_en>; -+}; -+ -+&usb2_phy0 { -+ phy-supply = <&usb1_pow>; -+}; -+ -+&usb2_phy1 { -+ phy-supply = <&usb1_pow>; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0104-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-P.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0104-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-P.patch deleted file mode 100644 index 8dd3d818cf..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0104-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-P.patch +++ /dev/null @@ -1,187 +0,0 @@ -From ebe052f07c62ef9836b8fbdd6a4a56c70d55587e Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 24 Jan 2023 16:57:20 +0000 -Subject: [PATCH 104/120] WIP: arm64: dts: meson: add support for MeCool M8S - Pro Plus - -This is an S905X device based on the P212 reference design, but -with an S908CS WiFi/BT module that is not currently supported. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../meson-gxl-s905x-mecool-m8s-pro-plus.dts | 150 ++++++++++++++++++ - 2 files changed, 151 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-mecool-m8s-pro-plus.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 615b1c496a34..43ffbe9e359e 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-mecool-m8s-pro-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-tbee.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-mecool-m8s-pro-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-mecool-m8s-pro-plus.dts -new file mode 100644 -index 000000000000..84772ce12e00 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-mecool-m8s-pro-plus.dts -@@ -0,0 +1,150 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905x-p212.dtsi" -+#include -+ -+/ { -+ compatible = "videostrong,mecool-m8s-pro-plus", "amlogic,s905x", "amlogic,meson-gxl"; -+ model = "MeCool M8S Pro Plus"; -+ -+ dio2133: analog-amplifier { -+ compatible = "simple-audio-amplifier"; -+ sound-name-prefix = "AU2"; -+ VCC-supply = <&hdmi_5v>; -+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ 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>; -+ }; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,gx-sound-card"; -+ model = "MECOOL-M8S"; -+ audio-aux-devs = <&dio2133>; -+ audio-widgets = "Line", "Lineout"; -+ audio-routing = "AU2 INL", "ACODEC LOLN", -+ "AU2 INR", "ACODEC LORN", -+ "Lineout", "AU2 OUTL", -+ "Lineout", "AU2 OUTR"; -+ 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>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; -+ }; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ dai-link-3 { -+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; -+ -+ codec-0 { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddio_ao18>; -+ status = "okay"; -+}; -+ -+&aiu { -+ status = "okay"; -+}; -+ -+&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>; -+ }; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&hdmi_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-mecool-m8s-pro"; -+}; -+ -+/* S9082C WiFi */ -+&sd_emmc_a { -+ status = "disabled"; -+}; -+ -+/* S9082C Bluetooth */ -+&uart_A { -+ status = "disabled"; -+}; -+ -+/* This UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+}; --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0106-WIP-dt-bindings-arm-amlogic-add-support-for-Tanix-TX.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0106-WIP-dt-bindings-arm-amlogic-add-support-for-Tanix-TX.patch deleted file mode 100644 index ff5e0cfa2a..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0106-WIP-dt-bindings-arm-amlogic-add-support-for-Tanix-TX.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d9dd54c8b2d2f7ec05e42392205a67b20dba4e83 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 9 Feb 2023 09:59:58 +0000 -Subject: [PATCH 106/120] WIP: dt-bindings: arm: amlogic: add support for Tanix - TX9 Pro - -The Oranth Tanix TX9 Pro is an Android STB using the Amlogic S912 chip - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index a1ec954a8b8b..dea5d15da404 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -139,6 +139,7 @@ properties: - - libretech,aml-s912-pc - - minix,neo-u9h - - nexbox,a1 -+ - oranth,tx9-pro - - tronsmart,vega-s96 - - videostrong,gxm-kiii-pro - - wetek,core2 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0107-WIP-arm64-dts-meson-add-initial-device-tree-for-Tani.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0107-WIP-arm64-dts-meson-add-initial-device-tree-for-Tani.patch deleted file mode 100644 index e2fa019954..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0107-WIP-arm64-dts-meson-add-initial-device-tree-for-Tani.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 551f6b28a561c121f00222c0f101c75dfad93d4b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 9 Feb 2023 10:01:14 +0000 -Subject: [PATCH 107/120] WIP: arm64: dts: meson: add initial device-tree for - Tanix TX9 Pro - -Oranth Tanix TX9 Pro is based on the Amlogic Q200 reference design with -an S912 chip and the following specs: - -- 3GB DDR3 RAM -- 32GB eMMC -- 10/100/1000 Base-T Ethernet -- AP6356 Wireless (802.11 b/g/n/ac, BT 5.0) -- HDMI 2.0a video -- VFD for clock/status -- 2x USB 2.0 ports -- IR receiver -- 1x Power LED (white) -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../boot/dts/amlogic/meson-gxm-tx9-pro.dts | 90 +++++++++++++++++++ - 2 files changed, 91 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 43ffbe9e359e..8b4155e0140c 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -78,6 +78,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-tx9-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts -new file mode 100644 -index 000000000000..9a62176cfe5a ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts -@@ -0,0 +1,90 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxm.dtsi" -+#include "meson-gx-p23x-q20x.dtsi" -+#include -+ -+/ { -+ compatible = "oranth,tx9-pro", "amlogic,s912", "amlogic,meson-gxm"; -+ model = "Tanix TX9 Pro"; -+ -+ 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>; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ poll-interval = <100>; -+ -+ button { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; -+ -+ð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-tanix-tx3mini"; -+}; -+ -+&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/devices/AMLGX/patches/linux/amlogic-0108-WIP-arm64-dts-meson-add-7-segment-display-to-Tanix-T.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0108-WIP-arm64-dts-meson-add-7-segment-display-to-Tanix-T.patch deleted file mode 100644 index 9128e8ebca..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0108-WIP-arm64-dts-meson-add-7-segment-display-to-Tanix-T.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 0b2aaaf3f86a0b904b45cb7ef30ae5804a2b95b9 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 9 Feb 2023 10:11:39 +0000 -Subject: [PATCH 108/120] WIP: arm64: dts: meson: add 7-segment display to - Tanix TX9 Pro - -Add support for the 7-segment VFD display of the device - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-gxm-tx9-pro.dts | 59 +++++++++++++++++++ - 1 file changed, 59 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts -index 9a62176cfe5a..2dcff00794b9 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts -@@ -9,6 +9,7 @@ - #include "meson-gxm.dtsi" - #include "meson-gx-p23x-q20x.dtsi" - #include -+#include - - / { - compatible = "oranth,tx9-pro", "amlogic,s912", "amlogic,meson-gxm"; -@@ -37,6 +38,64 @@ button { - gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; - }; - }; -+ -+ spi { -+ compatible = "spi-gpio"; -+ sck-gpios = <&gpio GPIODV_27 GPIO_ACTIVE_HIGH>; -+ mosi-gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; -+ cs-gpios = <&gpio GPIODV_4 GPIO_ACTIVE_LOW>; -+ num-chipselects = <1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ tm1628: led-controller@0 { -+ compatible = "titanmec,tm1628"; -+ reg = <0>; -+ spi-3wire; -+ spi-lsb-first; -+ spi-rx-delay-us = <1>; -+ spi-max-frequency = <500000>; -+ #address-cells = <2>; -+ #size-cells = <0>; -+ -+ titanmec,segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>; -+ titanmec,grid = /bits/ 8 <4 3 2 1>; -+ -+ alarm@5,1 { -+ reg = <5 1>; -+ function = LED_FUNCTION_ALARM; -+ }; -+ -+ usb@5,2 { -+ reg = <5 2>; -+ function = LED_FUNCTION_USB; -+ }; -+ play@5,3 { -+ reg = <5 3>; -+ function = "play"; -+ }; -+ -+ pause@5,4 { -+ reg = <5 4>; -+ function = "pause"; -+ }; -+ -+ colon@5,5 { -+ reg = <5 5>; -+ function = "colon"; -+ }; -+ -+ lan@5,6 { -+ reg = <5 6>; -+ function = LED_FUNCTION_LAN; -+ }; -+ -+ wlan@5,7 { -+ reg = <5 7>; -+ function = LED_FUNCTION_WLAN; -+ }; -+ }; -+ }; - }; - - ðmac { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0109-WIP-net-phy-add-support-for-Maxio-MAE0621A.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0109-WIP-net-phy-add-support-for-Maxio-MAE0621A.patch deleted file mode 100644 index 522a52e986..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0109-WIP-net-phy-add-support-for-Maxio-MAE0621A.patch +++ /dev/null @@ -1,363 +0,0 @@ -From dbcc56c1a71911850208663846c93f80307eb455 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 12 Feb 2023 10:45:54 +0000 -Subject: [PATCH 109/120] WIP: net: phy: add support for Maxio MAE0621A - -Maxio MAE0621A is the external PHY found in some Amlogic set-top box -devices based on the S905D chipset. - -Signed-off-by: Zhao Yang -Signed-off-by: Christian Hewitt ---- - .../net/ethernet/stmicro/stmmac/stmmac_main.c | 7 + - drivers/net/phy/Kconfig | 5 + - drivers/net/phy/Makefile | 1 + - drivers/net/phy/maxio.c | 262 ++++++++++++++++++ - drivers/net/phy/phy_device.c | 9 + - 5 files changed, 284 insertions(+) - create mode 100644 drivers/net/phy/maxio.c - -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index 84e1740b12f1..ed48b963653e 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -7477,6 +7477,8 @@ static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) - netdev_tx_reset_queue(netdev_get_tx_queue(priv->dev, queue)); - } - -+#define MAXIO_PHY_MAE0621A_ID 0x7b744411 -+ - /** - * stmmac_reset_queues_param - reset queue parameters - * @priv: device pointer -@@ -7553,6 +7555,11 @@ int stmmac_resume(struct device *dev) - stmmac_free_tx_skbufs(priv); - stmmac_clear_descriptors(priv, &priv->dma_conf); - -+ if (ndev->phydev->drv->config_init) { -+ if (ndev->phydev->phy_id == MAXIO_PHY_MAE0621A_ID) -+ ndev->phydev->drv->config_init(ndev->phydev); -+ } -+ - stmmac_hw_setup(ndev, false); - stmmac_init_coalesce(priv); - stmmac_set_rx_mode(ndev); -diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig -index c57a0262fb64..9262cf995743 100644 ---- a/drivers/net/phy/Kconfig -+++ b/drivers/net/phy/Kconfig -@@ -287,6 +287,11 @@ config AT803X_PHY - Currently supports the AR8030, AR8031, AR8033, AR8035 and internal - QCA8337(Internal qca8k PHY) model - -+config MAXIO_PHY -+ tristate "MAXIO PHYs" -+ help -+ Supports the Maxio MAExxxx PHYs. -+ - config QSEMI_PHY - tristate "Quality Semiconductor PHYs" - help -diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile -index f7138d3c896b..11fbac4e4b6d 100644 ---- a/drivers/net/phy/Makefile -+++ b/drivers/net/phy/Makefile -@@ -67,6 +67,7 @@ obj-$(CONFIG_LXT_PHY) += lxt.o - obj-$(CONFIG_MARVELL_10G_PHY) += marvell10g.o - obj-$(CONFIG_MARVELL_PHY) += marvell.o - obj-$(CONFIG_MARVELL_88X2222_PHY) += marvell-88x2222.o -+obj-$(CONFIG_MAXIO_PHY) += maxio.o - obj-$(CONFIG_MAXLINEAR_GPHY) += mxl-gpy.o - obj-$(CONFIG_MEDIATEK_GE_PHY) += mediatek-ge.o - obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o -diff --git a/drivers/net/phy/maxio.c b/drivers/net/phy/maxio.c -new file mode 100644 -index 000000000000..8d4db24b7ed1 ---- /dev/null -+++ b/drivers/net/phy/maxio.c -@@ -0,0 +1,262 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * ^^ LICENSE TO BE CONFIRMED ^^ -+ * -+ * Driver for Maxio PHYs -+ * -+ * Copyright (c) 2004 maxio technology, Inc. -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define MAXIO_PAGE_SELECT 0x1f -+#define MAXIO_MAE0621A_INER 0x12 -+#define MAXIO_MAE0621A_INER_LINK_STATUS BIT(4) -+#define MAXIO_MAE0621A_INSR 0x1d -+#define MAXIO_MAE0621A_TX_DELAY (BIT(6) | BIT(7)) -+#define MAXIO_MAE0621A_RX_DELAY (BIT(4) | BIT(5)) -+#define MAXIO_MAE0621A_CLK_MODE_REG 0x02 -+#define MAXIO_MAE0621A_WORK_STATUS_REG 0x1d -+ -+int maxio_read_paged(struct phy_device *phydev, int page, u32 regnum) -+{ -+ int ret = 0, oldpage; -+ -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ if (oldpage >= 0) { -+ phy_write(phydev, MAXIO_PAGE_SELECT, page); -+ ret = phy_read(phydev, regnum); -+ } -+ phy_write(phydev, MAXIO_PAGE_SELECT, oldpage); -+ -+ return ret; -+} -+ -+int maxio_write_paged(struct phy_device *phydev, int page, u32 regnum, u16 val) -+{ -+ int ret = 0, oldpage; -+ -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ if (oldpage >= 0) { -+ phy_write(phydev, MAXIO_PAGE_SELECT, page); -+ ret = phy_write(phydev, regnum, val); -+ } -+ phy_write(phydev, MAXIO_PAGE_SELECT, oldpage); -+ -+ return ret; -+} -+ -+static int maxio_mae0621a_clk_init(struct phy_device *phydev) -+{ -+ u32 workmode, clkmode, oldpage; -+ -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ if (oldpage == 0xFFFF) -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ -+ /* soft reset */ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0x0); -+ phy_write(phydev, MII_BMCR, BMCR_RESET | phy_read(phydev, MII_BMCR)); -+ -+ /* get workmode */ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0xa43); -+ workmode = phy_read(phydev, MAXIO_MAE0621A_WORK_STATUS_REG); -+ -+ /* get clkmode */ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0xd92); -+ clkmode = phy_read(phydev, MAXIO_MAE0621A_CLK_MODE_REG); -+ -+ /* abnormal */ -+ if (0 == (workmode & BIT(5))) { -+ if (0 == (clkmode & BIT(8))) { -+ /* oscillator */ -+ phy_write(phydev, 0x02, clkmode | BIT(8)); -+ pr_debug("maxio: mae0621a_clk_init clkmode 0x210a: 0x%x\n", -+ phydev->phy_id); -+ } else { -+ /* crystal */ -+ pr_debug("maxio: mae0621a_clk_init clkmode 0x200a: 0x%x\n", -+ phydev->phy_id); -+ phy_write(phydev, 0x02, clkmode & (~BIT(8))); -+ } -+ } -+ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0x0); -+ phy_write(phydev, MAXIO_PAGE_SELECT, oldpage); -+ -+ return 0; -+} -+ -+static int maxio_read_mmd(struct phy_device *phydev, int devnum, u16 regnum) -+{ -+ int ret = 0, oldpage; -+ -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ -+ if (devnum == MDIO_MMD_AN && regnum == MDIO_AN_EEE_ADV) { -+ /* eee info */ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0); -+ phy_write(phydev, 0xd, MDIO_MMD_AN); -+ phy_write(phydev, 0xe, MDIO_AN_EEE_ADV); -+ phy_write(phydev, 0xd, 0x4000 | MDIO_MMD_AN); -+ ret = phy_read(phydev, 0x0e); -+ } else { -+ ret = -EOPNOTSUPP; -+ } -+ phy_write(phydev, MAXIO_PAGE_SELECT, oldpage); -+ -+ return ret; -+} -+ -+static int maxio_write_mmd(struct phy_device *phydev, int devnum, u16 regnum, u16 val) -+{ -+ int ret = 0, oldpage; -+ -+ oldpage = phy_read(phydev, MAXIO_PAGE_SELECT); -+ -+ if (devnum == MDIO_MMD_AN && regnum == MDIO_AN_EEE_ADV) { -+ /* eee info */ -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0); -+ ret |= phy_write(phydev, 0xd, MDIO_MMD_AN); -+ ret |= phy_write(phydev, 0xe, MDIO_AN_EEE_ADV); -+ ret |= phy_write(phydev, 0xd, 0x4000 | MDIO_MMD_AN); -+ ret |= phy_write(phydev, 0xe, val); -+ msleep(100); -+ ret |= genphy_restart_aneg(phydev); -+ } else { -+ ret = -EOPNOTSUPP; -+ } -+ phy_write(phydev, MAXIO_PAGE_SELECT, oldpage); -+ -+ return ret; -+} -+ -+static int maxio_mae0621a_config_aneg(struct phy_device *phydev) -+{ -+ return genphy_config_aneg(phydev); -+} -+ -+static int maxio_mae0621a_config_init(struct phy_device *phydev) -+{ -+ struct device *dev = &phydev->mdio.dev; -+ u16 val; -+ int ret; -+ u32 broken = 0; -+ -+ maxio_mae0621a_clk_init(phydev); -+ -+ /* disable eee */ -+ pr_debug("eee value: 0x%x\n", maxio_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV)); -+ maxio_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, 0); -+ pr_debug("eee value: 0x%x\n", maxio_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV)); -+ broken |= MDIO_EEE_100TX; -+ broken |= MDIO_EEE_1000T; -+ phydev->eee_broken_modes = broken; -+ -+ /* enable auto_speed_down */ -+ ret = maxio_write_paged(phydev, 0xd8f, 0x0, 0x300); -+ -+ /* adjust tx/rx delay */ -+ switch (phydev->interface) { -+ case PHY_INTERFACE_MODE_RGMII: -+ val = 0x0; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_ID: -+ val = MAXIO_MAE0621A_TX_DELAY | MAXIO_MAE0621A_RX_DELAY; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_RXID: -+ val = MAXIO_MAE0621A_RX_DELAY; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_TXID: -+ val = MAXIO_MAE0621A_TX_DELAY; -+ break; -+ default: -+ /* leave delays as-is. */ -+ goto delay_skip; -+ } -+ -+ ret = maxio_read_paged(phydev, 0xd96, 0x0); -+ -+ if (ret < 0) { -+ dev_err(dev, "Failed to update the TX delay register\n"); -+ return ret; -+ } -+ ret = maxio_write_paged(phydev, 0xd96, 0x0, val | ret); -+ -+ if (ret < 0) { -+ dev_err(dev, "Failed to update the TX delay register\n"); -+ return ret; -+ } else if (ret == 0) { -+ dev_dbg(dev, -+ "2ns delay was already %s (by pin-strapping RXD1 or bootloader configuration)\n", -+ val ? "enabled" : "disabled"); -+ } -+delay_skip: -+ -+ phy_write(phydev, MII_BMCR, BMCR_RESET | phy_read(phydev, MII_BMCR)); -+ msleep(20); -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0x0); -+ -+ return 0; -+} -+ -+static int maxio_mae0621a_resume(struct phy_device *phydev) -+{ -+ int ret = genphy_resume(phydev); -+ -+ ret |= phy_write(phydev, MII_BMCR, BMCR_RESET | phy_read(phydev, MII_BMCR)); -+ -+ msleep(20); -+ -+ return ret; -+} -+ -+int maxio_mae0621a_suspend(struct phy_device *phydev) -+{ -+ genphy_suspend(phydev); -+ phy_write(phydev, MAXIO_PAGE_SELECT, 0); -+ -+ return 0; -+} -+ -+static int maxio_mae0621a_status(struct phy_device *phydev) -+{ -+ return genphy_read_status(phydev); -+} -+ -+static int maxio_mae0621a_probe(struct phy_device *phydev) -+{ -+ int ret = maxio_mae0621a_clk_init(phydev); -+ -+ mdelay(100); -+ -+ return ret; -+} -+ -+static struct phy_driver maxio_nc_drvs[] = { -+ { -+ .phy_id = 0x7b744411, -+ .phy_id_mask = 0x7fffffff, -+ .name = "MAE0621A Gigabit Ethernet", -+ .features = PHY_GBIT_FEATURES, -+ .probe = maxio_mae0621a_probe, -+ .config_init = maxio_mae0621a_config_init, -+ .config_aneg = maxio_mae0621a_config_aneg, -+ .read_status = maxio_mae0621a_status, -+ .suspend = maxio_mae0621a_suspend, -+ .resume = maxio_mae0621a_resume, -+ }, -+}; -+ -+module_phy_driver(maxio_nc_drvs); -+ -+MODULE_DESCRIPTION("Maxio PHY Driver"); -+MODULE_AUTHOR("Zhao Yang "); -+MODULE_LICENSE("GPL"); -diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c -index 8cff61dbc4b5..d27a396b0905 100644 ---- a/drivers/net/phy/phy_device.c -+++ b/drivers/net/phy/phy_device.c -@@ -844,6 +844,15 @@ static int get_phy_c22_id(struct mii_bus *bus, int addr, u32 *phy_id) - { - int phy_reg; - -+#ifdef CONFIG_MAXIO_PHY -+ /** -+ * An MDIO connects to multiple PHYs requiring write before read. -+ * This operation does not affect one MDIO connected to a single PHY -+ * MII_PHYSID2 is a read-only register and writing to it has no effect -+ */ -+ mdiobus_write(bus, addr, MII_PHYSID2, 0); -+#endif -+ - /* Grab the bits from PHYIR1, and put them in the upper half */ - phy_reg = mdiobus_read(bus, addr, MII_PHYSID1); - if (phy_reg < 0) { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0110-WIP-dt-bindings-add-sunvell-vendor-prefix.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0110-WIP-dt-bindings-add-sunvell-vendor-prefix.patch deleted file mode 100644 index 09dfe7290a..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0110-WIP-dt-bindings-add-sunvell-vendor-prefix.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ecd545158c8a7a097246012838dc9e06cb616c53 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 11:38:16 +0000 -Subject: [PATCH 110/120] WIP: dt-bindings: add sunvell vendor prefix - -Add vendor prefix for Shenzhen Sunvell Electronics Co., Ltd - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index a585da02832e..290bc7b7bc5f 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1250,6 +1250,8 @@ patternProperties: - description: Sundance DSP Inc. - "^sunplus,.*": - description: Sunplus Technology Co., Ltd. -+ "^sunvell,.*": -+ description: Shenzhen Sunvell Electronics Co., Ltd - "^SUNW,.*": - description: Sun Microsystems, Inc - "^supermicro,.*": --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0111-WIP-dt-bindings-media-rc-add-rc-sunvell-t95z-plus.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0111-WIP-dt-bindings-media-rc-add-rc-sunvell-t95z-plus.patch deleted file mode 100644 index 16f76f5e0f..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0111-WIP-dt-bindings-media-rc-add-rc-sunvell-t95z-plus.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 60054b9f599a0bfca817da045fd8d0458395fd0b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 18:36:56 +0000 -Subject: [PATCH 111/120] WIP: dt-bindings: media: rc: add rc-sunvell-t95z-plus - -Add a binding for the rc-sunvell-t95z-plus remote keymap - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/media/rc.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index f390a5d2c82d..98946af589a0 100644 ---- a/Documentation/devicetree/bindings/media/rc.yaml -+++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -128,6 +128,7 @@ properties: - - rc-reddo - - rc-snapstream-firefly - - rc-streamzap -+ - rc-sunvell-t95z-plus - - rc-su3000 - - rc-tanix-tx3mini - - rc-tanix-tx5max --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0112-WIP-media-rc-add-keymap-for-Sunvell-T95Z-Plus.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0112-WIP-media-rc-add-keymap-for-Sunvell-T95Z-Plus.patch deleted file mode 100644 index 7c8c861018..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0112-WIP-media-rc-add-keymap-for-Sunvell-T95Z-Plus.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 2e8380078a0b306ba9f71dcfca1f8c5ccf0152f0 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 19:03:10 +0000 -Subject: [PATCH 112/120] WIP: media: rc: add keymap for Sunvell T95Z Plus - -Signed-off-by: Christian Hewitt ---- - drivers/media/rc/keymaps/Makefile | 1 + - .../media/rc/keymaps/rc-sunvell-t95z-plus.c | 75 +++++++++++++++++++ - include/media/rc-map.h | 1 + - 3 files changed, 77 insertions(+) - create mode 100644 drivers/media/rc/keymaps/rc-sunvell-t95z-plus.c - -diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index 03bc9a8d355e..17547c0bcbde 100644 ---- a/drivers/media/rc/keymaps/Makefile -+++ b/drivers/media/rc/keymaps/Makefile -@@ -109,6 +109,7 @@ obj-$(CONFIG_RC_MAP) += \ - rc-reddo.o \ - rc-snapstream-firefly.o \ - rc-streamzap.o \ -+ rc-sunvell-t95z-plus.o \ - rc-su3000.o \ - rc-tanix-tx3mini.o \ - rc-tanix-tx5max.o \ -diff --git a/drivers/media/rc/keymaps/rc-sunvell-t95z-plus.c b/drivers/media/rc/keymaps/rc-sunvell-t95z-plus.c -new file mode 100644 -index 000000000000..aaaf6b1c0045 ---- /dev/null -+++ b/drivers/media/rc/keymaps/rc-sunvell-t95z-plus.c -@@ -0,0 +1,75 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (c) 2023 Christian Hewitt -+#include -+ -+/* -+ * Keytable for Sunvell T95Z Plus remote control -+ * -+ */ -+ -+static struct rc_map_table sunvell_t95z_plus[] = { -+ { 0xdf1c, KEY_POWER }, -+ // TV CONTROLS -+ -+ { 0xdf4b, KEY_PREVIOUS }, -+ { 0xdf01, KEY_SCREEN }, // TV -+ { 0xdf5d, KEY_VOLUMEUP }, -+ -+ { 0xdf4f, KEY_NEXT }, -+ { 0xdf5f, KEY_FAVORITES }, // KODI -+ { 0xdf5c, KEY_VOLUMEDOWN }, -+ -+ { 0xdf42, KEY_HOME }, -+ { 0xdf0a, KEY_BACK }, -+ -+ { 0xdf1a, KEY_UP }, -+ { 0xdf47, KEY_LEFT }, -+ { 0xdf06, KEY_ENTER }, -+ { 0xdf07, KEY_RIGHT }, -+ { 0xdf48, KEY_DOWN }, -+ -+ { 0xdf03, KEY_INFO }, // MOUSE -+ { 0xdf18, KEY_MENU }, -+ -+ { 0xdf54, KEY_1 }, -+ { 0xdf16, KEY_2 }, -+ { 0xdf15, KEY_3 }, -+ { 0xdf50, KEY_4 }, -+ { 0xdf12, KEY_5 }, -+ { 0xdf11, KEY_6 }, -+ { 0xdf4c, KEY_7 }, -+ { 0xdf0e, KEY_8 }, -+ { 0xdf0d, KEY_9 }, -+ { 0xdf41, KEY_WWW }, // WORLD -+ { 0xdf0c, KEY_0 }, -+ { 0xdf10, KEY_DELETE }, -+}; -+ -+static struct rc_map_list sunvell_t95z_plus_map = { -+ .map = { -+ .scan = sunvell_t95z_plus, -+ .size = ARRAY_SIZE(sunvell_t95z_plus), -+ .rc_proto = RC_PROTO_NEC, -+ .name = RC_MAP_SUNVELL_T95Z_PLUS, -+ } -+}; -+ -+static int __init init_rc_map_sunvell_t95z_plus(void) -+{ -+ return rc_map_register(&sunvell_t95z_plus_map); -+} -+ -+static void __exit exit_rc_map_sunvell_t95z_plus(void) -+{ -+ rc_map_unregister(&sunvell_t95z_plus_map); -+} -+ -+module_init(init_rc_map_sunvell_t95z_plus) -+module_exit(exit_rc_map_sunvell_t95z_plus) -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Christian Hewitt "); -diff --git a/include/media/rc-map.h b/include/media/rc-map.h -index dadd4d27a760..b561b122e498 100644 ---- a/include/media/rc-map.h -+++ b/include/media/rc-map.h -@@ -315,6 +315,7 @@ struct rc_map *rc_map_get(const char *name); - #define RC_MAP_REDDO "rc-reddo" - #define RC_MAP_SNAPSTREAM_FIREFLY "rc-snapstream-firefly" - #define RC_MAP_STREAMZAP "rc-streamzap" -+#define RC_MAP_SUNVELL_T95Z_PLUS "rc-sunvell-t95z-plus" - #define RC_MAP_SU3000 "rc-su3000" - #define RC_MAP_TANIX_TX3MINI "rc-tanix-tx3mini" - #define RC_MAP_TANIX_TX5MAX "rc-tanix-tx5max" --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0113-WIP-dt-bindings-arm-amlogic-add-support-for-Sunvell-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0113-WIP-dt-bindings-arm-amlogic-add-support-for-Sunvell-.patch deleted file mode 100644 index 1dbe59bf0c..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0113-WIP-dt-bindings-arm-amlogic-add-support-for-Sunvell-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3cba9548f0cd3d983ffa349516afdb0adf4a62ee Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 11:41:09 +0000 -Subject: [PATCH 113/120] WIP: dt-bindings: arm: amlogic: add support for - Sunvell T95Z Plus - -Sunvell T95Z Plus is an Android STB based on the Amlogic Q200 reference -board with S912 chip. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index dea5d15da404..800ecbc6efa6 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -140,6 +140,7 @@ properties: - - minix,neo-u9h - - nexbox,a1 - - oranth,tx9-pro -+ - sunvell,t95z-plus - - tronsmart,vega-s96 - - videostrong,gxm-kiii-pro - - wetek,core2 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0114-WIP-arm64-dts-meson-add-support-for-Sunvell-T95Z-Plu.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0114-WIP-arm64-dts-meson-add-support-for-Sunvell-T95Z-Plu.patch deleted file mode 100644 index d6e1d66a89..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0114-WIP-arm64-dts-meson-add-support-for-Sunvell-T95Z-Plu.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 44e39b9ad7a1094d7cfd788481a219138cf34336 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 11:46:39 +0000 -Subject: [PATCH 114/120] WIP: arm64: dts: meson: add support for Sunvell T95Z - Plus - -Sunvell T95Z Pluz is based on the Amlogic Q200 reference design with -an S912 chip and the following specifications: - -- 2GB DDR3 RAM -- 16GB eMMC -- 10/100/1000 Base-T Ethernet -- AP6255 Wireless (802.11 b/g/n/ac, BT 4.1) -- HDMI 2.0a video -- FTD628 VFD for clock/status -- 2x USB 2.0 ports -- IR receiver -- 1x Power LED (white) -- 1x Update/Reset button (underside) -- 1x micro SD card slot - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../boot/dts/amlogic/meson-gxm-t95z-plus.dts | 91 +++++++++++++++++++ - 2 files changed, 92 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 8b4155e0140c..8ce0c8697c94 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-tx9-pro.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-t95z-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts -new file mode 100644 -index 000000000000..30ed5b6d325f ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.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 = "sunvell,t95z-plus", "amlogic,s912", "amlogic,meson-gxm"; -+ model = "Sunvell T95Z Plus"; -+ -+ 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>; -+ phy-mode = "rgmii"; -+ -+ amlogic,tx-delay-ns = <2>; -+}; -+ -+&external_mdio { -+ external_phy: ethernet-phy@1 { -+ /* ZTE ZX2AA500 */ -+ compatible = "ethernet-phy-id0381.5c11", -+ "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ 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>; -+ }; -+}; -+ -+&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/devices/AMLGX/patches/linux/amlogic-0115-WIP-arm64-dts-meson-add-SPI-VFD-to-Sunvell-T95Z-Plus.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0115-WIP-arm64-dts-meson-add-SPI-VFD-to-Sunvell-T95Z-Plus.patch deleted file mode 100644 index 92d5cb56a4..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0115-WIP-arm64-dts-meson-add-SPI-VFD-to-Sunvell-T95Z-Plus.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 573181cefb8ff2013dd1f1d796d681ea99ac579a Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 13 Feb 2023 13:11:14 +0000 -Subject: [PATCH 115/120] WIP: arm64: dts: meson: add SPI VFD to Sunvell T95Z - Plus - -making guesses at the config.. - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-gxm-t95z-plus.dts | 67 +++++++++++++++++++ - 1 file changed, 67 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts -index 30ed5b6d325f..54a08da0a7eb 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-t95z-plus.dts -@@ -38,6 +38,73 @@ button-function { - press-threshold-microvolt = <10000>; - }; - }; -+ -+ spi { -+ compatible = "spi-gpio"; -+ -+ /* T95Z v1 (enabled) */ -+ sck-gpios = <&gpio GPIODV_22 GPIO_ACTIVE_HIGH>; -+ mosi-gpios = <&gpio GPIODV_23 GPIO_ACTIVE_HIGH>; -+ cs-gpios = <&gpio GPIODV_21 GPIO_ACTIVE_LOW>; -+ -+ /* T95Z v2 (disabled) -+ sck-gpios = <&gpio GPIODV_19 GPIO_ACTIVE_HIGH>; -+ mosi-gpios = <&gpio GPIODV_18 GPIO_ACTIVE_HIGH>; -+ cs-gpios = <&gpio GPIODV_20 GPIO_ACTIVE_LOW>; -+ */ -+ -+ num-chipselects = <1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ tm1628: led-controller@0 { -+ compatible = "titanmec,tm1628"; -+ reg = <0>; -+ spi-3wire; -+ spi-lsb-first; -+ spi-rx-delay-us = <1>; -+ spi-max-frequency = <500000>; -+ #address-cells = <2>; -+ #size-cells = <0>; -+ -+ titanmec,segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>; -+ titanmec,grid = /bits/ 8 <4 3 2 1>; -+ -+ alarm@5,1 { -+ reg = <5 1>; -+ function = LED_FUNCTION_ALARM; -+ }; -+ -+ usb@5,2 { -+ reg = <5 2>; -+ function = LED_FUNCTION_USB; -+ }; -+ play@5,3 { -+ reg = <5 3>; -+ function = "play"; -+ }; -+ -+ pause@5,4 { -+ reg = <5 4>; -+ function = "pause"; -+ }; -+ -+ colon@5,5 { -+ reg = <5 5>; -+ function = "colon"; -+ }; -+ -+ lan@5,6 { -+ reg = <5 6>; -+ function = LED_FUNCTION_LAN; -+ }; -+ -+ wlan@5,7 { -+ reg = <5 7>; -+ function = LED_FUNCTION_WLAN; -+ }; -+ }; -+ }; - }; - - ðmac { --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0116-WIP-dt-bindings-arm-amlogic-add-support-for-BananaPi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0116-WIP-dt-bindings-arm-amlogic-add-support-for-BananaPi.patch deleted file mode 100644 index 83898d15b7..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0116-WIP-dt-bindings-arm-amlogic-add-support-for-BananaPi.patch +++ /dev/null @@ -1,39 +0,0 @@ -From eab9517d3b0b48c6b62442f5c8c0edcc2e3e95e2 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 17 Feb 2023 19:25:18 +0000 -Subject: [PATCH 116/120] WIP: dt-bindings: arm: amlogic: add support for - BananaPi M2S variants - -BananaPi M2S ships in two variants with Amlogic S922X or A311D chips. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 800ecbc6efa6..fb93a6e51061 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -169,6 +169,7 @@ properties: - - description: Boards with the Amlogic Meson G12B A311D SoC - items: - - enum: -+ - bananapi,bpi-m2s - - khadas,vim3 - - radxa,zero2 - - const: amlogic,a311d -@@ -188,8 +189,10 @@ properties: - - azw,gsking-x - - azw,gtking - - azw,gtking-pro -+ - bananapi,bpi-m2s - - dream,dreambox-one - - dream,dreambox-two -+ - hardkernel,odroid-go-ultra - - hardkernel,odroid-n2 - - hardkernel,odroid-n2-plus - - khadas,vim3 --- -2.34.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0117-WIP-arm64-dts-meson-add-support-for-BananaPi-M2S-var.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0117-WIP-arm64-dts-meson-add-support-for-BananaPi-M2S-var.patch deleted file mode 100644 index 02b73f5e25..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0117-WIP-arm64-dts-meson-add-support-for-BananaPi-M2S-var.patch +++ /dev/null @@ -1,657 +0,0 @@ -From 612b811375ca47c232e4edba77ef886f1597d55b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 17 Feb 2023 09:22:24 +0000 -Subject: [PATCH 117/120] WIP: arm64: dts: meson: add support for BananaPi M2S - variants - -BananaPi M2S ships in Amlogic S922X and A311D variants with the -following common specifications: - -- 16GB eMMC -- HDMI 2.1a video -- 2x 10/100/1000 Base-T Ethernet (1x RTL8211F, 1x RTL811H) -- 2x USB 2.0 ports -- 2x Status LED's (green/blue) -- 1x Power/Reset button -- 1x micro SD card slot -- 40-pin GPIO header -- PWM fan header -- UART header - -The S992X variant has: -- 2GB LPDDR4 RAM - -The A311D variant has: - -- 4GB LPDDR4 RAM -- NPU (5.0 TOPS) -- MIPI DSI header -- MIPI CSI header - -An optional RTL8822CS SDIO WiFi/BT mezzanine is available for -both board variants. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 2 + - .../amlogic/meson-g12b-a311d-bananapi-m2s.dts | 37 ++ - .../boot/dts/amlogic/meson-g12b-bananapi.dtsi | 521 ++++++++++++++++++ - .../amlogic/meson-g12b-s922x-bananapi-m2s.dts | 14 + - 4 files changed, 574 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi - create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-s922x-bananapi-m2s.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 8ce0c8697c94..172355a2afb0 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-tanix-tx5max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-bananapi-m2s.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-one.dtb -@@ -19,6 +20,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-bananapi-m2s.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6-plus.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts -new file mode 100644 -index 000000000000..ac6f7ae1d103 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts -@@ -0,0 +1,37 @@ -+// 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"; -+ -+ aliases { -+ i2c0 = &i2c1; -+ i2c1 = &i2c3; -+ }; -+}; -+ -+/* Camera (CSI) bus */ -+&i2c1 { -+ status = "okay"; -+ pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* Display (DSI) bus */ -+&i2c3 { -+ status = "okay"; -+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&npu { -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi -new file mode 100644 -index 000000000000..d02b50a0f7a8 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi -@@ -0,0 +1,521 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ * Copyright (c) 2023 Christian Hewitt -+ */ -+ -+#include -+#include -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ rtc1 = &vrtc; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 4 GiB */ -+ }; -+ -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 2>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1710000>; -+ -+ button-function { -+ label = "RST"; -+ linux,code = ; -+ press-threshold-microvolt = <10000>; -+ }; -+ }; -+ -+ 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"; -+ -+ blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ -+ green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio_ao GPIOAO_2 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"; -+ }; -+ -+ 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 = <&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>; -+ -+ 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>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&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>; -+ }; -+}; -+ -+/* Main i2c bus */ -+&i2c2 { -+ status = "okay"; -+ pinctrl-0 = <&i2c2_sda_x_pins>, <&i2c2_sck_x_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&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 { -+ /* enable if WiFi/BT board connected */ -+ status = "disabled"; -+ 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 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_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&uart_A { -+ /* enable if WiFi/BT board connected */ -+ 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>; -+ }; -+}; -+ -+&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/arm64/boot/dts/amlogic/meson-g12b-s922x-bananapi-m2s.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-s922x-bananapi-m2s.dts -new file mode 100644 -index 000000000000..7f66f263a2ce ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/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 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0120-WIP-media-meson-vdec-fix-memory-leak-of-new_frame.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0120-WIP-media-meson-vdec-fix-memory-leak-of-new_frame.patch deleted file mode 100644 index ed6a7374c3..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0120-WIP-media-meson-vdec-fix-memory-leak-of-new_frame.patch +++ /dev/null @@ -1,29 +0,0 @@ -From df325d11ba5958c576be5594b3fd08d934d4139f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 14 Mar 2023 01:13:15 +0000 -Subject: [PATCH 120/120] WIP: media: meson: vdec: fix memory leak of - 'new_frame' - -Reported-by: kernel test robot -Reported-by: Dan Carpenter -Link: https://lore.kernel.org/r/202303120441.YFGHDOya-lkp@intel.com/ -Signed-off-by: Christian Hewitt ---- - drivers/staging/media/meson/vdec/codec_hevc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/staging/media/meson/vdec/codec_hevc.c b/drivers/staging/media/meson/vdec/codec_hevc.c -index fcaaa1ad50b8..b0d8623c3c7d 100644 ---- a/drivers/staging/media/meson/vdec/codec_hevc.c -+++ b/drivers/staging/media/meson/vdec/codec_hevc.c -@@ -731,6 +731,7 @@ codec_hevc_prepare_new_frame(struct amvdec_session *sess) - vbuf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx); - if (!vbuf) { - dev_err(sess->core->dev, "No dst buffer available\n"); -+ kfree(new_frame); - return NULL; - } - --- -2.34.1 - diff --git a/projects/Amlogic/linux/linux.aarch64.conf b/projects/Amlogic/linux/linux.aarch64.conf index 2ca304af43..0a9a7b47ab 100644 --- a/projects/Amlogic/linux/linux.aarch64.conf +++ b/projects/Amlogic/linux/linux.aarch64.conf @@ -1,16 +1,18 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.1.19 Kernel Configuration +# Linux/arm64 6.5.7 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-none-elf-gcc-12.2.0 (GCC) 12.2.0" +CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-13.2.0 (GCC) 13.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=120200 +CONFIG_GCC_VERSION=130200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23900 +CONFIG_AS_VERSION=24100 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23900 +CONFIG_LD_VERSION=24100 CONFIG_LLD_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y @@ -55,7 +57,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_IRQ_IPI=y CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_IRQ_MSI_IOMMU=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y @@ -125,7 +126,6 @@ CONFIG_CPU_ISOLATION=y CONFIG_TREE_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU_GENERIC=y CONFIG_TASKS_RCU=y @@ -139,7 +139,6 @@ CONFIG_IKCONFIG_PROC=y # CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 # CONFIG_PRINTK_INDEX is not set CONFIG_GENERIC_SCHED_CLOCK=y @@ -152,7 +151,6 @@ CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_CC_HAS_INT128=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GCC12_NO_ARRAY_BOUNDS=y CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y @@ -166,6 +164,7 @@ CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y # CONFIG_RT_GROUP_SCHED is not set +CONFIG_SCHED_MM_CID=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y @@ -187,7 +186,6 @@ CONFIG_PID_NS=y CONFIG_NET_NS=y # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_SCHED_AUTOGROUP=y -# CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="@INITRAMFS_SOURCE@" @@ -202,11 +200,13 @@ CONFIG_INITRAMFS_ROOT_GID=0 # CONFIG_RD_ZSTD is not set CONFIG_INITRAMFS_COMPRESSION_NONE=y CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_FORCE is not set # CONFIG_BOOT_CONFIG_EMBED is not set CONFIG_INITRAMFS_PRESERVE_MTIME=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LD_ORPHAN_WARN=y +CONFIG_LD_ORPHAN_WARN_LEVEL="warn" CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y @@ -233,11 +233,13 @@ CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_SELFTEST is not set CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y +CONFIG_CACHESTAT_SYSCALL=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y @@ -255,7 +257,7 @@ CONFIG_PROFILING=y # end of General setup CONFIG_ARM64=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -280,6 +282,7 @@ CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=4 CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y # # Platform selection @@ -301,6 +304,7 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ARCH_MESON=y # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_NXP is not set +# CONFIG_ARCH_MA35 is not set # CONFIG_ARCH_NPCM is not set # CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_REALTEK is not set @@ -308,6 +312,7 @@ CONFIG_ARCH_MESON=y # CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_SEATTLE is not set # CONFIG_ARCH_INTEL_SOCFPGA is not set +# CONFIG_ARCH_STM32 is not set # CONFIG_ARCH_SYNQUACER is not set # CONFIG_ARCH_TEGRA is not set # CONFIG_ARCH_SPRD is not set @@ -327,6 +332,7 @@ CONFIG_ARCH_MESON=y # # ARM errata workarounds via the alternatives framework # +CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_827319=y @@ -357,6 +363,8 @@ CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y CONFIG_ARM64_ERRATUM_2441009=y CONFIG_ARM64_ERRATUM_2457168=y +CONFIG_ARM64_ERRATUM_2645198=y +CONFIG_ARM64_ERRATUM_2966298=y # CONFIG_CAVIUM_ERRATUM_22375 is not set # CONFIG_CAVIUM_ERRATUM_23154 is not set # CONFIG_CAVIUM_ERRATUM_27456 is not set @@ -369,6 +377,7 @@ CONFIG_ARM64_ERRATUM_2457168=y # CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set # CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set # CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set +# CONFIG_ROCKCHIP_ERRATUM_3588001 is not set # CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set # end of ARM errata workarounds via the alternatives framework @@ -402,7 +411,7 @@ CONFIG_CC_HAVE_SHADOW_CALL_STACK=y # CONFIG_KEXEC_FILE is not set # CONFIG_CRASH_DUMP is not set # CONFIG_XEN is not set -CONFIG_ARCH_FORCE_MAX_ORDER=11 +CONFIG_ARCH_FORCE_MAX_ORDER=10 CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y @@ -444,7 +453,7 @@ CONFIG_ARM64_PTR_AUTH=y CONFIG_ARM64_PTR_AUTH_KERNEL=y CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y -CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_ARMV8_3=y CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y # end of ARMv8.3 architectural features @@ -475,7 +484,6 @@ CONFIG_ARM64_EPAN=y CONFIG_ARM64_SVE=y CONFIG_ARM64_SME=y -CONFIG_ARM64_MODULE_PLTS=y CONFIG_ARM64_PSEUDO_NMI=y # CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set CONFIG_RELOCATABLE=y @@ -483,7 +491,6 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_STACKPROTECTOR_PER_TASK=y -CONFIG_ARCH_NR_GPIO=0 # end of Kernel Features # @@ -573,6 +580,8 @@ CONFIG_HAVE_KVM=y # General architecture-dependent options # CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y +CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HOTPLUG_CORE_SYNC_DEAD=y # CONFIG_KPROBES is not set CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set @@ -600,13 +609,16 @@ CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_MMU_GATHER_TABLE_FREE=y CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y CONFIG_HAVE_CMPXCHG_DOUBLE=y @@ -681,11 +693,14 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GCC_PLUGINS=y CONFIG_GCC_PLUGINS=y # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set +CONFIG_FUNCTION_ALIGNMENT_4B=y +CONFIG_FUNCTION_ALIGNMENT=4 # end of General architecture-dependent options CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y +# CONFIG_MODULE_DEBUG is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -704,6 +719,7 @@ CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y CONFIG_BLOCK_LEGACY_AUTOLOAD=y CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CGROUP_PUNT_BIO=y CONFIG_BLK_DEV_BSG_COMMON=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y @@ -745,7 +761,6 @@ CONFIG_EFI_PARTITION=y # CONFIG_CMDLINE_PARTITION is not set # end of Partition Types -CONFIG_BLOCK_COMPAT=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y @@ -797,9 +812,9 @@ CONFIG_SWAP=y # # SLAB allocator options # -# CONFIG_SLAB is not set +# CONFIG_SLAB_DEPRECATED is not set CONFIG_SLUB=y -# CONFIG_SLOB is not set +# CONFIG_SLUB_TINY is not set CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set @@ -854,13 +869,19 @@ CONFIG_ARCH_HAS_ZONE_DMA_SET=y CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA32=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_USES_PG_ARCH_X=y CONFIG_VM_EVENT_COUNTERS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set +# CONFIG_DMAPOOL_TEST is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_SECRETMEM=y # CONFIG_ANON_VMA_NAME is not set # CONFIG_USERFAULTFD is not set # CONFIG_LRU_GEN is not set +CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y +CONFIG_PER_VMA_LOCK=y +CONFIG_LOCK_MM_AND_FIND_VMA=y # # Data Access Monitoring @@ -890,6 +911,7 @@ CONFIG_TLS=y # CONFIG_XFRM_USER is not set # CONFIG_NET_KEY is not set # CONFIG_XDP_SOCKETS is not set +CONFIG_NET_HANDSHAKE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -975,6 +997,7 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_EGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_BPF_LINK=y # CONFIG_NETFILTER_NETLINK_ACCT is not set # CONFIG_NETFILTER_NETLINK_QUEUE is not set CONFIG_NETFILTER_NETLINK_LOG=m @@ -1119,7 +1142,6 @@ CONFIG_IP_NF_TARGET_MASQUERADE=m # CONFIG_IP_NF_TARGET_NETMAP is not set # CONFIG_IP_NF_TARGET_REDIRECT is not set CONFIG_IP_NF_MANGLE=m -# CONFIG_IP_NF_TARGET_CLUSTERIP is not set # CONFIG_IP_NF_TARGET_ECN is not set # CONFIG_IP_NF_TARGET_TTL is not set # CONFIG_IP_NF_RAW is not set @@ -1189,7 +1211,6 @@ CONFIG_NET_SCHED=y # # Queueing/Scheduling # -# CONFIG_NET_SCH_CBQ is not set # CONFIG_NET_SCH_HTB is not set # CONFIG_NET_SCH_HFSC is not set # CONFIG_NET_SCH_PRIO is not set @@ -1203,7 +1224,6 @@ CONFIG_NET_SCHED=y # CONFIG_NET_SCH_ETF is not set # CONFIG_NET_SCH_TAPRIO is not set # CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_DSMARK is not set # CONFIG_NET_SCH_NETEM is not set # CONFIG_NET_SCH_DRR is not set # CONFIG_NET_SCH_MQPRIO is not set @@ -1227,8 +1247,6 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_CLS_ROUTE4 is not set # CONFIG_NET_CLS_FW is not set # CONFIG_NET_CLS_U32 is not set -# CONFIG_NET_CLS_RSVP is not set -# CONFIG_NET_CLS_RSVP6 is not set # CONFIG_NET_CLS_FLOW is not set # CONFIG_NET_CLS_CGROUP is not set # CONFIG_NET_CLS_BPF is not set @@ -1251,6 +1269,7 @@ CONFIG_DNS_RESOLVER=y # CONFIG_QRTR is not set # CONFIG_NET_NCSI is not set CONFIG_PCPU_DEV_REFCNT=y +CONFIG_MAX_SKB_FRAGS=17 CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -1279,6 +1298,7 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_HIDP=m CONFIG_BT_HS=y CONFIG_BT_LE=y +CONFIG_BT_LE_L2CAP_ECRED=y # CONFIG_BT_LEDS is not set # CONFIG_BT_MSFTEXT is not set # CONFIG_BT_AOSPEXT is not set @@ -1295,6 +1315,7 @@ CONFIG_BT_QCA=m CONFIG_BT_MTK=m CONFIG_BT_HCIBTUSB=m # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set +CONFIG_BT_HCIBTUSB_POLL_SYNC=y CONFIG_BT_HCIBTUSB_BCM=y CONFIG_BT_HCIBTUSB_MTK=y CONFIG_BT_HCIBTUSB_RTL=y @@ -1314,6 +1335,7 @@ CONFIG_BT_HCIUART_QCA=y # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set # CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBCM4377 is not set # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set @@ -1321,6 +1343,7 @@ CONFIG_BT_HCIUART_QCA=y # CONFIG_BT_ATH3K is not set CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m +# CONFIG_BT_NXPUART is not set # end of Bluetooth device drivers # CONFIG_AF_RXRPC is not set @@ -1344,8 +1367,6 @@ CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_CRDA_SUPPORT is not set CONFIG_CFG80211_WEXT=y CONFIG_LIB80211=m -CONFIG_LIB80211_CRYPT_WEP=m -CONFIG_LIB80211_CRYPT_CCMP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y @@ -1395,7 +1416,6 @@ CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_PERFORMANCE is not set # CONFIG_PCIE_PTM is not set CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_STUB is not set @@ -1414,38 +1434,38 @@ CONFIG_VGA_ARB_MAX_GPUS=16 # # PCI controller drivers # -# CONFIG_PCI_FTPCI100 is not set -# CONFIG_PCI_HOST_GENERIC is not set -# CONFIG_PCIE_XILINX is not set -# CONFIG_PCI_XGENE is not set # CONFIG_PCIE_ALTERA is not set # CONFIG_PCI_HOST_THUNDER_PEM is not set # CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_HOST_GENERIC is not set # CONFIG_PCIE_MICROCHIP_HOST is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_XILINX is not set # -# DesignWare PCI Core Support -# -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -# CONFIG_PCIE_DW_PLAT_HOST is not set -# CONFIG_PCI_HISI is not set -# CONFIG_PCIE_KIRIN is not set -CONFIG_PCI_MESON=y -# CONFIG_PCIE_AL is not set -# end of DesignWare PCI Core Support - -# -# Mobiveil PCIe Core Support -# -# end of Mobiveil PCIe Core Support - -# -# Cadence PCIe controllers support +# Cadence-based PCIe controllers # # CONFIG_PCIE_CADENCE_PLAT_HOST is not set # CONFIG_PCI_J721E_HOST is not set -# end of Cadence PCIe controllers support +# end of Cadence-based PCIe controllers + +# +# DesignWare-based PCIe controllers +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +# CONFIG_PCIE_AL is not set +CONFIG_PCI_MESON=y +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCIE_DW_PLAT_HOST is not set +# end of DesignWare-based PCIe controllers + +# +# Mobiveil-based PCIe controllers +# +# end of Mobiveil-based PCIe controllers # end of PCI controller drivers # @@ -1478,6 +1498,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # Firmware loader # CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_DEBUG=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set # CONFIG_FW_LOADER_COMPRESS is not set @@ -1502,6 +1523,7 @@ CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set CONFIG_GENERIC_ARCH_TOPOLOGY=y +# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set # end of Generic Driver Options # @@ -1748,7 +1770,6 @@ CONFIG_EEPROM_93CX6=m # CONFIG_MISC_ALCOR_PCI is not set # CONFIG_MISC_RTSX_PCI is not set # CONFIG_MISC_RTSX_USB is not set -# CONFIG_HABANA_AI is not set # CONFIG_UACCE is not set # CONFIG_PVPANIC is not set # CONFIG_GP_PCI1XXXX is not set @@ -1856,7 +1877,6 @@ CONFIG_SATA_MOBILE_LPM_POLICY=0 CONFIG_SATA_AHCI_PLATFORM=m # CONFIG_AHCI_DWC is not set # CONFIG_AHCI_CEVA is not set -# CONFIG_AHCI_QORIQ is not set # CONFIG_SATA_INIC162X is not set # CONFIG_SATA_ACARD_AHCI is not set # CONFIG_SATA_SIL24 is not set @@ -2010,7 +2030,6 @@ CONFIG_NET_VENDOR_ASIX=y # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_WANGXUN is not set # CONFIG_JME is not set # CONFIG_NET_VENDOR_ADI is not set # CONFIG_NET_VENDOR_LITEX is not set @@ -2064,6 +2083,7 @@ CONFIG_DWMAC_MESON=y # CONFIG_NET_VENDOR_TI is not set # CONFIG_NET_VENDOR_VERTEXCOM is not set # CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WANGXUN is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set # CONFIG_FDDI is not set @@ -2072,6 +2092,7 @@ CONFIG_PHYLINK=y CONFIG_PHYLIB=y CONFIG_SWPHY=y CONFIG_LED_TRIGGER_PHY=y +CONFIG_PHYLIB_LEDS=y CONFIG_FIXED_PHY=y # CONFIG_SFP is not set @@ -2102,20 +2123,22 @@ CONFIG_MARVELL_PHY=y # CONFIG_MAXLINEAR_GPHY is not set # CONFIG_MEDIATEK_GE_PHY is not set CONFIG_MICREL_PHY=y +# CONFIG_MICROCHIP_T1S_PHY is not set CONFIG_MICROCHIP_PHY=y # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=y # CONFIG_MOTORCOMM_PHY is not set # CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_CBTX_PHY is not set # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_NCN26000_PHY is not set # CONFIG_AT803X_PHY is not set -CONFIG_MAXIO_PHY=y # CONFIG_QSEMI_PHY is not set CONFIG_REALTEK_PHY=y # CONFIG_RENESAS_PHY is not set # CONFIG_ROCKCHIP_PHY is not set -CONFIG_SMSC_PHY=m +CONFIG_SMSC_PHY=y # CONFIG_STE10XP is not set # CONFIG_TERANETICS_PHY is not set # CONFIG_DP83822_PHY is not set @@ -2167,6 +2190,11 @@ CONFIG_PPP_DEFLATE=m CONFIG_PPP_MPPE=m # CONFIG_PPP_MULTILINK is not set CONFIG_PPPOE=m +# CONFIG_PPPOE_HASH_BITS_1 is not set +# CONFIG_PPPOE_HASH_BITS_2 is not set +CONFIG_PPPOE_HASH_BITS_4=y +# CONFIG_PPPOE_HASH_BITS_8 is not set +CONFIG_PPPOE_HASH_BITS=4 CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m # CONFIG_SLIP is not set @@ -2252,6 +2280,7 @@ CONFIG_ATH10K_USB=m CONFIG_WCN36XX=m # CONFIG_WCN36XX_DEBUGFS is not set # CONFIG_ATH11K is not set +# CONFIG_ATH12K is not set CONFIG_WLAN_VENDOR_ATMEL=y # CONFIG_ATMEL is not set # CONFIG_AT76C50X_USB is not set @@ -2285,6 +2314,7 @@ CONFIG_BRCMFMAC_SDIO=y # CONFIG_BRCM_TRACING is not set CONFIG_BRCMDBG=y CONFIG_WLAN_VENDOR_CISCO=y +# CONFIG_AIRO is not set CONFIG_WLAN_VENDOR_INTEL=y # CONFIG_IPW2100 is not set # CONFIG_IPW2200 is not set @@ -2329,6 +2359,7 @@ CONFIG_MT7663S=m # CONFIG_MT7921E is not set # CONFIG_MT7921S is not set # CONFIG_MT7921U is not set +# CONFIG_MT7996E is not set CONFIG_WLAN_VENDOR_MICROCHIP=y # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set @@ -2393,6 +2424,7 @@ CONFIG_RTW88_8822BU=m CONFIG_RTW88_8822CS=m CONFIG_RTW88_8822CU=m # CONFIG_RTW88_8723DE is not set +# CONFIG_RTW88_8723DS is not set CONFIG_RTW88_8723DU=m # CONFIG_RTW88_8821CE is not set CONFIG_RTW88_8821CS=m @@ -2410,8 +2442,8 @@ CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set -# CONFIG_MAC80211_HWSIM is not set CONFIG_USB_NET_RNDIS_WLAN=m +# CONFIG_MAC80211_HWSIM is not set # CONFIG_VIRT_WIFI is not set # CONFIG_WAN is not set @@ -2546,7 +2578,6 @@ CONFIG_INPUT_UINPUT=y # CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PWM_BEEPER is not set # CONFIG_INPUT_PWM_VIBRA is not set -# CONFIG_INPUT_RK805_PWRKEY is not set CONFIG_INPUT_GPIO_ROTARY_ENCODER=m # CONFIG_INPUT_DA7280_HAPTICS is not set # CONFIG_INPUT_ADXL34X is not set @@ -2605,6 +2636,7 @@ CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set +CONFIG_LEGACY_TIOCSTI=y CONFIG_LDISC_AUTOLOAD=y # @@ -2616,12 +2648,14 @@ CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_PCILIB=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_NR_UARTS=1 CONFIG_SERIAL_8250_RUNTIME_UARTS=0 CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_MANY_PORTS is not set +# CONFIG_SERIAL_8250_PCI1XXXX is not set CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set # CONFIG_SERIAL_8250_RSA is not set @@ -2637,7 +2671,7 @@ CONFIG_SERIAL_OF_PLATFORM=y # # CONFIG_SERIAL_AMBA_PL010 is not set # CONFIG_SERIAL_AMBA_PL011 is not set -# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set CONFIG_SERIAL_MESON=y CONFIG_SERIAL_MESON_CONSOLE=y # CONFIG_SERIAL_MAX3100 is not set @@ -2671,6 +2705,7 @@ CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_TTY_PRINTK is not set # CONFIG_VIRTIO_CONSOLE is not set # CONFIG_IPMI_HANDLER is not set +# CONFIG_SSIF_IPMI_BMC is not set # CONFIG_IPMB_DEVICE_INTERFACE is not set CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set @@ -2687,8 +2722,6 @@ CONFIG_DEVPORT=y # CONFIG_TCG_TPM is not set # CONFIG_XILLYBUS is not set # CONFIG_XILLYUSB is not set -# CONFIG_RANDOM_TRUST_CPU is not set -# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # end of Character devices # @@ -2753,6 +2786,7 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=y # CONFIG_I2C_EMEV2 is not set CONFIG_I2C_GPIO=y # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +# CONFIG_I2C_HISI is not set CONFIG_I2C_MESON=y # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set @@ -2797,13 +2831,13 @@ CONFIG_SPI_MEM=y # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AMLOGIC_SPIFC_A1 is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set CONFIG_SPI_BITBANG=y # CONFIG_SPI_CADENCE is not set # CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_CADENCE_XSPI is not set # CONFIG_SPI_DESIGNWARE is not set -# CONFIG_SPI_NXP_FLEXSPI is not set CONFIG_SPI_GPIO=y # CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_MESON_SPICC=y @@ -2811,11 +2845,12 @@ CONFIG_SPI_MESON_SPIFC=y # CONFIG_SPI_MICROCHIP_CORE is not set # CONFIG_SPI_MICROCHIP_CORE_QSPI is not set # CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PCI1XXXX is not set CONFIG_SPI_PL022=y # CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_ROCKCHIP is not set # CONFIG_SPI_SC18IS602 is not set # CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SN_F_OSPI is not set # CONFIG_SPI_MXIC is not set # CONFIG_SPI_THUNDERX is not set # CONFIG_SPI_XCOMM is not set @@ -2873,7 +2908,6 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_MICROCHIP_SGPIO is not set # CONFIG_PINCTRL_OCELOT is not set -# CONFIG_PINCTRL_RK805 is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_STMFX is not set # CONFIG_PINCTRL_SX150X is not set @@ -2913,6 +2947,7 @@ CONFIG_GPIO_DWAPB=y # CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HISI is not set # CONFIG_GPIO_HLWD is not set # CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MB86S7X is not set @@ -2928,6 +2963,7 @@ CONFIG_GPIO_GENERIC_PLATFORM=y # I2C GPIO expanders # # CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_FXL6408 is not set # CONFIG_GPIO_GW_PLD is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set @@ -2972,6 +3008,7 @@ CONFIG_GPIO_PCA953X=m # Virtual GPIO drivers # # CONFIG_GPIO_AGGREGATOR is not set +# CONFIG_GPIO_LATCH is not set # CONFIG_GPIO_MOCKUP is not set # CONFIG_GPIO_SIM is not set # end of Virtual GPIO drivers @@ -2981,6 +3018,7 @@ CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_BRCMSTB is not set CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y +# CONFIG_POWER_RESET_ODROID_GO_ULTRA_POWEROFF is not set # CONFIG_POWER_RESET_LTC2952 is not set CONFIG_POWER_RESET_REGULATOR=y CONFIG_POWER_RESET_RESTART=y @@ -2993,7 +3031,6 @@ CONFIG_SYSCON_REBOOT_MODE=y CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_POWER_SUPPLY_HWMON=y -# CONFIG_PDA_POWER is not set # CONFIG_GENERIC_ADC_BATTERY is not set # CONFIG_IP5XXX_POWER is not set # CONFIG_TEST_POWER is not set @@ -3025,12 +3062,13 @@ CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_CHARGER_BQ25890 is not set # CONFIG_CHARGER_BQ25980 is not set # CONFIG_CHARGER_BQ256XX is not set -# CONFIG_CHARGER_RK817 is not set # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_BATTERY_GOLDFISH is not set # CONFIG_BATTERY_RT5033 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_RT9467 is not set +# CONFIG_CHARGER_RT9471 is not set # CONFIG_CHARGER_UCS1002 is not set # CONFIG_CHARGER_BD99954 is not set # CONFIG_BATTERY_UG3105 is not set @@ -3104,6 +3142,7 @@ CONFIG_SENSORS_GPIO_FAN=m # CONFIG_SENSORS_MAX31722 is not set # CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31760 is not set +# CONFIG_MAX31827 is not set # CONFIG_SENSORS_MAX6620 is not set # CONFIG_SENSORS_MAX6621 is not set # CONFIG_SENSORS_MAX6639 is not set @@ -3111,6 +3150,7 @@ CONFIG_SENSORS_GPIO_FAN=m # CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MAX6697 is not set # CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MC34VR500 is not set # CONFIG_SENSORS_MCP3021 is not set # CONFIG_SENSORS_TC654 is not set # CONFIG_SENSORS_TPS23861 is not set @@ -3237,6 +3277,7 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0 # CONFIG_SOFT_WATCHDOG is not set # CONFIG_GPIO_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set +# CONFIG_XILINX_WINDOW_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set # CONFIG_ARM_SP805_WATCHDOG is not set # CONFIG_ARM_SBSA_WATCHDOG is not set @@ -3290,6 +3331,7 @@ CONFIG_BCMA_DRIVER_PCI=y CONFIG_MFD_CORE=y # CONFIG_MFD_ACT8945A is not set # CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_SMPRO is not set # CONFIG_MFD_AS3722 is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set @@ -3299,6 +3341,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX5970 is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set @@ -3313,8 +3356,6 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_MP2629 is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_HI6421_SPMI is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HTC_I2CPLD is not set # CONFIG_LPC_ICH is not set # CONFIG_LPC_SCH is not set # CONFIG_MFD_IQS62X is not set @@ -3324,6 +3365,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77541 is not set # CONFIG_MFD_MAX77620 is not set # CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set @@ -3351,7 +3393,8 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RT5120 is not set # CONFIG_MFD_RC5T583 is not set -CONFIG_MFD_RK808=y +# CONFIG_MFD_RK8XX_I2C is not set +# CONFIG_MFD_RK8XX_SPI is not set # CONFIG_MFD_RN5T618 is not set CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set @@ -3373,10 +3416,13 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TI_LP87565 is not set # CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS65219 is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS6594_I2C is not set +# CONFIG_MFD_TPS6594_SPI is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WL1273_CORE is not set @@ -3401,7 +3447,7 @@ CONFIG_MFD_SYSCON=y CONFIG_MFD_KHADAS_MCU=m # CONFIG_MFD_QCOM_PM8008 is not set # CONFIG_RAVE_SP_CORE is not set -# CONFIG_MFD_INTEL_M10_BMC is not set +# CONFIG_MFD_INTEL_M10_BMC_SPI is not set # CONFIG_MFD_RSMU_I2C is not set # CONFIG_MFD_RSMU_SPI is not set # end of Multifunction device drivers @@ -3435,6 +3481,7 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MAX8973 is not set # CONFIG_REGULATOR_MAX20086 is not set +# CONFIG_REGULATOR_MAX20411 is not set # CONFIG_REGULATOR_MAX77826 is not set # CONFIG_REGULATOR_MCP16502 is not set # CONFIG_REGULATOR_MP5416 is not set @@ -3452,12 +3499,15 @@ CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_PWM=y # CONFIG_REGULATOR_QCOM_SPMI is not set # CONFIG_REGULATOR_QCOM_USB_VBUS is not set +# CONFIG_REGULATOR_RAA215300 is not set # CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set -# CONFIG_REGULATOR_RK808 is not set # CONFIG_REGULATOR_RT4801 is not set +# CONFIG_REGULATOR_RT4803 is not set # CONFIG_REGULATOR_RT5190A is not set +# CONFIG_REGULATOR_RT5739 is not set # CONFIG_REGULATOR_RT5759 is not set # CONFIG_REGULATOR_RT6160 is not set +# CONFIG_REGULATOR_RT6190 is not set # CONFIG_REGULATOR_RT6245 is not set # CONFIG_REGULATOR_RTQ2134 is not set # CONFIG_REGULATOR_RTMV20 is not set @@ -3472,6 +3522,7 @@ CONFIG_REGULATOR_PWM=y # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS6286X is not set +# CONFIG_REGULATOR_TPS6287X is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3610,7 +3661,6 @@ CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m # @@ -3743,6 +3793,10 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m # Mediatek media platform drivers # +# +# Microchip Technology, Inc. media platform drivers +# + # # NVidia media platform drivers # @@ -3804,6 +3858,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_CYPRESS_FIRMWARE=m CONFIG_TTPCI_EEPROM=m +CONFIG_UVC_COMMON=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m CONFIG_DVB_B2C2_FLEXCOP=m @@ -3825,77 +3880,7 @@ CONFIG_MEDIA_ATTACH=y # IR I2C driver auto-selected by 'Autoselect ancillary drivers' # CONFIG_VIDEO_IR_I2C=m - -# -# Camera sensor devices -# -# CONFIG_VIDEO_AR0521 is not set -# CONFIG_VIDEO_HI556 is not set -# CONFIG_VIDEO_HI846 is not set -# CONFIG_VIDEO_HI847 is not set -# CONFIG_VIDEO_IMX208 is not set -# CONFIG_VIDEO_IMX214 is not set -# CONFIG_VIDEO_IMX219 is not set -# CONFIG_VIDEO_IMX258 is not set -# CONFIG_VIDEO_IMX274 is not set -# CONFIG_VIDEO_IMX290 is not set -# CONFIG_VIDEO_IMX319 is not set -# CONFIG_VIDEO_IMX334 is not set -# CONFIG_VIDEO_IMX335 is not set -# CONFIG_VIDEO_IMX355 is not set -# CONFIG_VIDEO_IMX412 is not set -# CONFIG_VIDEO_MT9M001 is not set -# CONFIG_VIDEO_MT9M032 is not set -# CONFIG_VIDEO_MT9M111 is not set -# CONFIG_VIDEO_MT9P031 is not set -# CONFIG_VIDEO_MT9T001 is not set -# CONFIG_VIDEO_MT9T112 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MT9V032 is not set -# CONFIG_VIDEO_MT9V111 is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_OG01A1B is not set -# CONFIG_VIDEO_OV02A10 is not set -# CONFIG_VIDEO_OV08D10 is not set -# CONFIG_VIDEO_OV13858 is not set -# CONFIG_VIDEO_OV13B10 is not set -# CONFIG_VIDEO_OV2640 is not set -# CONFIG_VIDEO_OV2659 is not set -# CONFIG_VIDEO_OV2680 is not set -# CONFIG_VIDEO_OV2685 is not set -# CONFIG_VIDEO_OV5640 is not set -# CONFIG_VIDEO_OV5645 is not set -# CONFIG_VIDEO_OV5647 is not set -# CONFIG_VIDEO_OV5648 is not set -# CONFIG_VIDEO_OV5670 is not set -# CONFIG_VIDEO_OV5675 is not set -# CONFIG_VIDEO_OV5693 is not set -# CONFIG_VIDEO_OV5695 is not set -# CONFIG_VIDEO_OV6650 is not set -# CONFIG_VIDEO_OV7251 is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_OV772X is not set -# CONFIG_VIDEO_OV7740 is not set -# CONFIG_VIDEO_OV8856 is not set -# CONFIG_VIDEO_OV8865 is not set -# CONFIG_VIDEO_OV9282 is not set -# CONFIG_VIDEO_OV9640 is not set -# CONFIG_VIDEO_OV9650 is not set -# CONFIG_VIDEO_RDACM20 is not set -# CONFIG_VIDEO_RDACM21 is not set -# CONFIG_VIDEO_RJ54N1 is not set -# CONFIG_VIDEO_S5C73M3 is not set -# CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set -# CONFIG_VIDEO_S5K6A3 is not set -# CONFIG_VIDEO_S5K6AA is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_CCS is not set -# CONFIG_VIDEO_ET8EK8 is not set -# CONFIG_VIDEO_M5MOLS is not set -# end of Camera sensor devices +# CONFIG_VIDEO_CAMERA_SENSOR is not set # # Lens drivers @@ -3960,6 +3945,7 @@ CONFIG_VIDEO_WM8775=m # CONFIG_VIDEO_SAA7110 is not set CONFIG_VIDEO_SAA711X=m # CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TC358746 is not set # CONFIG_VIDEO_TVP514X is not set # CONFIG_VIDEO_TVP5150 is not set # CONFIG_VIDEO_TVP7002 is not set @@ -3979,7 +3965,6 @@ CONFIG_VIDEO_CX25840=m # # Video encoders # -# CONFIG_VIDEO_AD9389B is not set # CONFIG_VIDEO_ADV7170 is not set # CONFIG_VIDEO_ADV7175 is not set # CONFIG_VIDEO_ADV7343 is not set @@ -4245,7 +4230,10 @@ CONFIG_DVB_DUMMY_FE=m # Graphics support # CONFIG_APERTURE_HELPERS=y +CONFIG_VIDEO_CMDLINE=y +CONFIG_VIDEO_NOMODESET=y CONFIG_DRM=y +CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DEBUG_MM is not set CONFIG_DRM_KMS_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set @@ -4288,9 +4276,6 @@ CONFIG_DRM_SCHED=y # CONFIG_DRM_UDL is not set # CONFIG_DRM_AST is not set # CONFIG_DRM_MGAG200 is not set -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_RCAR_USE_LVDS is not set -# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set # CONFIG_DRM_QXL is not set CONFIG_DRM_PANEL=y @@ -4299,33 +4284,86 @@ CONFIG_DRM_PANEL=y # # CONFIG_DRM_PANEL_ABT_Y030XX067A is not set # CONFIG_DRM_PANEL_ARM_VERSATILE is not set +# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set +# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set +# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set +# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set +# CONFIG_DRM_PANEL_DSI_CM is not set # CONFIG_DRM_PANEL_LVDS is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_EBBG_FT8719 is not set +# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set +# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set +# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set +# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set +# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set # CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set +# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set +# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_JDI_R63452 is not set +# CONFIG_DRM_PANEL_KHADAS_TS050 is not set +# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set # CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set # CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set +# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set +# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set +# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set +# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set +# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set # CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set # CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set +# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set +# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set +# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set +# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set +# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set # CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set # end of Display Panels CONFIG_DRM_BRIDGE=y @@ -4334,7 +4372,6 @@ CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # -# CONFIG_DRM_CDNS_DSI is not set # CONFIG_DRM_CHIPONE_ICN6211 is not set # CONFIG_DRM_CHRONTEL_CH7033 is not set CONFIG_DRM_DISPLAY_CONNECTOR=y @@ -4350,6 +4387,7 @@ CONFIG_DRM_DISPLAY_CONNECTOR=y # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PARADE_PS8622 is not set # CONFIG_DRM_PARADE_PS8640 is not set +# CONFIG_DRM_SAMSUNG_DSIM is not set # CONFIG_DRM_SIL_SII8620 is not set # CONFIG_DRM_SII902X is not set # CONFIG_DRM_SII9234 is not set @@ -4369,12 +4407,14 @@ CONFIG_DRM_DISPLAY_CONNECTOR=y # CONFIG_DRM_ANALOGIX_ANX78XX is not set # CONFIG_DRM_ANALOGIX_ANX7625 is not set # CONFIG_DRM_I2C_ADV7511 is not set +# CONFIG_DRM_CDNS_DSI is not set # CONFIG_DRM_CDNS_MHDP8546 is not set CONFIG_DRM_DW_HDMI=y # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set CONFIG_DRM_DW_HDMI_I2S_AUDIO=y # CONFIG_DRM_DW_HDMI_GP_AUDIO is not set # CONFIG_DRM_DW_HDMI_CEC is not set +CONFIG_DRM_DW_MIPI_DSI=y # end of Display Interface Bridges CONFIG_DRM_ETNAVIV=y @@ -4384,6 +4424,7 @@ CONFIG_DRM_ETNAVIV_THERMAL=y # CONFIG_DRM_LOGICVC is not set CONFIG_DRM_MESON=y CONFIG_DRM_MESON_DW_HDMI=y +CONFIG_DRM_MESON_DW_MIPI_DSI=y # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_BOCHS is not set # CONFIG_DRM_CIRRUS_QEMU is not set @@ -4407,12 +4448,10 @@ CONFIG_DRM_PANFROST=m # CONFIG_DRM_SSD130X is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_DRM_NOMODESET=y # # Frame buffer Devices # -CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set @@ -4425,6 +4464,8 @@ CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_SYS_HELPERS=y +CONFIG_FB_SYS_HELPERS_DEFERRED=y CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_TILEBLITTING is not set @@ -4475,6 +4516,7 @@ CONFIG_FB_SIMPLE=y # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_KTD253 is not set +# CONFIG_BACKLIGHT_KTZ8866 is not set # CONFIG_BACKLIGHT_PWM is not set # CONFIG_BACKLIGHT_QCOM_WLED is not set # CONFIG_BACKLIGHT_ADP8860 is not set @@ -4508,6 +4550,7 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_LOGO is not set # end of Graphics support +# CONFIG_DRM_ACCEL is not set CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y @@ -4544,6 +4587,7 @@ CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m +# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y CONFIG_SND_USB_UA101=m CONFIG_SND_USB_CAIAQ=m @@ -4582,6 +4626,7 @@ CONFIG_SND_SOC=y # CONFIG_SND_SOC_IMX_AUDMUX is not set # end of SoC Audio for Freescale CPUs +# CONFIG_SND_SOC_CHV3_I2S is not set # CONFIG_SND_I2S_HI6210_I2S is not set # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set @@ -4645,8 +4690,10 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_AK5558 is not set # CONFIG_SND_SOC_ALC5623 is not set # CONFIG_SND_SOC_AW8738 is not set +# CONFIG_SND_SOC_AW88395 is not set # CONFIG_SND_SOC_BD28623 is not set # CONFIG_SND_SOC_BT_SCO is not set +# CONFIG_SND_SOC_CHV3_CODEC is not set # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set # CONFIG_SND_SOC_CS35L34 is not set @@ -4656,6 +4703,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_CS35L41_I2C is not set # CONFIG_SND_SOC_CS35L45_SPI is not set # CONFIG_SND_SOC_CS35L45_I2C is not set +# CONFIG_SND_SOC_CS35L56_I2C is not set +# CONFIG_SND_SOC_CS35L56_SPI is not set # CONFIG_SND_SOC_CS42L42 is not set # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set @@ -4686,14 +4735,17 @@ CONFIG_SND_SOC_ES8328_I2C=y # CONFIG_SND_SOC_GTM601 is not set # CONFIG_SND_SOC_HDA is not set # CONFIG_SND_SOC_ICS43432 is not set +# CONFIG_SND_SOC_IDT821034 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set # CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98090 is not set CONFIG_SND_SOC_MAX98357A=y # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9867 is not set # CONFIG_SND_SOC_MAX98927 is not set # CONFIG_SND_SOC_MAX98520 is not set # CONFIG_SND_SOC_MAX98373_I2C is not set +# CONFIG_SND_SOC_MAX98388 is not set # CONFIG_SND_SOC_MAX98390 is not set # CONFIG_SND_SOC_MAX98396 is not set # CONFIG_SND_SOC_MAX9860 is not set @@ -4712,8 +4764,8 @@ CONFIG_SND_SOC_MAX98357A=y # CONFIG_SND_SOC_PCM5102A is not set # CONFIG_SND_SOC_PCM512x_I2C is not set # CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_PEB2466 is not set # CONFIG_SND_SOC_RK3328 is not set -# CONFIG_SND_SOC_RK817 is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set # CONFIG_SND_SOC_RT5640 is not set @@ -4722,12 +4774,14 @@ CONFIG_SND_SOC_MAX98357A=y # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y # CONFIG_SND_SOC_SIMPLE_MUX is not set +# CONFIG_SND_SOC_SMA1303 is not set CONFIG_SND_SOC_SPDIF=y # CONFIG_SND_SOC_SRC4XXX_I2C is not set # CONFIG_SND_SOC_SSM2305 is not set # CONFIG_SND_SOC_SSM2518 is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM3515 is not set # CONFIG_SND_SOC_SSM4567 is not set # CONFIG_SND_SOC_STA32X is not set # CONFIG_SND_SOC_STA350 is not set @@ -4737,6 +4791,7 @@ CONFIG_SND_SOC_SPDIF=y # CONFIG_SND_SOC_TAS2764 is not set # CONFIG_SND_SOC_TAS2770 is not set # CONFIG_SND_SOC_TAS2780 is not set +# CONFIG_SND_SOC_TAS2781_I2C is not set # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set @@ -4779,6 +4834,7 @@ CONFIG_SND_SOC_SPDIF=y # CONFIG_SND_SOC_WM8904 is not set # CONFIG_SND_SOC_WM8940 is not set # CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8961 is not set # CONFIG_SND_SOC_WM8962 is not set # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set @@ -4806,10 +4862,7 @@ CONFIG_SND_SIMPLE_CARD=y CONFIG_SND_AUDIO_GRAPH_CARD=y # CONFIG_SND_AUDIO_GRAPH_CARD2 is not set # CONFIG_SND_TEST_COMPONENT is not set - -# -# HID support -# +CONFIG_HID_SUPPORT=y CONFIG_HID=y # CONFIG_HID_BATTERY_STRENGTH is not set CONFIG_HIDRAW=y @@ -4845,6 +4898,7 @@ CONFIG_DRAGONRISE_FF=y # CONFIG_HID_ELAN is not set # CONFIG_HID_ELECOM is not set # CONFIG_HID_ELO is not set +# CONFIG_HID_EVISION is not set CONFIG_HID_EZKEY=y # CONFIG_HID_FT260 is not set # CONFIG_HID_GEMBIRD is not set @@ -4889,6 +4943,7 @@ CONFIG_HID_NINTENDO=y CONFIG_NINTENDO_FF=y # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set +# CONFIG_HID_NVIDIA_SHIELD is not set CONFIG_HID_ORTEK=y CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y @@ -4910,6 +4965,7 @@ CONFIG_HID_SONY=y CONFIG_SONY_FF=y # CONFIG_HID_SPEEDLINK is not set CONFIG_HID_STEAM=m +# CONFIG_STEAM_FF is not set # CONFIG_HID_STEELSERIES is not set CONFIG_HID_SUNPLUS=y CONFIG_HID_RMI=y @@ -4933,6 +4989,11 @@ CONFIG_HID_ZYDACRON=y # CONFIG_HID_MCP2221 is not set # end of Special HID drivers +# +# HID-BPF support +# +# end of HID-BPF support + # # USB HID support # @@ -4941,15 +5002,7 @@ CONFIG_USB_HID=y CONFIG_USB_HIDDEV=y # end of USB HID support -# -# I2C HID support -# -# CONFIG_I2C_HID_OF is not set -# CONFIG_I2C_HID_OF_ELAN is not set -# CONFIG_I2C_HID_OF_GOODIX is not set -# end of I2C HID support -# end of HID support - +# CONFIG_I2C_HID is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y @@ -4990,7 +5043,6 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_HCD_PLATFORM=y # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set # CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y @@ -5038,6 +5090,10 @@ CONFIG_USB_UAS=y # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USBIP_CORE is not set + +# +# USB dual-mode controller drivers +# # CONFIG_USB_CDNS_SUPPORT is not set # CONFIG_USB_MUSB_HDRC is not set CONFIG_USB_DWC3=y @@ -5132,7 +5188,6 @@ CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set # CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_APPLEDISPLAY is not set # CONFIG_APPLE_MFI_FASTCHARGE is not set # CONFIG_USB_SISUSBVGA is not set @@ -5171,7 +5226,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # # USB Peripheral Controller # -# CONFIG_USB_FOTG210_UDC is not set # CONFIG_USB_GR_UDC is not set # CONFIG_USB_R8A66597 is not set # CONFIG_USB_PXA27X is not set @@ -5230,7 +5284,9 @@ CONFIG_TYPEC_UCSI=m # USB Type-C Multiplexer/DeMultiplexer Switch support # # CONFIG_TYPEC_MUX_FSA4480 is not set +# CONFIG_TYPEC_MUX_GPIO_SBU is not set # CONFIG_TYPEC_MUX_PI3USB30532 is not set +# CONFIG_TYPEC_MUX_NB7VPQ904M is not set # end of USB Type-C Multiplexer/DeMultiplexer Switch support # @@ -5280,6 +5336,7 @@ CONFIG_LEDS_CLASS=y # LED drivers # # CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_AW200XX is not set # CONFIG_LEDS_AW2013 is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set @@ -5301,6 +5358,7 @@ CONFIG_LEDS_GPIO=y # CONFIG_LEDS_DAC124S085 is not set CONFIG_LEDS_PWM=y # CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2606MVV is not set # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_LT3593 is not set # CONFIG_LEDS_TCA6507 is not set @@ -5317,7 +5375,7 @@ CONFIG_LEDS_SYSCON=y # CONFIG_LEDS_MLXREG is not set # CONFIG_LEDS_USER is not set # CONFIG_LEDS_SPI_BYTE is not set -# CONFIG_LEDS_TI_LMU_COMMON is not set +# CONFIG_LEDS_LM3697 is not set # # Flash and Torch LED drivers @@ -5339,7 +5397,6 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set CONFIG_LEDS_TRIGGER_CPU=y # CONFIG_LEDS_TRIGGER_ACTIVITY is not set -CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_DEFAULT_ON=y # @@ -5390,7 +5447,6 @@ CONFIG_RTC_INTF_DEV=y CONFIG_RTC_DRV_HYM8563=m # CONFIG_RTC_DRV_MAX6900 is not set # CONFIG_RTC_DRV_NCT3018Y is not set -# CONFIG_RTC_DRV_RK808 is not set # CONFIG_RTC_DRV_RS5C372 is not set # CONFIG_RTC_DRV_ISL1208 is not set # CONFIG_RTC_DRV_ISL12022 is not set @@ -5459,7 +5515,6 @@ CONFIG_RTC_DRV_DS3232_HWMON=y # CONFIG_RTC_DRV_MSM6242 is not set # CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set # CONFIG_RTC_DRV_OPTEE is not set # CONFIG_RTC_DRV_ZYNQMP is not set @@ -5527,7 +5582,6 @@ CONFIG_RTLLIB_CRYPTO_WEP=m # CONFIG_RTL8192E is not set CONFIG_RTL8723BS=m CONFIG_R8712U=m -CONFIG_R8188EU=m # CONFIG_RTS5208 is not set # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set @@ -5568,12 +5622,6 @@ CONFIG_R8188EU=m # CONFIG_AD5933 is not set # end of Network Analyzer, Impedance Converters -# -# Active energy metering IC -# -# CONFIG_ADE7854 is not set -# end of Active energy metering IC - # # Resolver to digital converters # @@ -5583,6 +5631,7 @@ CONFIG_R8188EU=m # CONFIG_FB_SM750 is not set CONFIG_STAGING_MEDIA=y +# CONFIG_DVB_AV7110 is not set # CONFIG_VIDEO_MAX96712 is not set CONFIG_VIDEO_MESON_VDEC=m # CONFIG_STAGING_MEDIA_DEPRECATED is not set @@ -5612,7 +5661,6 @@ CONFIG_COMMON_CLK=y # CONFIG_LMK04832 is not set # CONFIG_COMMON_CLK_MAX9485 is not set -CONFIG_COMMON_CLK_RK808=y CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_SI5341 is not set # CONFIG_COMMON_CLK_SI5351 is not set @@ -5627,6 +5675,7 @@ CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_XGENE is not set CONFIG_COMMON_CLK_PWM=y # CONFIG_COMMON_CLK_RS9_PCIE is not set +# CONFIG_COMMON_CLK_SI521XX is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_VC7 is not set CONFIG_COMMON_CLK_FIXED_MMIO=y @@ -5647,6 +5696,8 @@ CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y CONFIG_COMMON_CLK_GXBB=y CONFIG_COMMON_CLK_AXG=y CONFIG_COMMON_CLK_AXG_AUDIO=y +# CONFIG_COMMON_CLK_A1_PLL is not set +# CONFIG_COMMON_CLK_A1_PERIPHERALS is not set CONFIG_COMMON_CLK_G12A=y # end of Clock support for Amlogic platforms @@ -5665,7 +5716,6 @@ CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y CONFIG_FSL_ERRATUM_A008585=y # CONFIG_HISILICON_ERRATUM_161010101 is not set CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_MICROCHIP_PIT64B is not set # end of Clock Source drivers CONFIG_MAILBOX=y @@ -5695,6 +5745,7 @@ CONFIG_IOMMU_DEFAULT_DMA_STRICT=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_OF_IOMMU=y CONFIG_IOMMU_DMA=y +# CONFIG_IOMMUFD is not set # CONFIG_ARM_SMMU is not set # CONFIG_ARM_SMMU_V3 is not set @@ -5757,6 +5808,8 @@ CONFIG_MESON_SECURE_PM_DOMAINS=y # CONFIG_LITEX_SOC_CONTROLLER is not set # end of Enable LiteX SoC Builder specific drivers +# CONFIG_WPCM450_SOC is not set + # # Qualcomm SoC drivers # @@ -5843,6 +5896,8 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_FXLS8962AF_I2C is not set # CONFIG_FXLS8962AF_SPI is not set # CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_IIO_KX022A_SPI is not set +# CONFIG_IIO_KX022A_I2C is not set # CONFIG_KXSD9 is not set # CONFIG_KXCJK1013 is not set # CONFIG_MC3230 is not set @@ -5864,6 +5919,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # # Analog to digital converters # +# CONFIG_AD4130 is not set # CONFIG_AD7091R5 is not set # CONFIG_AD7124 is not set # CONFIG_AD7192 is not set @@ -5898,6 +5954,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_MAX11100 is not set # CONFIG_MAX1118 is not set # CONFIG_MAX11205 is not set +# CONFIG_MAX11410 is not set # CONFIG_MAX1241 is not set # CONFIG_MAX1363 is not set # CONFIG_MAX9611 is not set @@ -5919,11 +5976,14 @@ CONFIG_MESON_SARADC=y # CONFIG_TI_ADC128S052 is not set # CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7924 is not set +# CONFIG_TI_ADS1100 is not set # CONFIG_TI_ADS7950 is not set # CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS124S08 is not set # CONFIG_TI_ADS131E08 is not set +# CONFIG_TI_LMP92064 is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TI_TSC2046 is not set # CONFIG_VF610_ADC is not set @@ -5933,6 +5993,7 @@ CONFIG_MESON_SARADC=y # # Analog to digital and digital to analog converters # +# CONFIG_AD74115 is not set # CONFIG_AD74413R is not set # end of Analog to digital and digital to analog converters @@ -6025,6 +6086,7 @@ CONFIG_MESON_SARADC=y # CONFIG_LTC2632 is not set # CONFIG_M62332 is not set # CONFIG_MAX517 is not set +# CONFIG_MAX5522 is not set # CONFIG_MAX5821 is not set # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set @@ -6061,6 +6123,7 @@ CONFIG_MESON_SARADC=y # # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set +# CONFIG_ADF4377 is not set # CONFIG_ADMV1013 is not set # CONFIG_ADMV1014 is not set # CONFIG_ADMV4420 is not set @@ -6156,6 +6219,8 @@ CONFIG_MESON_SARADC=y # CONFIG_SENSORS_ISL29028 is not set # CONFIG_ISL29125 is not set # CONFIG_JSA1212 is not set +# CONFIG_ROHM_BU27008 is not set +# CONFIG_ROHM_BU27034 is not set # CONFIG_RPR0521 is not set # CONFIG_LTR501 is not set # CONFIG_LTRF216A is not set @@ -6164,6 +6229,7 @@ CONFIG_MESON_SARADC=y # CONFIG_MAX44009 is not set # CONFIG_NOA1305 is not set # CONFIG_OPT3001 is not set +# CONFIG_OPT4001 is not set # CONFIG_PA12203001 is not set # CONFIG_SI1133 is not set # CONFIG_SI1145 is not set @@ -6200,6 +6266,7 @@ CONFIG_MESON_SARADC=y # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_SENSORS_RM3100_SPI is not set +# CONFIG_TI_TMAG5273 is not set # CONFIG_YAMAHA_YAS530 is not set # end of Magnetometer sensors @@ -6240,6 +6307,7 @@ CONFIG_MESON_SARADC=y # CONFIG_MCP4531 is not set # CONFIG_MCP41010 is not set # CONFIG_TPL0102 is not set +# CONFIG_X9250 is not set # end of Digital potentiometers # @@ -6260,6 +6328,7 @@ CONFIG_MESON_SARADC=y # CONFIG_MPL115_I2C is not set # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set +# CONFIG_MPRLS0025PA is not set # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_IIO_ST_PRESS is not set @@ -6311,6 +6380,7 @@ CONFIG_MESON_SARADC=y # CONFIG_TMP117 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set +# CONFIG_MAX30208 is not set # CONFIG_MAX31856 is not set # CONFIG_MAX31865 is not set # end of Temperature sensors @@ -6356,7 +6426,6 @@ CONFIG_RESET_MESON_AUDIO_ARB=y # CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y -# CONFIG_PHY_XGENE is not set # CONFIG_PHY_CAN_TRANSCEIVER is not set CONFIG_PHY_MESON8B_USB2=y CONFIG_PHY_MESON_GXL_USB2=y @@ -6401,6 +6470,8 @@ CONFIG_PHY_MESON_AXG_MIPI_DPHY=y # CONFIG_ARM_SPE_PMU is not set # CONFIG_HISI_PCIE_PMU is not set # CONFIG_HNS3_PMU is not set +# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set +# CONFIG_MESON_DDR_PMU is not set # end of Performance monitor support CONFIG_RAS=y @@ -6416,6 +6487,14 @@ CONFIG_RAS=y # CONFIG_DAX is not set CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y + +# +# Layout Types +# +# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set +# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set +# end of Layout Types + CONFIG_NVMEM_MESON_EFUSE=y # CONFIG_NVMEM_MESON_MX_EFUSE is not set # CONFIG_NVMEM_RMEM is not set @@ -6434,6 +6513,7 @@ CONFIG_NVMEM_MESON_EFUSE=y # CONFIG_FSI is not set CONFIG_TEE=y CONFIG_OPTEE=y +# CONFIG_OPTEE_INSECURE_LOAD_IMAGE is not set CONFIG_MULTIPLEXER=y # @@ -6453,6 +6533,7 @@ CONFIG_PM_OPP=y # CONFIG_MOST is not set # CONFIG_PECI is not set # CONFIG_HTE is not set +# CONFIG_CDX_BUS is not set # end of Device Drivers # @@ -6461,6 +6542,7 @@ CONFIG_PM_OPP=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_VALIDATE_FS_PARSER=y CONFIG_FS_IOMAP=y +CONFIG_LEGACY_DIRECT_IO=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y @@ -6482,6 +6564,7 @@ CONFIG_JFS_FS=m # CONFIG_JFS_STATISTICS is not set CONFIG_XFS_FS=m CONFIG_XFS_SUPPORT_V4=y +CONFIG_XFS_SUPPORT_ASCII_CI=y # CONFIG_XFS_QUOTA is not set # CONFIG_XFS_POSIX_ACL is not set # CONFIG_XFS_RT is not set @@ -6602,9 +6685,11 @@ CONFIG_HFSPLUS_FS=m CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_FILE_CACHE is not set CONFIG_SQUASHFS_FILE_DIRECT=y -# CONFIG_SQUASHFS_DECOMP_SINGLE is not set -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set +CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set # CONFIG_SQUASHFS_XATTR is not set CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y @@ -6651,11 +6736,14 @@ CONFIG_LOCKD_V4=y CONFIG_NFS_COMMON=y CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y CONFIG_SUNRPC_SWAP=y CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set +CONFIG_RPCSEC_GSS_KRB5_CRYPTOSYSTEM=y +# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DES is not set +CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y +# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set # CONFIG_SUNRPC_DEBUG is not set # CONFIG_CEPH_FS is not set CONFIG_CIFS=y @@ -6671,7 +6759,7 @@ CONFIG_CIFS_DEBUG=y CONFIG_CIFS_FSCACHE=y # CONFIG_CIFS_ROOT is not set # CONFIG_SMB_SERVER is not set -CONFIG_SMBFS_COMMON=y +CONFIG_SMBFS=y # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set CONFIG_NLS=y @@ -6743,7 +6831,6 @@ CONFIG_KEY_DH_OPERATIONS=y # CONFIG_SECURITY_DMESG_RESTRICT is not set # CONFIG_SECURITY is not set # CONFIG_SECURITYFS is not set -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_HARDENED_USERCOPY is not set # CONFIG_FORTIFY_SOURCE is not set # CONFIG_STATIC_USERMODEHELPER is not set @@ -6786,6 +6873,7 @@ CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_SIG2=y CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y @@ -6802,7 +6890,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_PCRYPT=y @@ -6875,6 +6962,7 @@ CONFIG_CRYPTO_NHPOLY1305=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GENIV=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m # CONFIG_CRYPTO_ESSIV is not set @@ -6896,7 +6984,7 @@ CONFIG_CRYPTO_POLYVAL=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y -# CONFIG_CRYPTO_SHA3 is not set +CONFIG_CRYPTO_SHA3=y CONFIG_CRYPTO_SM3=y # CONFIG_CRYPTO_SM3_GENERIC is not set # CONFIG_CRYPTO_STREEBOG is not set @@ -6936,6 +7024,7 @@ CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set CONFIG_CRYPTO_KDF800108_CTR=y # end of Random number generation @@ -6977,6 +7066,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=y CONFIG_CRYPTO_SM4_ARM64_CE_BLK=y CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set +# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=y # end of Accelerated Cryptographic Algorithms for CPU (arm64) @@ -6984,6 +7075,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set # CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set # CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set # CONFIG_CRYPTO_DEV_QAT_C3XXX is not set # CONFIG_CRYPTO_DEV_QAT_C62X is not set @@ -6991,7 +7083,6 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set # CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set # CONFIG_CRYPTO_DEV_QAT_C62XVF is not set -# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set # CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set # CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_CCREE is not set @@ -7046,6 +7137,7 @@ CONFIG_ARCH_USE_SYM_ANNOTATIONS=y CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y @@ -7102,9 +7194,11 @@ CONFIG_GENERIC_ALLOCATOR=y CONFIG_XARRAY_MULTI=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_DMA_OPS=y +CONFIG_NEED_SG_DMA_FLAGS=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y @@ -7115,6 +7209,7 @@ CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y CONFIG_SWIOTLB=y +CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y # CONFIG_DMA_RESTRICTED_POOL is not set CONFIG_DMA_NONCOHERENT_MMAP=y CONFIG_DMA_COHERENT_POOL=y @@ -7241,17 +7336,17 @@ CONFIG_HAVE_KCSAN_COMPILER=y CONFIG_SLUB_DEBUG=y # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_TABLE_CHECK is not set # CONFIG_PAGE_POISONING is not set # CONFIG_DEBUG_RODATA_TEST is not set CONFIG_ARCH_HAS_DEBUG_WX=y # CONFIG_DEBUG_WX is not set CONFIG_GENERIC_PTDUMP=y # CONFIG_PTDUMP_DEBUGFS is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SHRINKER_DEBUG is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_PER_VMA_LOCK_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SHRINKER_DEBUG is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y @@ -7282,8 +7377,11 @@ CONFIG_HAVE_ARCH_KFENCE=y CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 # CONFIG_SOFTLOCKUP_DETECTOR is not set +CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y +# CONFIG_HARDLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_TEST_LOCKUP is not set # end of Debug Oops, Lockups and Hangs @@ -7350,6 +7448,7 @@ CONFIG_STACKTRACE=y # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=21 CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +# CONFIG_RCU_CPU_STALL_CPUTIME is not set # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging @@ -7359,14 +7458,17 @@ CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 # CONFIG_LATENCYTOP is not set CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACING_SUPPORT=y # CONFIG_FTRACE is not set # CONFIG_SAMPLES is not set +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y # CONFIG_STRICT_DEVMEM is not set #