diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 19251e4e78..41bbe5fb41 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="6ee1d745b7c9fd573fba142a2efdad76a9f1cb04" # 5.11-rc5 - PKG_SHA256="56d3dddbd4d8dcca641683262bfe2dba5049b296abca9f1fc882e156cd206d4e" + PKG_VERSION="e073346387ab794b06409f0708bbc0aa6b99a4fb" # 5.11.3 + PKG_SHA256="f60126313507c672d0d8b10064aa07f31d3bb358e1ee28ba1117451c79349f36" PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;; diff --git a/packages/tools/u-boot/package.mk b/packages/tools/u-boot/package.mk index bb7a33c6b8..b1d4fc2c38 100644 --- a/packages/tools/u-boot/package.mk +++ b/packages/tools/u-boot/package.mk @@ -22,6 +22,12 @@ PKG_NEED_UNPACK="${PROJECT_DIR}/${PROJECT}/bootloader" [ -n "${DEVICE}" ] && PKG_NEED_UNPACK+=" ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader" case "${PROJECT}" in + Amlogic) + PKG_VERSION="807482107a6d426dbcd6457d9ccf8b3ce6ca887b" # 2021.04-rc2 custodians/u-boot-amlogic-test + PKG_SHA256="a10430d2c1a1d9e83e66bed342433ddfe4f3d6f16d9fa8b4d4c034b600baffd3" + PKG_URL="https://github.com/chewitt/u-boot/archive/${PKG_VERSION}.tar.gz" + PKG_PATCH_DIRS="amlogic" + ;; Rockchip) PKG_VERSION="8659d08d2b589693d121c1298484e861b7dafc4f" PKG_SHA256="3f9f2bbd0c28be6d7d6eb909823fee5728da023aca0ce37aef3c8f67d1179ec1" diff --git a/projects/Amlogic/devices/AMLGX/options b/projects/Amlogic/devices/AMLGX/options index 279205de0e..c304bd2517 100644 --- a/projects/Amlogic/devices/AMLGX/options +++ b/projects/Amlogic/devices/AMLGX/options @@ -13,7 +13,7 @@ arm) TARGET_KERNEL_ARCH="arm64" TARGET_PATCH_ARCH="aarch64" - TARGET_FLOAT=hard + TARGET_FLOAT="hard" TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc" TARGET_FPU="neon-fp-armv8" diff --git a/projects/Amlogic/linux/linux.aarch64.conf b/projects/Amlogic/linux/linux.aarch64.conf index f9a7bb4fea..6026617b44 100644 --- a/projects/Amlogic/linux/linux.aarch64.conf +++ b/projects/Amlogic/linux/linux.aarch64.conf @@ -1,11 +1,11 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.11.0-rc5 Kernel Configuration +# Linux/arm64 5.11.3 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc.real (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025" +CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc.real (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=90201 -CONFIG_LD_VERSION=233010000 +CONFIG_GCC_VERSION=100201 +CONFIG_LD_VERSION=235010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y @@ -212,6 +212,7 @@ CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y # CONFIG_BPF_PRELOAD is not set # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y @@ -4953,6 +4954,10 @@ CONFIG_LEDS_SYSCON=y # CONFIG_LEDS_SPI_BYTE is not set # CONFIG_LEDS_TI_LMU_COMMON is not set +# +# Flash and Torch LED drivers +# + # # LED Triggers # @@ -5901,7 +5906,6 @@ CONFIG_RESET_MESON_AUDIO_ARB=y CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y # CONFIG_PHY_XGENE is not set -# CONFIG_USB_LGM_PHY is not set CONFIG_PHY_MESON8B_USB2=y CONFIG_PHY_MESON_GXL_USB2=y CONFIG_PHY_MESON_G12A_USB2=y diff --git a/projects/Amlogic/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch b/projects/Amlogic/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch index 4eed4beb5b..7a7e47bb90 100644 --- a/projects/Amlogic/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch +++ b/projects/Amlogic/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From ad278b0b4de9ef9e8ef1b06db91caeafe158df75 Mon Sep 17 00:00:00 2001 +From 8cb76f1b0c1d4bf9e314f7039086676397fdd6ae Mon Sep 17 00:00:00 2001 From: chewitt Date: Sat, 13 Apr 2019 05:41:51 +0000 -Subject: [PATCH 01/76] HACK: set meson-gx cma pool to 896MB +Subject: [PATCH 01/78] HACK: set meson-gx cma pool to 896MB This change sets the CMA pool to a larger 896MB! value for vdec use @@ -11,10 +11,10 @@ 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 726b91d3a905..d90a7e376a62 100644 +index 0edd137151f8..797e193af8e3 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -47,7 +47,7 @@ +@@ -46,7 +46,7 @@ linux,cma { compatible = "shared-dma-pool"; reusable; diff --git a/projects/Amlogic/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch b/projects/Amlogic/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch index e00ca7beb3..958370a0d1 100644 --- a/projects/Amlogic/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch +++ b/projects/Amlogic/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From b915964814b1b467787627dc8e622bf7db63a730 Mon Sep 17 00:00:00 2001 +From 177719611a14c837af8d04c772ed218c766d708d Mon Sep 17 00:00:00 2001 From: chewitt Date: Wed, 14 Aug 2019 19:58:14 +0000 -Subject: [PATCH 02/76] HACK: set meson-g12 cma pool to 896MB +Subject: [PATCH 02/78] HACK: 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 9c90d562ada1..9f79f594c6a7 100644 +index b858c5e43cc8..3a4f20506a61 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -104,7 +104,7 @@ diff --git a/projects/Amlogic/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch b/projects/Amlogic/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch index ee150d963e..5fb39a38cb 100644 --- a/projects/Amlogic/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch +++ b/projects/Amlogic/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch @@ -1,7 +1,7 @@ -From c8825237212d95c846d956c42aca4b6a7b525be8 Mon Sep 17 00:00:00 2001 +From 715aab31d33489dd6de9ebe6f2ccd3daef5a4512 Mon Sep 17 00:00:00 2001 From: chewitt Date: Sat, 13 Apr 2019 05:45:18 +0000 -Subject: [PATCH 03/76] HACK: arm64: fix Kodi sysinfo CPU information +Subject: [PATCH 03/78] HACK: arm64: fix Kodi sysinfo CPU information This allows the CPU information to show in the Kodi sysinfo screen, e.g. diff --git a/projects/Amlogic/patches/linux/amlogic-0004-HACK-arm64-dts-meson-gx-add-ATF-BL32-reserved-memory.patch b/projects/Amlogic/patches/linux/amlogic-0004-HACK-arm64-dts-meson-gx-add-ATF-BL32-reserved-memory.patch index c795b40590..69e654b204 100644 --- a/projects/Amlogic/patches/linux/amlogic-0004-HACK-arm64-dts-meson-gx-add-ATF-BL32-reserved-memory.patch +++ b/projects/Amlogic/patches/linux/amlogic-0004-HACK-arm64-dts-meson-gx-add-ATF-BL32-reserved-memory.patch @@ -1,7 +1,7 @@ -From 00500ea062d07a5340d72063061e0109d488c0d9 Mon Sep 17 00:00:00 2001 +From 647a540eba9a95e654f7c11c430cca9aa651bd01 Mon Sep 17 00:00:00 2001 From: kszaq Date: Sat, 6 Jul 2019 07:54:44 +0000 -Subject: [PATCH 04/76] HACK: arm64: dts: meson-gx: add ATF BL32 reserved +Subject: [PATCH 04/78] HACK: arm64: dts: meson-gx: add ATF BL32 reserved memory region Vendor firmware/uboot has an additional reserved region for BL32 trusted @@ -16,10 +16,10 @@ Signed-off-by: kszaq 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index d90a7e376a62..ac6e99a9c95f 100644 +index 797e193af8e3..cf9eb7c8a6f0 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -44,6 +44,12 @@ +@@ -43,6 +43,12 @@ no-map; }; diff --git a/projects/Amlogic/patches/linux/amlogic-0005-HACK-drm-meson-add-YUV422-output-support.patch b/projects/Amlogic/patches/linux/amlogic-0005-HACK-drm-meson-add-YUV422-output-support.patch index a7d307c695..532d9b5218 100644 --- a/projects/Amlogic/patches/linux/amlogic-0005-HACK-drm-meson-add-YUV422-output-support.patch +++ b/projects/Amlogic/patches/linux/amlogic-0005-HACK-drm-meson-add-YUV422-output-support.patch @@ -1,7 +1,7 @@ -From d2794dfd488506e16dff8be3bbb8b4274f90f4a6 Mon Sep 17 00:00:00 2001 +From d4bd6f62601948e7814cb60b1505f80c4fdbe317 Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Wed, 29 Jul 2020 04:05:03 +0900 -Subject: [PATCH 05/76] HACK: drm/meson: add YUV422 output support +Subject: [PATCH 05/78] HACK: drm/meson: add YUV422 output support Support YUV422 output from the Amlogic Meson SoC VPU to the HDMI controller. This incorrectly fixes the green-line on GX devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0006-HACK-mmc-core-always-re-init-sdcards-to-set-default-.patch b/projects/Amlogic/patches/linux/amlogic-0006-HACK-mmc-core-always-re-init-sdcards-to-set-default-.patch index 6ce215e54f..03a9ff1901 100644 --- a/projects/Amlogic/patches/linux/amlogic-0006-HACK-mmc-core-always-re-init-sdcards-to-set-default-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0006-HACK-mmc-core-always-re-init-sdcards-to-set-default-.patch @@ -1,7 +1,7 @@ -From 915da94d239f404300ad4f0039852193a5570eee Mon Sep 17 00:00:00 2001 +From eabdf5af33387cd914e396e735cd53ef8fdf7216 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 16 Apr 2020 08:31:55 +0000 -Subject: [PATCH 06/76] HACK: mmc: core: always re-init sdcards to set default +Subject: [PATCH 06/78] HACK: mmc: core: always re-init sdcards to set default 3.3v regulator ios sd-uhs-** in device-tree changes the voltage to 1.8v, so we need to ensure diff --git a/projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-amlogic-meson-g12-Set-FL-adj-prope.patch b/projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-amlogic-meson-g12-Set-FL-adj-prope.patch deleted file mode 100644 index ecd8265075..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-amlogic-meson-g12-Set-FL-adj-prope.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7cfddbebb68fb53de5e3ccb8dac8c53669bb9714 Mon Sep 17 00:00:00 2001 -From: Serge Semin -Date: Mon, 11 Jan 2021 14:45:19 +0000 -Subject: [PATCH 07/76] FROMGIT: arm64: dts: amlogic: meson-g12: Set FL-adj - property value - -In accordance with the DWC USB3 bindings the property is supposed to have -uint32 type. It's erroneous from the DT schema and driver points of view -to declare it as boolean. As Neil suggested set it to 0x20 so not break -the platform and to make the dtbs checker happy. - -Signed-off-by: Serge Semin -Reviewed-by: Martin Blumenstingl -Reviewed-by: Neil Armstrong -Reviewed-by: Krzysztof Kozlowski -Fixes: 9baf7d6be730 ("arm64: dts: meson: g12a: Add G12A USB nodes") -Signed-off-by: Kevin Hilman ---- - 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 9f79f594c6a7..85def57463db 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -2390,7 +2390,7 @@ - interrupts = ; - dr_mode = "host"; - snps,dis_u2_susphy_quirk; -- snps,quirk-frame-length-adjustment; -+ snps,quirk-frame-length-adjustment = <0x20>; - snps,parkmode-disable-ss-quirk; - }; - }; --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch b/projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch rename to projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch index 300466a6ea..cc5c0689da 100644 --- a/projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0007-FROMGIT-arm64-dts-meson-Fix-schema-warnings-for-pwm-.patch @@ -1,7 +1,7 @@ -From 05e349e62469e956929ea6e9592d523059047e04 Mon Sep 17 00:00:00 2001 +From 59b3820d37354b31cb4a6812b1c176e25dfaa0e6 Mon Sep 17 00:00:00 2001 From: Alexander Dahl Date: Mon, 11 Jan 2021 14:47:38 +0000 -Subject: [PATCH 08/76] FROMGIT: arm64: dts: meson: Fix schema warnings for +Subject: [PATCH 07/78] FROMGIT: arm64: dts: meson: Fix schema warnings for pwm-leds The node names for devices using the pwm-leds driver follow a certain diff --git a/projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch b/projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch similarity index 91% rename from projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch rename to projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch index 3b6fd9cd7b..f2fd5d9eef 100644 --- a/projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch +++ b/projects/Amlogic/patches/linux/amlogic-0008-FROMGIT-arm64-dts-meson-vim3-whitespace-fixups.patch @@ -1,7 +1,7 @@ -From 7b979e7ad05c410c0b2b4d44c24f32c669379426 Mon Sep 17 00:00:00 2001 +From f2ff04f09dd15b2243128c17f1192384cb5d6a83 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 4 Dec 2020 14:48:41 +0100 -Subject: [PATCH 09/76] FROMGIT: arm64: dts: meson: vim3: whitespace fixups +Subject: [PATCH 08/78] FROMGIT: arm64: dts: meson: vim3: whitespace fixups Spaces have been used to indent 2 nodes. Replace those with tabs and remove one extra newline diff --git a/projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch b/projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch rename to projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch index 9bb11ece1a..6c461a8ab4 100644 --- a/projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch +++ b/projects/Amlogic/patches/linux/amlogic-0009-FROMGIT-arm64-dts-meson-vim3-enable-hdmi-audio-loopb.patch @@ -1,7 +1,7 @@ -From 23493d56b60796f18114ef6934d391bf22ceb3bb Mon Sep 17 00:00:00 2001 +From fdf605998fa39038f483af016c08d2fcca0f27b8 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 4 Dec 2020 16:23:55 +0100 -Subject: [PATCH 10/76] FROMGIT: arm64: dts: meson: vim3: enable hdmi audio +Subject: [PATCH 09/78] FROMGIT: arm64: dts: meson: vim3: enable hdmi audio loopback Enable audio capture frontends and a tdm decoder. diff --git a/projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch b/projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch similarity index 90% rename from projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch rename to projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch index 9a108c5eb7..74f6980459 100644 --- a/projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch +++ b/projects/Amlogic/patches/linux/amlogic-0010-FROMGIT-arm64-dts-meson-add-i2c3-rtc-nodes-and-rtc-a.patch @@ -1,7 +1,7 @@ -From 95798563aae9367daf1ac6658b87cb4ff76d2dae Mon Sep 17 00:00:00 2001 +From 3a17391487bab3d68738bf9077537a3f8d2c7f47 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 21 Dec 2020 12:06:25 +0000 -Subject: [PATCH 12/76] FROMGIT: arm64: dts: meson: add i2c3/rtc nodes and rtc +Subject: [PATCH 10/78] FROMGIT: arm64: dts: meson: add i2c3/rtc nodes and rtc aliases to ODROID-N2 dtsi Enable the onboard pcf8563 rtc hardware on ODROID N2/N2+ boards via the diff --git a/projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch b/projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch similarity index 97% rename from projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch rename to projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch index 1ae256ab22..36eba33ea8 100644 --- a/projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-add-initial-Beelink-GS-King-.patch @@ -1,7 +1,7 @@ -From 4cbd3774b438c750f637db262531424906aafa3f Mon Sep 17 00:00:00 2001 +From 8b54edde0a895a619f8295f1dc5dd7ce01b5aa79 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 12 Jun 2020 08:05:20 +0000 -Subject: [PATCH 13/76] FROMGIT: arm64: dts: meson: add initial Beelink +Subject: [PATCH 11/78] FROMGIT: arm64: dts: meson: add initial Beelink GS-King-X device-tree The Shenzen AZW (Beelink) GS-King-X is based on the Amlogic W400 reference diff --git a/projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-switch-TFLASH_VDD_EN-pin-to-.patch b/projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-switch-TFLASH_VDD_EN-pin-to-.patch deleted file mode 100644 index fa2e5325f9..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0011-FROMGIT-arm64-dts-meson-switch-TFLASH_VDD_EN-pin-to-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From d861eb5fa0d8ea16e9b40a8d24a72eebf5719f53 Mon Sep 17 00:00:00 2001 -From: Marek Szyprowski -Date: Sun, 27 Dec 2020 14:42:02 +0000 -Subject: [PATCH 11/76] FROMGIT: arm64: dts: meson: switch TFLASH_VDD_EN pin to - open drain on Odroid-C4 - -For the proper reboot Odroid-C4 board requires to switch TFLASH_VDD_EN -pin to the high impedance mode, otherwise the board is stuck in the -middle of loading early stages of the bootloader from SD card. - -This can be achieved by using the OPEN_DRAIN flag instead if the -ACTIVE_HIGH, what will leave the pin in input to achieve high state (pin -has the pull-up) and solve the issue. - -Suggested-by: Neil Armstrong -Fixes: 326e57518b0d ("arm64: dts: meson-sm1: add support for Hardkernel ODROID-C4") -Signed-off-by: Marek Szyprowski ---- - arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts -index cf5a98f0e47c..a712273c905a 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts -@@ -52,7 +52,7 @@ - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - -- gpio = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; -+ gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; - enable-active-high; - regulator-always-on; - }; --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch b/projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch similarity index 99% rename from projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch rename to projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch index fc1e4d9703..ea06644310 100644 --- a/projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch +++ b/projects/Amlogic/patches/linux/amlogic-0012-FROMGIT-arm64-dts-meson-shorten-audio-card-names-for.patch @@ -1,7 +1,7 @@ -From fb5e6b0507011d8bd5a06c04905318d38ed0672d Mon Sep 17 00:00:00 2001 +From bd15aa7673def445d35620db5b0516d4693c1519 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 31 Dec 2020 15:54:34 +0000 -Subject: [PATCH 14/76] FROMGIT: arm64: dts: meson: shorten audio card names +Subject: [PATCH 12/78] FROMGIT: arm64: dts: meson: shorten audio card names for alsa compatibility This patch shortens all audio card model names by dropping the SoC prefix diff --git a/projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v2-arm64-dts-meson-sort-Amlogic-dtb-Makefil.patch b/projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-sort-Amlogic-dtb-Makefile.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v2-arm64-dts-meson-sort-Amlogic-dtb-Makefil.patch rename to projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-sort-Amlogic-dtb-Makefile.patch index 1e68c68de2..9d0877ac8f 100644 --- a/projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v2-arm64-dts-meson-sort-Amlogic-dtb-Makefil.patch +++ b/projects/Amlogic/patches/linux/amlogic-0013-FROMGIT-arm64-dts-meson-sort-Amlogic-dtb-Makefile.patch @@ -1,8 +1,7 @@ -From 5c639a0f1b68fd54a88043d83f201359b3c3a79a Mon Sep 17 00:00:00 2001 +From 7b6782b8bccfed066c2b55871f0276dd4e2ebc2a Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 19 Jan 2021 15:34:53 +0000 -Subject: [PATCH 38/76] FROMLIST(v2): arm64: dts: meson: sort Amlogic dtb - Makefile +Subject: [PATCH 13/78] FROMGIT: arm64: dts: meson: sort Amlogic dtb Makefile Sort the Makefile before adding new SM1 devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v2-arm64-dts-meson-convert-meson-sm1-odroid.patch b/projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-convert-meson-sm1-odroid-c4-.patch similarity index 99% rename from projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v2-arm64-dts-meson-convert-meson-sm1-odroid.patch rename to projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-convert-meson-sm1-odroid-c4-.patch index 2b1d8e87a3..be82263647 100644 --- a/projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v2-arm64-dts-meson-convert-meson-sm1-odroid.patch +++ b/projects/Amlogic/patches/linux/amlogic-0014-FROMGIT-arm64-dts-meson-convert-meson-sm1-odroid-c4-.patch @@ -1,8 +1,8 @@ -From 2daf69b2b9acb20568d4fe3b0dbc92fa3569129a Mon Sep 17 00:00:00 2001 +From 5169e50955183bef65a3d2ad8331a7fae342a72b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 29 Jan 2021 02:10:14 +0000 -Subject: [PATCH 39/76] FROMLIST(v2): arm64: dts: meson: convert - meson-sm1-odroid-c4 to dtsi +Subject: [PATCH 14/78] FROMGIT: arm64: dts: meson: convert meson-sm1-odroid-c4 + to dtsi Convert the ODRIOD-C4 dts to meson-sm1-odroid.dtsi and C4 board dts in preparation for adding additional C4 family boards. diff --git a/projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-add-initial-device-tree-.patch b/projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-arm64-dts-meson-add-initial-device-tree-for-.patch similarity index 95% rename from projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-add-initial-device-tree-.patch rename to projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-arm64-dts-meson-add-initial-device-tree-for-.patch index dc317c11da..ca6c0da507 100644 --- a/projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-add-initial-device-tree-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-arm64-dts-meson-add-initial-device-tree-for-.patch @@ -1,8 +1,8 @@ -From b83915242632804d629acaa105dde6c79ea1361b Mon Sep 17 00:00:00 2001 +From 4840ef5d5e91f556c3a0894b09f5799195cb4c14 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 29 Jan 2021 02:12:43 +0000 -Subject: [PATCH 41/76] FROMLIST(v2): arm64: dts: meson: add initial - device-tree for ODROID-HC4 +Subject: [PATCH 15/78] FROMGIT: arm64: dts: meson: add initial device-tree for + ODROID-HC4 ODROID-HC4 is a derivative of the C4 with minor differences: diff --git a/projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-clk-meson-clk-pll-fix-initializing-the-old-r.patch b/projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-clk-meson-clk-pll-fix-initializing-the-old-r.patch deleted file mode 100644 index f631eb17ca..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0015-FROMGIT-clk-meson-clk-pll-fix-initializing-the-old-r.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 463f2093969a0abc701a738153860987011f07fd Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Sat, 26 Dec 2020 23:34:18 +0000 -Subject: [PATCH 15/76] FROMGIT: clk: meson: clk-pll: fix initializing the old - rate (fallback) for a PLL - -The "rate" parameter in meson_clk_pll_set_rate() contains the new rate. -Retrieve the old rate with clk_hw_get_rate() so we don't inifinitely try -to switch from the new rate to the same ratte again. - -Fixes: 7a29a869434e8b ("clk: meson: Add support for Meson clock controller") -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-pll.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c -index b17a13e9337c..9404609b5ebf 100644 ---- a/drivers/clk/meson/clk-pll.c -+++ b/drivers/clk/meson/clk-pll.c -@@ -371,7 +371,7 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, - if (parent_rate == 0 || rate == 0) - return -EINVAL; - -- old_rate = rate; -+ old_rate = clk_hw_get_rate(hw); - - ret = meson_clk_get_pll_settings(rate, parent_rate, &m, &n, pll); - if (ret) --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-clk-meson-clk-pll-make-ret-a-signed-integer.patch b/projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-clk-meson-clk-pll-make-ret-a-signed-integer.patch deleted file mode 100644 index 8363fa927f..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-clk-meson-clk-pll-make-ret-a-signed-integer.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6b5221da35a0987a9851fa227cd3fede38f684f0 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Sat, 26 Dec 2020 23:35:18 +0000 -Subject: [PATCH 16/76] FROMGIT: clk: meson: clk-pll: make "ret" a signed - integer - -The error codes returned by meson_clk_get_pll_settings() are all -negative. Make "ret" a signed integer in meson_clk_pll_set_rate() to -make it match with the clk_ops.set_rate API as well as the data type -returned by meson_clk_get_pll_settings(). - -Fixes: 8eed1db1adec6a ("clk: meson: pll: update driver for the g12a") -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-pll.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c -index 9404609b5ebf..5b932976483f 100644 ---- a/drivers/clk/meson/clk-pll.c -+++ b/drivers/clk/meson/clk-pll.c -@@ -365,8 +365,9 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, - { - struct clk_regmap *clk = to_clk_regmap(hw); - struct meson_clk_pll_data *pll = meson_clk_pll_data(clk); -- unsigned int enabled, m, n, frac = 0, ret; -+ unsigned int enabled, m, n, frac = 0; - unsigned long old_rate; -+ int ret; - - if (parent_rate == 0 || rate == 0) - return -EINVAL; --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch b/projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch similarity index 95% rename from projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch rename to projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch index 1dc3d43496..c5bf89432c 100644 --- a/projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0016-FROMGIT-dt-bindings-net-dwmac-meson-use-picoseconds-.patch @@ -1,7 +1,7 @@ -From e7984e0fc2132ce18aba0577a5d0c51ea9af1969 Mon Sep 17 00:00:00 2001 +From df8a56723a276060ed9fac39b15a3091470e80fe Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 14 Nov 2020 17:37:09 +0100 -Subject: [PATCH 18/76] FROMGIT: dt-bindings: net: dwmac-meson: use picoseconds +Subject: [PATCH 16/78] FROMGIT: dt-bindings: net: dwmac-meson: use picoseconds for the RGMII RX delay Amlogic Meson G12A, G12B and SM1 SoCs have a more advanced RGMII RX diff --git a/projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-clk-meson-clk-pll-propagate-the-error-from-m.patch b/projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-clk-meson-clk-pll-propagate-the-error-from-m.patch deleted file mode 100644 index 87ff62283c..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-clk-meson-clk-pll-propagate-the-error-from-m.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 79f397fdecc45a1776ba8b35d7507bbc12afc837 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Sat, 26 Dec 2020 23:36:09 +0000 -Subject: [PATCH 17/76] FROMGIT: clk: meson: clk-pll: propagate the error from - meson_clk_pll_set_rate() - -Popagate the error code from meson_clk_pll_set_rate() when the PLL does -not lock with the new settings. - -Fixes: 722825dcd54b2e ("clk: meson: migrate plls clocks to clk_regmap") -Signed-off-by: Martin Blumenstingl ---- - drivers/clk/meson/clk-pll.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c -index 5b932976483f..49f27fe53213 100644 ---- a/drivers/clk/meson/clk-pll.c -+++ b/drivers/clk/meson/clk-pll.c -@@ -394,7 +394,8 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, - if (!enabled) - return 0; - -- if (meson_clk_pll_enable(hw)) { -+ ret = meson_clk_pll_enable(hw); -+ if (ret) { - pr_warn("%s: pll did not lock, trying to restore old rate %lu\n", - __func__, old_rate); - /* -@@ -406,7 +407,7 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, - meson_clk_pll_set_rate(hw, old_rate, parent_rate); - } - -- return 0; -+ return ret; - } - - /* --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch b/projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch similarity index 89% rename from projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch rename to projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch index 0acb0a604d..2506e417e6 100644 --- a/projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0017-FROMGIT-dt-bindings-arm-amlogic-add-support-for-the-.patch @@ -1,7 +1,7 @@ -From 5083ba789a08c6afcc104cb8876350ce8e427fe3 Mon Sep 17 00:00:00 2001 +From c5217e5933cc3042bcd3d55c5c36bdc1d792278c Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 12 Jun 2020 08:04:00 +0000 -Subject: [PATCH 19/76] FROMGIT: dt-bindings: arm: amlogic: add support for the +Subject: [PATCH 17/78] FROMGIT: dt-bindings: arm: amlogic: add support for the Beelink GS-King-X The Shenzen AZW (Beelink) GS-King-X is based on the Amlogic W400 reference diff --git a/projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v2-dt-bindings-arm-amlogic-sort-SM1-binding.patch b/projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-arm-amlogic-sort-SM1-bindings.patch similarity index 87% rename from projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v2-dt-bindings-arm-amlogic-sort-SM1-binding.patch rename to projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-arm-amlogic-sort-SM1-bindings.patch index a2f0dcd571..9f0c35bbe5 100644 --- a/projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v2-dt-bindings-arm-amlogic-sort-SM1-binding.patch +++ b/projects/Amlogic/patches/linux/amlogic-0018-FROMGIT-dt-bindings-arm-amlogic-sort-SM1-bindings.patch @@ -1,8 +1,7 @@ -From 5f0307eb4cff55da386853518a0c893ce3a25e5a Mon Sep 17 00:00:00 2001 +From 14d9192e589d991dbf8812d97cc0cdc889b1bc4b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 19 Jan 2021 15:32:38 +0000 -Subject: [PATCH 37/76] FROMLIST(v2): dt-bindings: arm: amlogic: sort SM1 - bindings +Subject: [PATCH 18/78] FROMGIT: dt-bindings: arm: amlogic: sort SM1 bindings Sort the bindings before adding new SM1 devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-dt-bindings-arm-amlogic-add-ODROID-HC4-b.patch b/projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-ODROID-HC4-bindi.patch similarity index 85% rename from projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-dt-bindings-arm-amlogic-add-ODROID-HC4-b.patch rename to projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-ODROID-HC4-bindi.patch index 375912297d..7ceb7c0936 100644 --- a/projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-dt-bindings-arm-amlogic-add-ODROID-HC4-b.patch +++ b/projects/Amlogic/patches/linux/amlogic-0019-FROMGIT-dt-bindings-arm-amlogic-add-ODROID-HC4-bindi.patch @@ -1,7 +1,7 @@ -From 46f0433454813a71768d4cf75c5a8c9aa812ab18 Mon Sep 17 00:00:00 2001 +From cb50d337170dd7e0101c7b25752ea0346128f9a9 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 12 Dec 2020 05:44:14 +0000 -Subject: [PATCH 40/76] FROMLIST(v2): dt-bindings: arm: amlogic: add ODROID-HC4 +Subject: [PATCH 19/78] FROMGIT: dt-bindings: arm: amlogic: add ODROID-HC4 bindings Add the board bindings for the ODROID-HC4 device. diff --git a/projects/Amlogic/patches/linux/amlogic-0020-FROMGIT-drm-panfrost-add-governor-data-with-pre-defi.patch b/projects/Amlogic/patches/linux/amlogic-0020-FROMGIT-drm-panfrost-add-governor-data-with-pre-defi.patch index 055a1ee924..3382f3760d 100644 --- a/projects/Amlogic/patches/linux/amlogic-0020-FROMGIT-drm-panfrost-add-governor-data-with-pre-defi.patch +++ b/projects/Amlogic/patches/linux/amlogic-0020-FROMGIT-drm-panfrost-add-governor-data-with-pre-defi.patch @@ -1,7 +1,7 @@ -From bdc03bebf7cf17e35091d69a058814b880afde63 Mon Sep 17 00:00:00 2001 +From 6a741a15e6aae96d67e2699e6ae405a1f590a080 Mon Sep 17 00:00:00 2001 From: Lukasz Luba Date: Sun, 24 Jan 2021 03:57:47 +0000 -Subject: [PATCH 20/76] FROMGIT: drm/panfrost: add governor data with +Subject: [PATCH 20/78] FROMGIT: drm/panfrost: add governor data with pre-defined thresholds The simple_ondemand devfreq governor uses two thresholds to decide about diff --git a/projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-fix-enabling-the-ti.patch b/projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-fix-enabling-the-ti.patch deleted file mode 100644 index fa6f3f2f2e..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-fix-enabling-the-ti.patch +++ /dev/null @@ -1,39 +0,0 @@ -From bb16b76d0b69d83a7182226eede633a89cd85abd Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl -Date: Sun, 15 Nov 2020 10:23:02 +0100 -Subject: [PATCH 21/76] FROMGIT: net: stmmac: dwmac-meson8b: fix enabling the - timing-adjustment clock - -The timing-adjustment clock only has to be enabled when a) there is a -2ns RX delay configured using device-tree and b) the phy-mode indicates -that the RX delay should be enabled. - -Only enable the RX delay if both are true, instead of (by accident) also -enabling it when there's the 2ns RX delay configured but the phy-mode -incicates that the RX delay is not used. - -Fixes: 9308c47640d515 ("net: stmmac: dwmac-meson8b: add support for the RX delay configuration") -Reported-by: Andrew Lunn -Reviewed-by: Andrew Lunn -Reviewed-by: Florian Fainelli -Signed-off-by: Martin Blumenstingl ---- - drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c -index f184b00f5116..5f500141567d 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c -@@ -301,7 +301,7 @@ static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) - return -EINVAL; - } - -- if (rx_dly_config & PRG_ETH0_ADJ_ENABLE) { -+ if (delay_config & PRG_ETH0_ADJ_ENABLE) { - if (!dwmac->timing_adj_clk) { - dev_err(dwmac->dev, - "The timing-adjustment clock is mandatory for the RX delay re-timing\n"); --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch b/projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch similarity index 95% rename from projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch rename to projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch index e3deb4e53e..715613d562 100644 --- a/projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch +++ b/projects/Amlogic/patches/linux/amlogic-0021-FROMGIT-net-stmmac-dwmac-meson8b-use-picoseconds-for.patch @@ -1,7 +1,7 @@ -From 8faf06430d019588bfaa2fa1a0bc16c09d9bbc0f Mon Sep 17 00:00:00 2001 +From 4405cbfa9694d95695f310db55a67e09c3f60da9 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 14 Nov 2020 17:41:04 +0100 -Subject: [PATCH 22/76] FROMGIT: net: stmmac: dwmac-meson8b: use picoseconds +Subject: [PATCH 21/78] FROMGIT: net: stmmac: dwmac-meson8b: use picoseconds for the RGMII RX delay Amlogic Meson G12A, G12B and SM1 SoCs have a more advanced RGMII RX diff --git a/projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch b/projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch rename to projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch index 2c4af7f39f..680c17ad86 100644 --- a/projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch +++ b/projects/Amlogic/patches/linux/amlogic-0022-FROMGIT-net-stmmac-dwmac-meson8b-move-RGMII-delays-i.patch @@ -1,7 +1,7 @@ -From db40c5ed1fec54ab7d970a6337fe7521ca78736c Mon Sep 17 00:00:00 2001 +From 781820af4b5ead6360c0c1963ad29777b7a6f269 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 14 Nov 2020 18:02:03 +0100 -Subject: [PATCH 23/76] FROMGIT: net: stmmac: dwmac-meson8b: move RGMII delays +Subject: [PATCH 22/78] FROMGIT: net: stmmac: dwmac-meson8b: move RGMII delays into a separate function Newer SoCs starting with the Amlogic Meson G12A have more a precise diff --git a/projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch b/projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch similarity index 97% rename from projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch rename to projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch index 79c0624d79..83d499df35 100644 --- a/projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch +++ b/projects/Amlogic/patches/linux/amlogic-0023-FROMGIT-net-stmmac-dwmac-meson8b-add-support-for-the.patch @@ -1,7 +1,7 @@ -From 181ceef264421a7979830dcd2222574d20e7723a Mon Sep 17 00:00:00 2001 +From 8b9f0f9e6820ed2a945ec86eb9d26313dd0b7fe1 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 14 Nov 2020 19:41:11 +0100 -Subject: [PATCH 24/76] FROMGIT: net: stmmac: dwmac-meson8b: add support for +Subject: [PATCH 23/78] FROMGIT: net: stmmac: dwmac-meson8b: add support for the RGMII RX delay on G12A Amlogic Meson G12A (and newer: G12B, SM1) SoCs have a more advanced RX diff --git a/projects/Amlogic/patches/linux/amlogic-0025-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch b/projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch similarity index 93% rename from projects/Amlogic/patches/linux/amlogic-0025-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch rename to projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch index 594e067c4f..5a7988b149 100644 --- a/projects/Amlogic/patches/linux/amlogic-0025-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch +++ b/projects/Amlogic/patches/linux/amlogic-0024-FROMGIT-net-stmmac-dwmac-meson8b-fix-the-RX-delay-va.patch @@ -1,7 +1,7 @@ -From fe4f17b6f58e8e0d9cd55a07a6dcd84cba027541 Mon Sep 17 00:00:00 2001 +From fc3b4a9e8327f66560a43c3f1e1e9de2ad4e57b4 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Wed, 20 Jan 2021 02:57:45 +0000 -Subject: [PATCH 25/76] FROMGIT: net: stmmac: dwmac-meson8b: fix the RX delay +Subject: [PATCH 24/78] FROMGIT: net: stmmac: dwmac-meson8b: fix the RX delay validation When has_prg_eth1_rgmii_rx_delay is true then we support RX delays diff --git a/projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch b/projects/Amlogic/patches/linux/amlogic-0025-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch similarity index 90% rename from projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch rename to projects/Amlogic/patches/linux/amlogic-0025-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch index 2be1ba2233..f7cea7e613 100644 --- a/projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch +++ b/projects/Amlogic/patches/linux/amlogic-0025-FROMLIST-v1-drm-panfrost-fix-reference-leak-in-panfr.patch @@ -1,7 +1,7 @@ -From 1dbe2c1c81ce9fd782151c0498862fdeb3a2066b Mon Sep 17 00:00:00 2001 +From 67de7e49a6fd09c8173d0f645d584b797f057e0f Mon Sep 17 00:00:00 2001 From: Qinglang Miao Date: Sat, 28 Nov 2020 16:10:04 +0000 -Subject: [PATCH 27/76] FROMLIST(v1): drm/panfrost: fix reference leak in +Subject: [PATCH 25/78] FROMLIST(v1): drm/panfrost: fix reference leak in panfrost_job_hw_submit pm_runtime_get_sync will increment pm usage counter even it diff --git a/projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-Revert-arm64-dts-amlogic-add-missing-eth.patch b/projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-Revert-arm64-dts-amlogic-add-missing-eth.patch deleted file mode 100644 index fe6fe13e4e..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-Revert-arm64-dts-amlogic-add-missing-eth.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 4e95f9964cb26f12a79b569a527b9ebefd500899 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Tue, 26 Jan 2021 13:04:46 +0000 -Subject: [PATCH 26/76] FROMLIST(v1): Revert "arm64: dts: amlogic: add missing - ethernet reset ID" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It has been reported on IRC and in KernelCI boot tests, this change breaks -internal PHY support on the Amlogic G12A/SM1 Based boards. - -We suspect the added signal to reset more than the Ethernet MAC but also -the MDIO/(RG)MII mux used to redirect the MAC signals to the internal PHY. - -This reverts commit f3362f0c18174a1f334a419ab7d567a36bd1b3f3 while we find -and acceptable solution to cleanly reset the Ethernet MAC. - -Reported-by: Corentin Labbe -Acked-by: Jérôme Brunet -Signed-off-by: Neil Armstrong ---- - arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 2 -- - arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 -- - arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 3 --- - 3 files changed, 7 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi -index ba1c6dfdc4b6..d945c84ab697 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi -@@ -280,8 +280,6 @@ - "timing-adjustment"; - rx-fifo-depth = <4096>; - tx-fifo-depth = <2048>; -- resets = <&reset RESET_ETHERNET>; -- reset-names = "stmmaceth"; - power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>; - status = "disabled"; - }; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index 85def57463db..3a4f20506a61 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -224,8 +224,6 @@ - "timing-adjustment"; - rx-fifo-depth = <4096>; - tx-fifo-depth = <2048>; -- resets = <&reset RESET_ETHERNET>; -- reset-names = "stmmaceth"; - status = "disabled"; - - mdio0: mdio { -diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index ac6e99a9c95f..cf9eb7c8a6f0 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -13,7 +13,6 @@ - #include - #include - #include --#include - #include - - / { -@@ -582,8 +581,6 @@ - interrupt-names = "macirq"; - rx-fifo-depth = <4096>; - tx-fifo-depth = <2048>; -- resets = <&reset RESET_ETHERNET>; -- reset-names = "stmmaceth"; - power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>; - status = "disabled"; - }; --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch b/projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch rename to projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch index afb54e0ae6..515b055cb4 100644 --- a/projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch +++ b/projects/Amlogic/patches/linux/amlogic-0026-FROMLIST-v1-drm-panfrost-Use-delayed-timer-as-defaul.patch @@ -1,7 +1,7 @@ -From 0e6e551be4fc9518b60f05a76f6b9a1360ab69b7 Mon Sep 17 00:00:00 2001 +From 7e18480984ed499afc05e6e259d9c2208f337c44 Mon Sep 17 00:00:00 2001 From: Lukasz Luba Date: Tue, 12 Jan 2021 02:49:18 +0000 -Subject: [PATCH 28/76] FROMLIST(v1): drm/panfrost: Use delayed timer as +Subject: [PATCH 26/78] FROMLIST(v1): drm/panfrost: Use delayed timer as default in devfreq profile Devfreq framework supports 2 modes for monitoring devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v2-drm-panfrost-Clear-MMU-irqs-before-handl.patch b/projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v2-drm-panfrost-Clear-MMU-irqs-before-handl.patch new file mode 100644 index 0000000000..2a2cd71a45 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0027-FROMLIST-v2-drm-panfrost-Clear-MMU-irqs-before-handl.patch @@ -0,0 +1,44 @@ +From 1b3af6a91da8a8a77afb4048831d8b7b1eea07ba Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Thu, 4 Feb 2021 07:34:34 +0000 +Subject: [PATCH 27/78] FROMLIST(v2): drm/panfrost: Clear MMU irqs before + handling the fault + +When a fault is handled it will unblock the GPU which will continue +executing its shader and might fault almost immediately on a different +page. If we clear interrupts after handling the fault we might miss new +faults, so clear them before. + +Cc: +Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations") +Signed-off-by: Boris Brezillon +Reviewed-by: Steven Price +--- + drivers/gpu/drm/panfrost/panfrost_mmu.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c +index 7c1b3481b785..904d63450862 100644 +--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c ++++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c +@@ -593,6 +593,8 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + access_type = (fault_status >> 8) & 0x3; + source_id = (fault_status >> 16); + ++ mmu_write(pfdev, MMU_INT_CLEAR, mask); ++ + /* Page fault only */ + ret = -1; + if ((status & mask) == BIT(i) && (exception_type & 0xF8) == 0xC0) +@@ -616,8 +618,6 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + access_type, access_type_name(pfdev, fault_status), + source_id); + +- mmu_write(pfdev, MMU_INT_CLEAR, mask); +- + status &= ~mask; + } + +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v2-drm-panfrost-Don-t-try-to-map-pages-that.patch b/projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v2-drm-panfrost-Don-t-try-to-map-pages-that.patch new file mode 100644 index 0000000000..868227a2d6 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0028-FROMLIST-v2-drm-panfrost-Don-t-try-to-map-pages-that.patch @@ -0,0 +1,50 @@ +From 54bd9334981810e828a3b21bd3dd3f043497c3c2 Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Thu, 4 Feb 2021 07:35:52 +0000 +Subject: [PATCH 28/78] FROMLIST(v2): drm/panfrost: Don't try to map pages that + are already mapped + +We allocate 2MB chunks at a time, so it might appear that a page fault +has already been handled by a previous page fault when we reach +panfrost_mmu_map_fault_addr(). Bail out in that case to avoid mapping the +same area twice. + +Cc: +Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations") +Signed-off-by: Boris Brezillon +Reviewed-by: Steven Price +--- + drivers/gpu/drm/panfrost/panfrost_mmu.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c +index 904d63450862..21e552d1ac71 100644 +--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c ++++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c +@@ -488,8 +488,14 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, + } + bo->base.pages = pages; + bo->base.pages_use_count = 1; +- } else ++ } else { + pages = bo->base.pages; ++ if (pages[page_offset]) { ++ /* Pages are already mapped, bail out. */ ++ mutex_unlock(&bo->base.pages_lock); ++ goto out; ++ } ++ } + + mapping = bo->base.base.filp->f_mapping; + mapping_set_unevictable(mapping); +@@ -522,6 +528,7 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, + + dev_dbg(pfdev->dev, "mapped page fault @ AS%d %llx", as, addr); + ++out: + panfrost_gem_mapping_put(bomapping); + + return 0; +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v1-drm-lima-fix-reference-leak-in-lima_pm_b.patch b/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v1-drm-lima-fix-reference-leak-in-lima_pm_b.patch deleted file mode 100644 index e304b1a5b3..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v1-drm-lima-fix-reference-leak-in-lima_pm_b.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5f66ff0ab7f871dd56140777b1e2274d301f7e23 Mon Sep 17 00:00:00 2001 -From: Qinglang Miao -Date: Sat, 28 Nov 2020 16:39:27 +0000 -Subject: [PATCH 29/76] FROMLIST(v1): drm/lima: fix reference leak in - lima_pm_busy - -pm_runtime_get_sync will increment pm usage counter even it -failed. Forgetting to putting operation will result in a -reference leak here. - -A new function pm_runtime_resume_and_get is introduced in -[0] to keep usage counter balanced. So We fix the reference -leak by replacing it with new funtion. - -[0] dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter") - -Fixes: 50de2e9ebbc0 ("drm/lima: enable runtime pm") -Reported-by: Hulk Robot -Signed-off-by: Qinglang Miao ---- - drivers/gpu/drm/lima/lima_sched.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/lima/lima_sched.c b/drivers/gpu/drm/lima/lima_sched.c -index 63b4c5643f9c..5cc20b403a25 100644 ---- a/drivers/gpu/drm/lima/lima_sched.c -+++ b/drivers/gpu/drm/lima/lima_sched.c -@@ -201,7 +201,7 @@ static int lima_pm_busy(struct lima_device *ldev) - int ret; - - /* resume GPU if it has been suspended by runtime PM */ -- ret = pm_runtime_get_sync(ldev->dev); -+ ret = pm_runtime_resume_and_get(ldev->dev); - if (ret < 0) - return ret; - --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v2-drm-panfrost-Stay-in-the-threaded-MMU-IR.patch b/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v2-drm-panfrost-Stay-in-the-threaded-MMU-IR.patch new file mode 100644 index 0000000000..f8ccedda82 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0029-FROMLIST-v2-drm-panfrost-Stay-in-the-threaded-MMU-IR.patch @@ -0,0 +1,86 @@ +From de7001e0449dace7b635b715da03f268bda06550 Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Thu, 4 Feb 2021 07:37:53 +0000 +Subject: [PATCH 29/78] FROMLIST(v2): drm/panfrost: Stay in the threaded MMU + IRQ handler until we've handled all IRQs + +Doing a hw-irq -> threaded-irq round-trip is counter-productive, stay +in the threaded irq handler as long as we can. + +v2: +* Rework the loop to avoid a goto + +Signed-off-by: Boris Brezillon +Reviewed-by: Steven Price +--- + drivers/gpu/drm/panfrost/panfrost_mmu.c | 26 +++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c +index 21e552d1ac71..0581186ebfb3 100644 +--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c ++++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c +@@ -578,22 +578,20 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + { + struct panfrost_device *pfdev = data; + u32 status = mmu_read(pfdev, MMU_INT_RAWSTAT); +- int i, ret; ++ int ret; + +- for (i = 0; status; i++) { +- u32 mask = BIT(i) | BIT(i + 16); ++ while (status) { ++ u32 as = ffs(status | (status >> 16)) - 1; ++ u32 mask = BIT(as) | BIT(as + 16); + u64 addr; + u32 fault_status; + u32 exception_type; + u32 access_type; + u32 source_id; + +- if (!(status & mask)) +- continue; +- +- fault_status = mmu_read(pfdev, AS_FAULTSTATUS(i)); +- addr = mmu_read(pfdev, AS_FAULTADDRESS_LO(i)); +- addr |= (u64)mmu_read(pfdev, AS_FAULTADDRESS_HI(i)) << 32; ++ fault_status = mmu_read(pfdev, AS_FAULTSTATUS(as)); ++ addr = mmu_read(pfdev, AS_FAULTADDRESS_LO(as)); ++ addr |= (u64)mmu_read(pfdev, AS_FAULTADDRESS_HI(as)) << 32; + + /* decode the fault status */ + exception_type = fault_status & 0xFF; +@@ -604,8 +602,8 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + + /* Page fault only */ + ret = -1; +- if ((status & mask) == BIT(i) && (exception_type & 0xF8) == 0xC0) +- ret = panfrost_mmu_map_fault_addr(pfdev, i, addr); ++ if ((status & mask) == BIT(as) && (exception_type & 0xF8) == 0xC0) ++ ret = panfrost_mmu_map_fault_addr(pfdev, as, addr); + + if (ret) + /* terminal fault, print info about the fault */ +@@ -617,7 +615,7 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + "exception type 0x%X: %s\n" + "access type 0x%X: %s\n" + "source id 0x%X\n", +- i, addr, ++ as, addr, + "TODO", + fault_status, + (fault_status & (1 << 10) ? "DECODER FAULT" : "SLAVE FAULT"), +@@ -626,6 +624,10 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data) + source_id); + + status &= ~mask; ++ ++ /* If we received new MMU interrupts, process them before returning. */ ++ if (!status) ++ status = mmu_read(pfdev, MMU_INT_RAWSTAT); + } + + mmu_write(pfdev, MMU_INT_MASK, ~0); +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0030-FROMLIST-v2-drm-lima-add-governor-data-with-pre-defi.patch b/projects/Amlogic/patches/linux/amlogic-0030-FROMLIST-v2-drm-lima-add-governor-data-with-pre-defi.patch index fec60c6d68..19c5776575 100644 --- a/projects/Amlogic/patches/linux/amlogic-0030-FROMLIST-v2-drm-lima-add-governor-data-with-pre-defi.patch +++ b/projects/Amlogic/patches/linux/amlogic-0030-FROMLIST-v2-drm-lima-add-governor-data-with-pre-defi.patch @@ -1,7 +1,7 @@ -From aa3efd8bd2329b37cf8913c11b37199bc45fd6fb Mon Sep 17 00:00:00 2001 +From 6052a5deef08c74bc98c82ec29561aa752a6720c Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 24 Jan 2021 11:27:35 +0000 -Subject: [PATCH 30/76] FROMLIST(v2): drm/lima: add governor data with +Subject: [PATCH 30/78] FROMLIST(v2): drm/lima: add governor data with pre-defined thresholds This patch adapts the panfrost pre-defined thresholds change [0] to the diff --git a/projects/Amlogic/patches/linux/amlogic-0031-FROMLIST-v1-drm-lima-Use-delayed-timer-as-default-in.patch b/projects/Amlogic/patches/linux/amlogic-0031-FROMLIST-v1-drm-lima-Use-delayed-timer-as-default-in.patch index ae059f0f88..f071faf346 100644 --- a/projects/Amlogic/patches/linux/amlogic-0031-FROMLIST-v1-drm-lima-Use-delayed-timer-as-default-in.patch +++ b/projects/Amlogic/patches/linux/amlogic-0031-FROMLIST-v1-drm-lima-Use-delayed-timer-as-default-in.patch @@ -1,7 +1,7 @@ -From 6f9828a65b5f4da498317a6a7d1c6639666a8efc Mon Sep 17 00:00:00 2001 +From a0042b05f655fb0242c2708023051212c1bb5cc2 Mon Sep 17 00:00:00 2001 From: Lukasz Luba Date: Wed, 27 Jan 2021 11:36:36 +0000 -Subject: [PATCH 31/76] FROMLIST(v1): drm/lima: Use delayed timer as default in +Subject: [PATCH 31/78] FROMLIST(v1): drm/lima: Use delayed timer as default in devfreq profile Devfreq framework supports 2 modes for monitoring devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0032-FROMLIST-v1-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch b/projects/Amlogic/patches/linux/amlogic-0032-FROMLIST-v1-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch index 1267bef8da..c77b608370 100644 --- a/projects/Amlogic/patches/linux/amlogic-0032-FROMLIST-v1-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch +++ b/projects/Amlogic/patches/linux/amlogic-0032-FROMLIST-v1-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch @@ -1,7 +1,7 @@ -From 1381befcde2460345c3c4b25e85dffa7d2dd1233 Mon Sep 17 00:00:00 2001 +From cc28b30761d37398e52b7f02a37c5d972ba6e65e Mon Sep 17 00:00:00 2001 From: Amjad Ouled-Ameur Date: Fri, 13 Nov 2020 07:45:15 +0000 -Subject: [PATCH 32/76] FROMLIST(v1): phy: amlogic: phy-meson-gxl-usb2: fix +Subject: [PATCH 32/78] FROMLIST(v1): phy: amlogic: phy-meson-gxl-usb2: fix shared reset controller use Use reset_control_rearm() call if an error occurs in case diff --git a/projects/Amlogic/patches/linux/amlogic-0033-FROMLIST-v1-usb-dwc3-meson-g12a-fix-shared-reset-con.patch b/projects/Amlogic/patches/linux/amlogic-0033-FROMLIST-v1-usb-dwc3-meson-g12a-fix-shared-reset-con.patch index 57dda466fe..e4165089cd 100644 --- a/projects/Amlogic/patches/linux/amlogic-0033-FROMLIST-v1-usb-dwc3-meson-g12a-fix-shared-reset-con.patch +++ b/projects/Amlogic/patches/linux/amlogic-0033-FROMLIST-v1-usb-dwc3-meson-g12a-fix-shared-reset-con.patch @@ -1,7 +1,7 @@ -From e6a9357363650fd4d8174a1ff9ba245c597ece1f Mon Sep 17 00:00:00 2001 +From af1ff7e8b282d244d97b94e1313011078bff805c Mon Sep 17 00:00:00 2001 From: Amjad Ouled-Ameur Date: Fri, 13 Nov 2020 07:46:15 +0000 -Subject: [PATCH 33/76] FROMLIST(v1): usb: dwc3: meson-g12a: fix shared reset +Subject: [PATCH 33/78] FROMLIST(v1): usb: dwc3: meson-g12a: fix shared reset control use reset_control_(de)assert() calls are called on a shared reset line when diff --git a/projects/Amlogic/patches/linux/amlogic-0034-FROMLIST-v1-ASoC-meson-Use-managed-DMA-buffer-alloca.patch b/projects/Amlogic/patches/linux/amlogic-0034-FROMLIST-v1-ASoC-meson-Use-managed-DMA-buffer-alloca.patch index 0b7bc8c968..4293b1768a 100644 --- a/projects/Amlogic/patches/linux/amlogic-0034-FROMLIST-v1-ASoC-meson-Use-managed-DMA-buffer-alloca.patch +++ b/projects/Amlogic/patches/linux/amlogic-0034-FROMLIST-v1-ASoC-meson-Use-managed-DMA-buffer-alloca.patch @@ -1,7 +1,7 @@ -From f2779a5b9d6c5f58bdc2c3fa7bd2899bd02c8723 Mon Sep 17 00:00:00 2001 +From 1b28be6588104b09471115cfbfd951709bf21084 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Mon, 21 Dec 2020 14:19:57 +0000 -Subject: [PATCH 34/76] FROMLIST(v1): ASoC: meson: Use managed DMA buffer +Subject: [PATCH 34/78] FROMLIST(v1): ASoC: meson: Use managed DMA buffer allocation Using a managed buffer will pre-allocate the buffer using diff --git a/projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-ASoC-constify-of_phandle_args-in-snd_soc.patch b/projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-ASoC-constify-of_phandle_args-in-snd_soc.patch new file mode 100644 index 0000000000..3c36a8761b --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-ASoC-constify-of_phandle_args-in-snd_soc.patch @@ -0,0 +1,176 @@ +From e6d584c2cf5aae23408baab574dfc096c45573d4 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Sun, 21 Feb 2021 16:27:16 +0000 +Subject: [PATCH 35/78] FROMLIST(v1): ASoC: constify of_phandle_args in + snd_soc_get_dai_name() + +The pointer to of_phandle_args passed to snd_soc_get_dai_name() and +of_xlate_dai_name() implementations is not modified. Since it is being +used only to translate passed OF node to a DAI name, it should not be +modified, so mark it as const for correctness and safer code. + +Signed-off-by: Krzysztof Kozlowski +--- + include/sound/soc-component.h | 4 ++-- + include/sound/soc.h | 2 +- + sound/soc/meson/aiu-acodec-ctrl.c | 2 +- + sound/soc/meson/aiu-codec-ctrl.c | 2 +- + sound/soc/meson/aiu.c | 4 ++-- + sound/soc/meson/aiu.h | 2 +- + sound/soc/qcom/lpass-cpu.c | 2 +- + sound/soc/qcom/qdsp6/q6afe-dai.c | 2 +- + sound/soc/soc-component.c | 2 +- + sound/soc/soc-core.c | 2 +- + 10 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h +index 0bce41fefd30..00494f955134 100644 +--- a/include/sound/soc-component.h ++++ b/include/sound/soc-component.h +@@ -101,7 +101,7 @@ struct snd_soc_component_driver { + + /* DT */ + int (*of_xlate_dai_name)(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name); + int (*of_xlate_dai_id)(struct snd_soc_component *comment, + struct device_node *endpoint); +@@ -444,7 +444,7 @@ void snd_soc_component_remove(struct snd_soc_component *component); + int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component, + struct device_node *ep); + int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name); + int snd_soc_component_compr_open(struct snd_compr_stream *cstream); + void snd_soc_component_compr_free(struct snd_compr_stream *cstream, +diff --git a/include/sound/soc.h b/include/sound/soc.h +index 3fa6c40a63b7..1aaf3cedefb3 100644 +--- a/include/sound/soc.h ++++ b/include/sound/soc.h +@@ -1219,7 +1219,7 @@ unsigned int snd_soc_of_parse_daifmt(struct device_node *np, + struct device_node **bitclkmaster, + struct device_node **framemaster); + int snd_soc_get_dai_id(struct device_node *ep); +-int snd_soc_get_dai_name(struct of_phandle_args *args, ++int snd_soc_get_dai_name(const struct of_phandle_args *args, + const char **dai_name); + int snd_soc_of_get_dai_name(struct device_node *of_node, + const char **dai_name); +diff --git a/sound/soc/meson/aiu-acodec-ctrl.c b/sound/soc/meson/aiu-acodec-ctrl.c +index 7078197e0cc5..27a6d3259c50 100644 +--- a/sound/soc/meson/aiu-acodec-ctrl.c ++++ b/sound/soc/meson/aiu-acodec-ctrl.c +@@ -159,7 +159,7 @@ static const struct snd_kcontrol_new aiu_acodec_ctrl_controls[] = { + }; + + static int aiu_acodec_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + return aiu_of_xlate_dai_name(component, args, dai_name, AIU_ACODEC); +diff --git a/sound/soc/meson/aiu-codec-ctrl.c b/sound/soc/meson/aiu-codec-ctrl.c +index 4b773d3e8b07..c3ea733fce91 100644 +--- a/sound/soc/meson/aiu-codec-ctrl.c ++++ b/sound/soc/meson/aiu-codec-ctrl.c +@@ -125,7 +125,7 @@ static const struct snd_soc_dapm_route aiu_hdmi_ctrl_routes[] = { + }; + + static int aiu_hdmi_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + return aiu_of_xlate_dai_name(component, args, dai_name, AIU_HDMI); +diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c +index dc35ca79021c..ba15d5762b0b 100644 +--- a/sound/soc/meson/aiu.c ++++ b/sound/soc/meson/aiu.c +@@ -42,7 +42,7 @@ static const struct snd_soc_dapm_route aiu_cpu_dapm_routes[] = { + }; + + int aiu_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name, + unsigned int component_id) + { +@@ -72,7 +72,7 @@ int aiu_of_xlate_dai_name(struct snd_soc_component *component, + } + + static int aiu_cpu_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + return aiu_of_xlate_dai_name(component, args, dai_name, AIU_CPU); +diff --git a/sound/soc/meson/aiu.h b/sound/soc/meson/aiu.h +index 87aa19ac4af3..393b6c2307e4 100644 +--- a/sound/soc/meson/aiu.h ++++ b/sound/soc/meson/aiu.h +@@ -45,7 +45,7 @@ struct aiu { + SNDRV_PCM_FMTBIT_S24_LE) + + int aiu_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name, + unsigned int component_id); + +diff --git a/sound/soc/qcom/lpass-cpu.c b/sound/soc/qcom/lpass-cpu.c +index 8e5415c9234f..0af5afaa0ece 100644 +--- a/sound/soc/qcom/lpass-cpu.c ++++ b/sound/soc/qcom/lpass-cpu.c +@@ -340,7 +340,7 @@ int asoc_qcom_lpass_cpu_dai_probe(struct snd_soc_dai *dai) + EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_dai_probe); + + static int asoc_qcom_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + struct lpass_data *drvdata = snd_soc_component_get_drvdata(component); +diff --git a/sound/soc/qcom/qdsp6/q6afe-dai.c b/sound/soc/qcom/qdsp6/q6afe-dai.c +index 4e1f101281e7..e8915519f427 100644 +--- a/sound/soc/qcom/qdsp6/q6afe-dai.c ++++ b/sound/soc/qcom/qdsp6/q6afe-dai.c +@@ -1315,7 +1315,7 @@ static struct snd_soc_dai_driver q6afe_dais[] = { + }; + + static int q6afe_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + int id = args->args[0]; +diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c +index 760523382f3c..8b958db3a353 100644 +--- a/sound/soc/soc-component.c ++++ b/sound/soc/soc-component.c +@@ -357,7 +357,7 @@ int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component, + } + + int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component, +- struct of_phandle_args *args, ++ const struct of_phandle_args *args, + const char **dai_name) + { + if (component->driver->of_xlate_dai_name) +diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c +index f6d4e99b590c..50190654edda 100644 +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -2994,7 +2994,7 @@ int snd_soc_get_dai_id(struct device_node *ep) + } + EXPORT_SYMBOL_GPL(snd_soc_get_dai_id); + +-int snd_soc_get_dai_name(struct of_phandle_args *args, ++int snd_soc_get_dai_name(const struct of_phandle_args *args, + const char **dai_name) + { + struct snd_soc_component *pos; +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-arm64-dts-meson-fix-broken-wifi-node-for.patch b/projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-arm64-dts-meson-fix-broken-wifi-node-for.patch deleted file mode 100644 index a97155a949..0000000000 --- a/projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-arm64-dts-meson-fix-broken-wifi-node-for.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 04b1ab152b6f130df44c8c327901431f8ef55fb1 Mon Sep 17 00:00:00 2001 -From: Artem Lapkin -Date: Fri, 29 Jan 2021 14:17:19 +0000 -Subject: [PATCH 36/76] FROMLIST(v1): arm64: dts: meson: fix broken wifi node - for Khadas VIM3L - -Move &sd_emmc_a node from /* */ commented area because cannot load wifi fw -without sd-uhs-sdr50 option on VIM3L - -[ 11.686590] brcmfmac: brcmf_chip_cores_check: CPU core not detected -[ 11.696382] brcmfmac: brcmf_sdio_probe_attach: brcmf_chip_attach failed! -[ 11.706240] brcmfmac: brcmf_sdio_probe: brcmf_sdio_probe_attach failed -[ 11.715890] brcmfmac: brcmf_ops_sdio_probe: F2 error, probe failed -19... -[ 13.718424] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported - -Fixes: f1bb924e8f5b ("arm64: dts: meson: fix mmc0 tuning error on Khadas VIM3") -Signed-off-by: Artem Lapkin ---- - arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts -index 4b517ca72059..29c785cf5c96 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts -@@ -89,13 +89,13 @@ - status = "okay"; - }; - --&sd_emmc_a { -- sd-uhs-sdr50; --}; -- - &usb { - phys = <&usb2_phy0>, <&usb2_phy1>; - phy-names = "usb2-phy0", "usb2-phy1"; - }; - */ - -+&sd_emmc_a { -+ sd-uhs-sdr50; -+}; -+ --- -2.17.1 - diff --git a/projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch b/projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch similarity index 92% rename from projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch rename to projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch index a07d684b69..a711dd8c3a 100644 --- a/projects/Amlogic/patches/linux/amlogic-0035-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch +++ b/projects/Amlogic/patches/linux/amlogic-0036-FROMLIST-v1-spi-nor-add-support-for-XT25F128B.patch @@ -1,7 +1,7 @@ -From 0694da394778d362654c518a08b6810a48b97e19 Mon Sep 17 00:00:00 2001 +From 28fd818e286b4d92042e2b3d408f9037b6ab21ce Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Thu, 28 Jan 2021 09:43:36 +0000 -Subject: [PATCH 35/76] FROMLIST(v1): spi-nor: add support for XT25F128B +Subject: [PATCH 36/78] FROMLIST(v1): spi-nor: add support for XT25F128B This adds support for the XT25F128B as found on the RockPi4b SBC. @@ -40,10 +40,10 @@ index 653923896205..3f7a52d7fa0b 100644 obj-$(CONFIG_MTD_SPI_NOR) += controllers/ diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c -index 20df44b753da..46ec47dfac14 100644 +index b17faccc95c4..427af2298e37 100644 --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -2176,6 +2176,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = { +@@ -2178,6 +2178,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = { &spi_nor_winbond, &spi_nor_xilinx, &spi_nor_xmc, diff --git a/projects/Amlogic/patches/linux/amlogic-0064-media-rc-add-keymap-for-minix-neo-remote.patch b/projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v1-media-rc-add-keymap-for-minix-neo-remote.patch similarity index 96% rename from projects/Amlogic/patches/linux/amlogic-0064-media-rc-add-keymap-for-minix-neo-remote.patch rename to projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v1-media-rc-add-keymap-for-minix-neo-remote.patch index f4c9531712..fce5942e26 100644 --- a/projects/Amlogic/patches/linux/amlogic-0064-media-rc-add-keymap-for-minix-neo-remote.patch +++ b/projects/Amlogic/patches/linux/amlogic-0037-FROMLIST-v1-media-rc-add-keymap-for-minix-neo-remote.patch @@ -1,7 +1,8 @@ -From 6f706f917237bcc53e742bc07bfe2984c56e9c3a Mon Sep 17 00:00:00 2001 +From 7269e66ec09d178a7ad7f3c418c92ea0d8183fc7 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 19 Jan 2021 11:55:20 +0000 -Subject: [PATCH 64/76] media: rc: add keymap for minix-neo remote +Subject: [PATCH 37/78] FROMLIST(v1): media: rc: add keymap for minix-neo + remote Add a keymap and bindings for the simple IR (NEC) remote used with Minix 'NEO' branded Android STB devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0062-dt-bindings-arm-amlogic-add-support-for-the-Minix-NE.patch b/projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v1-dt-bindings-arm-amlogic-add-support-for-.patch similarity index 76% rename from projects/Amlogic/patches/linux/amlogic-0062-dt-bindings-arm-amlogic-add-support-for-the-Minix-NE.patch rename to projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v1-dt-bindings-arm-amlogic-add-support-for-.patch index 022f0021f6..92ae16f423 100644 --- a/projects/Amlogic/patches/linux/amlogic-0062-dt-bindings-arm-amlogic-add-support-for-the-Minix-NE.patch +++ b/projects/Amlogic/patches/linux/amlogic-0038-FROMLIST-v1-dt-bindings-arm-amlogic-add-support-for-.patch @@ -1,11 +1,11 @@ -From 90b781f9440f5ee9abc66a5f4c9a1358a82a26bd Mon Sep 17 00:00:00 2001 +From c606e2fab43277b72b7fea5bb733dbbaac5bffa6 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 29 Jan 2021 04:46:21 +0000 -Subject: [PATCH 62/76] dt-bindings: arm: amlogic: add support for the Minix - NEO U9-H +Subject: [PATCH 38/78] FROMLIST(v1): dt-bindings: arm: amlogic: add support + for the Minix NEO U9-H The Minix NEO U9-H is a small form-factor Android STB based on the -Amlogic Q200 reference board with an S912 chip. +Amlogic Q200 reference board with an S912-H chip. Signed-off-by: Christian Hewitt --- @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 41b22a406423..4ab110d6b3f0 100644 +index 5f6769bf45bd..d24334e1e166 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -120,6 +120,7 @@ properties: diff --git a/projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-initial-device-tree-for-Minix-NE.patch b/projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v1-arm64-dts-meson-add-initial-device-tree-.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-initial-device-tree-for-Minix-NE.patch rename to projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v1-arm64-dts-meson-add-initial-device-tree-.patch index 7c9f9ad4c5..a97e7a1f8b 100644 --- a/projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-initial-device-tree-for-Minix-NE.patch +++ b/projects/Amlogic/patches/linux/amlogic-0039-FROMLIST-v1-arm64-dts-meson-add-initial-device-tree-.patch @@ -1,11 +1,11 @@ -From 8539b594ffc44f215a7b26437fe5424fb5525ab9 Mon Sep 17 00:00:00 2001 +From 17b4f3b62b670127702280a40bf772d958062fdc Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 19 Jan 2021 12:57:11 +0000 -Subject: [PATCH 63/76] arm64: dts: meson: add initial device-tree for Minix - NEO U9-H +Subject: [PATCH 39/78] FROMLIST(v1): arm64: dts: meson: add initial + device-tree for Minix NEO U9-H -Minix NEO U9H is based on the Amlogic Q200 reference board with an -S912-H chip and the folloing specs: +Minix NEO U9-H is based on the Amlogic Q200 reference board with an +S912-H chip and the following specs: - 2GB DDR3 RAM - 16GB eMMC @@ -23,15 +23,16 @@ S912-H chip and the folloing specs: - 1x Update/Reset button (underside) - 1x micro SD card slot +Tested-by: Wes Bradley Signed-off-by: Christian Hewitt --- arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-gxm-minix-neo-u9h.dts | 124 ++++++++++++++++++ - 2 files changed, 125 insertions(+) + .../dts/amlogic/meson-gxm-minix-neo-u9h.dts | 120 ++++++++++++++++++ + 2 files changed, 121 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 3cf6699b4f30..da11ef28a47b 100644 +index 78a569d7fa20..aebd49c88719 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb @@ -44,10 +45,10 @@ index 3cf6699b4f30..da11ef28a47b 100644 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb 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 new file mode 100644 -index 000000000000..50c35b7606b9 +index 000000000000..a414cd39c2b1 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts -@@ -0,0 +1,124 @@ +@@ -0,0 +1,120 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) Christian Hewitt @@ -64,10 +65,6 @@ index 000000000000..50c35b7606b9 + compatible = "minix,neo-u9h", "amlogic,s912", "amlogic,meson-gxm"; + model = "Minix Neo U9-H"; + -+ aliases { -+ rtc0 = &rtc; -+ }; -+ + leds { + compatible = "gpio-leds"; + diff --git a/projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-arm64-dts-amlogic-assign-a-fixed-index-t.patch b/projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-arm64-dts-amlogic-assign-a-fixed-index-t.patch new file mode 100644 index 0000000000..9437168ee6 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0040-FROMLIST-v2-arm64-dts-amlogic-assign-a-fixed-index-t.patch @@ -0,0 +1,63 @@ +From 6d69b3667677eca2ecc200ae366e062a5d66806a Mon Sep 17 00:00:00 2001 +From: Alexander Stein +Date: Wed, 3 Feb 2021 17:03:42 +0000 +Subject: [PATCH 40/78] FROMLIST(v2): arm64: dts: amlogic: assign a fixed index + to mmc devices + +Recently introduced async probe on mmc devices can shuffle block IDs. +Pin them to fixed values to ease booting in environments where UUIDs +are not practical. Use newly introduced aliases for mmcblk devices +from [1]. + +The unconventional order (B, C, A) is due to the fact that sd_emmc_a is +(according to the comments) only used for SDIO. + +AFAICS all boards either have both sd_emmc_b and sd_emmc_c or only one +of them enabled. So the alias order should match the previous non-async +order for all of them. + +[1] https://patchwork.kernel.org/patch/11747669/ + +Signed-off-by: Alexander Stein +--- + arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 ++++++ + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +index 3a4f20506a61..bd6e48e3c51a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +@@ -17,6 +17,12 @@ + #address-cells = <2>; + #size-cells = <2>; + ++ aliases { ++ mmc0 = &sd_emmc_b; ++ mmc1 = &sd_emmc_c; ++ mmc2 = &sd_emmc_a; ++ }; ++ + chosen { + #address-cells = <2>; + #size-cells = <2>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index cf9eb7c8a6f0..14ff467c6be8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -20,6 +20,12 @@ + #address-cells = <2>; + #size-cells = <2>; + ++ aliases { ++ mmc0 = &sd_emmc_b; ++ mmc1 = &sd_emmc_c; ++ mmc2 = &sd_emmc_a; ++ }; ++ + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v1-drm-meson-add-shutdown-function-to-meson.patch b/projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v1-drm-meson-add-shutdown-function-to-meson.patch new file mode 100644 index 0000000000..b25ca92d54 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0041-FROMLIST-v1-drm-meson-add-shutdown-function-to-meson.patch @@ -0,0 +1,69 @@ +From 19bbd3afcc008b3b428bf12f4e74f9166ffe7ea3 Mon Sep 17 00:00:00 2001 +From: Artem Lapkin +Date: Wed, 24 Feb 2021 12:12:53 +0000 +Subject: [PATCH 41/78] FROMLIST(v1): drm/meson: add shutdown function to + meson_drv + +Problem: random stucks on reboot stage about 1/20 stuck/reboots +// debug kernel log +[ 4.496660] reboot: kernel restart prepare CMD:(null) +[ 4.498114] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin +[ 4.503949] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... +...STUCK... + +Solution: add shutdown function to meson_drm driver +// debug kernel log +[ 5.231896] reboot: kernel restart prepare CMD:(null) +[ 5.246135] [drm:meson_drv_shutdown] +... +[ 5.259271] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin +[ 5.274688] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... +[ 5.338331] reboot: Restarting system +[ 5.358293] psci: PSCI_0_2_FN_SYSTEM_RESET reboot_mode:0 cmd:(null) +bl31 reboot reason: 0xd +bl31 reboot reason: 0x0 +system cmd 1. +...REBOOT... + +Tested: on VIM1 VIM2 VIM3 VIM3L khadas sbcs - 1000+ successful reboots +and Odroid boards, WeTek Play2 (GXBB) + +Tested-by: Christian Hewitt +Signed-off-by: Artem Lapkin +--- + drivers/gpu/drm/meson/meson_drv.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c +index 42c5d3246cfc..ac3808e846ff 100644 +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -482,6 +482,17 @@ static int meson_probe_remote(struct platform_device *pdev, + return count; + } + ++static void meson_drv_shutdown(struct platform_device *pdev) ++{ ++ struct meson_drm *priv = dev_get_drvdata(&pdev->dev); ++ struct drm_device *drm = priv->drm; ++ ++ dev_warn(&pdev->dev, "%s", __func__); ++ //drm_dev_unregister(drm); ++ drm_kms_helper_poll_fini(drm); ++ drm_atomic_helper_shutdown(drm); ++} ++ + static int meson_drv_probe(struct platform_device *pdev) + { + struct component_match *match = NULL; +@@ -553,6 +564,7 @@ static const struct dev_pm_ops meson_drv_pm_ops = { + + static struct platform_driver meson_drm_platform_driver = { + .probe = meson_drv_probe, ++ .shutdown = meson_drv_shutdown, + .driver = { + .name = "meson-drm", + .of_match_table = dt_match, +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0042-WIP-drm-panfrost-Make-sure-MMU-context-lifetime-is-n.patch b/projects/Amlogic/patches/linux/amlogic-0042-WIP-drm-panfrost-Make-sure-MMU-context-lifetime-is-n.patch index 6a21934a76..2e78971a09 100644 --- a/projects/Amlogic/patches/linux/amlogic-0042-WIP-drm-panfrost-Make-sure-MMU-context-lifetime-is-n.patch +++ b/projects/Amlogic/patches/linux/amlogic-0042-WIP-drm-panfrost-Make-sure-MMU-context-lifetime-is-n.patch @@ -1,7 +1,7 @@ -From 176ed28766085a6f74fe883418c27b67dc58ccff Mon Sep 17 00:00:00 2001 +From 5e8efea13b5e47555d76b994ff26693ad5bfbabe Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Tue, 4 Feb 2020 15:35:03 +0100 -Subject: [PATCH 42/76] WIP: drm/panfrost: Make sure MMU context lifetime is +Subject: [PATCH 42/78] WIP: drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv Jobs can be in-flight when the file descriptor is closed (either because @@ -229,7 +229,7 @@ index d6d5c15184f9..b600618abb49 100644 dma_fence_signal_locked(job->done_fence); diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c -index 7c1b3481b785..42da9c40fc4b 100644 +index 0581186ebfb3..569509c2ba27 100644 --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c @@ -1,5 +1,8 @@ @@ -331,7 +331,7 @@ index 7c1b3481b785..42da9c40fc4b 100644 out: spin_unlock(&pfdev->as_lock); return mapping; -@@ -535,6 +490,107 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, +@@ -542,6 +497,107 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, return ret; } diff --git a/projects/Amlogic/patches/linux/amlogic-0043-WIP-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch b/projects/Amlogic/patches/linux/amlogic-0043-WIP-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch index 1f30ae81b5..f74a3fc875 100644 --- a/projects/Amlogic/patches/linux/amlogic-0043-WIP-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch +++ b/projects/Amlogic/patches/linux/amlogic-0043-WIP-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch @@ -1,7 +1,7 @@ -From 029a03290c4ad5594bc800fa15d0ede1abb127f0 Mon Sep 17 00:00:00 2001 +From d4a390b8e4afb04886a5a7600d343f7b5c149ae8 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:23 +0100 -Subject: [PATCH 43/76] WIP: arm64: meson: add Amlogic Meson GX PM Suspend +Subject: [PATCH 43/78] WIP: 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/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-support-for-GX-PM-and-Virtua.patch b/projects/Amlogic/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-support-for-GX-PM-and-Virtua.patch index 53bab7b1f9..e0e5028f9e 100644 --- a/projects/Amlogic/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-support-for-GX-PM-and-Virtua.patch +++ b/projects/Amlogic/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-support-for-GX-PM-and-Virtua.patch @@ -1,7 +1,7 @@ -From b2e229ad94cfa0940baac8e6b15912d733fe68d4 Mon Sep 17 00:00:00 2001 +From b6ce27b12f864072eb706b56ce4f32603e211f16 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:25 +0100 -Subject: [PATCH 44/76] WIP: arm64: dts: meson: add support for GX PM and +Subject: [PATCH 44/78] WIP: 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 cf9eb7c8a6f0..8e3929e9cf42 100644 +index 14ff467c6be8..2c7afe34112b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -215,6 +215,10 @@ +@@ -221,6 +221,10 @@ }; }; @@ -24,7 +24,7 @@ index cf9eb7c8a6f0..8e3929e9cf42 100644 efuse: efuse { compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse"; #address-cells = <1>; -@@ -452,6 +456,11 @@ +@@ -458,6 +462,11 @@ }; }; diff --git a/projects/Amlogic/patches/linux/amlogic-0045-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-V.patch b/projects/Amlogic/patches/linux/amlogic-0045-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-V.patch index f3198b9fca..ef67f940c0 100644 --- a/projects/Amlogic/patches/linux/amlogic-0045-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-V.patch +++ b/projects/Amlogic/patches/linux/amlogic-0045-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-V.patch @@ -1,7 +1,7 @@ -From e4dbfa91b5924f9a3421a95bd239f6c3789071f9 Mon Sep 17 00:00:00 2001 +From 56e132abb2baa69aa26850ccf7f1a3621d60bcc1 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 21 Jan 2021 01:35:36 +0000 -Subject: [PATCH 45/76] WIP: arm64: dts: meson: add rtc/vrtc aliases to Khadas +Subject: [PATCH 45/78] WIP: arm64: dts: meson: add rtc/vrtc aliases to Khadas VIM Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 diff --git a/projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-NE.patch b/projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-NE.patch new file mode 100644 index 0000000000..715603a359 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-NE.patch @@ -0,0 +1,32 @@ +From a8fe715b1ca52a0afb6db5e1ec0ebbf4d97e202d Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Mon, 1 Feb 2021 19:27:40 +0000 +Subject: [PATCH 46/78] WIP: arm64: dts: meson: add rtc/vrtc aliases to Minix + NEO U9-H + +Add node aliases to prevent meson-vrtc from claiming /dev/rtc0 + +Signed-off-by: Christian Hewitt +--- + arch/arm64/boot/dts/amlogic/meson-gxm-minix-neo-u9h.dts | 5 +++++ + 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 a414cd39c2b1..443cea738e53 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 @@ + compatible = "minix,neo-u9h", "amlogic,s912", "amlogic,meson-gxm"; + model = "Minix Neo U9-H"; + ++ aliases { ++ rtc0 = &rtc; ++ rtc1 = &vrtc; ++ }; ++ + leds { + compatible = "gpio-leds"; + +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0059-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch b/projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0059-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch rename to projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch index 52ba9c3995..84a96f8eeb 100644 --- a/projects/Amlogic/patches/linux/amlogic-0059-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch +++ b/projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-spifc-node-to-ODROID-HC4.patch @@ -1,7 +1,7 @@ -From da773d3b59dbd63db43576bfa1b0a6a3da252342 Mon Sep 17 00:00:00 2001 +From be376ae6fb6f8050c5a6bac76d7c0d63eb6b8cfb Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 28 Jan 2021 17:15:22 +0000 -Subject: [PATCH 59/76] arm64: dts: meson: add spifc node to ODROID-HC4 +Subject: [PATCH 47/78] WIP: arm64: dts: meson: add spifc node to ODROID-HC4 Add a node for the XT25F128B SPI-NOR flash to make it accessible from Linux. diff --git a/projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch b/projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch similarity index 95% rename from projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch rename to projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch index 8e0d90ddaf..f0906e82bb 100644 --- a/projects/Amlogic/patches/linux/amlogic-0046-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch +++ b/projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-nexbox-a1.patch @@ -1,7 +1,7 @@ -From 6f2d6372b659434f8816584053d963ee89ce9746 Mon Sep 17 00:00:00 2001 +From bb9668cf2d5d550b95b427fe2e6f1ffd64dcc80e Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:23:05 +0000 -Subject: [PATCH 46/76] WIP: arm64: dts: meson: add audio playback to nexbox-a1 +Subject: [PATCH 48/78] WIP: arm64: dts: meson: add audio playback to nexbox-a1 Add initial support is limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch b/projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch similarity index 92% rename from projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch rename to projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch index 7d43166334..5bfb180416 100644 --- a/projects/Amlogic/patches/linux/amlogic-0047-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch +++ b/projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch @@ -1,7 +1,7 @@ -From cdb8cf05f06fdaaa0a10b71f6e70411edf8478df Mon Sep 17 00:00:00 2001 +From 5792cee19793ab43c7fc9c5c04c5dddb8de5a5f8 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:52:47 +0000 -Subject: [PATCH 47/76] WIP: arm64: dts: meson: add audio playback to p201 +Subject: [PATCH 49/78] WIP: arm64: dts: meson: add audio playback to p201 Add initial audio support limited to HDMI i2s. diff --git a/projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch b/projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch rename to projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch index db26293d0e..340eb8f6f5 100644 --- a/projects/Amlogic/patches/linux/amlogic-0048-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch +++ b/projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch @@ -1,7 +1,7 @@ -From c2ca2c7ac6c3685be4e50cd1ace51a8dd23937ef Mon Sep 17 00:00:00 2001 +From 7ee301326d2cd9b06cb3c28f088a8b5af49af39f Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:56:15 +0000 -Subject: [PATCH 48/76] WIP: arm64: dts: meson: add audio playback to p200 +Subject: [PATCH 50/78] WIP: arm64: dts: meson: add audio playback to p200 Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch b/projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch similarity index 92% rename from projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch rename to projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch index b8686117a0..0537d24ba3 100644 --- a/projects/Amlogic/patches/linux/amlogic-0049-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch +++ b/projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-p212-s905x.patch @@ -1,7 +1,7 @@ -From fb6fe8a77cbe9e1418345840c814486b9f0dadd3 Mon Sep 17 00:00:00 2001 +From e8c87f1399e34d67857e955542bdb14bd6939df6 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 08:02:54 +0000 -Subject: [PATCH 49/76] WIP: arm64: dts: meson: add audio playback to +Subject: [PATCH 51/78] WIP: arm64: dts: meson: add audio playback to p212-s905x dtsi Add initial audio support limited to HDMI i2s. diff --git a/projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch b/projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch similarity index 95% rename from projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch rename to projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch index 87a0a38d15..ab196d6a18 100644 --- a/projects/Amlogic/patches/linux/amlogic-0050-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch +++ b/projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-rbox-pro.patch @@ -1,7 +1,7 @@ -From 9676847fa8622e8a4d5a6ecd332958db59ce8d22 Mon Sep 17 00:00:00 2001 +From 4ec2803abc56413983c880e88cd580fd30f23177 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 08:13:00 +0000 -Subject: [PATCH 50/76] WIP: arm64: dts: meson: add audio playback to rbox-pro +Subject: [PATCH 52/78] WIP: arm64: dts: meson: add audio playback to rbox-pro Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch b/projects/Amlogic/patches/linux/amlogic-0053-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch similarity index 96% rename from projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch rename to projects/Amlogic/patches/linux/amlogic-0053-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch index 912ccb1156..0c0456ea64 100644 --- a/projects/Amlogic/patches/linux/amlogic-0051-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch +++ b/projects/Amlogic/patches/linux/amlogic-0053-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch @@ -1,7 +1,7 @@ -From 6da9a634256de728600db6239dec4d714dbd0859 Mon Sep 17 00:00:00 2001 +From e1cb25c4c9f92255af4c6face8052e660a939536 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 17 May 2020 05:00:55 +0000 -Subject: [PATCH 51/76] WIP: arm64: dts: meson: add audio playback to u200 +Subject: [PATCH 53/78] WIP: arm64: dts: meson: add audio playback to u200 Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch b/projects/Amlogic/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch rename to projects/Amlogic/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch index 0248d2534d..a72080c3a1 100644 --- a/projects/Amlogic/patches/linux/amlogic-0052-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch +++ b/projects/Amlogic/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-audio-playback-to-vega-s95-d.patch @@ -1,7 +1,7 @@ -From c2a54c807910603e449bfe3719d2fb8d03e67d7c Mon Sep 17 00:00:00 2001 +From 0bbdd1a843c87f6a58234b822e6b39fc85fb6ab5 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 16 May 2020 07:04:58 +0000 -Subject: [PATCH 52/76] WIP: arm64: dts: meson: add audio playback to vega-s95 +Subject: [PATCH 54/78] WIP: arm64: dts: meson: add audio playback to vega-s95 dtsi Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/patches/linux/amlogic-0053-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch b/projects/Amlogic/patches/linux/amlogic-0055-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch similarity index 90% rename from projects/Amlogic/patches/linux/amlogic-0053-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch rename to projects/Amlogic/patches/linux/amlogic-0055-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch index cdeba4fa93..9e0622c89b 100644 --- a/projects/Amlogic/patches/linux/amlogic-0053-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch +++ b/projects/Amlogic/patches/linux/amlogic-0055-WIP-clk-meson-g12a-fix-gp0-and-hifi-ranges.patch @@ -1,7 +1,7 @@ -From c484291b43166b9c0ad1bb52361e0b869894fd61 Mon Sep 17 00:00:00 2001 +From b60fc3c2b547b2116b0f8324ed5db4bd8d06ccc4 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 15 Feb 2019 14:21:27 +0100 -Subject: [PATCH 53/76] WIP: clk: meson: g12a: fix gp0 and hifi ranges +Subject: [PATCH 55/78] WIP: clk: meson: g12a: fix gp0 and hifi ranges While some SoC samples are able to lock with a PLL factor of 55, others samples can't. ATM, a minimum of 60 appears to work on all the samples diff --git a/projects/Amlogic/patches/linux/amlogic-0054-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch b/projects/Amlogic/patches/linux/amlogic-0056-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0054-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch rename to projects/Amlogic/patches/linux/amlogic-0056-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch index 2e5b57478a..126a8a6e32 100644 --- a/projects/Amlogic/patches/linux/amlogic-0054-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch +++ b/projects/Amlogic/patches/linux/amlogic-0056-WIP-clk-meson-g12a-fix-hifi-pll-lock.patch @@ -1,7 +1,7 @@ -From 4791022f0f1c7cc046d11d231c1bf6a3fef56ada Mon Sep 17 00:00:00 2001 +From e7405d6e7e5e8eab9e3ac563046b0e5972f95767 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Tue, 14 Apr 2020 10:45:08 +0200 -Subject: [PATCH 54/76] WIP: clk: meson: g12a: fix hifi pll lock +Subject: [PATCH 56/78] WIP: clk: meson: g12a: fix hifi pll lock The HIFI pll of the g12a sometimes takes a long time to report the lock in HIFI_PLL_CNTL0 bit 31. The would eventually be reported but the delay may diff --git a/projects/Amlogic/patches/linux/amlogic-0055-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch b/projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0055-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch rename to projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch index b648c4d2e6..043d520a1a 100644 --- a/projects/Amlogic/patches/linux/amlogic-0055-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch +++ b/projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch @@ -1,7 +1,7 @@ -From 22499cd4c3070943e616b2e96a27144ddc33879a Mon Sep 17 00:00:00 2001 +From e34a71cfeea60066ed069b87ca34d6ec7c702ec0 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 23 Dec 2018 02:24:38 +0100 -Subject: [PATCH 55/76] WIP: ASoC: hdmi-codec: reorder channel allocation list +Subject: [PATCH 57/78] WIP: ASoC: hdmi-codec: reorder channel allocation list Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx(). diff --git a/projects/Amlogic/patches/linux/amlogic-0056-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch b/projects/Amlogic/patches/linux/amlogic-0058-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch similarity index 93% rename from projects/Amlogic/patches/linux/amlogic-0056-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch rename to projects/Amlogic/patches/linux/amlogic-0058-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch index ea35e9e3c2..2e2a0df8c1 100644 --- a/projects/Amlogic/patches/linux/amlogic-0056-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch +++ b/projects/Amlogic/patches/linux/amlogic-0058-WIP-ASoC-meson-aiu-encoder-spdif-implement-the-.mute.patch @@ -1,7 +1,7 @@ -From 21874177845354c9e7b6da77e8ac5efba3a17615 Mon Sep 17 00:00:00 2001 +From f643523d186e62a40158d4b969c39c7e54351627 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Wed, 23 Dec 2020 02:45:27 +0100 -Subject: [PATCH 56/76] WIP: ASoC: meson: aiu: encoder-spdif: implement the +Subject: [PATCH 58/78] WIP: ASoC: meson: aiu: encoder-spdif: implement the .mute_stream callback Implement the .mute_stream callback based on code from the vendor diff --git a/projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch b/projects/Amlogic/patches/linux/amlogic-0059-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch similarity index 92% rename from projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch rename to projects/Amlogic/patches/linux/amlogic-0059-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch index 4ed55b136d..66124958c2 100644 --- a/projects/Amlogic/patches/linux/amlogic-0057-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch +++ b/projects/Amlogic/patches/linux/amlogic-0059-WIP-ASoC-meson-aiu-encoder-i2s-implement-the-.mute_s.patch @@ -1,7 +1,7 @@ -From 32e6676f1f1fbff63c99d7257c763e6c1436eb7b Mon Sep 17 00:00:00 2001 +From 05065835844cb04697b86f82f950e9b1974f8875 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Wed, 23 Dec 2020 02:46:54 +0100 -Subject: [PATCH 57/76] WIP: ASoC: meson: aiu: encoder-i2s: implement the +Subject: [PATCH 59/78] WIP: ASoC: meson: aiu: encoder-i2s: implement the .mute_stream callback Implement the .mute_stream callback based on the code from the vendor @@ -53,7 +53,7 @@ index 932224552146..d6aea7797641 100644 }; diff --git a/sound/soc/meson/aiu.h b/sound/soc/meson/aiu.h -index 87aa19ac4af3..47acf97d8034 100644 +index 393b6c2307e4..7884c50f244d 100644 --- a/sound/soc/meson/aiu.h +++ b/sound/soc/meson/aiu.h @@ -66,6 +66,7 @@ extern const struct snd_soc_dai_ops aiu_encoder_spdif_dai_ops; diff --git a/projects/Amlogic/patches/linux/amlogic-0058-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch b/projects/Amlogic/patches/linux/amlogic-0060-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch similarity index 94% rename from projects/Amlogic/patches/linux/amlogic-0058-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch rename to projects/Amlogic/patches/linux/amlogic-0060-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch index 798982d36a..e3f7d227c2 100644 --- a/projects/Amlogic/patches/linux/amlogic-0058-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch +++ b/projects/Amlogic/patches/linux/amlogic-0060-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch @@ -1,7 +1,7 @@ -From 7facee7aa5ad08b0f38da7784d6a71652a53f0cb Mon Sep 17 00:00:00 2001 +From ee135ee6fe801ae3ec8fe03e09013ee207fb2d83 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 14 Jan 2021 17:43:02 +0100 -Subject: [PATCH 58/76] WIP: mmc: meson-gx-mmc: set core clock phase to 270 +Subject: [PATCH 60/78] WIP: mmc: meson-gx-mmc: set core clock phase to 270 degres for AXG compatible controllers Signed-off-by: Neil Armstrong diff --git a/projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-sd-uhs-modes-to-ODROID-N2-N2.patch b/projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-sd-uhs-modes-to-ODROID-N2-N2.patch new file mode 100644 index 0000000000..075767ba94 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-sd-uhs-modes-to-ODROID-N2-N2.patch @@ -0,0 +1,33 @@ +From 4394cdc8f1cb974a8cfbda25a1f43eb480024fe2 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sun, 21 Feb 2021 05:51:27 +0000 +Subject: [PATCH 61/78] arm64: dts: meson: add sd-uhs modes to ODROID-N2/N2+ + +Increase max-frequency to 200000000 and add sd-uhs modes to the +ODROID N2/N2+ common dtsi. + +Signed-off-by: Christian Hewitt +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 6 +++++- + 1 file changed, 5 insertions(+), 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 58ce569b2ace..5c70935a583e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -517,7 +517,11 @@ + + bus-width = <4>; + cap-sd-highspeed; +- max-frequency = <50000000>; ++ max-frequency = <200000000>; ++ sd-uhs-sdr12; ++ sd-uhs-sdr25; ++ sd-uhs-sdr50; ++ sd-uhs-sdr104; + disable-wp; + + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0062-arm64-dts-meson-add-GPIO-line-names-to-ODROID-N2-N2.patch b/projects/Amlogic/patches/linux/amlogic-0062-arm64-dts-meson-add-GPIO-line-names-to-ODROID-N2-N2.patch new file mode 100644 index 0000000000..4781101259 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0062-arm64-dts-meson-add-GPIO-line-names-to-ODROID-N2-N2.patch @@ -0,0 +1,71 @@ +From 64b2e352216949aa790aaf86d138a40bcf2154ec Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sun, 21 Feb 2021 05:58:56 +0000 +Subject: [PATCH 62/78] arm64: dts: meson: add GPIO line names to ODROID N2/N2+ + +Add GPIO line-name identifiers to the ODROID N2/N2+ common dtsi. + +Signed-off-by: Christian Hewitt +--- + .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 45 +++++++++++++++++++ + 1 file changed, 45 insertions(+) + +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 5c70935a583e..ac396067911d 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -446,6 +446,51 @@ + }; + + &gpio { ++ gpio-line-names = ++ /* GPIOZ */ ++ "", "", "", "", "", "", "", "", ++ "", "", "", "", "", "", "", "", ++ /* GPIOH */ ++ "", "", "", "", "", "", "", "", ++ "", ++ /* BOOT */ ++ "", "", "", "", "", "", "", "", ++ "", "", "", "", "", "", "", "", ++ /* GPIOC */ ++ "", "", "", "", "", "", "", "", ++ /* GPIOA */ ++ "PIN_44", /* GPIOA_0 */ ++ "PIN_46", /* GPIOA_1 */ ++ "PIN_45", /* GPIOA_2 */ ++ "PIN_47", /* GPIOA_3 */ ++ "PIN_26", /* GPIOA_4 */ ++ "", "", "", "", "", "", ++ "PIN_42", /* GPIOA_11 */ ++ "PIN_32", /* GPIOA_12 */ ++ "PIN_7", /* GPIOA_13 */ ++ "PIN_27", /* GPIOA_14 */ ++ "PIN_28", /* GPIOA_15 */ ++ /* GPIOX */ ++ "PIN_16", /* GPIOX_0 */ ++ "PIN_18", /* GPIOX_1 */ ++ "PIN_22", /* GPIOX_2 */ ++ "PIN_11", /* GPIOX_3 */ ++ "PIN_13", /* GPIOX_4 */ ++ "PIN_33", /* GPIOX_5 */ ++ "PIN_35", /* GPIOX_6 */ ++ "PIN_15", /* GPIOX_7 */ ++ "PIN_19", /* GPIOX_8 */ ++ "PIN_21", /* GPIOX_9 */ ++ "PIN_24", /* GPIOX_10 */ ++ "PIN_23", /* GPIOX_11 */ ++ "PIN_8", /* GPIOX_12 */ ++ "PIN_10", /* GPIOX_13 */ ++ "PIN_29", /* GPIOX_14 */ ++ "PIN_31", /* GPIOX_15 */ ++ "PIN_12", /* GPIOX_16 */ ++ "PIN_3", /* GPIOX_17 */ ++ "PIN_5", /* GPIOX_18 */ ++ "PIN_36"; /* GPIOX_19 */ + /* + * WARNING: The USB Hub on the Odroid-N2 needs a reset signal + * to be turned high in order to be detected by the USB Controller +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-saradc-node-to-ODROID-N2-N2.patch b/projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-saradc-node-to-ODROID-N2-N2.patch new file mode 100644 index 0000000000..fd5a364e3c --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0063-arm64-dts-meson-add-saradc-node-to-ODROID-N2-N2.patch @@ -0,0 +1,30 @@ +From da6d4e2729b28e2197f4e9ed6fd7c05aac607945 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sun, 21 Feb 2021 06:03:20 +0000 +Subject: [PATCH 63/78] arm64: dts: meson: add saradc node to ODROID N2/N2+ + +Add the meson saradc node to the ODROID N2/N2+ common dtsi. + +Signed-off-by: Christian Hewitt +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 4 ++++ + 1 file changed, 4 insertions(+) + +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 ac396067911d..f71d012e5460 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -553,6 +553,10 @@ + status = "okay"; + }; + ++&saradc { ++ status = "okay"; ++}; ++ + /* SD card */ + &sd_emmc_b { + status = "okay"; +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0064-arm64-dts-meson-remove-extra-tab-from-ODROID-N2-N2-e.patch b/projects/Amlogic/patches/linux/amlogic-0064-arm64-dts-meson-remove-extra-tab-from-ODROID-N2-N2-e.patch new file mode 100644 index 0000000000..920ddb5402 --- /dev/null +++ b/projects/Amlogic/patches/linux/amlogic-0064-arm64-dts-meson-remove-extra-tab-from-ODROID-N2-N2-e.patch @@ -0,0 +1,30 @@ +From 8e7c25e8abe4a81b3e1428fcac2a98c18736c67c Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sun, 21 Feb 2021 06:05:25 +0000 +Subject: [PATCH 64/78] arm64: dts: meson: remove extra tab from ODROID N2/N2+ + ext_mdio node + +Remove an extra tab from the ext_mdio node in the ODROID N2/N2+ common +dtsi file. + +Signed-off-by: Christian Hewitt +--- + 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 f71d012e5460..eeceab18a497 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -410,7 +410,7 @@ + + &ext_mdio { + external_phy: ethernet-phy@0 { +- /* Realtek RTL8211F (0x001cc916) */ ++ /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; + max-speed = <1000>; + +-- +2.17.1 + diff --git a/projects/Amlogic/patches/linux/amlogic-0060-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch b/projects/Amlogic/patches/linux/amlogic-0065-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch similarity index 80% rename from projects/Amlogic/patches/linux/amlogic-0060-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch rename to projects/Amlogic/patches/linux/amlogic-0065-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch index a194480978..85e726a3af 100644 --- a/projects/Amlogic/patches/linux/amlogic-0060-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch +++ b/projects/Amlogic/patches/linux/amlogic-0065-dt-bindings-arm-amlogic-add-Bananapi-BPI-M5-bindings.patch @@ -1,7 +1,7 @@ -From fe4777109f2e53cb51ba148454dd50eca3bf59cb Mon Sep 17 00:00:00 2001 +From 4bfe6f94f37ddf4c7c95d1e376228b9d70cd782e Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 27 Dec 2020 15:27:44 +0000 -Subject: [PATCH 60/76] dt-bindings: arm: amlogic: add Bananapi BPI-M5 bindings +Subject: [PATCH 65/78] dt-bindings: arm: amlogic: add Bananapi BPI-M5 bindings Add the board bindings for the Sinovoip (Bananapi) BPI-M5 device. @@ -11,10 +11,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 5f6769bf45bd..41b22a406423 100644 +index d24334e1e166..4ab110d6b3f0 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -168,6 +168,7 @@ properties: +@@ -169,6 +169,7 @@ properties: - hardkernel,odroid-hc4 - khadas,vim3l - seirobotics,sei610 diff --git a/projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch b/projects/Amlogic/patches/linux/amlogic-0066-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch similarity index 93% rename from projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch rename to projects/Amlogic/patches/linux/amlogic-0066-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch index 4e46b37e7e..1234f60eea 100644 --- a/projects/Amlogic/patches/linux/amlogic-0061-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch +++ b/projects/Amlogic/patches/linux/amlogic-0066-arm64-dts-meson-add-initial-device-tree-for-Bananapi.patch @@ -1,7 +1,7 @@ -From 3110595efb17f414c95efdf81269f3e794c0e6b2 Mon Sep 17 00:00:00 2001 +From 6754ee8562db43e03db01ba95f180a4ce1b72c64 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 27 Dec 2020 15:11:59 +0000 -Subject: [PATCH 61/76] arm64: dts: meson: add initial device-tree for Bananapi +Subject: [PATCH 66/78] arm64: dts: meson: add initial device-tree for Bananapi BPI-M5 The Bananapi Wiki links to Amlogic BSP kernel sources which show [0] @@ -23,10 +23,10 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 78a569d7fa20..3cf6699b4f30 100644 +index aebd49c88719..da11ef28a47b 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -45,6 +45,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb +@@ -46,6 +46,7 @@ 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-vega-s96.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb diff --git a/projects/Amlogic/patches/linux/amlogic-0065-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch b/projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0065-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch rename to projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch index 849d57e997..aed24213d2 100644 --- a/projects/Amlogic/patches/linux/amlogic-0065-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch +++ b/projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-common-SM1-ac2xx-dtsi.patch @@ -1,7 +1,7 @@ -From c5708fd4ba0bf0e94b8cd12e114341069273f945 Mon Sep 17 00:00:00 2001 +From be1367da3d53c261e77d20ebaea58e95d8f5443c Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 24 Jun 2020 12:41:46 +0000 -Subject: [PATCH 65/76] arm64: dts: meson: add common SM1 ac2xx dtsi +Subject: [PATCH 67/78] arm64: dts: meson: add common SM1 ac2xx dtsi Add a common dtsi for Android STB devices based on the Amlogic S905X3 (AC213/AC214) and S905D3 (AC201/AC202) reference designs. The dtsi is diff --git a/projects/Amlogic/patches/linux/amlogic-0066-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch b/projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch similarity index 89% rename from projects/Amlogic/patches/linux/amlogic-0066-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch rename to projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch index 85f3784924..7b6b55f09e 100644 --- a/projects/Amlogic/patches/linux/amlogic-0066-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch +++ b/projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-X96-AIR-bindings.patch @@ -1,7 +1,7 @@ -From aa8ed7aba1ef3e13c240bf14e52aedca3bbe0a40 Mon Sep 17 00:00:00 2001 +From 12e312feabbe06e09dc7d83b2b9525269c86f37f Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 18 May 2020 23:23:40 +0000 -Subject: [PATCH 66/76] dt-bindings: arm: amlogic: add X96-AIR bindings +Subject: [PATCH 68/78] dt-bindings: arm: amlogic: add X96-AIR bindings Add board bindings for the Amediatech X96-AIR STB which ships with model variants distiguished by Ethernet configuration: models using diff --git a/projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch b/projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch rename to projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch index f6939f5604..bf30d08f01 100644 --- a/projects/Amlogic/patches/linux/amlogic-0067-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch +++ b/projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-X96-AIR.patch @@ -1,7 +1,7 @@ -From 579f1e7622e2dc32cddd755ed6352fc58c54bafc Mon Sep 17 00:00:00 2001 +From d57fdb6ecfbaf2453370d49b8a023028ee29c495 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 24 Jun 2020 15:04:10 +0000 -Subject: [PATCH 67/76] arm64: dts: meson: add initial device-trees for X96-AIR +Subject: [PATCH 69/78] arm64: dts: meson: add initial device-trees for X96-AIR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch b/projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch similarity index 89% rename from projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch rename to projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch index ee6ada6214..8c3ab41dad 100644 --- a/projects/Amlogic/patches/linux/amlogic-0068-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch +++ b/projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-arm-amlogic-add-A95XF3-AIR-bindings.patch @@ -1,7 +1,7 @@ -From 7dfa8ef0f2cfb1a64fecbd4cf01b14a2dc9bf32f Mon Sep 17 00:00:00 2001 +From 96c672da3e46efd9e23d907d80a99bcba1d83b8f Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 29 Jun 2020 15:54:45 +0000 -Subject: [PATCH 68/76] dt-bindings: arm: amlogic: add A95XF3-AIR bindings +Subject: [PATCH 70/78] dt-bindings: arm: amlogic: add A95XF3-AIR bindings Add board bindings for the CYX A95XF3-AIR set-top box which ships with model variants distiguished by Ethernet configuration: models diff --git a/projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch b/projects/Amlogic/patches/linux/amlogic-0071-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch rename to projects/Amlogic/patches/linux/amlogic-0071-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch index cf5c7d4462..9f060c3f41 100644 --- a/projects/Amlogic/patches/linux/amlogic-0069-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch +++ b/projects/Amlogic/patches/linux/amlogic-0071-arm64-dts-meson-add-initial-device-trees-for-A95XF3-.patch @@ -1,7 +1,7 @@ -From f4bd8af01daa8367c68cb3cbbea348a02c6808db Mon Sep 17 00:00:00 2001 +From 8a25bbde77c708cde68faa0fe10b50a44f32cd54 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 3 Jun 2020 18:03:22 +0000 -Subject: [PATCH 69/76] arm64: dts: meson: add initial device-trees for +Subject: [PATCH 71/78] arm64: dts: meson: add initial device-trees for A95XF3-AIR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch b/projects/Amlogic/patches/linux/amlogic-0072-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch similarity index 88% rename from projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch rename to projects/Amlogic/patches/linux/amlogic-0072-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch index 41dcbdfcc3..20ecddf9bb 100644 --- a/projects/Amlogic/patches/linux/amlogic-0070-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch +++ b/projects/Amlogic/patches/linux/amlogic-0072-dt-bindings-vendor-prefixes-add-haochuangyi-prefix.patch @@ -1,7 +1,7 @@ -From bdc03977531cf69b8fd289928c2f52430b5806b9 Mon Sep 17 00:00:00 2001 +From d42cc1b7e27de2e1ac98abe1ad0f1eea12c02a17 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 12 Jan 2021 17:24:07 +0000 -Subject: [PATCH 70/76] dt-bindings: vendor-prefixes: add haochuangyi prefix +Subject: [PATCH 72/78] dt-bindings: vendor-prefixes: add haochuangyi prefix Shenzhen Haochuangyi Technology Co.,Ltd are a manufcaturer of Android Set-Top Box devices. diff --git a/projects/Amlogic/patches/linux/amlogic-0071-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch b/projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch similarity index 87% rename from projects/Amlogic/patches/linux/amlogic-0071-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch rename to projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch index 264563b6eb..143dde56f2 100644 --- a/projects/Amlogic/patches/linux/amlogic-0071-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch +++ b/projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-H96-Max-bindings.patch @@ -1,7 +1,7 @@ -From 96757d1ff05a6080df35ccd0d11394cfccc1d07c Mon Sep 17 00:00:00 2001 +From 55f48f171a08b8378537139eefb4bc3c5952aea0 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 12 Jan 2021 17:25:33 +0000 -Subject: [PATCH 71/76] dt-bindings: arm: amlogic: add H96-Max bindings +Subject: [PATCH 73/78] dt-bindings: arm: amlogic: add H96-Max bindings Add the board binding for the Haochuangyi H96-Max STB device. diff --git a/projects/Amlogic/patches/linux/amlogic-0072-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch b/projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch similarity index 97% rename from projects/Amlogic/patches/linux/amlogic-0072-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch rename to projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch index 1e8b492d60..ab45eaf17d 100644 --- a/projects/Amlogic/patches/linux/amlogic-0072-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch +++ b/projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-initial-device-tree-for-H96-Max.patch @@ -1,7 +1,7 @@ -From 00f29dbdd39eeee6f7696b96fbd19ac616bb5aec Mon Sep 17 00:00:00 2001 +From b57ae2960233d81603dc62428f1e565691b274f4 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 12 Jan 2021 17:26:42 +0000 -Subject: [PATCH 72/76] arm64: dts: meson: add initial device-tree for H96-Max +Subject: [PATCH 74/78] arm64: dts: meson: add initial device-tree for H96-Max The Haochuangyi H96-Max is based on the Amlogic S905X3 reference design with the following specs: diff --git a/projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch b/projects/Amlogic/patches/linux/amlogic-0075-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch similarity index 87% rename from projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch rename to projects/Amlogic/patches/linux/amlogic-0075-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch index d564144ea4..ef7d4b72b1 100644 --- a/projects/Amlogic/patches/linux/amlogic-0073-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch +++ b/projects/Amlogic/patches/linux/amlogic-0075-dt-bindings-arm-amlogic-add-support-for-the-Tanix-TX.patch @@ -1,7 +1,7 @@ -From 57a9dd64706e5373eb8d4640c8592a6978aaab00 Mon Sep 17 00:00:00 2001 +From 51663ab279eade8c7828f9c3d45e26f4d5adbbfa Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 29 Feb 2020 15:13:02 +0000 -Subject: [PATCH 73/76] dt-bindings: arm: amlogic: add support for the Tanix +Subject: [PATCH 75/78] dt-bindings: arm: amlogic: add support for the Tanix TX5 Max The Oranth (Tanix) TX5 Max is based on the Amlogic U200 reference diff --git a/projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch b/projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch rename to projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch index 3c5053d389..c80b35a2b6 100644 --- a/projects/Amlogic/patches/linux/amlogic-0074-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch +++ b/projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-add-support-for-the-Tanix-TX5-Max.patch @@ -1,7 +1,7 @@ -From 0b95cf7438ed810360dfb2fd66b94acc2e1cb1af Mon Sep 17 00:00:00 2001 +From 32373d61748b44985d8fc3ae4f8248604b82ced1 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 20 Oct 2019 04:06:59 +0000 -Subject: [PATCH 74/76] arm64: dts: meson: add support for the Tanix TX5 Max +Subject: [PATCH 76/78] 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: diff --git a/projects/Amlogic/patches/linux/amlogic-0075-arm64-dts-meson-add-multiple-MeCool-device-trees.patch b/projects/Amlogic/patches/linux/amlogic-0077-arm64-dts-meson-add-multiple-MeCool-device-trees.patch similarity index 98% rename from projects/Amlogic/patches/linux/amlogic-0075-arm64-dts-meson-add-multiple-MeCool-device-trees.patch rename to projects/Amlogic/patches/linux/amlogic-0077-arm64-dts-meson-add-multiple-MeCool-device-trees.patch index 5544f31c6e..8e04b15ce6 100644 --- a/projects/Amlogic/patches/linux/amlogic-0075-arm64-dts-meson-add-multiple-MeCool-device-trees.patch +++ b/projects/Amlogic/patches/linux/amlogic-0077-arm64-dts-meson-add-multiple-MeCool-device-trees.patch @@ -1,7 +1,7 @@ -From b83ca69b0637b7abe386b88b1221118e48cdcd0a Mon Sep 17 00:00:00 2001 +From 8d9cf6d03007568c751d4fac9ca1f83a3e54b534 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 21 Oct 2019 03:58:06 +0000 -Subject: [PATCH 75/76] arm64: dts: meson: add multiple MeCool device trees +Subject: [PATCH 77/78] 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 diff --git a/projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch b/projects/Amlogic/patches/linux/amlogic-0078-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch similarity index 92% rename from projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch rename to projects/Amlogic/patches/linux/amlogic-0078-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch index c81fd86605..9d6b626b81 100644 --- a/projects/Amlogic/patches/linux/amlogic-0076-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch +++ b/projects/Amlogic/patches/linux/amlogic-0078-arm64-dts-meson-fixups-for-WeTek-common-dtsi.patch @@ -1,7 +1,7 @@ -From f2ef96d52be1a07552354084029747969f0a561b Mon Sep 17 00:00:00 2001 +From 74ace7b5c101ee4925c52ff60f10620095aea22c Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 29 Dec 2020 09:31:57 +0000 -Subject: [PATCH 76/76] arm64: dts: meson: fixups for WeTek common dtsi +Subject: [PATCH 78/78] arm64: dts: meson: fixups for WeTek common dtsi Minor changes that result from work on mainline u-boot support, closer study of vendor 3.14 device-tree, and access to vendor schematics: diff --git a/projects/Amlogic/patches/u-boot/u-boot-0001-HACK-configs-meson64-prevent-stdout-stderr-on-videoc.patch b/projects/Amlogic/patches/u-boot/u-boot-0001-HACK-configs-meson64-prevent-stdout-stderr-on-videoc.patch index b24680bb77..55c4237d87 100644 --- a/projects/Amlogic/patches/u-boot/u-boot-0001-HACK-configs-meson64-prevent-stdout-stderr-on-videoc.patch +++ b/projects/Amlogic/patches/u-boot/u-boot-0001-HACK-configs-meson64-prevent-stdout-stderr-on-videoc.patch @@ -1,7 +1,7 @@ -From 9f81b716f4f1f92c7d7e717736763c885ca592f3 Mon Sep 17 00:00:00 2001 +From 91f485c24fb55a7e0fcaa627fe71bb2ebd9033d5 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 13 Nov 2020 02:09:36 +0000 -Subject: [PATCH 01/21] HACK: configs: meson64: prevent stdout/stderr on +Subject: [PATCH 01/10] HACK: configs: meson64: prevent stdout/stderr on videoconsole Several devices have CONFIG_DM_VIDEO enabled which causes stdout/stderr diff --git a/projects/Amlogic/patches/u-boot/u-boot-0002-HACK-mmc-meson-gx-limit-to-24MHz.patch b/projects/Amlogic/patches/u-boot/u-boot-0002-HACK-mmc-meson-gx-limit-to-24MHz.patch deleted file mode 100644 index c5ad181382..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0002-HACK-mmc-meson-gx-limit-to-24MHz.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f9af8e2b20d319dc49f0732d0619dd622f2bf02d Mon Sep 17 00:00:00 2001 -From: chewitt -Date: Fri, 24 Apr 2020 15:15:04 +0000 -Subject: [PATCH 02/21] HACK: mmc: meson-gx: limit to 24MHz - ---- - drivers/mmc/meson_gx_mmc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c -index a5e9ac5637..4d90343271 100644 ---- a/drivers/mmc/meson_gx_mmc.c -+++ b/drivers/mmc/meson_gx_mmc.c -@@ -283,7 +283,7 @@ static int meson_mmc_probe(struct udevice *dev) - cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT | - MMC_MODE_HS_52MHz | MMC_MODE_HS; - cfg->f_min = DIV_ROUND_UP(SD_EMMC_CLKSRC_24M, CLK_MAX_DIV); -- cfg->f_max = 100000000; /* 100 MHz */ -+ cfg->f_max = SD_EMMC_CLKSRC_24M; - cfg->b_max = 511; /* max 512 - 1 blocks */ - cfg->name = dev->name; - --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-AXG-from-Linux-5.10-.patch b/projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-AXG-from-Linux-5.10-.patch deleted file mode 100644 index 93bae80b67..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-AXG-from-Linux-5.10-.patch +++ /dev/null @@ -1,2240 +0,0 @@ -From 8a360b7e18feff6e16fdec7af46fe45b43340a23 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Fri, 2 Oct 2020 09:47:37 +0200 -Subject: [PATCH 03/21] FROMGIT: ARM: dts: sync Amlogic GX & AXG from Linux - 5.10-rc1 - -Synced from Linux commit 3650b228f83a ("Linux 5.10-rc1") - -Signed-off-by: Neil Armstrong ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/meson-axg.dtsi | 6 +- - arch/arm/dts/meson-g12b-khadas-vim3.dtsi | 88 --- - arch/arm/dts/meson-g12b-odroid-n2-plus.dts | 31 + - arch/arm/dts/meson-g12b-odroid-n2.dts | 618 +---------------- - arch/arm/dts/meson-g12b-odroid-n2.dtsi | 625 ++++++++++++++++++ - arch/arm/dts/meson-gx-mali450.dtsi | 61 ++ - arch/arm/dts/meson-gx.dtsi | 18 +- - arch/arm/dts/meson-gxbb.dtsi | 63 +- - arch/arm/dts/meson-gxl-mali.dtsi | 46 +- - arch/arm/dts/meson-gxl-s805x-libretech-ac.dts | 2 +- - arch/arm/dts/meson-gxl-s805x.dtsi | 23 + - arch/arm/dts/meson-gxl.dtsi | 17 +- - arch/arm/dts/meson-gxm.dtsi | 45 +- - arch/arm/dts/meson-khadas-vim3.dtsi | 94 ++- - arch/arm/dts/meson-sm1-khadas-vim3l.dts | 86 --- - include/dt-bindings/power/meson-axg-power.h | 14 + - include/dt-bindings/power/meson-gxbb-power.h | 13 + - 18 files changed, 947 insertions(+), 904 deletions(-) - create mode 100644 arch/arm/dts/meson-g12b-odroid-n2-plus.dts - create mode 100644 arch/arm/dts/meson-g12b-odroid-n2.dtsi - create mode 100644 arch/arm/dts/meson-gx-mali450.dtsi - create mode 100644 arch/arm/dts/meson-gxl-s805x.dtsi - create mode 100644 include/dt-bindings/power/meson-axg-power.h - create mode 100644 include/dt-bindings/power/meson-gxbb-power.h - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index fd47e408f8..4044c3c87a 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -169,6 +169,7 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-g12a-u200.dtb \ - meson-g12a-sei510.dtb \ - meson-g12b-odroid-n2.dtb \ -+ meson-g12b-odroid-n2-plus.dtb \ - meson-g12b-a311d-khadas-vim3.dtb \ - meson-sm1-khadas-vim3l.dtb \ - meson-sm1-odroid-c4.dtb \ -diff --git a/arch/arm/dts/meson-axg.dtsi b/arch/arm/dts/meson-axg.dtsi -index 8e6281c685..b9efc84692 100644 ---- a/arch/arm/dts/meson-axg.dtsi -+++ b/arch/arm/dts/meson-axg.dtsi -@@ -181,8 +181,10 @@ - interrupt-names = "macirq"; - clocks = <&clkc CLKID_ETH>, - <&clkc CLKID_FCLK_DIV2>, -- <&clkc CLKID_MPLL2>; -- clock-names = "stmmaceth", "clkin0", "clkin1"; -+ <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_FCLK_DIV2>; -+ clock-names = "stmmaceth", "clkin0", "clkin1", -+ "timing-adjustment"; - rx-fifo-depth = <4096>; - tx-fifo-depth = <2048>; - status = "disabled"; -diff --git a/arch/arm/dts/meson-g12b-khadas-vim3.dtsi b/arch/arm/dts/meson-g12b-khadas-vim3.dtsi -index 224c890d32..f42cf4b8af 100644 ---- a/arch/arm/dts/meson-g12b-khadas-vim3.dtsi -+++ b/arch/arm/dts/meson-g12b-khadas-vim3.dtsi -@@ -5,8 +5,6 @@ - * Copyright (c) 2019 Christian Hewitt - */ - --#include -- - / { - model = "Khadas VIM3"; - -@@ -47,69 +45,6 @@ - regulator-boot-on; - regulator-always-on; - }; -- -- sound { -- compatible = "amlogic,axg-sound-card"; -- model = "G12B-KHADAS-VIM3"; -- audio-aux-devs = <&tdmout_a>; -- audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", -- "TDMOUT_A IN 1", "FRDDR_B OUT 0", -- "TDMOUT_A IN 2", "FRDDR_C OUT 0", -- "TDM_A Playback", "TDMOUT_A OUT"; -- -- 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_a>; -- dai-format = "i2s"; -- dai-tdm-slot-tx-mask-0 = <1 1>; -- dai-tdm-slot-tx-mask-1 = <1 1>; -- dai-tdm-slot-tx-mask-2 = <1 1>; -- dai-tdm-slot-tx-mask-3 = <1 1>; -- mclk-fs = <256>; -- -- codec { -- sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; -- }; -- }; -- -- /* hdmi glue */ -- dai-link-4 { -- sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -- -- codec { -- sound-dai = <&hdmi_tx>; -- }; -- }; -- }; --}; -- --&arb { -- status = "okay"; --}; -- --&clkc_audio { -- status = "okay"; - }; - - &cpu0 { -@@ -154,18 +89,6 @@ - clock-latency = <50000>; - }; - --&frddr_a { -- status = "okay"; --}; -- --&frddr_b { -- status = "okay"; --}; -- --&frddr_c { -- status = "okay"; --}; -- - &pwm_ab { - pinctrl-0 = <&pwm_a_e_pins>; - pinctrl-names = "default"; -@@ -182,14 +105,3 @@ - status = "okay"; - }; - --&tdmif_a { -- status = "okay"; --}; -- --&tdmout_a { -- status = "okay"; --}; -- --&tohdmitx { -- status = "okay"; --}; -diff --git a/arch/arm/dts/meson-g12b-odroid-n2-plus.dts b/arch/arm/dts/meson-g12b-odroid-n2-plus.dts -new file mode 100644 -index 0000000000..5de2815ba9 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-odroid-n2-plus.dts -@@ -0,0 +1,31 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+/* The Amlogic S922X Rev. C supports the same OPPs as the A311D variant */ -+#include "meson-g12b-a311d.dtsi" -+#include "meson-g12b-odroid-n2.dtsi" -+ -+/ { -+ compatible = "hardkernel,odroid-n2-plus", "amlogic,s922x", "amlogic,g12b"; -+ model = "Hardkernel ODROID-N2Plus"; -+}; -+ -+&vddcpu_a { -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ pwms = <&pwm_AO_cd 1 1500 0>; -+}; -+ -+&vddcpu_b { -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ pwms = <&pwm_AO_cd 1 1500 0>; -+}; -+ -diff --git a/arch/arm/dts/meson-g12b-odroid-n2.dts b/arch/arm/dts/meson-g12b-odroid-n2.dts -index 34fffa6d85..a198a91259 100644 ---- a/arch/arm/dts/meson-g12b-odroid-n2.dts -+++ b/arch/arm/dts/meson-g12b-odroid-n2.dts -@@ -7,625 +7,9 @@ - /dts-v1/; - - #include "meson-g12b-s922x.dtsi" --#include --#include --#include --#include -+#include "meson-g12b-odroid-n2.dtsi" - - / { - compatible = "hardkernel,odroid-n2", "amlogic,s922x", "amlogic,g12b"; - model = "Hardkernel ODROID-N2"; -- -- aliases { -- serial0 = &uart_AO; -- ethernet0 = ðmac; -- }; -- -- dioo2133: audio-amplifier-0 { -- compatible = "simple-audio-amplifier"; -- enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; -- VCC-supply = <&vcc_5v>; -- sound-name-prefix = "U19"; -- status = "okay"; -- }; -- -- chosen { -- stdout-path = "serial0:115200n8"; -- }; -- -- memory@0 { -- device_type = "memory"; -- reg = <0x0 0x0 0x0 0x40000000>; -- }; -- -- emmc_pwrseq: emmc-pwrseq { -- compatible = "mmc-pwrseq-emmc"; -- reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -- }; -- -- leds { -- compatible = "gpio-leds"; -- -- blue { -- label = "n2:blue"; -- gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>; -- linux,default-trigger = "heartbeat"; -- }; -- }; -- -- tflash_vdd: regulator-tflash_vdd { -- compatible = "regulator-fixed"; -- -- regulator-name = "TFLASH_VDD"; -- regulator-min-microvolt = <3300000>; -- regulator-max-microvolt = <3300000>; -- -- gpio = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; -- enable-active-high; -- regulator-always-on; -- }; -- -- tf_io: gpio-regulator-tf_io { -- compatible = "regulator-gpio"; -- -- regulator-name = "TF_IO"; -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- -- gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; -- gpios-states = <0>; -- -- states = <3300000 0>, -- <1800000 1>; -- }; -- -- 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; -- }; -- -- main_12v: regulator-main_12v { -- compatible = "regulator-fixed"; -- regulator-name = "12V"; -- regulator-min-microvolt = <12000000>; -- regulator-max-microvolt = <12000000>; -- regulator-always-on; -- }; -- -- vcc_5v: regulator-vcc_5v { -- compatible = "regulator-fixed"; -- regulator-name = "5V"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- regulator-always-on; -- vin-supply = <&main_12v>; -- }; -- -- 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 */ -- }; -- -- vddcpu_a: regulator-vddcpu-a { -- /* -- * MP8756GD Regulator. -- */ -- compatible = "pwm-regulator"; -- -- regulator-name = "VDDCPU_A"; -- regulator-min-microvolt = <721000>; -- regulator-max-microvolt = <1022000>; -- -- vin-supply = <&main_12v>; -- -- 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 = <721000>; -- regulator-max-microvolt = <1022000>; -- -- vin-supply = <&main_12v>; -- -- pwms = <&pwm_AO_cd 1 1250 0>; -- pwm-dutycycle-range = <100 0>; -- -- regulator-boot-on; -- regulator-always-on; -- }; -- -- hub_5v: regulator-hub_5v { -- compatible = "regulator-fixed"; -- regulator-name = "HUB_5V"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- vin-supply = <&vcc_5v>; -- -- /* Connected to the Hub CHIPENABLE, LOW sets low power state */ -- gpio = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -- enable-active-high; -- }; -- -- usb_pwr_en: regulator-usb_pwr_en { -- compatible = "regulator-fixed"; -- regulator-name = "USB_PWR_EN"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- vin-supply = <&vcc_5v>; -- -- /* Connected to the microUSB port power enable */ -- gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; -- enable-active-high; -- }; -- -- 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 = <&main_12v>; -- regulator-always-on; -- }; -- -- hdmi-connector { -- compatible = "hdmi-connector"; -- type = "a"; -- -- port { -- hdmi_connector_in: endpoint { -- remote-endpoint = <&hdmi_tx_tmds_out>; -- }; -- }; -- }; -- -- sound { -- compatible = "amlogic,axg-sound-card"; -- model = "G12B-ODROID-N2"; -- audio-widgets = "Line", "Lineout"; -- audio-aux-devs = <&tdmout_b>, <&tdmout_c>, <&tdmin_a>, -- <&tdmin_b>, <&tdmin_c>, <&tdmin_lb>, -- <&dioo2133>; -- 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_LB IN 1", "TDM_B Loopback", -- "TDMIN_A IN 5", "TDM_C Loopback", -- "TDMIN_B IN 5", "TDM_C Loopback", -- "TDMIN_C IN 5", "TDM_C 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 6", "TDMIN_LB OUT", -- "TODDR_B IN 6", "TDMIN_LB OUT", -- "TODDR_C IN 6", "TDMIN_LB OUT", -- "U19 INL", "ACODEC LOLP", -- "U19 INR", "ACODEC LORP", -- "Lineout", "U19 OUTL", -- "Lineout", "U19 OUTR"; -- -- 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>; -- }; -- -- 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>; -- 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-0 { -- sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -- }; -- -- codec-1 { -- sound-dai = <&toacodec TOACODEC_IN_B>; -- }; -- }; -- -- /* i2s jack output interface */ -- dai-link-7 { -- 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-8 { -- sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -- -- codec { -- sound-dai = <&hdmi_tx>; -- }; -- }; -- -- /* acodec glue */ -- dai-link-9 { -- sound-dai = <&toacodec TOACODEC_OUT>; -- -- codec { -- sound-dai = <&acodec>; -- }; -- }; -- }; --}; -- --&acodec { -- AVDD-supply = <&vddao_1v8>; -- status = "okay"; --}; -- --&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>; --}; -- --&ext_mdio { -- external_phy: ethernet-phy@0 { -- /* Realtek RTL8211F (0x001cc916) */ -- reg = <0>; -- max-speed = <1000>; -- -- reset-assert-us = <10000>; -- reset-deassert-us = <30000>; -- 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>; --}; -- --&frddr_a { -- status = "okay"; --}; -- --&frddr_b { -- status = "okay"; --}; -- --&frddr_c { -- status = "okay"; --}; -- --&gpio { -- /* -- * WARNING: The USB Hub on the Odroid-N2 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"; -- }; --}; -- --&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-odroid"; --}; -- --&pwm_ab { -- pinctrl-0 = <&pwm_a_e_pins>; -- pinctrl-names = "default"; -- clocks = <&xtal>; -- clock-names = "clkin0"; -- status = "okay"; --}; -- --&pwm_AO_cd { -- pinctrl-0 = <&pwm_ao_d_e_pins>; -- pinctrl-names = "default"; -- clocks = <&xtal>; -- clock-names = "clkin1"; -- status = "okay"; --}; -- --/* 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 = <&tflash_vdd>; -- vqmmc-supply = <&tf_io>; -- --}; -- --/* 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 = <&flash_1v8>; --}; -- --/* -- * EMMC_D4, EMMC_D5, EMMC_D6 and EMMC_D7 pins are shared between SPI NOR pins -- * and eMMC Data 4 to 7 pins. -- * Replace emmc_data_8b_pins to emmc_data_4b_pins from sd_emmc_c pinctrl-0, -- * and change bus-width to 4 then spifc can be enabled. -- * The SW1 slide should also be set to the correct position. -- */ --&spifc { -- status = "disabled"; -- pinctrl-0 = <&nor_pins>; -- pinctrl-names = "default"; -- -- mx25u64: spi-flash@0 { -- #address-cells = <1>; -- #size-cells = <1>; -- compatible = "mxicy,mx25u6435f", "jedec,spi-nor"; -- reg = <0>; -- spi-max-frequency = <104000000>; -- }; --}; -- --&tdmif_b { -- status = "okay"; --}; -- --&tdmif_c { -- status = "okay"; --}; -- --&tdmin_a { -- status = "okay"; --}; -- --&tdmin_b { -- status = "okay"; --}; -- --&tdmin_c { -- status = "okay"; --}; -- --&tdmin_lb { -- status = "okay"; --}; -- --&tdmout_b { -- status = "okay"; --}; -- --&tdmout_c { -- status = "okay"; --}; -- --&toacodec { -- status = "okay"; --}; -- --&tohdmitx { -- status = "okay"; --}; -- --&toddr_a { -- status = "okay"; --}; -- --&toddr_b { -- status = "okay"; --}; -- --&toddr_c { -- status = "okay"; --}; -- --&uart_AO { -- status = "okay"; -- pinctrl-0 = <&uart_ao_a_pins>; -- pinctrl-names = "default"; --}; -- --&usb { -- status = "okay"; -- vbus-supply = <&usb_pwr_en>; --}; -- --&usb2_phy0 { -- phy-supply = <&vcc_5v>; --}; -- --&usb2_phy1 { -- /* Enable the hub which is connected to this port */ -- phy-supply = <&hub_5v>; - }; -diff --git a/arch/arm/dts/meson-g12b-odroid-n2.dtsi b/arch/arm/dts/meson-g12b-odroid-n2.dtsi -new file mode 100644 -index 0000000000..6982632ae6 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-odroid-n2.dtsi -@@ -0,0 +1,625 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+#include -+#include -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ dioo2133: audio-amplifier-0 { -+ compatible = "simple-audio-amplifier"; -+ enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; -+ VCC-supply = <&vcc_5v>; -+ sound-name-prefix = "U19"; -+ status = "okay"; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ blue { -+ label = "n2:blue"; -+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+ tflash_vdd: regulator-tflash_vdd { -+ compatible = "regulator-fixed"; -+ -+ regulator-name = "TFLASH_VDD"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ gpio = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ regulator-always-on; -+ }; -+ -+ tf_io: gpio-regulator-tf_io { -+ compatible = "regulator-gpio"; -+ -+ regulator-name = "TF_IO"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ -+ gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; -+ gpios-states = <0>; -+ -+ states = <3300000 0>, -+ <1800000 1>; -+ }; -+ -+ 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; -+ }; -+ -+ main_12v: regulator-main_12v { -+ compatible = "regulator-fixed"; -+ regulator-name = "12V"; -+ regulator-min-microvolt = <12000000>; -+ regulator-max-microvolt = <12000000>; -+ regulator-always-on; -+ }; -+ -+ vcc_5v: regulator-vcc_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ vin-supply = <&main_12v>; -+ }; -+ -+ 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 */ -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ /* -+ * MP8756GD Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <721000>; -+ regulator-max-microvolt = <1022000>; -+ -+ vin-supply = <&main_12v>; -+ -+ 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 = <721000>; -+ regulator-max-microvolt = <1022000>; -+ -+ vin-supply = <&main_12v>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ hub_5v: regulator-hub_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "HUB_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc_5v>; -+ -+ /* Connected to the Hub CHIPENABLE, LOW sets low power state */ -+ gpio = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ usb_pwr_en: regulator-usb_pwr_en { -+ compatible = "regulator-fixed"; -+ regulator-name = "USB_PWR_EN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc_5v>; -+ -+ /* Connected to the microUSB port power enable */ -+ gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ 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 = <&main_12v>; -+ regulator-always-on; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "G12B-ODROID-N2"; -+ audio-widgets = "Line", "Lineout"; -+ audio-aux-devs = <&tdmout_b>, <&tdmout_c>, <&tdmin_a>, -+ <&tdmin_b>, <&tdmin_c>, <&tdmin_lb>, -+ <&dioo2133>; -+ 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_LB IN 1", "TDM_B Loopback", -+ "TDMIN_A IN 5", "TDM_C Loopback", -+ "TDMIN_B IN 5", "TDM_C Loopback", -+ "TDMIN_C IN 5", "TDM_C 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 6", "TDMIN_LB OUT", -+ "TODDR_B IN 6", "TDMIN_LB OUT", -+ "TODDR_C IN 6", "TDMIN_LB OUT", -+ "U19 INL", "ACODEC LOLP", -+ "U19 INR", "ACODEC LORP", -+ "Lineout", "U19 OUTL", -+ "Lineout", "U19 OUTR"; -+ -+ 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>; -+ }; -+ -+ 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>; -+ 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-0 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ -+ codec-1 { -+ sound-dai = <&toacodec TOACODEC_IN_B>; -+ }; -+ }; -+ -+ /* i2s jack output interface */ -+ dai-link-7 { -+ 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-8 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ -+ /* acodec glue */ -+ dai-link-9 { -+ sound-dai = <&toacodec TOACODEC_OUT>; -+ -+ codec { -+ sound-dai = <&acodec>; -+ }; -+ }; -+ }; -+}; -+ -+&acodec { -+ AVDD-supply = <&vddao_1v8>; -+ status = "okay"; -+}; -+ -+&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>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <30000>; -+ 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>; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&gpio { -+ /* -+ * WARNING: The USB Hub on the Odroid-N2 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"; -+ }; -+}; -+ -+&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-odroid"; -+}; -+ -+&pwm_ab { -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+/* 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 = <&tflash_vdd>; -+ vqmmc-supply = <&tf_io>; -+ -+}; -+ -+/* 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 = <&flash_1v8>; -+}; -+ -+/* -+ * EMMC_D4, EMMC_D5, EMMC_D6 and EMMC_D7 pins are shared between SPI NOR pins -+ * and eMMC Data 4 to 7 pins. -+ * Replace emmc_data_8b_pins to emmc_data_4b_pins from sd_emmc_c pinctrl-0, -+ * and change bus-width to 4 then spifc can be enabled. -+ * The SW1 slide should also be set to the correct position. -+ */ -+&spifc { -+ status = "disabled"; -+ pinctrl-0 = <&nor_pins>; -+ pinctrl-names = "default"; -+ -+ mx25u64: spi-flash@0 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ compatible = "mxicy,mx25u6435f", "jedec,spi-nor"; -+ reg = <0>; -+ spi-max-frequency = <104000000>; -+ }; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmif_c { -+ status = "okay"; -+}; -+ -+&tdmin_a { -+ status = "okay"; -+}; -+ -+&tdmin_b { -+ status = "okay"; -+}; -+ -+&tdmin_c { -+ status = "okay"; -+}; -+ -+&tdmin_lb { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tdmout_c { -+ status = "okay"; -+}; -+ -+&toacodec { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&toddr_a { -+ status = "okay"; -+}; -+ -+&toddr_b { -+ status = "okay"; -+}; -+ -+&toddr_c { -+ status = "okay"; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+ vbus-supply = <&usb_pwr_en>; -+}; -+ -+&usb2_phy0 { -+ phy-supply = <&vcc_5v>; -+}; -+ -+&usb2_phy1 { -+ /* Enable the hub which is connected to this port */ -+ phy-supply = <&hub_5v>; -+}; -diff --git a/arch/arm/dts/meson-gx-mali450.dtsi b/arch/arm/dts/meson-gx-mali450.dtsi -new file mode 100644 -index 0000000000..f9771b51c8 ---- /dev/null -+++ b/arch/arm/dts/meson-gx-mali450.dtsi -@@ -0,0 +1,61 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2017 BayLibre SAS -+ * Author: Neil Armstrong -+ */ -+ -+/ { -+ gpu_opp_table: opp-table { -+ compatible = "operating-points-v2"; -+ -+ opp-125000000 { -+ opp-hz = /bits/ 64 <125000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-250000000 { -+ opp-hz = /bits/ 64 <250000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-285714285 { -+ opp-hz = /bits/ 64 <285714285>; -+ opp-microvolt = <950000>; -+ }; -+ opp-400000000 { -+ opp-hz = /bits/ 64 <400000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-500000000 { -+ opp-hz = /bits/ 64 <500000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-666666666 { -+ opp-hz = /bits/ 64 <666666666>; -+ opp-microvolt = <950000>; -+ }; -+ opp-744000000 { -+ opp-hz = /bits/ 64 <744000000>; -+ opp-microvolt = <950000>; -+ }; -+ }; -+}; -+ -+&apb { -+ mali: gpu@c0000 { -+ compatible = "arm,mali-450"; -+ reg = <0x0 0xc0000 0x0 0x40000>; -+ interrupts = , -+ , -+ , -+ , -+ , -+ , -+ , -+ , -+ , -+ ; -+ interrupt-names = "gp", "gpmmu", "pp", "pmu", -+ "pp0", "ppmmu0", "pp1", "ppmmu1", -+ "pp2", "ppmmu2"; -+ operating-points-v2 = <&gpu_opp_table>; -+ }; -+}; -diff --git a/arch/arm/dts/meson-gx.dtsi b/arch/arm/dts/meson-gx.dtsi -index ba63c36b22..0edd137151 100644 ---- a/arch/arm/dts/meson-gx.dtsi -+++ b/arch/arm/dts/meson-gx.dtsi -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include - #include - - / { -@@ -60,7 +61,7 @@ - compatible = "amlogic,simple-framebuffer", - "simple-framebuffer"; - amlogic,pipeline = "vpu-cvbs"; -- power-domains = <&pwrc_vpu>; -+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>; - status = "disabled"; - }; - -@@ -68,7 +69,7 @@ - compatible = "amlogic,simple-framebuffer", - "simple-framebuffer"; - amlogic,pipeline = "vpu-hdmi"; -- power-domains = <&pwrc_vpu>; -+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>; - status = "disabled"; - }; - }; -@@ -438,12 +439,6 @@ - compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon"; - reg = <0x0 0x0 0x0 0x100>; - -- pwrc_vpu: power-controller-vpu { -- compatible = "amlogic,meson-gx-pwrc-vpu"; -- #power-domain-cells = <0>; -- amlogic,hhi-sysctrl = <&sysctrl>; -- }; -- - clkc_AO: clock-controller { - compatible = "amlogic,meson-gx-aoclkc"; - #clock-cells = <1>; -@@ -552,6 +547,12 @@ - sysctrl: system-controller@0 { - compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"; - reg = <0 0 0 0x400>; -+ -+ pwrc: power-controller { -+ compatible = "amlogic,meson-gxbb-pwrc"; -+ #power-domain-cells = <1>; -+ amlogic,ao-sysctrl = <&sysctrl_AO>; -+ }; - }; - - mailbox: mailbox@404 { -@@ -574,6 +575,7 @@ - interrupt-names = "macirq"; - rx-fifo-depth = <4096>; - tx-fifo-depth = <2048>; -+ power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>; - status = "disabled"; - }; - -diff --git a/arch/arm/dts/meson-gxbb.dtsi b/arch/arm/dts/meson-gxbb.dtsi -index 234490d3ee..7c029f552a 100644 ---- a/arch/arm/dts/meson-gxbb.dtsi -+++ b/arch/arm/dts/meson-gxbb.dtsi -@@ -4,6 +4,7 @@ - */ - - #include "meson-gx.dtsi" -+#include "meson-gx-mali450.dtsi" - #include - #include - #include -@@ -264,46 +265,6 @@ - }; - }; - --&apb { -- mali: gpu@c0000 { -- compatible = "amlogic,meson-gxbb-mali", "arm,mali-450"; -- reg = <0x0 0xc0000 0x0 0x40000>; -- interrupts = , -- , -- , -- , -- , -- , -- , -- , -- , -- ; -- interrupt-names = "gp", "gpmmu", "pp", "pmu", -- "pp0", "ppmmu0", "pp1", "ppmmu1", -- "pp2", "ppmmu2"; -- clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; -- clock-names = "bus", "core"; -- -- /* -- * Mali clocking is provided by two identical clock paths -- * MALI_0 and MALI_1 muxed to a single clock by a glitch -- * free mux to safely change frequency while running. -- */ -- assigned-clocks = <&clkc CLKID_GP0_PLL>, -- <&clkc CLKID_MALI_0_SEL>, -- <&clkc CLKID_MALI_0>, -- <&clkc CLKID_MALI>; /* Glitch free mux */ -- assigned-clock-parents = <0>, /* Do Nothing */ -- <&clkc CLKID_GP0_PLL>, -- <0>, /* Do Nothing */ -- <&clkc CLKID_MALI_0>; -- assigned-clock-rates = <744000000>, -- <0>, /* Do Nothing */ -- <744000000>, -- <0>; /* Do Nothing */ -- }; --}; -- - &cbus { - spifc: spi@8c80 { - compatible = "amlogic,meson-gxbb-spifc"; -@@ -333,8 +294,9 @@ - ðmac { - clocks = <&clkc CLKID_ETH>, - <&clkc CLKID_FCLK_DIV2>, -- <&clkc CLKID_MPLL2>; -- clock-names = "stmmaceth", "clkin0", "clkin1"; -+ <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_FCLK_DIV2>; -+ clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; - }; - - &gpio_intc { -@@ -385,6 +347,16 @@ - clocks = <&clkc CLKID_I2C>; - }; - -+&mali { -+ compatible = "amlogic,meson-gxbb-mali", "arm,mali-450"; -+ -+ clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; -+ clock-names = "bus", "core"; -+ -+ assigned-clocks = <&clkc CLKID_GP0_PLL>; -+ assigned-clock-rates = <744000000>; -+}; -+ - &periphs { - pinctrl_periphs: pinctrl@4b0 { - compatible = "amlogic,meson-gxbb-periphs-pinctrl"; -@@ -747,7 +719,7 @@ - }; - }; - --&pwrc_vpu { -+&pwrc { - resets = <&reset RESET_VIU>, - <&reset RESET_VENC>, - <&reset RESET_VCBUS>, -@@ -760,6 +732,9 @@ - <&reset RESET_VDI6>, - <&reset RESET_VENCL>, - <&reset RESET_VID_LOCK>; -+ reset-names = "viu", "venc", "vcbus", "bt656", -+ "dvin", "rdma", "venci", "vencp", -+ "vdac", "vdi6", "vencl", "vid_lock"; - clocks = <&clkc CLKID_VPU>, - <&clkc CLKID_VAPB>; - clock-names = "vpu", "vapb"; -@@ -866,7 +841,7 @@ - - &vpu { - compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu"; -- power-domains = <&pwrc_vpu>; -+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>; - }; - - &vdec { -diff --git a/arch/arm/dts/meson-gxl-mali.dtsi b/arch/arm/dts/meson-gxl-mali.dtsi -index 6aaafff674..478e755cc8 100644 ---- a/arch/arm/dts/meson-gxl-mali.dtsi -+++ b/arch/arm/dts/meson-gxl-mali.dtsi -@@ -4,42 +4,14 @@ - * Author: Neil Armstrong - */ - --&apb { -- mali: gpu@c0000 { -- compatible = "amlogic,meson-gxl-mali", "arm,mali-450"; -- reg = <0x0 0xc0000 0x0 0x40000>; -- interrupts = , -- , -- , -- , -- , -- , -- , -- , -- , -- ; -- interrupt-names = "gp", "gpmmu", "pp", "pmu", -- "pp0", "ppmmu0", "pp1", "ppmmu1", -- "pp2", "ppmmu2"; -- clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; -- clock-names = "bus", "core"; -+#include "meson-gx-mali450.dtsi" - -- /* -- * Mali clocking is provided by two identical clock paths -- * MALI_0 and MALI_1 muxed to a single clock by a glitch -- * free mux to safely change frequency while running. -- */ -- assigned-clocks = <&clkc CLKID_GP0_PLL>, -- <&clkc CLKID_MALI_0_SEL>, -- <&clkc CLKID_MALI_0>, -- <&clkc CLKID_MALI>; /* Glitch free mux */ -- assigned-clock-parents = <0>, /* Do Nothing */ -- <&clkc CLKID_GP0_PLL>, -- <0>, /* Do Nothing */ -- <&clkc CLKID_MALI_0>; -- assigned-clock-rates = <744000000>, -- <0>, /* Do Nothing */ -- <744000000>, -- <0>; /* Do Nothing */ -- }; -+&mali { -+ compatible = "amlogic,meson-gxl-mali", "arm,mali-450"; -+ -+ clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; -+ clock-names = "bus", "core"; -+ -+ assigned-clocks = <&clkc CLKID_GP0_PLL>; -+ assigned-clock-rates = <744000000>; - }; -diff --git a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts -index 6a226faab1..9e43f4dca9 100644 ---- a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts -+++ b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts -@@ -10,7 +10,7 @@ - #include - #include - --#include "meson-gxl-s905x.dtsi" -+#include "meson-gxl-s805x.dtsi" - - / { - compatible = "libretech,aml-s805x-ac", "amlogic,s805x", -diff --git a/arch/arm/dts/meson-gxl-s805x.dtsi b/arch/arm/dts/meson-gxl-s805x.dtsi -new file mode 100644 -index 0000000000..2997584982 ---- /dev/null -+++ b/arch/arm/dts/meson-gxl-s805x.dtsi -@@ -0,0 +1,23 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2020 BayLibre SAS -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gxl-s905x.dtsi" -+ -+/ { -+ compatible = "amlogic,s805x", "amlogic,meson-gxl"; -+}; -+ -+/* The S805X Package doesn't seem to handle the 744MHz OPP correctly */ -+&gpu_opp_table { -+ opp-744000000 { -+ status = "disabled"; -+ }; -+}; -+ -+&mali { -+ /delete-property/ assigned-clocks; -+ /delete-property/ assigned-clock-rates; -+}; -diff --git a/arch/arm/dts/meson-gxl.dtsi b/arch/arm/dts/meson-gxl.dtsi -index fc59c8534c..c3ac531c4f 100644 ---- a/arch/arm/dts/meson-gxl.dtsi -+++ b/arch/arm/dts/meson-gxl.dtsi -@@ -131,8 +131,9 @@ - ðmac { - clocks = <&clkc CLKID_ETH>, - <&clkc CLKID_FCLK_DIV2>, -- <&clkc CLKID_MPLL2>; -- clock-names = "stmmaceth", "clkin0", "clkin1"; -+ <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_FCLK_DIV2>; -+ clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; - - mdio0: mdio { - #address-cells = <1>; -@@ -337,6 +338,11 @@ - }; - }; - -+&hwrng { -+ clocks = <&clkc CLKID_RNG0>; -+ clock-names = "core"; -+}; -+ - &i2c_A { - clocks = <&clkc CLKID_I2C>; - }; -@@ -782,7 +788,7 @@ - }; - }; - --&pwrc_vpu { -+&pwrc { - resets = <&reset RESET_VIU>, - <&reset RESET_VENC>, - <&reset RESET_VCBUS>, -@@ -795,6 +801,9 @@ - <&reset RESET_VDI6>, - <&reset RESET_VENCL>, - <&reset RESET_VID_LOCK>; -+ reset-names = "viu", "venc", "vcbus", "bt656", -+ "dvin", "rdma", "venci", "vencp", -+ "vdac", "vdi6", "vencl", "vid_lock"; - clocks = <&clkc CLKID_VPU>, - <&clkc CLKID_VAPB>; - clock-names = "vpu", "vapb"; -@@ -901,7 +910,7 @@ - - &vpu { - compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; -- power-domains = <&pwrc_vpu>; -+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>; - }; - - &vdec { -diff --git a/arch/arm/dts/meson-gxm.dtsi b/arch/arm/dts/meson-gxm.dtsi -index 40e3e123e0..fe41451122 100644 ---- a/arch/arm/dts/meson-gxm.dtsi -+++ b/arch/arm/dts/meson-gxm.dtsi -@@ -82,6 +82,35 @@ - #cooling-cells = <2>; - }; - }; -+ -+ gpu_opp_table: opp-table { -+ compatible = "operating-points-v2"; -+ -+ opp-125000000 { -+ opp-hz = /bits/ 64 <125000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-250000000 { -+ opp-hz = /bits/ 64 <250000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-285714285 { -+ opp-hz = /bits/ 64 <285714285>; -+ opp-microvolt = <950000>; -+ }; -+ opp-400000000 { -+ opp-hz = /bits/ 64 <400000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-500000000 { -+ opp-hz = /bits/ 64 <500000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp-666666666 { -+ opp-hz = /bits/ 64 <666666666>; -+ opp-microvolt = <950000>; -+ }; -+ }; - }; - - &apb { -@@ -106,21 +135,7 @@ - interrupt-names = "job", "mmu", "gpu"; - clocks = <&clkc CLKID_MALI>; - resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>; -- -- /* -- * Mali clocking is provided by two identical clock paths -- * MALI_0 and MALI_1 muxed to a single clock by a glitch -- * free mux to safely change frequency while running. -- */ -- assigned-clocks = <&clkc CLKID_MALI_0_SEL>, -- <&clkc CLKID_MALI_0>, -- <&clkc CLKID_MALI>; /* Glitch free mux */ -- assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, -- <0>, /* Do Nothing */ -- <&clkc CLKID_MALI_0>; -- assigned-clock-rates = <0>, /* Do Nothing */ -- <666666666>, -- <0>; /* Do Nothing */ -+ operating-points-v2 = <&gpu_opp_table>; - }; - }; - -diff --git a/arch/arm/dts/meson-khadas-vim3.dtsi b/arch/arm/dts/meson-khadas-vim3.dtsi -index 94f75b4465..7b46555ac5 100644 ---- a/arch/arm/dts/meson-khadas-vim3.dtsi -+++ b/arch/arm/dts/meson-khadas-vim3.dtsi -@@ -7,6 +7,7 @@ - - #include - #include -+#include - - / { - aliases { -@@ -41,13 +42,13 @@ - - led-white { - label = "vim3:white:sys"; -- gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; -+ gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - }; - - led-red { - label = "vim3:red"; -- gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>; -+ gpios = <&gpio_expander 5 GPIO_ACTIVE_HIGH>; - }; - }; - -@@ -161,6 +162,62 @@ - }; - }; - -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "G12B-KHADAS-VIM3"; -+ audio-aux-devs = <&tdmout_a>; -+ audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", -+ "TDMOUT_A IN 1", "FRDDR_B OUT 0", -+ "TDMOUT_A IN 2", "FRDDR_C OUT 0", -+ "TDM_A Playback", "TDMOUT_A OUT"; -+ -+ 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_a>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+ - wifi32k: wifi32k { - compatible = "pwm-clock"; - #clock-cells = <0>; -@@ -169,6 +226,14 @@ - }; - }; - -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ - &cec_AO { - pinctrl-0 = <&cec_ao_a_h_pins>; - pinctrl-names = "default"; -@@ -221,6 +286,18 @@ - amlogic,tx-delay-ns = <2>; - }; - -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ - &hdmi_tx { - status = "okay"; - pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -@@ -368,6 +445,19 @@ - }; - }; - -+ -+&tdmif_a { -+ status = "okay"; -+}; -+ -+&tdmout_a { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ - &uart_A { - status = "okay"; - pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -diff --git a/arch/arm/dts/meson-sm1-khadas-vim3l.dts b/arch/arm/dts/meson-sm1-khadas-vim3l.dts -index 0da56c051a..4b517ca720 100644 ---- a/arch/arm/dts/meson-sm1-khadas-vim3l.dts -+++ b/arch/arm/dts/meson-sm1-khadas-vim3l.dts -@@ -32,69 +32,6 @@ - regulator-boot-on; - regulator-always-on; - }; -- -- sound { -- compatible = "amlogic,axg-sound-card"; -- model = "SM1-KHADAS-VIM3L"; -- audio-aux-devs = <&tdmout_a>; -- audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", -- "TDMOUT_A IN 1", "FRDDR_B OUT 0", -- "TDMOUT_A IN 2", "FRDDR_C OUT 0", -- "TDM_A Playback", "TDMOUT_A OUT"; -- -- 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_a>; -- dai-format = "i2s"; -- dai-tdm-slot-tx-mask-0 = <1 1>; -- dai-tdm-slot-tx-mask-1 = <1 1>; -- dai-tdm-slot-tx-mask-2 = <1 1>; -- dai-tdm-slot-tx-mask-3 = <1 1>; -- mclk-fs = <256>; -- -- codec { -- sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; -- }; -- }; -- -- /* hdmi glue */ -- dai-link-4 { -- sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -- -- codec { -- sound-dai = <&hdmi_tx>; -- }; -- }; -- }; --}; -- --&arb { -- status = "okay"; --}; -- --&clkc_audio { -- status = "okay"; - }; - - &cpu0 { -@@ -125,18 +62,6 @@ - clock-latency = <50000>; - }; - --&frddr_a { -- status = "okay"; --}; -- --&frddr_b { -- status = "okay"; --}; -- --&frddr_c { -- status = "okay"; --}; -- - &pwm_AO_cd { - pinctrl-0 = <&pwm_ao_d_e_pins>; - pinctrl-names = "default"; -@@ -174,14 +99,3 @@ - }; - */ - --&tdmif_a { -- status = "okay"; --}; -- --&tdmout_a { -- status = "okay"; --}; -- --&tohdmitx { -- status = "okay"; --}; -diff --git a/include/dt-bindings/power/meson-axg-power.h b/include/dt-bindings/power/meson-axg-power.h -new file mode 100644 -index 0000000000..e5243884b2 ---- /dev/null -+++ b/include/dt-bindings/power/meson-axg-power.h -@@ -0,0 +1,14 @@ -+/* SPDX-License-Identifier: (GPL-2.0+ or MIT) */ -+/* -+ * Copyright (c) 2020 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+#ifndef _DT_BINDINGS_MESON_AXG_POWER_H -+#define _DT_BINDINGS_MESON_AXG_POWER_H -+ -+#define PWRC_AXG_VPU_ID 0 -+#define PWRC_AXG_ETHERNET_MEM_ID 1 -+#define PWRC_AXG_AUDIO_ID 2 -+ -+#endif -diff --git a/include/dt-bindings/power/meson-gxbb-power.h b/include/dt-bindings/power/meson-gxbb-power.h -new file mode 100644 -index 0000000000..1262dac696 ---- /dev/null -+++ b/include/dt-bindings/power/meson-gxbb-power.h -@@ -0,0 +1,13 @@ -+/* SPDX-License-Identifier: (GPL-2.0+ or MIT) */ -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+#ifndef _DT_BINDINGS_MESON_GXBB_POWER_H -+#define _DT_BINDINGS_MESON_GXBB_POWER_H -+ -+#define PWRC_GXBB_VPU_ID 0 -+#define PWRC_GXBB_ETHERNET_MEM_ID 1 -+ -+#endif --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch b/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch deleted file mode 100644 index 6eb40b5777..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 239659a0a90ca7763970c3764726a606755e1ae9 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Wed, 30 Sep 2020 11:52:49 +0200 -Subject: [PATCH 04/21] FROMGIT: power: domain: meson-ee-pwrc: add support for - the Meson GX SoCs - -This syncs with the linux meson-ee-pwrc driver from Linux 5.10-rc1. - -Signed-off-by: Neil Armstrong ---- - drivers/power/domain/meson-ee-pwrc.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -diff --git a/drivers/power/domain/meson-ee-pwrc.c b/drivers/power/domain/meson-ee-pwrc.c -index 8349a9c158..dfedddd950 100644 ---- a/drivers/power/domain/meson-ee-pwrc.c -+++ b/drivers/power/domain/meson-ee-pwrc.c -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -68,7 +69,7 @@ struct meson_ee_pwrc_domain_data { - - /* TOP Power Domains */ - --static struct meson_ee_pwrc_top_domain g12a_pwrc_vpu = { -+static struct meson_ee_pwrc_top_domain gx_pwrc_vpu = { - .sleep_reg = AO_RTI_GEN_PWR_SLEEP0, - .sleep_mask = BIT(8), - .iso_reg = AO_RTI_GEN_PWR_SLEEP0, -@@ -126,6 +127,12 @@ static struct meson_ee_pwrc_mem_domain g12a_pwrc_mem_vpu[] = { - VPU_HHI_MEMPD(HHI_MEM_PD_REG0), - }; - -+static struct meson_ee_pwrc_mem_domain gxbb_pwrc_mem_vpu[] = { -+ VPU_MEMPD(HHI_VPU_MEM_PD_REG0), -+ VPU_MEMPD(HHI_VPU_MEM_PD_REG1), -+ VPU_HHI_MEMPD(HHI_MEM_PD_REG0), -+}; -+ - static struct meson_ee_pwrc_mem_domain g12a_pwrc_mem_eth[] = { - { HHI_MEM_PD_REG0, GENMASK(3, 2) }, - }; -@@ -201,11 +208,17 @@ static struct meson_ee_pwrc_mem_domain sm1_pwrc_mem_audio[] = { - static bool pwrc_ee_get_power(struct power_domain *power_domain); - - static struct meson_ee_pwrc_domain_desc g12a_pwrc_domains[] = { -- [PWRC_G12A_VPU_ID] = VPU_PD("VPU", &g12a_pwrc_vpu, g12a_pwrc_mem_vpu, -+ [PWRC_G12A_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, g12a_pwrc_mem_vpu, - pwrc_ee_get_power, 11, 2), - [PWRC_G12A_ETH_ID] = MEM_PD("ETH", g12a_pwrc_mem_eth), - }; - -+static struct meson_ee_pwrc_domain_desc gxbb_pwrc_domains[] = { -+ [PWRC_GXBB_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, gxbb_pwrc_mem_vpu, -+ pwrc_ee_get_power, 12, 2), -+ [PWRC_GXBB_ETHERNET_MEM_ID] = MEM_PD("ETH", g12a_pwrc_mem_eth), -+}; -+ - static struct meson_ee_pwrc_domain_desc sm1_pwrc_domains[] = { - [PWRC_SM1_VPU_ID] = VPU_PD("VPU", &sm1_pwrc_vpu, sm1_pwrc_mem_vpu, - pwrc_ee_get_power, 11, 2), -@@ -369,6 +382,11 @@ static struct meson_ee_pwrc_domain_data meson_ee_g12a_pwrc_data = { - .domains = g12a_pwrc_domains, - }; - -+static struct meson_ee_pwrc_domain_data meson_ee_gxbb_pwrc_data = { -+ .count = ARRAY_SIZE(gxbb_pwrc_domains), -+ .domains = gxbb_pwrc_domains, -+}; -+ - static struct meson_ee_pwrc_domain_data meson_ee_sm1_pwrc_data = { - .count = ARRAY_SIZE(sm1_pwrc_domains), - .domains = sm1_pwrc_domains, -@@ -379,6 +397,10 @@ static const struct udevice_id meson_ee_pwrc_ids[] = { - .compatible = "amlogic,meson-g12a-pwrc", - .data = (unsigned long)&meson_ee_g12a_pwrc_data, - }, -+ { -+ .compatible = "amlogic,meson-gxbb-pwrc", -+ .data = (unsigned long)&meson_ee_gxbb_pwrc_data, -+ }, - { - .compatible = "amlogic,meson-sm1-pwrc", - .data = (unsigned long)&meson_ee_sm1_pwrc_data, --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch b/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch deleted file mode 100644 index 6da79a40e1..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-power-domain-meson-ee-pwrc-add-support-for-t.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 8849236317c68808262cb02e086c5a83520a8724 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Wed, 30 Sep 2020 11:55:50 +0200 -Subject: [PATCH 05/21] FROMGIT: power: domain: meson-ee-pwrc: add support for - the Meson AXG SoCs - -This syncs with the linux meson-ee-pwrc driver from Linux 5.10-rc1. - -Signed-off-by: Neil Armstrong ---- - drivers/power/domain/meson-ee-pwrc.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -diff --git a/drivers/power/domain/meson-ee-pwrc.c b/drivers/power/domain/meson-ee-pwrc.c -index dfedddd950..fa1ee93837 100644 ---- a/drivers/power/domain/meson-ee-pwrc.c -+++ b/drivers/power/domain/meson-ee-pwrc.c -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -127,6 +128,11 @@ static struct meson_ee_pwrc_mem_domain g12a_pwrc_mem_vpu[] = { - VPU_HHI_MEMPD(HHI_MEM_PD_REG0), - }; - -+static struct meson_ee_pwrc_mem_domain axg_pwrc_mem_vpu[] = { -+ VPU_MEMPD(HHI_VPU_MEM_PD_REG0), -+ VPU_HHI_MEMPD(HHI_MEM_PD_REG0), -+}; -+ - static struct meson_ee_pwrc_mem_domain gxbb_pwrc_mem_vpu[] = { - VPU_MEMPD(HHI_VPU_MEM_PD_REG0), - VPU_MEMPD(HHI_VPU_MEM_PD_REG1), -@@ -166,6 +172,10 @@ static struct meson_ee_pwrc_mem_domain sm1_pwrc_mem_ge2d[] = { - { HHI_MEM_PD_REG0, GENMASK(25, 18) }, - }; - -+static struct meson_ee_pwrc_mem_domain axg_pwrc_mem_audio[] = { -+ { HHI_MEM_PD_REG0, GENMASK(5, 4) }, -+}; -+ - static struct meson_ee_pwrc_mem_domain sm1_pwrc_mem_audio[] = { - { HHI_MEM_PD_REG0, GENMASK(5, 4) }, - { HHI_AUDIO_MEM_PD_REG0, GENMASK(1, 0) }, -@@ -213,6 +223,13 @@ static struct meson_ee_pwrc_domain_desc g12a_pwrc_domains[] = { - [PWRC_G12A_ETH_ID] = MEM_PD("ETH", g12a_pwrc_mem_eth), - }; - -+static struct meson_ee_pwrc_domain_desc axg_pwrc_domains[] = { -+ [PWRC_AXG_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, axg_pwrc_mem_vpu, -+ pwrc_ee_get_power, 5, 2), -+ [PWRC_AXG_ETHERNET_MEM_ID] = MEM_PD("ETH", g12a_pwrc_mem_eth), -+ [PWRC_AXG_AUDIO_ID] = MEM_PD("AUDIO", axg_pwrc_mem_audio), -+}; -+ - static struct meson_ee_pwrc_domain_desc gxbb_pwrc_domains[] = { - [PWRC_GXBB_VPU_ID] = VPU_PD("VPU", &gx_pwrc_vpu, gxbb_pwrc_mem_vpu, - pwrc_ee_get_power, 12, 2), -@@ -382,6 +399,11 @@ static struct meson_ee_pwrc_domain_data meson_ee_g12a_pwrc_data = { - .domains = g12a_pwrc_domains, - }; - -+static struct meson_ee_pwrc_domain_data meson_ee_axg_pwrc_data = { -+ .count = ARRAY_SIZE(axg_pwrc_domains), -+ .domains = axg_pwrc_domains, -+}; -+ - static struct meson_ee_pwrc_domain_data meson_ee_gxbb_pwrc_data = { - .count = ARRAY_SIZE(gxbb_pwrc_domains), - .domains = gxbb_pwrc_domains, -@@ -401,6 +423,10 @@ static const struct udevice_id meson_ee_pwrc_ids[] = { - .compatible = "amlogic,meson-gxbb-pwrc", - .data = (unsigned long)&meson_ee_gxbb_pwrc_data, - }, -+ { -+ .compatible = "amlogic,meson-axg-pwrc", -+ .data = (unsigned long)&meson_ee_axg_pwrc_data, -+ }, - { - .compatible = "amlogic,meson-sm1-pwrc", - .data = (unsigned long)&meson_ee_sm1_pwrc_data, --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-configs-use-the-new-MESON_EE_POWER_DOMAIN-dr.patch b/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-configs-use-the-new-MESON_EE_POWER_DOMAIN-dr.patch deleted file mode 100644 index 223d56335a..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-configs-use-the-new-MESON_EE_POWER_DOMAIN-dr.patch +++ /dev/null @@ -1,86 +0,0 @@ -From ba156073da5a34441657fef6d36ccc0767e1a3e8 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Fri, 6 Nov 2020 11:11:08 +0100 -Subject: [PATCH 06/21] FROMGIT: configs: use the new MESON_EE_POWER_DOMAIN - driver for Amlogic GXBB/GXL/GXM boards - -Linux 5.10-rc1 uses the new generic driver, so switch to it since GXBB and -later is now supported. - -Signed-off-by: Neil Armstrong ---- - configs/libretech-ac_defconfig | 2 +- - configs/libretech-cc_defconfig | 2 +- - configs/libretech-s905d-pc_defconfig | 2 +- - configs/libretech-s912-pc_defconfig | 2 +- - configs/odroid-c2_defconfig | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig -index 171d793ae3..ca61591bd7 100644 ---- a/configs/libretech-ac_defconfig -+++ b/configs/libretech-ac_defconfig -@@ -51,7 +51,7 @@ CONFIG_MESON_GXL_USB_PHY=y - CONFIG_PINCTRL=y - CONFIG_PINCTRL_MESON_GXL=y - CONFIG_POWER_DOMAIN=y --CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y - CONFIG_DM_REGULATOR=y - CONFIG_DM_REGULATOR_FIXED=y - CONFIG_DM_RESET=y -diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig -index aaab1a2d08..fb4bf4c929 100644 ---- a/configs/libretech-cc_defconfig -+++ b/configs/libretech-cc_defconfig -@@ -38,7 +38,7 @@ CONFIG_MESON_GXL_USB_PHY=y - CONFIG_PINCTRL=y - CONFIG_PINCTRL_MESON_GXL=y - CONFIG_POWER_DOMAIN=y --CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y - CONFIG_DM_REGULATOR=y - CONFIG_DM_REGULATOR_FIXED=y - CONFIG_DM_RESET=y -diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig -index f4e289aca1..9d4c880a3b 100644 ---- a/configs/libretech-s905d-pc_defconfig -+++ b/configs/libretech-s905d-pc_defconfig -@@ -46,7 +46,7 @@ CONFIG_MESON_GXL_USB_PHY=y - CONFIG_PINCTRL=y - CONFIG_PINCTRL_MESON_GXL=y - CONFIG_POWER_DOMAIN=y --CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y - CONFIG_DM_REGULATOR=y - CONFIG_DM_REGULATOR_FIXED=y - CONFIG_DM_RESET=y -diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig -index 24e410c5aa..cf600c1cbe 100644 ---- a/configs/libretech-s912-pc_defconfig -+++ b/configs/libretech-s912-pc_defconfig -@@ -45,7 +45,7 @@ CONFIG_MESON_GXL_USB_PHY=y - CONFIG_PINCTRL=y - CONFIG_PINCTRL_MESON_GXL=y - CONFIG_POWER_DOMAIN=y --CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y - CONFIG_DM_REGULATOR=y - CONFIG_DM_REGULATOR_FIXED=y - CONFIG_DM_RESET=y -diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig -index 14e840547f..5c02fa1e62 100644 ---- a/configs/odroid-c2_defconfig -+++ b/configs/odroid-c2_defconfig -@@ -38,7 +38,7 @@ CONFIG_MESON_GXBB_USB_PHY=y - CONFIG_PINCTRL=y - CONFIG_PINCTRL_MESON_GXBB=y - CONFIG_POWER_DOMAIN=y --CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y - CONFIG_DM_REGULATOR=y - CONFIG_DM_REGULATOR_FIXED=y - CONFIG_DM_REGULATOR_GPIO=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0007-FROMGIT-ARM-dts-import-WeTek-Core2-DTs-from-Linux-5..patch b/projects/Amlogic/patches/u-boot/u-boot-0007-FROMGIT-ARM-dts-import-WeTek-Core2-DTs-from-Linux-5..patch deleted file mode 100644 index 95a1a8006a..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0007-FROMGIT-ARM-dts-import-WeTek-Core2-DTs-from-Linux-5..patch +++ /dev/null @@ -1,375 +0,0 @@ -From 6974cd60b954cbd3b5288333384e763aad326c45 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 3 Nov 2020 02:30:18 +0000 -Subject: [PATCH 07/21] FROMGIT: ARM: dts: import WeTek Core2 DTs from Linux - 5.10 - -Import the WeTek Core2 and supporting meson-gx-p23x-q20x.dtsi files -from Linux 5.10. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/meson-gx-p23x-q20x.dtsi | 228 ++++++++++++++++++ - .../arm/dts/meson-gxm-wetek-core2-u-boot.dtsi | 7 + - arch/arm/dts/meson-gxm-wetek-core2.dts | 87 +++++++ - 4 files changed, 323 insertions(+) - create mode 100644 arch/arm/dts/meson-gx-p23x-q20x.dtsi - create mode 100644 arch/arm/dts/meson-gxm-wetek-core2-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxm-wetek-core2.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4044c3c87a..cd624950ab 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -165,6 +165,7 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-gxl-s905d-libretech-pc.dtb \ - meson-gxm-khadas-vim2.dtb \ - meson-gxm-s912-libretech-pc.dtb \ -+ meson-gxm-wetek-core2.dtb \ - meson-axg-s400.dtb \ - meson-g12a-u200.dtb \ - meson-g12a-sei510.dtb \ -diff --git a/arch/arm/dts/meson-gx-p23x-q20x.dtsi b/arch/arm/dts/meson-gx-p23x-q20x.dtsi -new file mode 100644 -index 0000000000..52525fcc59 ---- /dev/null -+++ b/arch/arm/dts/meson-gx-p23x-q20x.dtsi -@@ -0,0 +1,228 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Endless Computers, Inc. -+ * Author: Carlo Caione -+ */ -+ -+/* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either -+ * the pin-compatible S912 (GXM) or S905D (GXL) SoCs. -+ */ -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ 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_ao18: regulator-vddio_ao18 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO18"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ 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>; -+ }; -+ -+ vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ cvbs-connector { -+ compatible = "composite-video-connector"; -+ -+ port { -+ cvbs_connector_in: endpoint { -+ remote-endpoint = <&cvbs_vdac_out>; -+ }; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+}; -+ -+&cec_AO { -+ status = "okay"; -+ pinctrl-0 = <&ao_cec_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cvbs_vdac_port { -+ cvbs_vdac_out: endpoint { -+ remote-endpoint = <&cvbs_connector_in>; -+ }; -+}; -+ -+ðmac { -+ status = "okay"; -+}; -+ -+&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"; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&clkc CLKID_FCLK_DIV4>; -+ clock-names = "clkin0"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddio_ao18>; -+}; -+ -+/* Wireless SDIO Module */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_boot>; -+}; -+ -+/* 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"; -+}; -diff --git a/arch/arm/dts/meson-gxm-wetek-core2-u-boot.dtsi b/arch/arm/dts/meson-gxm-wetek-core2-u-boot.dtsi -new file mode 100644 -index 0000000000..39270ea71c ---- /dev/null -+++ b/arch/arm/dts/meson-gxm-wetek-core2-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gxl-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxm-wetek-core2.dts b/arch/arm/dts/meson-gxm-wetek-core2.dts -new file mode 100644 -index 0000000000..ec794c134c ---- /dev/null -+++ b/arch/arm/dts/meson-gxm-wetek-core2.dts -@@ -0,0 +1,87 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxm.dtsi" -+#include "meson-gx-p23x-q20x.dtsi" -+#include -+#include -+ -+/ { -+ compatible = "wetek,core2", "amlogic,s912", "amlogic,meson-gxm"; -+ model = "WeTek Core 2"; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 3 GiB */ -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 0>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1710000>; -+ -+ button-update { -+ label = "update"; -+ linux,code = ; -+ press-threshold-microvolt = <10000>; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <100>; -+ -+ button-power { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; -+ -+/* Disabled as Realtek RTL8152 USB provides Ethernet */ -+ðmac { -+ status = "disabled"; -+}; -+ -+&internal_phy { -+ status = "disabled"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-wetek-play2"; -+}; -+ -+/* This is connected to the Bluetooth module: */ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0008-FROMGIT-boards-amlogic-add-WeTek-Core2-support.patch b/projects/Amlogic/patches/u-boot/u-boot-0008-FROMGIT-boards-amlogic-add-WeTek-Core2-support.patch deleted file mode 100644 index 4e2f12ad07..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0008-FROMGIT-boards-amlogic-add-WeTek-Core2-support.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 71c65979ded70b70ae537f426f4c08a387682a79 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 3 Nov 2020 02:48:41 +0000 -Subject: [PATCH 08/21] FROMGIT: boards: amlogic: add WeTek Core2 support - -Add a config for the WeTek Core2, largely based on the VIM2 config. - -Signed-off-by: Christian Hewitt ---- - configs/wetek-core2_defconfig | 70 +++++++++++++++++++++++++++++++++++ - 1 file changed, 70 insertions(+) - create mode 100644 configs/wetek-core2_defconfig - -diff --git a/configs/wetek-core2_defconfig b/configs/wetek-core2_defconfig -new file mode 100644 -index 0000000000..706abff962 ---- /dev/null -+++ b/configs/wetek-core2_defconfig -@@ -0,0 +1,70 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_MESON_GXM=y -+CONFIG_DEBUG_UART_BASE=0xc81004c0 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" wetek-core2" -+CONFIG_DEFAULT_DEVICE_TREE="meson-gxm-wetek-core2" -+CONFIG_DEBUG_UART=y -+CONFIG_OF_BOARD_SETUP=y -+CONFIG_CONSOLE_MUX=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_ADC=y -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_SF_TEST=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_SARADC_MESON=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_MTD=y -+CONFIG_DM_MTD=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_MESON_GXL_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_GXL=y -+CONFIG_DM_REGULATOR=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_GX_VPU_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_MESON=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_GXL=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0009-FROMGIT-boards-amlogic-update-documentation-for-WeTe.patch b/projects/Amlogic/patches/u-boot/u-boot-0009-FROMGIT-boards-amlogic-update-documentation-for-WeTe.patch deleted file mode 100644 index cea26e031f..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0009-FROMGIT-boards-amlogic-update-documentation-for-WeTe.patch +++ /dev/null @@ -1,152 +0,0 @@ -From d8bdcbf312e0cd740ead1dd2a590e179b5092c6a Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 3 Nov 2020 03:06:57 +0000 -Subject: [PATCH 09/21] FROMGIT: boards: amlogic: update documentation for - WeTek Core2 - -Update the device matrix and add build instructions. - -Signed-off-by: Christian Hewitt ---- - doc/board/amlogic/index.rst | 5 +- - doc/board/amlogic/wetek-core2.rst | 101 ++++++++++++++++++++++++++++++ - 2 files changed, 104 insertions(+), 2 deletions(-) - create mode 100644 doc/board/amlogic/wetek-core2.rst - -diff --git a/doc/board/amlogic/index.rst b/doc/board/amlogic/index.rst -index 9e780ba47c..82ad7a2f1a 100644 ---- a/doc/board/amlogic/index.rst -+++ b/doc/board/amlogic/index.rst -@@ -17,7 +17,7 @@ This matrix concerns the actual source code version. - +===============================+===========+==============+==============+============+============+=============+==============+ - | Boards | Odroid-C2 | P212 | Khadas VIM2 | S400 | U200 | Odroid-N2 | SEI610 | - | | Nanopi-K2 | Khadas-VIM | Libretech-PC | | SEI510 | Khadas-VIM3 | Khadas-VIM3L | --| | P200 | LibreTech-CC | | | | | Odroid-C4 | -+| | P200 | LibreTech-CC | WeTek Core2 | | | | Odroid-C4 | - | | P201 | LibreTech-AC | | | | | | - +-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ - | UART | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -@@ -36,7 +36,7 @@ This matrix concerns the actual source code version. - +-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ - | Multi-core | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | - +-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Fuse access | **Yes** | **Yes** |**Yes** |**Yes** |**Yes** |**Yes** | **Yes** | -+| Fuse access | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | - +-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ - | SPI (FC) | **Yes** | **Yes** | **Yes** | **Yes** |**Yes** | **Yes** | No | - +-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ -@@ -96,3 +96,4 @@ Board Documentation - sei610 - u200 - w400 -+ wetek-core2 -diff --git a/doc/board/amlogic/wetek-core2.rst b/doc/board/amlogic/wetek-core2.rst -new file mode 100644 -index 0000000000..f8faf48259 ---- /dev/null -+++ b/doc/board/amlogic/wetek-core2.rst -@@ -0,0 +1,101 @@ -+.. SPDX-License-Identifier: GPL-2.0+ -+ -+U-Boot for WeTek Core2 -+====================== -+ -+WeTek Core2 is an Android STB based on the Q200 reference design with -+the following specifications: -+ -+ - Amlogic S912 ARM Cortex-A53 octo-core SoC @ 1.5GHz -+ - ARM Mali T820 GPU -+ - 3GB DDR4 SDRAM -+ - 10/100 Realtek RTL8152 Ethernet (internal USB) -+ - HDMI 2.0 4K/60Hz display -+ - 2x USB 2.0 Host, 1x USB 2.0 OTG (internal) -+ - 32GB eMMC -+ - microSD -+ - SDIO Wifi Module, Bluetooth -+ - Two channel IR receiver -+ -+U-Boot compilation -+------------------ -+ -+.. code-block:: bash -+ -+ $ export CROSS_COMPILE=aarch64-none-elf- -+ $ make wetek-core2_defconfig -+ $ make -+ -+Image creation -+-------------- -+ -+Amlogic does not provide sources for the firmware or the tools needed -+to create the bootloader image, and WeTek has not publicly shared the -+precompiled FIP binaries. However the public Khadas VIM2 sources also -+work with the Core2 box so we can use the Khadas git tree: -+ -+.. code-block:: bash -+ -+ $ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz -+ $ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz -+ $ tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz -+ $ tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz -+ $ export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH -+ $ git clone https://github.com/khadas/u-boot -b khadas-vim-v2015.01 vim-u-boot -+ $ cd vim-u-boot -+ $ make kvim2_defconfig -+ $ make -+ $ export FIPDIR=$PWD/fip -+ -+Go back to mainline U-Boot source tree then : -+ -+.. code-block:: bash -+ -+ $ mkdir fip -+ -+ $ cp $FIPDIR/gxl/bl2.bin fip/ -+ $ cp $FIPDIR/gxl/acs.bin fip/ -+ $ cp $FIPDIR/gxl/bl21.bin fip/ -+ $ cp $FIPDIR/gxl/bl30.bin fip/ -+ $ cp $FIPDIR/gxl/bl301.bin fip/ -+ $ cp $FIPDIR/gxl/bl31.img fip/ -+ $ cp u-boot.bin fip/bl33.bin -+ -+ $ $FIPDIR/blx_fix.sh \ -+ fip/bl30.bin \ -+ fip/zero_tmp \ -+ fip/bl30_zero.bin \ -+ fip/bl301.bin \ -+ fip/bl301_zero.bin \ -+ fip/bl30_new.bin \ -+ bl30 -+ -+ $ python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 -+ -+ $ $FIPDIR/blx_fix.sh \ -+ fip/bl2_acs.bin \ -+ fip/zero_tmp \ -+ fip/bl2_zero.bin \ -+ fip/bl21.bin \ -+ fip/bl21_zero.bin \ -+ fip/bl2_new.bin \ -+ bl2 -+ -+ $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl30_new.bin -+ $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl31.img -+ $ $FIPDIR/gxl/aml_encrypt_gxl --bl3enc --input fip/bl33.bin -+ $ $FIPDIR/gxl/aml_encrypt_gxl --bl2sig --input fip/bl2_new.bin --output fip/bl2.n.bin.sig -+ $ $FIPDIR/gxl/aml_encrypt_gxl --bootmk \ -+ --output fip/u-boot.bin \ -+ --bl2 fip/bl2.n.bin.sig \ -+ --bl30 fip/bl30_new.bin.enc \ -+ --bl31 fip/bl31.img.enc \ -+ --bl33 fip/bl33.bin.enc -+ -+then write the image to SD with: -+ -+.. code-block:: bash -+ -+ $ DEV=/dev/your_sd_device -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0010-FROMGIT-ARM-dts-import-Beelink-GT-King-Pro-DTs-from-.patch b/projects/Amlogic/patches/u-boot/u-boot-0010-FROMGIT-ARM-dts-import-Beelink-GT-King-Pro-DTs-from-.patch deleted file mode 100644 index d4d2da2e06..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0010-FROMGIT-ARM-dts-import-Beelink-GT-King-Pro-DTs-from-.patch +++ /dev/null @@ -1,749 +0,0 @@ -From 45783c1c41307527a84ecbed78eb11e72ecbfadb Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 17 Dec 2020 13:16:18 +0000 -Subject: [PATCH 10/21] FROMGIT: ARM: dts: import Beelink GT-King/Pro DTs from - Linux 5.10 - -Import the Beelink GT-King/Pro and supporting meson-g12b-w400.dtsi file -from Linux 5.10. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 2 + - arch/arm/dts/meson-g12b-gtking-pro.dts | 125 ++++++++ - arch/arm/dts/meson-g12b-gtking.dts | 145 +++++++++ - arch/arm/dts/meson-g12b-w400.dtsi | 425 +++++++++++++++++++++++++ - 4 files changed, 697 insertions(+) - create mode 100644 arch/arm/dts/meson-g12b-gtking-pro.dts - create mode 100644 arch/arm/dts/meson-g12b-gtking.dts - create mode 100644 arch/arm/dts/meson-g12b-w400.dtsi - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index cd624950ab..5756f47a3f 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -169,6 +169,8 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-axg-s400.dtb \ - meson-g12a-u200.dtb \ - meson-g12a-sei510.dtb \ -+ meson-g12b-gtking.dtb \ -+ meson-g12b-gtking-pro.dtb \ - meson-g12b-odroid-n2.dtb \ - meson-g12b-odroid-n2-plus.dtb \ - meson-g12b-a311d-khadas-vim3.dtb \ -diff --git a/arch/arm/dts/meson-g12b-gtking-pro.dts b/arch/arm/dts/meson-g12b-gtking-pro.dts -new file mode 100644 -index 0000000000..f0c56a16af ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-gtking-pro.dts -@@ -0,0 +1,125 @@ -+// 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 = "azw,gtking", "amlogic,g12b"; -+ model = "Beelink GT-King Pro"; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <100>; -+ -+ power-button { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ white { -+ label = "power:white"; -+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "G12B-GTKING-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>; -+ }; -+ }; -+ -+ dai-link-4 { -+ 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"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -diff --git a/arch/arm/dts/meson-g12b-gtking.dts b/arch/arm/dts/meson-g12b-gtking.dts -new file mode 100644 -index 0000000000..eeb7bc5539 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-gtking.dts -@@ -0,0 +1,145 @@ -+// 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 = "azw,gtking", "amlogic,g12b"; -+ model = "Beelink GT-King"; -+ -+ 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 = "G12B-GTKING"; -+ 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"; -+}; -+ -+&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"; -+}; -diff --git a/arch/arm/dts/meson-g12b-w400.dtsi b/arch/arm/dts/meson-g12b-w400.dtsi -new file mode 100644 -index 0000000000..2802ddbb83 ---- /dev/null -+++ b/arch/arm/dts/meson-g12b-w400.dtsi -@@ -0,0 +1,425 @@ -+// 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.dtsi" -+#include "meson-g12b-s922x.dtsi" -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ 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; -+ }; -+ -+ main_12v: regulator-main_12v { -+ compatible = "regulator-fixed"; -+ regulator-name = "12V"; -+ regulator-min-microvolt = <12000000>; -+ regulator-max-microvolt = <12000000>; -+ 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 = <&main_12v>; -+ -+ gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ }; -+ -+ 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 */ -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ /* -+ * MP1653 Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <721000>; -+ regulator-max-microvolt = <1022000>; -+ -+ vin-supply = <&main_12v>; -+ -+ pwms = <&pwm_ab 0 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddcpu_b: regulator-vddcpu-b { -+ /* -+ * MP1652 Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <721000>; -+ regulator-max-microvolt = <1022000>; -+ -+ vin-supply = <&main_12v>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ usb1_pow: regulator-usb1-pow { -+ compatible = "regulator-fixed"; -+ regulator-name = "USB1_POW"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc_5v>; -+ -+ /* connected to SY6280A Power Switch */ -+ gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ usb_pwr_en: regulator-usb-pwr-en { -+ compatible = "regulator-fixed"; -+ regulator-name = "USB_PWR_EN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc_5v>; -+ -+ /* Connected to USB3 Type-A Port power enable */ -+ gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ 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 = <&main_12v>; -+ regulator-always-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>; -+ }; -+ }; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ status = "disabled"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu100 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu101 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu102 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu103 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&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>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <30000>; -+ 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>; -+}; -+ -+&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"; -+}; -+ -+&pwm_ab { -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+&pwm_ef { -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ status = "okay"; -+}; -+ -+/* 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>; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ non-removable; -+ disable-wp; -+ -+ 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; -+ max-frequency = <100000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&flash_1v8>; -+}; -+ -+&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.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0011-FROMGIT-boards-amlogic-add-Beelink-S922X-board-famil.patch b/projects/Amlogic/patches/u-boot/u-boot-0011-FROMGIT-boards-amlogic-add-Beelink-S922X-board-famil.patch deleted file mode 100644 index 8635a4a3d5..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0011-FROMGIT-boards-amlogic-add-Beelink-S922X-board-famil.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 028be6ea0ba9197a9bcd6bfeb613df2412d73217 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 18 Dec 2020 03:16:17 +0000 -Subject: [PATCH 11/21] FROMGIT: boards: amlogic: add Beelink S922X board - family support - -Copied from Odroid N2. Add myself as maintainer. - -Signed-off-by: Christian Hewitt ---- - board/amlogic/beelink-s922x/MAINTAINERS | 9 ++++ - board/amlogic/beelink-s922x/Makefile | 6 +++ - board/amlogic/beelink-s922x/beelink-s922x.c | 54 +++++++++++++++++++++ - 3 files changed, 69 insertions(+) - create mode 100644 board/amlogic/beelink-s922x/MAINTAINERS - create mode 100644 board/amlogic/beelink-s922x/Makefile - create mode 100644 board/amlogic/beelink-s922x/beelink-s922x.c - -diff --git a/board/amlogic/beelink-s922x/MAINTAINERS b/board/amlogic/beelink-s922x/MAINTAINERS -new file mode 100644 -index 0000000000..7f223df4ae ---- /dev/null -+++ b/board/amlogic/beelink-s922x/MAINTAINERS -@@ -0,0 +1,9 @@ -+BEELINK-S922X -+M: Christian Hewitt -+S: Maintained -+L: u-boot-amlogic@groups.io -+F: board/amlogic/beelink-s922x/ -+F: configs/beelink-gtking_defconfig -+F: configs/beelink-gtkingpro_defconfig -+F: doc/board/amlogic/beelink-gtking.rst -+F: doc/board/amlogic/beelink-gtkingpro.rst -diff --git a/board/amlogic/beelink-s922x/Makefile b/board/amlogic/beelink-s922x/Makefile -new file mode 100644 -index 0000000000..27b1a74105 ---- /dev/null -+++ b/board/amlogic/beelink-s922x/Makefile -@@ -0,0 +1,6 @@ -+# SPDX-License-Identifier: GPL-2.0+ -+# -+# (C) Copyright 2020 BayLibre, SAS -+# Author: Neil Armstrong -+ -+obj-y := beelink-s922x.o -diff --git a/board/amlogic/beelink-s922x/beelink-s922x.c b/board/amlogic/beelink-s922x/beelink-s922x.c -new file mode 100644 -index 0000000000..dc0d933a39 ---- /dev/null -+++ b/board/amlogic/beelink-s922x/beelink-s922x.c -@@ -0,0 +1,54 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (C) 2020 BayLibre, SAS -+ * Author: Neil Armstrong -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define EFUSE_MAC_OFFSET 20 -+#define EFUSE_MAC_SIZE 12 -+#define MAC_ADDR_LEN 6 -+ -+int misc_init_r(void) -+{ -+ u8 mac_addr[MAC_ADDR_LEN]; -+ char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; -+ ssize_t len; -+ -+ if (IS_ENABLED(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG) && -+ meson_get_soc_rev(tmp, sizeof(tmp)) > 0) -+ env_set("soc_rev", tmp); -+ -+ meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); -+ -+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { -+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, -+ efuse_mac_addr, EFUSE_MAC_SIZE); -+ if (len != EFUSE_MAC_SIZE) -+ return 0; -+ -+ /* MAC is stored in ASCII format, 1bytes = 2characters */ -+ for (int i = 0; i < 6; i++) { -+ tmp[0] = efuse_mac_addr[i * 2]; -+ tmp[1] = efuse_mac_addr[i * 2 + 1]; -+ tmp[2] = '\0'; -+ mac_addr[i] = simple_strtoul(tmp, NULL, 16); -+ } -+ -+ if (is_valid_ethaddr(mac_addr)) -+ eth_env_set_enetaddr("ethaddr", mac_addr); -+ else -+ meson_generate_serial_ethaddr(); -+ } -+ -+ return 0; -+} --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0012-FROMGIT-boards-amlogic-add-Beelink-GT-King-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0012-FROMGIT-boards-amlogic-add-Beelink-GT-King-defconfig.patch deleted file mode 100644 index a7e877cc04..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0012-FROMGIT-boards-amlogic-add-Beelink-GT-King-defconfig.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 7a0a86a0a7e82b616ed25a0513432605953217fd Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 17 Dec 2020 13:23:09 +0000 -Subject: [PATCH 12/21] FROMGIT: boards: amlogic: add Beelink GT-King defconfig - -Add a defconfig for the Beelink GT-King Android STB, which is based -on the Amlogic W400 reference design. - -Signed-off-by: Christian Hewitt ---- - configs/beelink-gtking_defconfig | 71 ++++++++++++++++++++++++++++++++ - 1 file changed, 71 insertions(+) - create mode 100644 configs/beelink-gtking_defconfig - -diff --git a/configs/beelink-gtking_defconfig b/configs/beelink-gtking_defconfig -new file mode 100644 -index 0000000000..ea428874af ---- /dev/null -+++ b/configs/beelink-gtking_defconfig -@@ -0,0 +1,71 @@ -+CONFIG_ARM=y -+CONFIG_SYS_BOARD="beelink-s922x" -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_MESON_G12A=y -+CONFIG_DEBUG_UART_BASE=0xff803000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" beelink" -+CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-gtking" -+CONFIG_DEBUG_UART=y -+CONFIG_OF_BOARD_SETUP=y -+CONFIG_MISC_INIT_R=y -+# CONFIG_DISPLAY_CPUINFO is not set -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_SF_TEST=y -+CONFIG_CMD_SPI=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_MTD=y -+CONFIG_DM_MTD=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_MESON_G12A_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_G12A=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_G12A=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0013-FROMGIT-boards-amlogic-add-Beelink-GT-King-Pro-defco.patch b/projects/Amlogic/patches/u-boot/u-boot-0013-FROMGIT-boards-amlogic-add-Beelink-GT-King-Pro-defco.patch deleted file mode 100644 index 0a58984ea4..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0013-FROMGIT-boards-amlogic-add-Beelink-GT-King-Pro-defco.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 4e781d8567168a132282c4153736fe16621e12c3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 17 Dec 2020 13:24:47 +0000 -Subject: [PATCH 13/21] FROMGIT: boards: amlogic: add Beelink GT-King Pro - defconfig - -Add a defconfig for the Beelink GT-King Pro Android STB, which is based -on the Amlogic W400 reference design. - -Signed-off-by: Christian Hewitt ---- - configs/beelink-gtkingpro_defconfig | 71 +++++++++++++++++++++++++++++ - 1 file changed, 71 insertions(+) - create mode 100644 configs/beelink-gtkingpro_defconfig - -diff --git a/configs/beelink-gtkingpro_defconfig b/configs/beelink-gtkingpro_defconfig -new file mode 100644 -index 0000000000..569031600a ---- /dev/null -+++ b/configs/beelink-gtkingpro_defconfig -@@ -0,0 +1,71 @@ -+CONFIG_ARM=y -+CONFIG_SYS_BOARD="beelink-s922x" -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_MESON_G12A=y -+CONFIG_DEBUG_UART_BASE=0xff803000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" beelink" -+CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-gtking-pro" -+CONFIG_DEBUG_UART=y -+CONFIG_OF_BOARD_SETUP=y -+CONFIG_MISC_INIT_R=y -+# CONFIG_DISPLAY_CPUINFO is not set -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_GPIO=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_SF_TEST=y -+CONFIG_CMD_SPI=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_MTD=y -+CONFIG_DM_MTD=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_MESON_G12A_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_G12A=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_DWC3=y -+CONFIG_USB_DWC3=y -+# CONFIG_USB_DWC3_GADGET is not set -+CONFIG_USB_DWC3_MESON_G12A=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e -+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0014-FROMGIT-boards-amlogic-update-documentation-for-Beel.patch b/projects/Amlogic/patches/u-boot/u-boot-0014-FROMGIT-boards-amlogic-update-documentation-for-Beel.patch deleted file mode 100644 index 0daf9ef77d..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0014-FROMGIT-boards-amlogic-update-documentation-for-Beel.patch +++ /dev/null @@ -1,403 +0,0 @@ -From 1c4431cf75268c4d5813411045d3e3dd310cc0d7 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 18 Dec 2020 02:39:38 +0000 -Subject: [PATCH 14/21] FROMGIT: boards: amlogic: update documentation for - Beelink GT-King/Pro - -Update the device matrix and add build instructions. - -Signed-off-by: Christian Hewitt ---- - doc/board/amlogic/beelink-gtking.rst | 115 ++++++++++++++++++++++ - doc/board/amlogic/beelink-gtkingpro.rst | 116 ++++++++++++++++++++++ - doc/board/amlogic/index.rst | 122 ++++++++++++------------ - 3 files changed, 293 insertions(+), 60 deletions(-) - create mode 100644 doc/board/amlogic/beelink-gtking.rst - create mode 100644 doc/board/amlogic/beelink-gtkingpro.rst - -diff --git a/doc/board/amlogic/beelink-gtking.rst b/doc/board/amlogic/beelink-gtking.rst -new file mode 100644 -index 0000000000..56ce2cb273 ---- /dev/null -+++ b/doc/board/amlogic/beelink-gtking.rst -@@ -0,0 +1,115 @@ -+.. SPDX-License-Identifier: GPL-2.0+ -+ -+U-Boot for Beelink GT-King -+========================== -+ -+The Shenzen AZW (Beelink) GT-King is based on the Amlogic W400 reference -+board with an S922X-H chip. -+ -+- 4GB LPDDR4 RAM -+- 64GB eMMC storage -+- 10/100/1000 Base-T Ethernet -+- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1) -+- HDMI 2.1 video -+- S/PDIF optical output -+- Analogue audio output -+- 1x USB 2.0 port -+- 2x USB 3.0 ports -+- IR receiver -+- 1x micro SD card slot -+ -+Beelink do not provide public schematics, but have been willing -+to share them with known distro developers on request. -+ -+U-Boot compilation -+------------------ -+ -+.. code-block:: bash -+ -+ $ export CROSS_COMPILE=aarch64-none-elf- -+ $ make beelink-gtking_defconfig -+ $ make -+ -+Image creation -+-------------- -+ -+Amlogic does not provide sources for the firmware and for tools needed -+to create the bootloader image. Beelink have provided the Amlogic "SDK" -+in their forums, but the u-boot sources included result in 2GB RAM being -+detected. The following FIPs were generated with newer private sources -+and give correct (4GB) RAM detection: -+ -+https://github.com/LibreELEC/amlogic-boot-fip/tree/master/beelink-s922x -+ -+NB: Beelink use a common board config for GT-King, GT-King Pro and the -+GS-King-X model, hence the "beelink-s922x" name. -+ -+.. code-block:: bash -+ -+ $ wget https://github.com/LibreELEC/amlogic-boot-fip/archive/master.zip -+ $ unzip master.zip -+ $ export FIPDIR=$PWD/amlogic-boot-fip/beelink-s922x -+ -+Go back to the mainline U-Boot source tree then: -+ -+.. code-block:: bash -+ -+ $ mkdir fip -+ $ cp $FIPDIR/* fip/ -+ $ cp u-boot.bin fip/bl33.bin -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl30.bin \ -+ fip/zero_tmp \ -+ fip/bl30_zero.bin \ -+ fip/bl301.bin \ -+ fip/bl301_zero.bin \ -+ fip/bl30_new.bin \ -+ bl30 -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl2.bin \ -+ fip/zero_tmp \ -+ fip/bl2_zero.bin \ -+ fip/acs.bin \ -+ fip/bl21_zero.bin \ -+ fip/bl2_new.bin \ -+ bl2 -+ -+ $ fip/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \ -+ --output fip/bl30_new.bin.g12a.enc \ -+ --level v3 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \ -+ --output fip/bl30_new.bin.enc \ -+ --level v3 --type bl30 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl31.img \ -+ --output fip/bl31.img.enc \ -+ --level v3 --type bl31 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \ -+ --output fip/bl33.bin.enc \ -+ --level v3 --type bl33 -+ $ fip/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \ -+ --output fip/bl2.n.bin.sig -+ $ fip/aml_encrypt_g12b --bootmk \ -+ --output fip/u-boot.bin \ -+ --bl2 fip/bl2.n.bin.sig \ -+ --bl30 fip/bl30_new.bin.enc \ -+ --bl31 fip/bl31.img.enc \ -+ --bl33 fip/bl33.bin.enc \ -+ --ddrfw1 fip/ddr4_1d.fw \ -+ --ddrfw2 fip/ddr4_2d.fw \ -+ --ddrfw3 fip/ddr3_1d.fw \ -+ --ddrfw4 fip/piei.fw \ -+ --ddrfw5 fip/lpddr4_1d.fw \ -+ --ddrfw6 fip/lpddr4_2d.fw \ -+ --ddrfw7 fip/diag_lpddr4.fw \ -+ --ddrfw8 fip/aml_ddr.fw \ -+ --level v3 -+ -+and then write the image to SD with: -+ -+.. code-block:: bash -+ -+ $ DEV=/dev/your_sd_device -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 -diff --git a/doc/board/amlogic/beelink-gtkingpro.rst b/doc/board/amlogic/beelink-gtkingpro.rst -new file mode 100644 -index 0000000000..d750351361 ---- /dev/null -+++ b/doc/board/amlogic/beelink-gtkingpro.rst -@@ -0,0 +1,116 @@ -+.. SPDX-License-Identifier: GPL-2.0+ -+ -+U-Boot for Beelink GT-King Pro -+============================== -+ -+The Shenzen AZW (Beelink) GT-King Pro is based on the Amlogic W400 reference -+board with an S922X-H chip. -+ -+- 4GB LPDDR4 RAM -+- 64GB eMMC storage -+- 10/100/1000 Base-T Ethernet -+- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1) -+- HDMI 2.1 video -+- Analogue audio output -+- 1x RS232 port -+- 2x USB 2.0 port -+- 2x USB 3.0 ports -+- IR receiver -+- 1x SD card slot -+- 1x Power on/off button -+ -+Beelink do not provide public schematics, but have been willing -+to share them with known distro developers on request. -+ -+U-Boot compilation -+------------------ -+ -+.. code-block:: bash -+ -+ $ export CROSS_COMPILE=aarch64-none-elf- -+ $ make beelink-gtkingpro_defconfig -+ $ make -+ -+Image creation -+-------------- -+ -+Amlogic does not provide sources for the firmware and for tools needed -+to create the bootloader image. Beelink have provided the Amlogic "SDK" -+in their forums, but the u-boot sources included result in 2GB RAM being -+detected. The following FIPs were generated with newer private sources -+and give correct (4GB) RAM detection: -+ -+https://github.com/LibreELEC/amlogic-boot-fip/tree/master/beelink-s922x -+ -+NB: Beelink use a common board config for GT-King, GT-King Pro and the -+GS-King-X model, hence the "beelink-s922x" name. -+ -+.. code-block:: bash -+ -+ $ wget https://github.com/LibreELEC/amlogic-boot-fip/archive/master.zip -+ $ unzip master.zip -+ $ export FIPDIR=$PWD/amlogic-boot-fip/beelink-s922x -+ -+Go back to the mainline U-Boot source tree then: -+ -+.. code-block:: bash -+ -+ $ mkdir fip -+ $ cp $FIPDIR/* fip/ -+ $ cp u-boot.bin fip/bl33.bin -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl30.bin \ -+ fip/zero_tmp \ -+ fip/bl30_zero.bin \ -+ fip/bl301.bin \ -+ fip/bl301_zero.bin \ -+ fip/bl30_new.bin \ -+ bl30 -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl2.bin \ -+ fip/zero_tmp \ -+ fip/bl2_zero.bin \ -+ fip/acs.bin \ -+ fip/bl21_zero.bin \ -+ fip/bl2_new.bin \ -+ bl2 -+ -+ $ fip/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \ -+ --output fip/bl30_new.bin.g12a.enc \ -+ --level v3 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \ -+ --output fip/bl30_new.bin.enc \ -+ --level v3 --type bl30 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl31.img \ -+ --output fip/bl31.img.enc \ -+ --level v3 --type bl31 -+ $ fip/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \ -+ --output fip/bl33.bin.enc \ -+ --level v3 --type bl33 -+ $ fip/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \ -+ --output fip/bl2.n.bin.sig -+ $ fip/aml_encrypt_g12b --bootmk \ -+ --output fip/u-boot.bin \ -+ --bl2 fip/bl2.n.bin.sig \ -+ --bl30 fip/bl30_new.bin.enc \ -+ --bl31 fip/bl31.img.enc \ -+ --bl33 fip/bl33.bin.enc \ -+ --ddrfw1 fip/ddr4_1d.fw \ -+ --ddrfw2 fip/ddr4_2d.fw \ -+ --ddrfw3 fip/ddr3_1d.fw \ -+ --ddrfw4 fip/piei.fw \ -+ --ddrfw5 fip/lpddr4_1d.fw \ -+ --ddrfw6 fip/lpddr4_2d.fw \ -+ --ddrfw7 fip/diag_lpddr4.fw \ -+ --ddrfw8 fip/aml_ddr.fw \ -+ --level v3 -+ -+and then write the image to SD with: -+ -+.. code-block:: bash -+ -+ $ DEV=/dev/your_sd_device -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 -+ $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444 -diff --git a/doc/board/amlogic/index.rst b/doc/board/amlogic/index.rst -index 82ad7a2f1a..d4148b1a1e 100644 ---- a/doc/board/amlogic/index.rst -+++ b/doc/board/amlogic/index.rst -@@ -10,66 +10,66 @@ An up-do-date matrix is also available on: http://linux-meson.com - - This matrix concerns the actual source code version. - --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| | S905 | S905X | S912 | A113X | S905X2 | S922X | S905X3 | --| | | S805X | S905D | | S905D2 | A311D | S905D3 | --| | | | | | S905Y2 | | | --+===============================+===========+==============+==============+============+============+=============+==============+ --| Boards | Odroid-C2 | P212 | Khadas VIM2 | S400 | U200 | Odroid-N2 | SEI610 | --| | Nanopi-K2 | Khadas-VIM | Libretech-PC | | SEI510 | Khadas-VIM3 | Khadas-VIM3L | --| | P200 | LibreTech-CC | WeTek Core2 | | | | Odroid-C4 | --| | P201 | LibreTech-AC | | | | | | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| UART | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Pinctrl/GPIO | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Clock Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| PWM | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Reset Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Infrared Decoder | No | No | No | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Ethernet | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Multi-core | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Fuse access | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| SPI (FC) | **Yes** | **Yes** | **Yes** | **Yes** |**Yes** | **Yes** | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| SPI (CC) | No | No | No | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| I2C | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| USB | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| USB OTG | No | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| eMMC | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| SDCard | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| NAND | No | No | No | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| ADC | **Yes** | **Yes** | **Yes** | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| CVBS Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| HDMI Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| CEC | No | No | No | *N/A* | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| Thermal Sensor | No | No | No | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| LCD/LVDS Output | No | *N/A* | No | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| MIPI DSI Output | *N/A* | *N/A* | *N/A* | No | No | No | No | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ --| SoC (version) information | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | --+-------------------------------+-----------+--------------+--------------+------------+------------+-------------+--------------+ -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| | S905 | S905X | S912 | A113X | S905X2 | S922X | S905X3 | -+| | | S805X | S905D | | S905D2 | A311D | S905D3 | -+| | | | | | S905Y2 | | | -++===============================+===========+=================+==============+============+============+=============+==============+ -+| Boards | Odroid-C2 | P212 | Khadas VIM2 | S400 | U200 | Odroid-N2 | SEI610 | -+| | Nanopi-K2 | Khadas-VIM | Libretech-PC | | SEI510 | Khadas-VIM3 | Khadas-VIM3L | -+| | P200 | LibreTech-CC v1 | WeTek Core2 | | | GT-King/Pro | Odroid-C4 | -+| | P201 | LibreTech-AC v2 | | | | | | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| UART | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Pinctrl/GPIO | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Clock Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| PWM | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Reset Control | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Infrared Decoder | No | No | No | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Ethernet | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Multi-core | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Fuse access | **Yes** | **Yes** |**Yes** |**Yes** |**Yes** |**Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| SPI (FC) | **Yes** | **Yes** | **Yes** | **Yes** |**Yes** | **Yes** | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| SPI (CC) | No | No | No | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| I2C | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| USB | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| USB OTG | No | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| eMMC | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| SDCard | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| NAND | No | No | No | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| ADC | **Yes** | **Yes** | **Yes** | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| CVBS Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| HDMI Output | **Yes** | **Yes** | **Yes** | *N/A* | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| CEC | No | No | No | *N/A* | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| Thermal Sensor | No | No | No | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| LCD/LVDS Output | No | *N/A* | No | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| MIPI DSI Output | *N/A* | *N/A* | *N/A* | No | No | No | No | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -+| SoC (version) information | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | -++-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ - - Board Documentation - ------------------- -@@ -77,6 +77,8 @@ Board Documentation - .. toctree:: - :maxdepth: 1 - -+ beelink-gtking -+ beelink-gtkingpro - khadas-vim2 - khadas-vim3l - khadas-vim3 --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0015-ARM-dts-meson-switch-TFLASH_VDD_EN-pin-to-open-drain.patch b/projects/Amlogic/patches/u-boot/u-boot-0015-ARM-dts-meson-switch-TFLASH_VDD_EN-pin-to-open-drain.patch deleted file mode 100644 index e69f16dd9c..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0015-ARM-dts-meson-switch-TFLASH_VDD_EN-pin-to-open-drain.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7b1b86f67f42bc79017fab0798b3fa5f98135ea4 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 18 Dec 2020 14:15:14 +0000 -Subject: [PATCH 15/21] ARM: dts: meson: switch TFLASH_VDD_EN pin to open drain - on Odroid-N2 - -Experimental copying the fix from C4. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/meson-g12b-odroid-n2-u-boot.dtsi | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/arm/dts/meson-g12b-odroid-n2-u-boot.dtsi b/arch/arm/dts/meson-g12b-odroid-n2-u-boot.dtsi -index 236f2468dc..acb9b13aac 100644 ---- a/arch/arm/dts/meson-g12b-odroid-n2-u-boot.dtsi -+++ b/arch/arm/dts/meson-g12b-odroid-n2-u-boot.dtsi -@@ -5,3 +5,7 @@ - */ - - #include "meson-g12-common-u-boot.dtsi" -+ -+&tflash_vdd { -+ gpio = <&gpio_ao GPIOAO_8 GPIO_OPEN_DRAIN>; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0016-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5.10.patch b/projects/Amlogic/patches/u-boot/u-boot-0016-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5.10.patch deleted file mode 100644 index a969a763fd..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0016-ARM-dts-import-WeTek-Hub-Play2-DTs-from-Linux-5.10.patch +++ /dev/null @@ -1,456 +0,0 @@ -From a53bdf37555976897766f21003c9fb63b3e01ba3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 16 Nov 2020 19:02:20 +0000 -Subject: [PATCH 16/21] ARM: dts: import WeTek Hub/Play2 DTs from Linux 5.10 - -Import the WeTek dtsi and Hub/Play2 device-trees from Linux 5.10. - -Signed-off-by: Christian Hewitt ---- - arch/arm/dts/Makefile | 2 + - arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi | 7 + - arch/arm/dts/meson-gxbb-wetek-hub.dts | 23 ++ - .../dts/meson-gxbb-wetek-play2-u-boot.dtsi | 7 + - arch/arm/dts/meson-gxbb-wetek-play2.dts | 65 ++++ - arch/arm/dts/meson-gxbb-wetek.dtsi | 286 ++++++++++++++++++ - 6 files changed, 390 insertions(+) - create mode 100644 arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxbb-wetek-hub.dts - create mode 100644 arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi - create mode 100644 arch/arm/dts/meson-gxbb-wetek-play2.dts - create mode 100644 arch/arm/dts/meson-gxbb-wetek.dtsi - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 5756f47a3f..18e5b4b8dd 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -158,6 +158,8 @@ dtb-$(CONFIG_ARCH_MESON) += \ - meson-gxbb-nanopi-k2.dtb \ - meson-gxbb-p200.dtb \ - meson-gxbb-p201.dtb \ -+ meson-gxbb-wetek-hub.dtb \ -+ meson-gxbb-wetek-play2.dtb \ - meson-gxl-s905x-p212.dtb \ - meson-gxl-s805x-libretech-ac.dtb \ - meson-gxl-s905x-libretech-cc.dtb \ -diff --git a/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -new file mode 100644 -index 0000000000..c35158d7e9 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gx-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxbb-wetek-hub.dts b/arch/arm/dts/meson-gxbb-wetek-hub.dts -new file mode 100644 -index 0000000000..781414ccac ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-hub.dts -@@ -0,0 +1,23 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-wetek.dtsi" -+ -+/ { -+ compatible = "wetek,hub", "amlogic,meson-gxbb"; -+ model = "WeTek Hub"; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-wetek-hub"; -+}; -diff --git a/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -new file mode 100644 -index 0000000000..c35158d7e9 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi -@@ -0,0 +1,7 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS. -+ * Author: Neil Armstrong -+ */ -+ -+#include "meson-gx-u-boot.dtsi" -diff --git a/arch/arm/dts/meson-gxbb-wetek-play2.dts b/arch/arm/dts/meson-gxbb-wetek-play2.dts -new file mode 100644 -index 0000000000..8a55c203d9 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek-play2.dts -@@ -0,0 +1,65 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxbb-wetek.dtsi" -+#include -+ -+/ { -+ compatible = "wetek,play2", "amlogic,meson-gxbb"; -+ model = "WeTek Play 2"; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ leds { -+ led-wifi { -+ label = "wetek-play:wifi-status"; -+ gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; -+ default-state = "off"; -+ }; -+ -+ led-ethernet { -+ label = "wetek-play:ethernet-status"; -+ gpios = <&gpio GPIODV_27 GPIO_ACTIVE_HIGH>; -+ default-state = "off"; -+ }; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <100>; -+ -+ button@0 { -+ label = "reset"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; -+ -+&i2c_A { -+ status = "okay"; -+ pinctrl-0 = <&i2c_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb1_phy { -+ status = "okay"; -+}; -+ -+&usb1 { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-wetek-play2"; -+}; -diff --git a/arch/arm/dts/meson-gxbb-wetek.dtsi b/arch/arm/dts/meson-gxbb-wetek.dtsi -new file mode 100644 -index 0000000000..ad812854a1 ---- /dev/null -+++ b/arch/arm/dts/meson-gxbb-wetek.dtsi -@@ -0,0 +1,286 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2016 Andreas Färber -+ * Copyright (c) 2016 BayLibre, Inc. -+ * Author: Kevin Hilman -+ */ -+ -+#include "meson-gxbb.dtsi" -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-system { -+ label = "wetek-play:system-status"; -+ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; -+ default-state = "on"; -+ panic-indicator; -+ }; -+ }; -+ -+ usb_pwr: regulator-usb-pwrs { -+ compatible = "regulator-fixed"; -+ -+ regulator-name = "USB_PWR"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ -+ vddio_boot: regulator-vddio_boot { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_BOOT"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ vddio_ao18: regulator-vddio_ao18 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO18"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ -+ vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ cvbs-connector { -+ compatible = "composite-video-connector"; -+ -+ port { -+ cvbs_connector_in: endpoint { -+ remote-endpoint = <&cvbs_vdac_out>; -+ }; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+}; -+ -+&cec_AO { -+ status = "okay"; -+ pinctrl-0 = <&ao_cec_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cvbs_vdac_port { -+ cvbs_vdac_out: endpoint { -+ remote-endpoint = <&cvbs_connector_in>; -+ }; -+}; -+ -+ðmac { -+ status = "okay"; -+ pinctrl-0 = <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ -+ phy-handle = <ð_phy0>; -+ phy-mode = "rgmii"; -+ -+ amlogic,tx-delay-ns = <2>; -+ -+ mdio { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ eth_phy0: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <30000>; -+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_15 */ -+ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; -+ }; -+ }; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ status = "okay"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&clkc CLKID_FCLK_DIV4>; -+ clock-names = "clkin0"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddio_ao18>; -+}; -+ -+/* Wireless SDIO Module */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_boot>; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vcc_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ max-frequency = <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 is connected to the Bluetooth module: */ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+/* This UART is brought out to the DB9 connector */ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb0_phy { -+ status = "okay"; -+ phy-supply = <&usb_pwr>; -+}; -+ -+&usb0 { -+ status = "okay"; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0017-ARM-dts-backport-gpio-binding-and-ethernet-assert-ti.patch b/projects/Amlogic/patches/u-boot/u-boot-0017-ARM-dts-backport-gpio-binding-and-ethernet-assert-ti.patch deleted file mode 100644 index f83e95426c..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0017-ARM-dts-backport-gpio-binding-and-ethernet-assert-ti.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 917ebcd4f6fc93fdfe4d08b51c39c50ef00c2b71 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 29 Dec 2020 06:45:02 +0000 -Subject: [PATCH 17/21] ARM: dts: backport gpio binding and ethernet assert - timing fixes for meson-gxbb-wetek.dtsi - -These changes are not in the Linux 5.10 device tree files. ---- - arch/arm/dts/meson-gxbb-wetek.dtsi | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/dts/meson-gxbb-wetek.dtsi b/arch/arm/dts/meson-gxbb-wetek.dtsi -index ad812854a1..10a4320885 100644 ---- a/arch/arm/dts/meson-gxbb-wetek.dtsi -+++ b/arch/arm/dts/meson-gxbb-wetek.dtsi -@@ -6,6 +6,7 @@ - */ - - #include "meson-gxbb.dtsi" -+#include - - / { - aliases { -@@ -147,7 +148,7 @@ - reg = <0>; - - reset-assert-us = <10000>; -- reset-deassert-us = <30000>; -+ reset-deassert-us = <80000>; - reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; - - interrupt-parent = <&gpio_intc>; --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0018-boards-amlogic-update-documentation-for-WeTek-Hub-Pl.patch b/projects/Amlogic/patches/u-boot/u-boot-0018-boards-amlogic-update-documentation-for-WeTek-Hub-Pl.patch deleted file mode 100644 index 6da2b6a209..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0018-boards-amlogic-update-documentation-for-WeTek-Hub-Pl.patch +++ /dev/null @@ -1,275 +0,0 @@ -From b3b5e711f8408ceef812201cd956025be2ab4542 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Fri, 18 Dec 2020 11:13:38 +0000 -Subject: [PATCH 18/21] boards: amlogic: update documentation for WeTek - Hub/Play2 - -Update the device matrix and add build instructions. - -Signed-off-by: Christian Hewitt ---- - board/amlogic/p200/MAINTAINERS | 5 +- - doc/board/amlogic/index.rst | 6 +- - doc/board/amlogic/wetek-hub.rst | 101 +++++++++++++++++++++++++++++ - doc/board/amlogic/wetek-play2.rst | 103 ++++++++++++++++++++++++++++++ - 4 files changed, 213 insertions(+), 2 deletions(-) - create mode 100644 doc/board/amlogic/wetek-hub.rst - create mode 100644 doc/board/amlogic/wetek-play2.rst - -diff --git a/board/amlogic/p200/MAINTAINERS b/board/amlogic/p200/MAINTAINERS -index 1df9b8b24b..f74d3cc4a4 100644 ---- a/board/amlogic/p200/MAINTAINERS -+++ b/board/amlogic/p200/MAINTAINERS -@@ -6,7 +6,10 @@ L: u-boot-amlogic@groups.io - F: board/amlogic/p200/ - F: configs/nanopi-k2_defconfig - F: configs/odroid-c2_defconfig --F: configs/p200_defconfig -+F: configs/wetek-hub_defconfig -+F: configs/wetek-play2_defconfig - F: doc/board/amlogic/p200.rst - F: doc/board/amlogic/nanopi-k2.rst - F: doc/board/amlogic/odroid-c2.rst -+F: doc/board/amlogic/wetek-hub.rst -+F: doc/board/amlogic/wetek-play2.rst -diff --git a/doc/board/amlogic/index.rst b/doc/board/amlogic/index.rst -index d4148b1a1e..2adfa6d65b 100644 ---- a/doc/board/amlogic/index.rst -+++ b/doc/board/amlogic/index.rst -@@ -19,6 +19,8 @@ This matrix concerns the actual source code version. - | | Nanopi-K2 | Khadas-VIM | Libretech-PC | | SEI510 | Khadas-VIM3 | Khadas-VIM3L | - | | P200 | LibreTech-CC v1 | WeTek Core2 | | | GT-King/Pro | Odroid-C4 | - | | P201 | LibreTech-AC v2 | | | | | | -+| | WeTek Hub | | | | | | | -+| | WeTek Play2| | | | | | | - +-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ - | UART | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | - +-------------------------------+-----------+-----------------+--------------+------------+------------+-------------+--------------+ -@@ -97,5 +99,7 @@ Board Documentation - sei510 - sei610 - u200 -- w400 - wetek-core2 -+ wetek-hub -+ wetek-play2 -+ w400 -diff --git a/doc/board/amlogic/wetek-hub.rst b/doc/board/amlogic/wetek-hub.rst -new file mode 100644 -index 0000000000..982dfc0650 ---- /dev/null -+++ b/doc/board/amlogic/wetek-hub.rst -@@ -0,0 +1,101 @@ -+U-Boot for WeTek Hub -+==================== -+ -+WeTek Hub is an Android/Linux STB with the following specifications: -+ -+ - Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz -+ - ARM Mali 450 GPU -+ - 1GB DDR3 SDRAM -+ - Gigabit Ethernet -+ - HDMI 2.0 4K/60Hz display -+ - 1x USB 2.0 -+ - eMMC -+ - microSD -+ - IR receiver -+ -+u-boot compilation -+================== -+ -+.. code-block:: bash -+ -+ $ export ARCH=arm -+ $ export CROSS_COMPILE=aarch64-none-elf- -+ $ make wetek-hub_defconfig -+ $ make -+ -+Image creation -+============== -+ -+Amlogic does not provide sources for the firmware and for tools needed -+to create the bootloader image, and WeTek have never publicly released -+the u-boot sources. These FIPs were generated from private sources: -+ -+https://github.com/LibreELEC/amlogic-boot-fip/tree/master/wetek-hub -+ -+.. code-block:: bash -+ -+ $ wget https://github.com/LibreELEC/amlogic-boot-fip/archive/master.zip -+ $ unzip master.zip -+ $ export FIPDIR=$PWD/amlogic-boot-fip/wetek-hub -+ -+Go back to the mainline U-Boot source tree then: -+ -+.. code-block:: bash -+ -+ $ mkdir fip -+ $ cp $FIPDIR/* fip/ -+ $ cp u-boot.bin fip/bl33.bin -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl30.bin \ -+ fip/zero_tmp \ -+ fip/bl30_zero.bin \ -+ fip/bl301.bin \ -+ fip/bl301_zero.bin \ -+ fip/bl30_new.bin \ -+ bl30 -+ -+ $ fip/fip_create \ -+ --bl30 fip/bl30_new.bin \ -+ --bl31 fip/bl31.img \ -+ --bl33 fip/bl33.bin \ -+ fip/fip.bin -+ -+ $ python fip/acs_tool.py fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 -+ -+ $ fip/blx_fix.sh \ -+ fip/bl2_acs.bin \ -+ fip/zero_tmp \ -+ fip/bl2_zero.bin \ -+ fip/bl21.bin \ -+ fip/bl21_zero.bin \ -+ fip/bl2_new.bin \ -+ bl2 -+ -+ $ cat fip/bl2_new.bin fip/fip.bin > fip/boot_new.bin -+ -+ $ fip/aml_encrypt_gxb --bootsig \ -+ --input fip/boot_new.bin -+ --output fip/u-boot.bin -+ -+and then write the image to SD with: -+ -+.. code-block:: bash -+ -+ $ DEV=/dev/your_sd_device -+ $ dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 -+ $ dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=1 count=444 -+ -+Bootnote -+======== -+ -+On GXBB devices BL1 checks for BL2 in sector 1 of emmc and sector 512 of -+SD and USB media. You can install mainline u-boot to the emmc device, but -+you cannot partition the emmc storage with MBR/GUID schemes as these will -+overwrite sector 1 breaking BL2. You can still partition and run an OS -+from emmc, but the device MUST boot from u-boot on SD card. The Amlogic -+u-boot works around this by using a custom partition scheme; MBR with all -+data structures offset to avoid sector 1. This limitation was removed in -+Amlogic GXL and newer SoCs which additionally check for BL2 in sector 512 -+on emmc allowing MBR/GUI structures to reside in sector 1 as normal with -+BL2 starting from sector 512. -diff --git a/doc/board/amlogic/wetek-play2.rst b/doc/board/amlogic/wetek-play2.rst -new file mode 100644 -index 0000000000..b1a58d4419 ---- /dev/null -+++ b/doc/board/amlogic/wetek-play2.rst -@@ -0,0 +1,103 @@ -+U-Boot for WeTek Play2 -+====================== -+ -+WeTek Play2 is an Android/Linux STB with the following specifications: -+ -+ - Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz -+ - ARM Mali 450 GPU -+ - 2GB DDR3 SDRAM -+ - Gigabit Ethernet -+ - HDMI 2.0 4K/60Hz display -+ - 2x USB 2.0 Host, 1x USB OTG -+ - eMMC, microSD -+ - IR receiver -+ - S/PDIF optical output -+ - DVB-S, DVB-T, or ATSC tuner module -+ -+u-boot compilation -+================== -+ -+.. code-block:: bash -+ -+ $ export ARCH=arm -+ $ export CROSS_COMPILE=aarch64-none-elf- -+ $ make wetek-play2_defconfig -+ $ make -+ -+Image creation -+============== -+ -+Amlogic does not provide sources for the firmware and for tools needed -+to create the bootloader image, and WeTek have never publicly released -+the u-boot sources. These FIPs were generated from private sources: -+ -+https://github.com/LibreELEC/amlogic-boot-fip/tree/master/wetek-play2 -+ -+.. code-block:: bash -+ -+ $ wget https://github.com/LibreELEC/amlogic-boot-fip/archive/master.zip -+ $ unzip master.zip -+ $ export FIPDIR=$PWD/amlogic-boot-fip/wetek-play2 -+ -+Go back to the mainline U-Boot source tree then: -+ -+.. code-block:: bash -+ -+ $ mkdir fip -+ $ cp $FIPDIR/* fip/ -+ $ cp u-boot.bin fip/bl33.bin -+ -+ $ sh fip/blx_fix.sh \ -+ fip/bl30.bin \ -+ fip/zero_tmp \ -+ fip/bl30_zero.bin \ -+ fip/bl301.bin \ -+ fip/bl301_zero.bin \ -+ fip/bl30_new.bin \ -+ bl30 -+ -+ $ fip/fip_create \ -+ --bl30 fip/bl30_new.bin \ -+ --bl31 fip/bl31.img \ -+ --bl32 fip/bl32.bin \ -+ --bl33 fip/bl33.bin \ -+ fip/fip.bin -+ -+ $ python fip/acs_tool.py fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0 -+ -+ $ fip/blx_fix.sh \ -+ fip/bl2_acs.bin \ -+ fip/zero_tmp \ -+ fip/bl2_zero.bin \ -+ fip/bl21.bin \ -+ fip/bl21_zero.bin \ -+ fip/bl2_new.bin \ -+ bl2 -+ -+ $ cat fip/bl2_new.bin fip/fip.bin > fip/boot_new.bin -+ -+ $ fip/aml_encrypt_gxb --bootsig \ -+ --input fip/boot_new.bin -+ --output fip/u-boot.bin -+ -+and then write the image to SD with: -+ -+.. code-block:: bash -+ -+ $ DEV=/dev/your_sd_device -+ $ dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1 -+ $ dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=1 count=444 -+ -+Bootnote -+======== -+ -+On GXBB devices BL1 checks for BL2 in sector 1 of emmc and sector 512 of -+SD and USB media. You can install mainline u-boot to the emmc device, but -+you cannot partition the emmc storage with MBR/GUID schemes as these will -+overwrite sector 1 breaking BL2. You can still partition and run an OS -+from emmc, but the device MUST boot from u-boot on SD card. The Amlogic -+u-boot works around this by using a custom partition scheme; MBR with all -+data structures offset to avoid sector 1. This limitation was removed in -+Amlogic GXL and newer SoCs which additionally check for BL2 in sector 512 -+on emmc allowing MBR/GUI structures to reside in sector 1 as normal with -+BL2 starting from sector 512. --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0019-boards-amlogic-add-WeTek-Hub-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0019-boards-amlogic-add-WeTek-Hub-defconfig.patch deleted file mode 100644 index 33cda33f50..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0019-boards-amlogic-add-WeTek-Hub-defconfig.patch +++ /dev/null @@ -1,87 +0,0 @@ -From af8d2d9e6ae2e50b19b9d41979704a0b33efb74b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sat, 28 Dec 2019 07:45:11 +0000 -Subject: [PATCH 19/21] boards: amlogic: add WeTek Hub defconfig - -Signed-of-by: Christian Hewitt ---- - configs/wetek-hub_defconfig | 67 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 67 insertions(+) - create mode 100644 configs/wetek-hub_defconfig - -diff --git a/configs/wetek-hub_defconfig b/configs/wetek-hub_defconfig -new file mode 100644 -index 0000000000..27daa0d85e ---- /dev/null -+++ b/configs/wetek-hub_defconfig -@@ -0,0 +1,67 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEBUG_UART_BASE=0xc81004c0 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" wetek" -+CONFIG_DEFAULT_DEVICE_TREE="meson-gxbb-wetek-hub" -+CONFIG_DEBUG_UART=y -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_ADC=y -+CONFIG_CMD_GPIO=y -+CONFIG_CMD_I2C=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_SARADC_MESON=y -+CONFIG_DM_I2C=y -+CONFIG_SYS_I2C_MESON=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_PHY=y -+CONFIG_MESON_GXBB_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_GXBB=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_SYSINFO=y -+CONFIG_SYSINFO_SMBIOS=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0020-boards-amlogic-add-WeTek-Play2-defconfig.patch b/projects/Amlogic/patches/u-boot/u-boot-0020-boards-amlogic-add-WeTek-Play2-defconfig.patch deleted file mode 100644 index 9d67ff5bd9..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0020-boards-amlogic-add-WeTek-Play2-defconfig.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 9e0867d82f5438d1c1d963782a011d4eb16463c9 Mon Sep 17 00:00:00 2001 -From: chewitt -Date: Sat, 28 Dec 2019 04:53:49 +0000 -Subject: [PATCH 20/21] boards: amlogic: add WeTek Play2 defconfig - -Signed-off-by: Christian Hewittt ---- - configs/wetek-play2_defconfig | 67 +++++++++++++++++++++++++++++++++++ - 1 file changed, 67 insertions(+) - create mode 100644 configs/wetek-play2_defconfig - -diff --git a/configs/wetek-play2_defconfig b/configs/wetek-play2_defconfig -new file mode 100644 -index 0000000000..204566bb6e ---- /dev/null -+++ b/configs/wetek-play2_defconfig -@@ -0,0 +1,67 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_MESON=y -+CONFIG_SYS_TEXT_BASE=0x01000000 -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_ENV_SIZE=0x2000 -+CONFIG_DM_GPIO=y -+CONFIG_DEBUG_UART_BASE=0xc81004c0 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_IDENT_STRING=" wetek" -+CONFIG_DEFAULT_DEVICE_TREE="meson-gxbb-wetek-play2" -+CONFIG_DEBUG_UART=y -+CONFIG_OF_BOARD_SETUP=y -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_MISC_INIT_R=y -+# CONFIG_CMD_BDI is not set -+# CONFIG_CMD_IMI is not set -+CONFIG_CMD_ADC=y -+CONFIG_CMD_GPIO=y -+CONFIG_CMD_I2C=y -+# CONFIG_CMD_LOADS is not set -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_REGULATOR=y -+CONFIG_OF_CONTROL=y -+CONFIG_SYS_RELOC_GD_ENV_ADDR=y -+CONFIG_NET_RANDOM_ETHADDR=y -+CONFIG_SARADC_MESON=y -+CONFIG_DM_I2C=y -+CONFIG_SYS_I2C_MESON=y -+CONFIG_DM_MMC=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_PHY_REALTEK=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_PHY=y -+CONFIG_MESON_GXBB_USB_PHY=y -+CONFIG_PINCTRL=y -+CONFIG_PINCTRL_MESON_GXBB=y -+CONFIG_POWER_DOMAIN=y -+CONFIG_MESON_EE_POWER_DOMAIN=y -+CONFIG_DM_REGULATOR=y -+CONFIG_DM_REGULATOR_FIXED=y -+CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_DM_RESET=y -+CONFIG_DEBUG_UART_ANNOUNCE=y -+CONFIG_DEBUG_UART_SKIP_INIT=y -+CONFIG_MESON_SERIAL=y -+CONFIG_SYSINFO=y -+CONFIG_SYSINFO_SMBIOS=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_KEYBOARD=y -+CONFIG_DM_VIDEO=y -+# CONFIG_VIDEO_BPP8 is not set -+# CONFIG_VIDEO_BPP16 is not set -+CONFIG_SYS_WHITE_ON_BLACK=y -+CONFIG_VIDEO_MESON=y -+CONFIG_VIDEO_DT_SIMPLEFB=y -+CONFIG_SPLASH_SCREEN=y -+CONFIG_SPLASH_SCREEN_ALIGN=y -+CONFIG_VIDEO_BMP_RLE8=y -+CONFIG_BMP_16BPP=y -+CONFIG_BMP_24BPP=y -+CONFIG_BMP_32BPP=y -+CONFIG_OF_LIBFDT_OVERLAY=y --- -2.17.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0021-fixup-wetek-dtsi.patch b/projects/Amlogic/patches/u-boot/u-boot-0021-fixup-wetek-dtsi.patch deleted file mode 100644 index 8b0c72e37e..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0021-fixup-wetek-dtsi.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4e721e722d7ae92eaddab3ea1d24439cfbf92d5a Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 7 Jan 2021 05:12:44 +0000 -Subject: [PATCH 21/21] fixup wetek dtsi - ---- - arch/arm/dts/meson-gxbb-wetek.dtsi | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm/dts/meson-gxbb-wetek.dtsi b/arch/arm/dts/meson-gxbb-wetek.dtsi -index 10a4320885..9c2f3c43ee 100644 ---- a/arch/arm/dts/meson-gxbb-wetek.dtsi -+++ b/arch/arm/dts/meson-gxbb-wetek.dtsi -@@ -146,6 +146,7 @@ - eth_phy0: ethernet-phy@0 { - /* Realtek RTL8211F (0x001cc916) */ - reg = <0>; -+ eee-broken-1000t; - - reset-assert-us = <10000>; - reset-deassert-us = <80000>; --- -2.17.1 -