From 750c9864b768a0936e55ae4983889546a5c79ba1 Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Fri, 7 Mar 2025 09:50:05 +0100 Subject: [PATCH 1/6] mksklipad50: devicetree cleanups --- .../rockchip64-6.12/dt/rk3328-mksklipad50.dts | 8 ++++---- .../rockchip64-6.14/dt/rk3328-mksklipad50.dts | 8 ++++---- .../02-rk3328-mksklipad50-add-uboot-dts.patch | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/patch/kernel/archive/rockchip64-6.12/dt/rk3328-mksklipad50.dts b/patch/kernel/archive/rockchip64-6.12/dt/rk3328-mksklipad50.dts index 56be1bcf5078..1bb606b704a1 100644 --- a/patch/kernel/archive/rockchip64-6.12/dt/rk3328-mksklipad50.dts +++ b/patch/kernel/archive/rockchip64-6.12/dt/rk3328-mksklipad50.dts @@ -14,8 +14,8 @@ compatible = "mks,rk3328-mksklipad50", "mks,rk3328-mkspi", "rockchip,rk3328"; aliases { - ethernet0 = "/ethernet@ff540000"; - ethernet1 = "/ethernet@ff550000"; + ethernet0 = &gmac2io; + ethernet1 = &gmac2phy; mmc0 = &sdmmc; mmc1 = &emmc; }; @@ -314,7 +314,7 @@ compatible = "rockchip,rk805"; reg = <0x18>; interrupt-parent = <&gpio1>; - interrupts = ; + interrupts = <24 IRQ_TYPE_LEVEL_LOW>; #clock-cells = <1>; clock-output-names = "xin32k", "rk805-clkout2"; gpio-controller; @@ -423,7 +423,7 @@ }; &pwm3 { - interrupts = ; + interrupts = ; }; &io_domains { diff --git a/patch/kernel/archive/rockchip64-6.14/dt/rk3328-mksklipad50.dts b/patch/kernel/archive/rockchip64-6.14/dt/rk3328-mksklipad50.dts index 56be1bcf5078..1bb606b704a1 100644 --- a/patch/kernel/archive/rockchip64-6.14/dt/rk3328-mksklipad50.dts +++ b/patch/kernel/archive/rockchip64-6.14/dt/rk3328-mksklipad50.dts @@ -14,8 +14,8 @@ compatible = "mks,rk3328-mksklipad50", "mks,rk3328-mkspi", "rockchip,rk3328"; aliases { - ethernet0 = "/ethernet@ff540000"; - ethernet1 = "/ethernet@ff550000"; + ethernet0 = &gmac2io; + ethernet1 = &gmac2phy; mmc0 = &sdmmc; mmc1 = &emmc; }; @@ -314,7 +314,7 @@ compatible = "rockchip,rk805"; reg = <0x18>; interrupt-parent = <&gpio1>; - interrupts = ; + interrupts = <24 IRQ_TYPE_LEVEL_LOW>; #clock-cells = <1>; clock-output-names = "xin32k", "rk805-clkout2"; gpio-controller; @@ -423,7 +423,7 @@ }; &pwm3 { - interrupts = ; + interrupts = ; }; &io_domains { diff --git a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch b/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch index 294ab3f91472..7f88f3f9e666 100644 --- a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch +++ b/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch @@ -1,12 +1,12 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thorsten Maerz -Date: Fri, 31 Jan 2025 10:35:20 +0100 +Date: Thu, 06 Mar 2025 18:25:31 +0100 Subject: feat: Add u-boot dts for MKSKLIPAD50 board --- diff --git a/arch/arm/dts/rk3328-mksklipad50.dts b/arch/arm/dts/rk3328-mksklipad50.dts --- a/arch/arm/dts/rk3328-mksklipad50.dts 1970-01-01 01:00:00.000000000 +0100 -+++ b/arch/arm/dts/rk3328-mksklipad50.dts 2025-01-31 10:35:20.328782652 +0100 ++++ b/arch/arm/dts/rk3328-mksklipad50.dts 2025-03-06 18:25:31.937819640 +0100 @@ -0,0 +1,569 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -23,8 +23,8 @@ diff --git a/arch/arm/dts/rk3328-mksklipad50.dts b/arch/arm/dts/rk3328-mksklipad + compatible = "mks,rk3328-mksklipad50", "mks,rk3328-mkspi", "rockchip,rk3328"; + + aliases { -+ ethernet0 = "/ethernet@ff540000"; -+ ethernet1 = "/ethernet@ff550000"; ++ ethernet0 = &gmac2io; ++ ethernet1 = &gmac2phy; + mmc0 = &sdmmc; + mmc1 = &emmc; + }; @@ -286,7 +286,7 @@ diff --git a/arch/arm/dts/rk3328-mksklipad50.dts b/arch/arm/dts/rk3328-mksklipad + compatible = "rockchip,rk805"; + reg = <0x18>; + interrupt-parent = <&gpio1>; -+ interrupts = ; ++ interrupts = <24 IRQ_TYPE_LEVEL_LOW>; + #clock-cells = <1>; + clock-output-names = "xin32k", "rk805-clkout2"; + gpio-controller; @@ -395,7 +395,7 @@ diff --git a/arch/arm/dts/rk3328-mksklipad50.dts b/arch/arm/dts/rk3328-mksklipad +}; + +&pwm3 { -+ interrupts = ; ++ interrupts = ; +}; + +&io_domains { From 13d2c520ab68224c56ed1b24e433dbbfa7448a4e Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Fri, 7 Mar 2025 10:36:22 +0100 Subject: [PATCH 2/6] mksklipad50: switch to uboot v2025.01 Fixes loading initramfs into EFI memory region, leading to errors "efi_free_pool: illegal free". Which may be the cause for these bootloops: https://github.com/armbian/build/pull/7883#issuecomment-2694110296 See also: https://lore.kernel.org/all/d3f3fc7f-b29a-4503-9fe0-97468bbe1f71@gmx.de/ --- config/boards/mksklipad50.conf | 3 +++ .../01-rk3328-mksklipad50-add-defconfig.patch | 2 +- .../02-rk3328-mksklipad50-add-uboot-dts.patch | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) rename patch/u-boot/{u-boot-rockchip64 => v2025.01}/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch (98%) rename patch/u-boot/{u-boot-rockchip64 => v2025.01}/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch (97%) diff --git a/config/boards/mksklipad50.conf b/config/boards/mksklipad50.conf index 2f7c9e71209d..5ba4cc900847 100644 --- a/config/boards/mksklipad50.conf +++ b/config/boards/mksklipad50.conf @@ -10,3 +10,6 @@ BOOT_LOGO="desktop" MODULES="pinctrl-rk805 ads7846 spidev" BOOTFS_TYPE="fat" PACKAGE_LIST_BOARD="build-essential usb-modeswitch" + +BOOTBRANCH='tag:v2025.01' +BOOTPATCHDIR='v2025.01' diff --git a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch b/patch/u-boot/v2025.01/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch similarity index 98% rename from patch/u-boot/u-boot-rockchip64/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch rename to patch/u-boot/v2025.01/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch index 5310ec16588f..bc86ea1bf2e4 100644 --- a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch +++ b/patch/u-boot/v2025.01/board_mksklipad50/01-rk3328-mksklipad50-add-defconfig.patch @@ -21,7 +21,7 @@ index 0000000000..1514ee63bb +CONFIG_SPL_GPIO=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_OFFSET=0x3F8000 -+CONFIG_DEFAULT_DEVICE_TREE="rk3328-mksklipad50" ++CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3328-mksklipad50" +CONFIG_ROCKCHIP_RK3328=y +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y +CONFIG_TPL_LIBCOMMON_SUPPORT=y diff --git a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch b/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch similarity index 97% rename from patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch rename to patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch index 7f88f3f9e666..04d6ab3858a7 100644 --- a/patch/u-boot/u-boot-rockchip64/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch +++ b/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch @@ -4,10 +4,10 @@ Date: Thu, 06 Mar 2025 18:25:31 +0100 Subject: feat: Add u-boot dts for MKSKLIPAD50 board --- -diff --git a/arch/arm/dts/rk3328-mksklipad50.dts b/arch/arm/dts/rk3328-mksklipad50.dts ---- a/arch/arm/dts/rk3328-mksklipad50.dts 1970-01-01 01:00:00.000000000 +0100 -+++ b/arch/arm/dts/rk3328-mksklipad50.dts 2025-03-06 18:25:31.937819640 +0100 -@@ -0,0 +1,569 @@ +diff --git a/dts/upstream/src/arm64/rockchip/rk3328-mksklipad50.dts b/dts/upstream/src/arm64/rockchip/rk3328-mksklipad50.dts +--- a/dts/upstream/src/arm64/rockchip/rk3328-mksklipad50.dts 1970-01-01 01:00:00.000000000 +0100 ++++ b/dts/upstream/src/arm64/rockchip/rk3328-mksklipad50.dts 2025-03-06 18:25:31.937819640 +0100 +@@ -0,0 +1,571 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Based on rk3328-roc-cc.dtb from original MKS-Klipad50 image From 8bd7049291cc62267b84f9da35e44e13134182d7 Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Thu, 6 Mar 2025 18:46:02 +0100 Subject: [PATCH 3/6] mksklipad50: uboot2025: generate trust.ini (bl31.elf) --- .../04-rk3328-mksklipad50-add-trust-ini.patch | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 patch/u-boot/v2025.01/board_mksklipad50/04-rk3328-mksklipad50-add-trust-ini.patch diff --git a/patch/u-boot/v2025.01/board_mksklipad50/04-rk3328-mksklipad50-add-trust-ini.patch b/patch/u-boot/v2025.01/board_mksklipad50/04-rk3328-mksklipad50-add-trust-ini.patch new file mode 100644 index 000000000000..ca3b1c3509ae --- /dev/null +++ b/patch/u-boot/v2025.01/board_mksklipad50/04-rk3328-mksklipad50-add-trust-ini.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thorsten Maerz +Date: Thu, 06 Mar 2025 11:09:00 +0100 +Subject: Add uboot trust.ini (bl31.elf) + +Build trust.ini (required for uboot) +--- + +diff --git a/trust.ini b/trust.ini +new file mode 100644 +index 0000000..4af021a +--- /dev/null ++++ b/trust.ini +@@ -0,0 +1,15 @@ ++[VERSION] ++MAJOR=1 ++MINOR=0 ++[BL30_OPTION] ++SEC=0 ++[BL31_OPTION] ++SEC=1 ++PATH=bl31.elf ++ADDR=0x10000 ++[BL32_OPTION] ++SEC=0 ++[BL33_OPTION] ++SEC=0 ++[OUTPUT] ++PATH=trust.bin From 4f56ac20b82399adfdbe8a3e29dec5b305113532 Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Thu, 6 Mar 2025 18:41:42 +0100 Subject: [PATCH 4/6] mksklipad50: uboot2025: fix usb dwc2-otg/dwc3-host compile RK3328 board with dwc2-otg and dwc3-host run into "multiple definition of 'dm_usb_gadget_handle_interrupts'" See https://lore.kernel.org/u-boot/7805b8d0-fb7c-41d5-8d74-f85dfd40233a@kwiboo.se/ --- .../03-rk3328-mksklipad50-uboot-dwc3.patch | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 patch/u-boot/v2025.01/board_mksklipad50/03-rk3328-mksklipad50-uboot-dwc3.patch diff --git a/patch/u-boot/v2025.01/board_mksklipad50/03-rk3328-mksklipad50-uboot-dwc3.patch b/patch/u-boot/v2025.01/board_mksklipad50/03-rk3328-mksklipad50-uboot-dwc3.patch new file mode 100644 index 000000000000..d58d38c0ce0e --- /dev/null +++ b/patch/u-boot/v2025.01/board_mksklipad50/03-rk3328-mksklipad50-uboot-dwc3.patch @@ -0,0 +1,37 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thorsten Maerz +Date: Thu, 06 Mar 2025 11:09:00 +0100 +Subject: Fix multiple dwc2/dwc3 definitions + +Fixes "multiple definition of 'dm_usb_gadget_handle_interrupts'" +See https://lore.kernel.org/u-boot/7805b8d0-fb7c-41d5-8d74-f85dfd40233a@kwiboo.se/ +--- + +diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c +index 2ab41cbae4..ccc1803fb3 100644 +--- a/drivers/usb/dwc3/dwc3-generic.c ++++ b/drivers/usb/dwc3/dwc3-generic.c +@@ -192,7 +192,7 @@ static int dwc3_generic_of_to_plat(struct udevice *dev) + return 0; + } + +-#if CONFIG_IS_ENABLED(DM_USB_GADGET) ++#if IS_ENABLED(CONFIG_USB_DWC3_GADGET) && CONFIG_IS_ENABLED(DM_USB_GADGET) + static int dwc3_generic_peripheral_probe(struct udevice *dev) + { + struct dwc3_generic_priv *priv = dev_get_priv(dev); + + +diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c +index a35b8c2f64..9bd06afe0a 100644 +--- a/drivers/usb/dwc3/core.c ++++ b/drivers/usb/dwc3/core.c +@@ -988,7 +988,7 @@ MODULE_AUTHOR("Felipe Balbi "); + MODULE_LICENSE("GPL v2"); + MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver"); + +-#if !CONFIG_IS_ENABLED(DM_USB_GADGET) ++#if IS_ENABLED(CONFIG_USB_DWC3_GADGET) && !CONFIG_IS_ENABLED(DM_USB_GADGET) + __weak int dwc3_uboot_interrupt_status(struct udevice *dev) + { + return 1; From 0719fae7dbfa6f50e3e6db0a53063b90d1e7f2bb Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Thu, 6 Mar 2025 19:24:22 +0100 Subject: [PATCH 5/6] mksklipad50: uboot2025: enable usb for serial access --- .../board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch b/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch index 04d6ab3858a7..39b4c233a197 100644 --- a/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch +++ b/patch/u-boot/v2025.01/board_mksklipad50/02-rk3328-mksklipad50-add-uboot-dts.patch @@ -556,10 +556,12 @@ diff --git a/dts/upstream/src/arm64/rockchip/rk3328-mksklipad50.dts b/dts/upstre +}; + +&usb_host0_ehci { ++ bootph-all; + status = "okay"; +}; + +&usb_host0_ohci { ++ bootph-all; + status = "okay"; +}; + From f6300703ae40a3f4a29f99cd6dc30d1e37bcbc98 Mon Sep 17 00:00:00 2001 From: Thorsten Maerz Date: Thu, 6 Mar 2025 19:34:41 +0100 Subject: [PATCH 6/6] mksklipad50: uboot2025: add boot delay (for uart to come up) --- config/boards/mksklipad50.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/boards/mksklipad50.conf b/config/boards/mksklipad50.conf index 5ba4cc900847..63d43835fc62 100644 --- a/config/boards/mksklipad50.conf +++ b/config/boards/mksklipad50.conf @@ -13,3 +13,7 @@ PACKAGE_LIST_BOARD="build-essential usb-modeswitch" BOOTBRANCH='tag:v2025.01' BOOTPATCHDIR='v2025.01' + +function post_family_config__uboot_config() { + BOOTDELAY=1 # Wait for UART +}