diff --git a/projects/Amlogic/patches/u-boot/u-boot-0001-LOCAL-configs-meson64-prevent-stdout-stderr-on-video.patch b/projects/Amlogic/patches/u-boot/u-boot-0001-LOCAL-configs-meson64-prevent-stdout-stderr-on-video.patch index ab1df63604..947bad2859 100644 --- a/projects/Amlogic/patches/u-boot/u-boot-0001-LOCAL-configs-meson64-prevent-stdout-stderr-on-video.patch +++ b/projects/Amlogic/patches/u-boot/u-boot-0001-LOCAL-configs-meson64-prevent-stdout-stderr-on-video.patch @@ -1,7 +1,7 @@ -From f7a0409730c486cc4151be60537ca71c25e2bf69 Mon Sep 17 00:00:00 2001 +From db00d83004cdd497b491ce348f1ccd53f1394c9a Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 13 Nov 2020 02:09:36 +0000 -Subject: [PATCH 1/5] LOCAL: configs: meson64: prevent stdout/stderr on +Subject: [PATCH 1/6] LOCAL: configs: meson64: prevent stdout/stderr on videoconsole Several devices have CONFIG_VIDEO enabled which causes stdout/stderr @@ -14,7 +14,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/configs/meson64.h b/include/configs/meson64.h -index efab9a624d..0976774e5c 100644 +index efab9a624dc..0976774e5c8 100644 --- a/include/configs/meson64.h +++ b/include/configs/meson64.h @@ -28,7 +28,7 @@ diff --git a/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch b/projects/Amlogic/patches/u-boot/u-boot-0002-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch similarity index 95% rename from projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch rename to projects/Amlogic/patches/u-boot/u-boot-0002-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch index da7d7e5616..58c6cfed47 100644 --- a/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch +++ b/projects/Amlogic/patches/u-boot/u-boot-0002-FROMGIT-net-Add-Amlogic-GXL-MDIO-Mux-driver.patch @@ -1,7 +1,7 @@ -From 60eefe057501e5bc4bd7b9deffb7f5ccaa45aae7 Mon Sep 17 00:00:00 2001 +From 5bf96e879251fdbce4cab01c1efb1157070f6ffc Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 13 Dec 2023 10:30:12 +0100 -Subject: [PATCH 4/5] FROMGIT: net: Add Amlogic GXL MDIO Mux driver +Subject: [PATCH 2/6] FROMGIT: net: Add Amlogic GXL MDIO Mux driver Port the mdio-mux-meson-gxl.c Linux driver introduced in [1], and adapt it to U-Boot. @@ -21,7 +21,7 @@ Signed-off-by: Neil Armstrong create mode 100644 drivers/net/mdio_mux_meson_gxl.c diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig -index ebab4d9f2e..18ec910d12 100644 +index ebab4d9f2e5..18ec910d12f 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -988,4 +988,11 @@ config MDIO_MUX_MESON_G12A @@ -37,7 +37,7 @@ index ebab4d9f2e..18ec910d12 100644 + endif # NETDEVICES diff --git a/drivers/net/Makefile b/drivers/net/Makefile -index 1ce6fea323..3794609fd2 100644 +index 1ce6fea323c..3794609fd2f 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -58,6 +58,7 @@ obj-$(CONFIG_MCFFEC) += mcffec.o mcfmii.o @@ -50,7 +50,7 @@ index 1ce6fea323..3794609fd2 100644 obj-$(CONFIG_MDIO_SANDBOX) += mdio_sandbox.o diff --git a/drivers/net/mdio_mux_meson_gxl.c b/drivers/net/mdio_mux_meson_gxl.c new file mode 100644 -index 0000000000..8ef3ae598b +index 00000000000..8ef3ae598b7 --- /dev/null +++ b/drivers/net/mdio_mux_meson_gxl.c @@ -0,0 +1,138 @@ diff --git a/projects/Amlogic/patches/u-boot/u-boot-0002-LOCAL-configs-meson64-remove-amlogic-so-fdtdir-finds.patch b/projects/Amlogic/patches/u-boot/u-boot-0002-LOCAL-configs-meson64-remove-amlogic-so-fdtdir-finds.patch deleted file mode 100644 index a35c23cac9..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0002-LOCAL-configs-meson64-remove-amlogic-so-fdtdir-finds.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a9231a59ceb4b5025aa0e65599944a73b3a38257 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 22 Apr 2021 06:52:50 +0000 -Subject: [PATCH 2/5] LOCAL: configs: meson64: remove /amlogic so fdtdir finds - LE boot files - ---- - include/configs/meson64.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/configs/meson64.h b/include/configs/meson64.h -index 0976774e5c..8490091824 100644 ---- a/include/configs/meson64.h -+++ b/include/configs/meson64.h -@@ -133,7 +133,7 @@ - "pxefile_addr_r=" PXEFILE_ADDR_R "\0" \ - "fdtoverlay_addr_r=" FDTOVERLAY_ADDR_R "\0" \ - "ramdisk_addr_r=" RAMDISK_ADDR_R "\0" \ -- "fdtfile=amlogic/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ -+ "fdtfile=/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ - "dfu_alt_info=fitimage ram " KERNEL_ADDR_R " 0x4000000 \0" \ - BOOTENV - #endif --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch b/projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch similarity index 94% rename from projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch rename to projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch index e7a8b2cc1e..b1bd91adec 100644 --- a/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch +++ b/projects/Amlogic/patches/u-boot/u-boot-0003-FROMGIT-ARM-dts-sync-Amlogic-GX-DT-to-Linux-v6.4.patch @@ -1,7 +1,7 @@ -From 5f0a6294ad795b9644c2811469cca7c375bede6e Mon Sep 17 00:00:00 2001 +From f7cb3ada3688afbc79598b02c59a2e9c561fec7f Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 13 Dec 2023 10:30:13 +0100 -Subject: [PATCH 5/5] FROMGIT: ARM: dts: sync Amlogic GX DT to Linux v6.4 +Subject: [PATCH 3/6] FROMGIT: ARM: dts: sync Amlogic GX DT to Linux v6.4 Sync Amlogic GXBB, GXL & GXM DTs from Linux v6.4, and also switch to GXL MDIO MUX driver to adapt to DT change, @@ -41,7 +41,7 @@ Signed-off-by: Neil Armstrong 25 files changed, 196 insertions(+), 90 deletions(-) diff --git a/arch/arm/dts/meson-gx-libretech-pc.dtsi b/arch/arm/dts/meson-gx-libretech-pc.dtsi -index 2d7032f41e..4e84ab87cc 100644 +index 2d7032f41e4..4e84ab87cc7 100644 --- a/arch/arm/dts/meson-gx-libretech-pc.dtsi +++ b/arch/arm/dts/meson-gx-libretech-pc.dtsi @@ -17,7 +17,7 @@ @@ -63,7 +63,7 @@ index 2d7032f41e..4e84ab87cc 100644 #address-cells = <1>; #size-cells = <1>; diff --git a/arch/arm/dts/meson-gx.dtsi b/arch/arm/dts/meson-gx.dtsi -index 6b457b2c30..11f89bfecb 100644 +index 6b457b2c30a..11f89bfecb5 100644 --- a/arch/arm/dts/meson-gx.dtsi +++ b/arch/arm/dts/meson-gx.dtsi @@ -49,6 +49,12 @@ @@ -149,7 +149,7 @@ index 6b457b2c30..11f89bfecb 100644 }; }; diff --git a/arch/arm/dts/meson-gxbb-nanopi-k2.dts b/arch/arm/dts/meson-gxbb-nanopi-k2.dts -index 7273eed529..7d94160f58 100644 +index 7273eed5292..7d94160f580 100644 --- a/arch/arm/dts/meson-gxbb-nanopi-k2.dts +++ b/arch/arm/dts/meson-gxbb-nanopi-k2.dts @@ -385,9 +385,20 @@ @@ -175,7 +175,7 @@ index 7273eed529..7d94160f58 100644 /* 40-pin CON1 */ diff --git a/arch/arm/dts/meson-gxbb-odroidc2.dts b/arch/arm/dts/meson-gxbb-odroidc2.dts -index 201596247f..01356437a0 100644 +index 201596247fd..01356437a07 100644 --- a/arch/arm/dts/meson-gxbb-odroidc2.dts +++ b/arch/arm/dts/meson-gxbb-odroidc2.dts @@ -250,21 +250,6 @@ @@ -218,7 +218,7 @@ index 201596247f..01356437a0 100644 + }; }; diff --git a/arch/arm/dts/meson-gxbb.dtsi b/arch/arm/dts/meson-gxbb.dtsi -index 7c029f552a..12ef6e81c8 100644 +index 7c029f552a2..12ef6e81c8b 100644 --- a/arch/arm/dts/meson-gxbb.dtsi +++ b/arch/arm/dts/meson-gxbb.dtsi @@ -300,8 +300,8 @@ @@ -254,7 +254,7 @@ index 7c029f552a..12ef6e81c8 100644 mux { groups = "spi_ss0"; diff --git a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts -index 2d769203f6..213a0705eb 100644 +index 2d769203f67..213a0705ebd 100644 --- a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts +++ b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts @@ -298,7 +298,7 @@ @@ -267,7 +267,7 @@ index 2d769203f6..213a0705eb 100644 #size-cells = <1>; compatible = "jedec,spi-nor"; diff --git a/arch/arm/dts/meson-gxl-s905w-jethome-jethub-j80.dts b/arch/arm/dts/meson-gxl-s905w-jethome-jethub-j80.dts -index 6eafb90869..a18d6d241a 100644 +index 6eafb908695..a18d6d241a5 100644 --- a/arch/arm/dts/meson-gxl-s905w-jethome-jethub-j80.dts +++ b/arch/arm/dts/meson-gxl-s905w-jethome-jethub-j80.dts @@ -86,11 +86,11 @@ @@ -307,7 +307,7 @@ index 6eafb90869..a18d6d241a 100644 reg = <0x51>; status = "okay"; diff --git a/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts b/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts -index 60feac0179..02f81839d4 100644 +index 60feac0179c..02f81839d4e 100644 --- a/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts @@ -140,7 +140,6 @@ @@ -341,7 +341,7 @@ index 60feac0179..02f81839d4 100644 /* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ diff --git a/arch/arm/dts/meson-gxl-s905x-libretech-cc-v2.dts b/arch/arm/dts/meson-gxl-s905x-libretech-cc-v2.dts -index 93d8f8aff7..6c4e68e0e6 100644 +index 93d8f8aff70..6c4e68e0e62 100644 --- a/arch/arm/dts/meson-gxl-s905x-libretech-cc-v2.dts +++ b/arch/arm/dts/meson-gxl-s905x-libretech-cc-v2.dts @@ -284,7 +284,7 @@ @@ -362,7 +362,7 @@ index 93d8f8aff7..6c4e68e0e6 100644 }; diff --git a/arch/arm/dts/meson-gxl-s905x-p212.dts b/arch/arm/dts/meson-gxl-s905x-p212.dts -index 2602940c20..9b4ea6a493 100644 +index 2602940c207..9b4ea6a4939 100644 --- a/arch/arm/dts/meson-gxl-s905x-p212.dts +++ b/arch/arm/dts/meson-gxl-s905x-p212.dts @@ -7,11 +7,19 @@ @@ -453,7 +453,7 @@ index 2602940c20..9b4ea6a493 100644 &cec_AO { diff --git a/arch/arm/dts/meson-gxl-s905x-p212.dtsi b/arch/arm/dts/meson-gxl-s905x-p212.dtsi -index 05cb2f5e5c..a150cc0e18 100644 +index 05cb2f5e5c3..a150cc0e18f 100644 --- a/arch/arm/dts/meson-gxl-s905x-p212.dtsi +++ b/arch/arm/dts/meson-gxl-s905x-p212.dtsi @@ -97,6 +97,14 @@ @@ -499,7 +499,7 @@ index 05cb2f5e5c..a150cc0e18 100644 &uart_A { status = "okay"; diff --git a/arch/arm/dts/meson-gxl.dtsi b/arch/arm/dts/meson-gxl.dtsi -index c3ac531c4f..17bcfa4702 100644 +index c3ac531c4f8..17bcfa4702e 100644 --- a/arch/arm/dts/meson-gxl.dtsi +++ b/arch/arm/dts/meson-gxl.dtsi @@ -312,8 +312,8 @@ @@ -578,7 +578,7 @@ index c3ac531c4f..17bcfa4702 100644 }; diff --git a/arch/arm/dts/meson-gxm-khadas-vim2.dts b/arch/arm/dts/meson-gxm-khadas-vim2.dts -index 18a4b7a6c5..74897a1548 100644 +index 18a4b7a6c5d..74897a15489 100644 --- a/arch/arm/dts/meson-gxm-khadas-vim2.dts +++ b/arch/arm/dts/meson-gxm-khadas-vim2.dts @@ -52,10 +52,11 @@ @@ -625,7 +625,7 @@ index 18a4b7a6c5..74897a1548 100644 #size-cells = <1>; compatible = "winbond,w25q16", "jedec,spi-nor"; diff --git a/arch/arm/dts/meson-gxm-wetek-core2.dts b/arch/arm/dts/meson-gxm-wetek-core2.dts -index 1e7f77f9b5..f8c40340b9 100644 +index 1e7f77f9b53..f8c40340b9c 100644 --- a/arch/arm/dts/meson-gxm-wetek-core2.dts +++ b/arch/arm/dts/meson-gxm-wetek-core2.dts @@ -45,8 +45,6 @@ @@ -638,7 +638,7 @@ index 1e7f77f9b5..f8c40340b9 100644 button-power { diff --git a/configs/beelink-gt1-ultimate_defconfig b/configs/beelink-gt1-ultimate_defconfig -index 1313dde92f..00fdad8544 100644 +index 1313dde92f5..00fdad8544b 100644 --- a/configs/beelink-gt1-ultimate_defconfig +++ b/configs/beelink-gt1-ultimate_defconfig @@ -46,7 +46,7 @@ CONFIG_PHY_REALTEK=y @@ -651,7 +651,7 @@ index 1313dde92f..00fdad8544 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/jethub_j80_defconfig b/configs/jethub_j80_defconfig -index b370e5d1d4..15e410de82 100644 +index b370e5d1d4d..15e410de829 100644 --- a/configs/jethub_j80_defconfig +++ b/configs/jethub_j80_defconfig @@ -54,7 +54,7 @@ CONFIG_PHY_MESON_GXL=y @@ -664,7 +664,7 @@ index b370e5d1d4..15e410de82 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/khadas-vim2_defconfig b/configs/khadas-vim2_defconfig -index 28e9052245..59ef33723e 100644 +index 28e90522451..59ef33723e4 100644 --- a/configs/khadas-vim2_defconfig +++ b/configs/khadas-vim2_defconfig @@ -51,7 +51,7 @@ CONFIG_PHY_REALTEK=y @@ -677,7 +677,7 @@ index 28e9052245..59ef33723e 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/khadas-vim_defconfig b/configs/khadas-vim_defconfig -index d27ab6f590..5ed7c1a408 100644 +index d27ab6f5907..5ed7c1a4083 100644 --- a/configs/khadas-vim_defconfig +++ b/configs/khadas-vim_defconfig @@ -45,7 +45,7 @@ CONFIG_PHY_MESON_GXL=y @@ -690,7 +690,7 @@ index d27ab6f590..5ed7c1a408 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig -index bc17b423a2..f0ab19580c 100644 +index bc17b423a2d..f0ab19580c6 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -57,7 +57,7 @@ CONFIG_PHY_MESON_GXL=y @@ -703,7 +703,7 @@ index bc17b423a2..f0ab19580c 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig -index baa9b1b3db..bb1a37a0cd 100644 +index baa9b1b3dbc..bb1a37a0cda 100644 --- a/configs/libretech-cc_defconfig +++ b/configs/libretech-cc_defconfig @@ -44,7 +44,7 @@ CONFIG_PHY_MESON_GXL=y @@ -716,7 +716,7 @@ index baa9b1b3db..bb1a37a0cd 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-cc_v2_defconfig b/configs/libretech-cc_v2_defconfig -index b1c267a791..8949e240c9 100644 +index b1c267a7917..8949e240c93 100644 --- a/configs/libretech-cc_v2_defconfig +++ b/configs/libretech-cc_v2_defconfig @@ -52,7 +52,7 @@ CONFIG_PHY_MESON_GXL=y @@ -729,7 +729,7 @@ index b1c267a791..8949e240c9 100644 CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig -index cd138d696e..a5dc3115fc 100644 +index cd138d696e7..a5dc3115fcb 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -53,7 +53,7 @@ CONFIG_PHY_REALTEK=y @@ -742,7 +742,7 @@ index cd138d696e..a5dc3115fc 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig -index dabb4ca4ec..68f462eeff 100644 +index dabb4ca4ece..68f462eeff0 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -52,7 +52,7 @@ CONFIG_PHY_REALTEK=y @@ -755,7 +755,7 @@ index dabb4ca4ec..68f462eeff 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/p212_defconfig b/configs/p212_defconfig -index b90391d9b5..6b73607d64 100644 +index b90391d9b5f..6b73607d641 100644 --- a/configs/p212_defconfig +++ b/configs/p212_defconfig @@ -40,7 +40,7 @@ CONFIG_PHY_MESON_GXL=y @@ -768,7 +768,7 @@ index b90391d9b5..6b73607d64 100644 CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/wetek-core2_defconfig b/configs/wetek-core2_defconfig -index 9bf3de9e7a..01ffb8bbd7 100644 +index 9bf3de9e7aa..01ffb8bbd75 100644 --- a/configs/wetek-core2_defconfig +++ b/configs/wetek-core2_defconfig @@ -46,7 +46,7 @@ CONFIG_PHY_REALTEK=y diff --git a/projects/Amlogic/patches/u-boot/u-boot-0003-LOCAL-board-amlogic-odroid-n2-remove-amlogic-prefix-.patch b/projects/Amlogic/patches/u-boot/u-boot-0003-LOCAL-board-amlogic-odroid-n2-remove-amlogic-prefix-.patch deleted file mode 100644 index 9e221df736..0000000000 --- a/projects/Amlogic/patches/u-boot/u-boot-0003-LOCAL-board-amlogic-odroid-n2-remove-amlogic-prefix-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 95d719fb5565ae6eac12af1b63bfda78d7028ef5 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 3 Aug 2021 18:42:55 +0000 -Subject: [PATCH 3/5] LOCAL: board: amlogic: odroid-n2: remove /amlogic/ prefix - for dtb path - -Remove the /amlogic/ prefix to align with current LE dtb locations. - -Signed-off-by: Christian Hewitt ---- - board/amlogic/odroid-n2/odroid-n2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c -index 2135457edd..ec1f4efc11 100644 ---- a/board/amlogic/odroid-n2/odroid-n2.c -+++ b/board/amlogic/odroid-n2/odroid-n2.c -@@ -63,7 +63,7 @@ static void odroid_set_fdtfile(char *soc, char *variant) - { - char s[128]; - -- snprintf(s, sizeof(s), "amlogic/meson-%s-odroid-%s.dtb", soc, variant); -+ snprintf(s, sizeof(s), "meson-%s-odroid-%s.dtb", soc, variant); - env_set("fdtfile", s); - } - --- -2.34.1 - diff --git a/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-board-amlogic-fix-buffler-overflow-in-serial.patch b/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-board-amlogic-fix-buffler-overflow-in-serial.patch new file mode 100644 index 0000000000..f201006c21 --- /dev/null +++ b/projects/Amlogic/patches/u-boot/u-boot-0004-FROMGIT-board-amlogic-fix-buffler-overflow-in-serial.patch @@ -0,0 +1,269 @@ +From f1ef120a45f47ce8f2a2fd554e4fa9d9a14ed42e Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Wed, 20 Mar 2024 09:46:11 +0100 +Subject: [PATCH 4/6] FROMGIT: board: amlogic: fix buffler overflow in serial, + mac & usid read + +While meson_sm_read_efuse() doesn't overflow, the string is not +zero terminated and env_set*() will buffer overflow and add random +characters to environment. + +Acked-by: Viacheslav Bocharov +Link: https://lore.kernel.org/r/20240320-u-boot-fix-p200-serial-v2-1-972be646a301@linaro.org +Signed-off-by: Neil Armstrong +--- + board/amlogic/beelink-s922x/beelink-s922x.c | 3 ++- + board/amlogic/jethub-j100/jethub-j100.c | 3 ++- + board/amlogic/jethub-j80/jethub-j80.c | 9 ++++++--- + board/amlogic/odroid-n2/odroid-n2.c | 3 ++- + board/amlogic/p200/p200.c | 6 ++++-- + board/amlogic/p201/p201.c | 6 ++++-- + board/amlogic/p212/p212.c | 6 ++++-- + board/amlogic/q200/q200.c | 6 ++++-- + board/amlogic/vim3/vim3.c | 3 ++- + 9 files changed, 30 insertions(+), 15 deletions(-) + +diff --git a/board/amlogic/beelink-s922x/beelink-s922x.c b/board/amlogic/beelink-s922x/beelink-s922x.c +index adae27fc7e7..c2776310a3d 100644 +--- a/board/amlogic/beelink-s922x/beelink-s922x.c ++++ b/board/amlogic/beelink-s922x/beelink-s922x.c +@@ -20,7 +20,7 @@ + + int misc_init_r(void) + { +- u8 mac_addr[MAC_ADDR_LEN]; ++ u8 mac_addr[MAC_ADDR_LEN + 1]; + char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; + ssize_t len; + +@@ -41,6 +41,7 @@ int misc_init_r(void) + tmp[2] = '\0'; + mac_addr[i] = hextoul(tmp, NULL); + } ++ mac_addr[MAC_ADDR_LEN] = '\0'; + + if (is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); +diff --git a/board/amlogic/jethub-j100/jethub-j100.c b/board/amlogic/jethub-j100/jethub-j100.c +index 6a2c4ad4c3c..010fc0df7d1 100644 +--- a/board/amlogic/jethub-j100/jethub-j100.c ++++ b/board/amlogic/jethub-j100/jethub-j100.c +@@ -17,7 +17,7 @@ + + int misc_init_r(void) + { +- u8 mac_addr[ARP_HLEN]; ++ u8 mac_addr[ARP_HLEN + 1]; + char serial[SM_SERIAL_SIZE]; + u32 sid; + +@@ -34,6 +34,7 @@ int misc_init_r(void) + mac_addr[3] = (sid >> 16) & 0xff; + mac_addr[4] = (sid >> 8) & 0xff; + mac_addr[5] = (sid >> 0) & 0xff; ++ mac_addr[ARP_HLEN] = '\0'; + + eth_env_set_enetaddr("ethaddr", mac_addr); + } +diff --git a/board/amlogic/jethub-j80/jethub-j80.c b/board/amlogic/jethub-j80/jethub-j80.c +index 185880de139..0b781666e98 100644 +--- a/board/amlogic/jethub-j80/jethub-j80.c ++++ b/board/amlogic/jethub-j80/jethub-j80.c +@@ -27,9 +27,9 @@ + + int misc_init_r(void) + { +- u8 mac_addr[EFUSE_MAC_SIZE]; +- char serial[EFUSE_SN_SIZE]; +- char usid[EFUSE_USID_SIZE]; ++ u8 mac_addr[EFUSE_MAC_SIZE + 1]; ++ char serial[EFUSE_SN_SIZE + 1]; ++ char usid[EFUSE_USID_SIZE + 1]; + ssize_t len; + unsigned int adcval; + int ret; +@@ -37,6 +37,7 @@ int misc_init_r(void) + if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { + len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, + mac_addr, EFUSE_MAC_SIZE); ++ mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); + else +@@ -46,6 +47,7 @@ int misc_init_r(void) + if (!env_get("serial")) { + len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, + EFUSE_SN_SIZE); ++ serial[len] = '\0'; + if (len == EFUSE_SN_SIZE) + env_set("serial", serial); + } +@@ -53,6 +55,7 @@ int misc_init_r(void) + if (!env_get("usid")) { + len = meson_sm_read_efuse(EFUSE_USID_OFFSET, usid, + EFUSE_USID_SIZE); ++ usid[len] = '\0'; + if (len == EFUSE_USID_SIZE) + env_set("usid", usid); + } +diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c +index 2135457edd9..a4bcc62174a 100644 +--- a/board/amlogic/odroid-n2/odroid-n2.c ++++ b/board/amlogic/odroid-n2/odroid-n2.c +@@ -107,7 +107,7 @@ static int odroid_detect_variant(void) + + int misc_init_r(void) + { +- u8 mac_addr[MAC_ADDR_LEN]; ++ u8 mac_addr[MAC_ADDR_LEN + 1]; + char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; + ssize_t len; + +@@ -128,6 +128,7 @@ int misc_init_r(void) + tmp[2] = '\0'; + mac_addr[i] = hextoul(tmp, NULL); + } ++ mac_addr[MAC_ADDR_LEN] = '\0'; + + if (is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); +diff --git a/board/amlogic/p200/p200.c b/board/amlogic/p200/p200.c +index 7c432f9d281..769e2735d27 100644 +--- a/board/amlogic/p200/p200.c ++++ b/board/amlogic/p200/p200.c +@@ -21,13 +21,14 @@ + + int misc_init_r(void) + { +- u8 mac_addr[EFUSE_MAC_SIZE]; +- char serial[EFUSE_SN_SIZE]; ++ u8 mac_addr[EFUSE_MAC_SIZE + 1]; ++ char serial[EFUSE_SN_SIZE + 1]; + ssize_t len; + + if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { + len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, + mac_addr, EFUSE_MAC_SIZE); ++ mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); + } +@@ -35,6 +36,7 @@ int misc_init_r(void) + if (!env_get("serial#")) { + len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, + EFUSE_SN_SIZE); ++ serial[len] = '\0'; + if (len == EFUSE_SN_SIZE) + env_set("serial#", serial); + } +diff --git a/board/amlogic/p201/p201.c b/board/amlogic/p201/p201.c +index 7c432f9d281..769e2735d27 100644 +--- a/board/amlogic/p201/p201.c ++++ b/board/amlogic/p201/p201.c +@@ -21,13 +21,14 @@ + + int misc_init_r(void) + { +- u8 mac_addr[EFUSE_MAC_SIZE]; +- char serial[EFUSE_SN_SIZE]; ++ u8 mac_addr[EFUSE_MAC_SIZE + 1]; ++ char serial[EFUSE_SN_SIZE + 1]; + ssize_t len; + + if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { + len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, + mac_addr, EFUSE_MAC_SIZE); ++ mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); + } +@@ -35,6 +36,7 @@ int misc_init_r(void) + if (!env_get("serial#")) { + len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, + EFUSE_SN_SIZE); ++ serial[len] = '\0'; + if (len == EFUSE_SN_SIZE) + env_set("serial#", serial); + } +diff --git a/board/amlogic/p212/p212.c b/board/amlogic/p212/p212.c +index fcef90bce56..f6e60ae3af1 100644 +--- a/board/amlogic/p212/p212.c ++++ b/board/amlogic/p212/p212.c +@@ -22,13 +22,14 @@ + + int misc_init_r(void) + { +- u8 mac_addr[EFUSE_MAC_SIZE]; +- char serial[EFUSE_SN_SIZE]; ++ u8 mac_addr[EFUSE_MAC_SIZE + 1]; ++ char serial[EFUSE_SN_SIZE + 1]; + ssize_t len; + + if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { + len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, + mac_addr, EFUSE_MAC_SIZE); ++ mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); + else +@@ -38,6 +39,7 @@ int misc_init_r(void) + if (!env_get("serial#")) { + len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, + EFUSE_SN_SIZE); ++ serial[len] = '\0'; + if (len == EFUSE_SN_SIZE) + env_set("serial#", serial); + } +diff --git a/board/amlogic/q200/q200.c b/board/amlogic/q200/q200.c +index 3aa6d8f200e..47f1566a9d3 100644 +--- a/board/amlogic/q200/q200.c ++++ b/board/amlogic/q200/q200.c +@@ -22,13 +22,14 @@ + + int misc_init_r(void) + { +- u8 mac_addr[EFUSE_MAC_SIZE]; +- char serial[EFUSE_SN_SIZE]; ++ u8 mac_addr[EFUSE_MAC_SIZE + 1]; ++ char serial[EFUSE_SN_SIZE + 1]; + ssize_t len; + + if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { + len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, + mac_addr, EFUSE_MAC_SIZE); ++ mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); + else +@@ -38,6 +39,7 @@ int misc_init_r(void) + if (!env_get("serial#")) { + len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial, + EFUSE_SN_SIZE); ++ serial[len] = '\0'; + if (len == EFUSE_SN_SIZE) + env_set("serial#", serial); + } +diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c +index 8bdfb302f72..43d7a8e84f6 100644 +--- a/board/amlogic/vim3/vim3.c ++++ b/board/amlogic/vim3/vim3.c +@@ -151,7 +151,7 @@ int meson_ft_board_setup(void *blob, struct bd_info *bd) + + int misc_init_r(void) + { +- u8 mac_addr[MAC_ADDR_LEN]; ++ u8 mac_addr[MAC_ADDR_LEN + 1]; + char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; + char serial_string[EFUSE_MAC_SIZE + 1]; + ssize_t len; +@@ -169,6 +169,7 @@ int misc_init_r(void) + tmp[2] = '\0'; + mac_addr[i] = hextoul(tmp, NULL); + } ++ mac_addr[MAC_ADDR_LEN] = '\0'; + + if (is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); +-- +2.34.1 + diff --git a/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-fix-Ethernet-on-WeTek-Hub-Play2.patch b/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-fix-Ethernet-on-WeTek-Hub-Play2.patch new file mode 100644 index 0000000000..01e405ff8e --- /dev/null +++ b/projects/Amlogic/patches/u-boot/u-boot-0005-FROMGIT-ARM-dts-fix-Ethernet-on-WeTek-Hub-Play2.patch @@ -0,0 +1,44 @@ +From 20c327bd28ce28a81bb8524b68c23c029b6df96d Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Thu, 7 Mar 2024 16:11:17 +0000 +Subject: [PATCH 5/6] FROMGIT: ARM: dts: fix Ethernet on WeTek Hub/Play2 + +Placing the snps,reset content needed for Ethernet to probe in a common uboot.dtsi +results in the content not being used and broken Ethernet. Fix this by creating two +board specific dtsi files with the right content. + +Signed-off-by: Christian Hewitt +--- + arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi | 14 ++++++++++++++ + ...oot.dtsi => meson-gxbb-wetek-play2-u-boot.dtsi} | 0 + 2 files changed, 14 insertions(+) + create mode 100644 arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi + rename arch/arm/dts/{meson-gxbb-wetek-u-boot.dtsi => meson-gxbb-wetek-play2-u-boot.dtsi} (100%) + +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 00000000000..3675ffb701f +--- /dev/null ++++ b/arch/arm/dts/meson-gxbb-wetek-hub-u-boot.dtsi +@@ -0,0 +1,14 @@ ++ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2019 BayLibre, SAS. ++ * Author: Neil Armstrong ++ */ ++ ++#include "meson-gx-u-boot.dtsi" ++ ++ðmac { ++ snps,reset-gpio = <&gpio GPIOZ_14 0>; ++ snps,reset-delays-us = <0 10000 1000000>; ++ snps,reset-active-low; ++}; +diff --git a/arch/arm/dts/meson-gxbb-wetek-u-boot.dtsi b/arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi +similarity index 100% +rename from arch/arm/dts/meson-gxbb-wetek-u-boot.dtsi +rename to arch/arm/dts/meson-gxbb-wetek-play2-u-boot.dtsi +-- +2.34.1 + diff --git a/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-board-amlogic-add-meson_generate_serial_etha.patch b/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-board-amlogic-add-meson_generate_serial_etha.patch new file mode 100644 index 0000000000..c9e16713fa --- /dev/null +++ b/projects/Amlogic/patches/u-boot/u-boot-0006-FROMGIT-board-amlogic-add-meson_generate_serial_etha.patch @@ -0,0 +1,30 @@ +From a915f25cf7f89f056dd2d0cdcbc2f1f1787ae5c0 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sat, 23 Mar 2024 09:59:30 +0000 +Subject: [PATCH 6/6] FROMGIT: board: amlogic: add + meson_generate_serial_ethaddr fallback to p200 + +Add a fall-back method to generate ethaddr from CPU serial on p200 boards +if the MAC cannot be read from efuse. + +Signed-off-by: Christian Hewitt +--- + board/amlogic/p200/p200.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/board/amlogic/p200/p200.c b/board/amlogic/p200/p200.c +index 769e2735d27..754242e4a9f 100644 +--- a/board/amlogic/p200/p200.c ++++ b/board/amlogic/p200/p200.c +@@ -31,6 +31,8 @@ int misc_init_r(void) + mac_addr[len] = '\0'; + if (len == EFUSE_MAC_SIZE && is_valid_ethaddr(mac_addr)) + eth_env_set_enetaddr("ethaddr", mac_addr); ++ else ++ meson_generate_serial_ethaddr(); + } + + if (!env_get("serial#")) { +-- +2.34.1 +