diff --git a/patch/kernel/archive/rockchip64-6.18/board-nanopi-m4v2-dts-add-sound-card.patch b/patch/kernel/archive/rockchip64-6.18/board-nanopi-m4v2-dts-add-sound-card.patch index 7fe3b640c6..0d08a0c21f 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-nanopi-m4v2-dts-add-sound-card.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-nanopi-m4v2-dts-add-sound-card.patch @@ -169,7 +169,7 @@ diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig index 111111111111..222222222222 100644 --- a/sound/soc/rockchip/Kconfig +++ b/sound/soc/rockchip/Kconfig -@@ -75,6 +75,15 @@ config SND_SOC_ROCKCHIP_RT5645 +@@ -66,6 +66,15 @@ config SND_SOC_ROCKCHIP_RT5645 Say Y or M here if you want to add support for SoC audio on Rockchip boards using the RT5645/RT5650 codec, such as Veyron. @@ -184,7 +184,7 @@ index 111111111111..222222222222 100644 + config SND_SOC_RK3288_HDMI_ANALOG tristate "ASoC support multiple codecs for Rockchip RK3288 boards" - depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && HAVE_CLK + depends on I2C && GPIOLIB -- Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/board-nanopi-r3s-fix-leds.patch b/patch/kernel/archive/rockchip64-6.18/board-nanopi-r3s-fix-leds.patch index 6b9d8423b2..b867f56391 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-nanopi-r3s-fix-leds.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-nanopi-r3s-fix-leds.patch @@ -1,15 +1,15 @@ -From c80bdda0d87a7119152d95f7943212fc8265e104 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sat, 30 Aug 2025 14:20:24 +0800 -Subject: [PATCH 1/3] Patching NanoPi-R3S LEDs +Subject: Patching NanoPi-R3S LEDs Signed-off-by: retro98boy --- - .../boot/dts/rockchip/rk3566-nanopi-r3s.dts | 41 ++++++++++++++----- + arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts | 41 +++++++--- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts -index fb1f65c86..553a9e599 100644 +index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts @@ -52,19 +52,21 @@ power_led: led-0 { @@ -110,5 +110,5 @@ index fb1f65c86..553a9e599 100644 }; -- -2.51.0 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/board-orangepi5-sata-supply.patch b/patch/kernel/archive/rockchip64-6.18/board-orangepi5-sata-supply.patch index 67b1652317..055c93f2af 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-orangepi5-sata-supply.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-orangepi5-sata-supply.patch @@ -1,5 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: royka1 +Date: Mon, 6 Oct 2025 23:39:26 +0200 +Subject: Add sata node for Orange-Pi-5's overlay (#8707) + +> X-Git-Archeology: > recovered message: > * OPi5: SATA power via vcc3v3_pcie20; set to 3.3V; rename overlay +> X-Git-Archeology: > recovered message: > * Convert spaces to tabs +> X-Git-Archeology: > recovered message: > --------- +> X-Git-Archeology: > recovered message: > Co-authored-by: Igor +> X-Git-Archeology: - Revision 784d367e8aaffa1e2aed7bd844456921b9e8f97e: https://github.com/armbian/build/commit/784d367e8aaffa1e2aed7bd844456921b9e8f97e +> X-Git-Archeology: Date: Mon, 06 Oct 2025 23:39:26 +0200 +> X-Git-Archeology: From: royka1 +> X-Git-Archeology: Subject: Add sata overlay for Orange-Pi-5 (#8707) +> X-Git-Archeology: +> X-Git-Archeology: - Revision f0504a92e16dc4c4d0ae346cc5c0beb126a00298: https://github.com/armbian/build/commit/f0504a92e16dc4c4d0ae346cc5c0beb126a00298 +> X-Git-Archeology: Date: Sat, 18 Oct 2025 11:34:52 +0200 +> X-Git-Archeology: From: Jianfeng Liu +> X-Git-Archeology: Subject: rockchip64-6.18: update patches +> X-Git-Archeology: +--- + arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts | 11 ++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts -index ad6d04793b0a..b811ec843936 100644 +index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts @@ -14,8 +14,8 @@ vcc3v3_pcie20: regulator-vcc3v3-pcie20 { @@ -27,3 +50,6 @@ index ad6d04793b0a..b811ec843936 100644 &sfc { status = "okay"; }; +-- +Armbian + diff --git a/patch/kernel/archive/rockchip64-6.18/board-pbp-add-dp-alt-mode.patch b/patch/kernel/archive/rockchip64-6.18/board-pbp-add-dp-alt-mode.patch index e410e4d8f7..f17d853dd7 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-pbp-add-dp-alt-mode.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-pbp-add-dp-alt-mode.patch @@ -40,7 +40,7 @@ index 111111111111..222222222222 100644 &edp { force-hpd; pinctrl-names = "default"; -@@ -692,6 +706,8 @@ fusb0: fusb30x@22 { +@@ -685,6 +699,8 @@ fusb0: fusb30x@22 { pinctrl-names = "default"; pinctrl-0 = <&fusb0_int_pin>; vbus-supply = <&vbus_typec>; @@ -49,7 +49,7 @@ index 111111111111..222222222222 100644 connector { compatible = "usb-c-connector"; -@@ -700,10 +716,19 @@ connector { +@@ -693,10 +709,19 @@ connector { op-sink-microwatt = <1000000>; power-role = "dual"; sink-pdos = @@ -71,7 +71,7 @@ index 111111111111..222222222222 100644 ports { #address-cells = <1>; -@@ -970,6 +995,7 @@ spiflash: flash@0 { +@@ -982,6 +1007,7 @@ spiflash: flash@0 { }; &tcphy0 { @@ -79,7 +79,7 @@ index 111111111111..222222222222 100644 status = "okay"; }; -@@ -1003,6 +1029,8 @@ &tsadc { +@@ -1015,6 +1041,8 @@ &tsadc { &u2phy0 { status = "okay"; @@ -88,7 +88,7 @@ index 111111111111..222222222222 100644 u2phy0_otg: otg-port { status = "okay"; -@@ -1079,7 +1107,9 @@ &usbdrd3_0 { +@@ -1091,7 +1119,9 @@ &usbdrd3_0 { }; &usbdrd_dwc3_0 { diff --git a/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-cc-dts-enable-dmc.patch b/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-cc-dts-enable-dmc.patch index dfc179031c..7448251b9a 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-cc-dts-enable-dmc.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-cc-dts-enable-dmc.patch @@ -52,7 +52,7 @@ index 111111111111..222222222222 100644 gmac_clkin: external-gmac-clock { compatible = "fixed-clock"; clock-frequency = <125000000>; -@@ -111,6 +138,17 @@ &codec { +@@ -118,6 +145,17 @@ &codec { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-pc.patch b/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-pc.patch index d3139d6ccd..b4863ac7a7 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-pc.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rk3328-roc-pc.patch @@ -4,8 +4,8 @@ Date: Tue, 12 Oct 2021 19:34:29 +0000 Subject: enable dmc for rk3328-roc-pc --- - arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts | 524 +++++++++- - 1 file changed, 466 insertions(+), 58 deletions(-) + arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts | 521 +++++++++- + 1 file changed, 464 insertions(+), 57 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts index 111111111111..222222222222 100644 @@ -117,7 +117,7 @@ index 111111111111..222222222222 100644 + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc_sys>; -+ }; + }; + + vcc_sd: sdmmc-regulator { + compatible = "regulator-fixed"; @@ -187,11 +187,9 @@ index 111111111111..222222222222 100644 + opp-hz = /bits/ 64 <924000000>; + opp-microvolt = <1100000 1100000 1200000>; + }; - }; - }; - --&codec { -- mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; ++ }; ++}; ++ +&dfi { + status = "okay"; +}; @@ -216,12 +214,8 @@ index 111111111111..222222222222 100644 + +&cpu0 { + cpu-supply = <&vdd_arm>; - }; - --&pinctrl { -- ir { -- ir_int: ir-int { -- rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++}; ++ +&gmac2phy { + phy-supply = <&vcc_phy>; + clock_in_out = "output"; @@ -303,13 +297,18 @@ index 111111111111..222222222222 100644 +&i2s1 { + #sound-dai-cells = <0>; + status = "okay"; -+}; -+ -+&codec { + }; + + &codec { +- mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; + #sound-dai-cells = <0>; + status = "okay"; -+}; -+ + }; + +-&pinctrl { +- ir { +- ir_int: ir-int { +- rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; +&emmc { + bus-width = <8>; + cap-mmc-highspeed; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-0001-Add-pcie-bus-scan-delay.patch b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-0001-Add-pcie-bus-scan-delay.patch index 2c7b06e6aa..dd8e000fb1 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-0001-Add-pcie-bus-scan-delay.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-0001-Add-pcie-bus-scan-delay.patch @@ -13,7 +13,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi -@@ -677,6 +677,7 @@ &pcie0 { +@@ -617,6 +617,7 @@ &pcie0 { vpcie1v8-supply = <&vcca_1v8>; vpcie12v-supply = <&vcc12v_dcin>; vpcie3v3-supply = <&vcc3v3_pcie>; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-change-rx_delay-for-gmac.patch b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-change-rx_delay-for-gmac.patch index 5ab1edbdc7..945358ebe8 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-change-rx_delay-for-gmac.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-change-rx_delay-for-gmac.patch @@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi -@@ -317,7 +317,7 @@ &gmac { +@@ -300,7 +300,7 @@ &gmac { snps,reset-active-low; snps,reset-delays-us = <0 10000 50000>; tx_delay = <0x28>; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-emmc.patch b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-emmc.patch index 96fdbdcf04..48029d8c92 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-emmc.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-emmc.patch @@ -20,7 +20,7 @@ index 111111111111..222222222222 100644 stdout-path = "serial2:1500000n8"; }; -@@ -829,6 +830,7 @@ &sdmmc { +@@ -765,6 +766,7 @@ &sdmmc { &sdhci { bus-width = <8>; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-spi1-flash-speed.patch b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-spi1-flash-speed.patch index d40cee7389..8320c1817e 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-spi1-flash-speed.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-fix-spi1-flash-speed.patch @@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi -@@ -852,7 +852,7 @@ &spi1 { +@@ -788,7 +788,7 @@ &spi1 { flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-work-led-heartbeat.patch b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-work-led-heartbeat.patch index 40d526a8a0..7cffccb89a 100644 --- a/patch/kernel/archive/rockchip64-6.18/board-rockpro64-work-led-heartbeat.patch +++ b/patch/kernel/archive/rockchip64-6.18/board-rockpro64-work-led-heartbeat.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi -@@ -66,7 +66,7 @@ leds { +@@ -57,7 +57,7 @@ leds { work_led: led-0 { label = "work"; diff --git a/patch/kernel/archive/rockchip64-6.18/drv-spi-spidev-remove-warnings.patch b/patch/kernel/archive/rockchip64-6.18/drv-spi-spidev-remove-warnings.patch index 013ac0fce5..32495a9e3f 100644 --- a/patch/kernel/archive/rockchip64-6.18/drv-spi-spidev-remove-warnings.patch +++ b/patch/kernel/archive/rockchip64-6.18/drv-spi-spidev-remove-warnings.patch @@ -9,7 +9,7 @@ Signed-off-by: John Doe 1 file changed, 2 insertions(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 5300c942a2a4..67e802d5419d 100644 +index 111111111111..222222222222 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -703,6 +703,7 @@ static const struct class spidev_class = { @@ -22,7 +22,7 @@ index 5300c942a2a4..67e802d5419d 100644 { .name = /* dh */ "dhcom-board" }, @@ -736,6 +737,7 @@ static int spidev_of_check(struct device *dev) } - + static const struct of_device_id spidev_dt_ids[] = { + { .compatible = "armbian,spi-dev", .data = &spidev_of_check }, { .compatible = "abb,spi-sensor", .data = &spidev_of_check }, diff --git a/patch/kernel/archive/rockchip64-6.18/general-add-hdmi-mks-ips50-resolutions.patch b/patch/kernel/archive/rockchip64-6.18/general-add-hdmi-mks-ips50-resolutions.patch index a0339c3d67..3b0fa7fad3 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-add-hdmi-mks-ips50-resolutions.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-add-hdmi-mks-ips50-resolutions.patch @@ -15,7 +15,7 @@ diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -1550,6 +1550,16 @@ static const struct drm_display_mode edid_cea_modes_193[] = { +@@ -1561,6 +1561,16 @@ static const struct drm_display_mode edid_cea_modes_193[] = { 4272, 4400, 0, 2160, 2168, 2178, 2250, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, @@ -32,7 +32,7 @@ index 111111111111..222222222222 100644 }; /* -@@ -4215,7 +4225,7 @@ static bool drm_edid_has_cta_extension(const struct drm_edid *drm_edid) +@@ -4236,7 +4246,7 @@ static bool drm_edid_has_cta_extension(const struct drm_edid *drm_edid) static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic) { BUILD_BUG_ON(1 + ARRAY_SIZE(edid_cea_modes_1) - 1 != 127); diff --git a/patch/kernel/archive/rockchip64-6.18/general-add-miniDP-virtual-extcon.patch b/patch/kernel/archive/rockchip64-6.18/general-add-miniDP-virtual-extcon.patch index 6fb6ea1e9c..7b28d61e91 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-add-miniDP-virtual-extcon.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-add-miniDP-virtual-extcon.patch @@ -62,7 +62,7 @@ diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig index 111111111111..222222222222 100644 --- a/drivers/extcon/Kconfig +++ b/drivers/extcon/Kconfig -@@ -214,4 +214,14 @@ config EXTCON_RTK_TYPE_C +@@ -227,4 +227,14 @@ config EXTCON_RTK_TYPE_C The DHC (Digital Home Hub) RTD series SoC contains a type c module. This driver will detect the status of the type-c port. @@ -81,7 +81,7 @@ diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile index 111111111111..222222222222 100644 --- a/drivers/extcon/Makefile +++ b/drivers/extcon/Makefile -@@ -27,3 +27,4 @@ obj-$(CONFIG_EXTCON_USB_GPIO) += extcon-usb-gpio.o +@@ -28,3 +28,4 @@ obj-$(CONFIG_EXTCON_USB_GPIO) += extcon-usb-gpio.o obj-$(CONFIG_EXTCON_USBC_CROS_EC) += extcon-usbc-cros-ec.o obj-$(CONFIG_EXTCON_USBC_TUSB320) += extcon-usbc-tusb320.o obj-$(CONFIG_EXTCON_RTK_TYPE_C) += extcon-rtk-type-c.o diff --git a/patch/kernel/archive/rockchip64-6.18/general-add-overlay-compilation-support.patch b/patch/kernel/archive/rockchip64-6.18/general-add-overlay-compilation-support.patch index 267fd37eb3..75b5b3dd70 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-add-overlay-compilation-support.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-add-overlay-compilation-support.patch @@ -36,7 +36,7 @@ diff --git a/scripts/Makefile.dtbs b/scripts/Makefile.dtbs index 111111111111..222222222222 100644 --- a/scripts/Makefile.dtbs +++ b/scripts/Makefile.dtbs -@@ -122,17 +122,23 @@ dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) +@@ -123,17 +123,23 @@ dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) quiet_cmd_dtc = DTC $(quiet_dtb_check_tag) $@ cmd_dtc = \ $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ diff --git a/patch/kernel/archive/rockchip64-6.18/general-cryptov1-trng.patch b/patch/kernel/archive/rockchip64-6.18/general-cryptov1-trng.patch index 2daa1002ac..ffffaddca8 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-cryptov1-trng.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-cryptov1-trng.patch @@ -18,7 +18,7 @@ diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index 111111111111..222222222222 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig -@@ -694,6 +694,14 @@ config CRYPTO_DEV_ROCKCHIP +@@ -707,6 +707,14 @@ config CRYPTO_DEV_ROCKCHIP This driver interfaces with the hardware crypto accelerator. Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. diff --git a/patch/kernel/archive/rockchip64-6.18/general-disable-mtu-validation.patch b/patch/kernel/archive/rockchip64-6.18/general-disable-mtu-validation.patch index 4c3523c4fe..4553c87fa2 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-disable-mtu-validation.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-disable-mtu-validation.patch @@ -18,7 +18,7 @@ diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/eth index 111111111111..222222222222 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -5934,27 +5934,15 @@ static void stmmac_set_rx_mode(struct net_device *dev) +@@ -5847,27 +5847,15 @@ static void stmmac_set_rx_mode(struct net_device *dev) static int stmmac_change_mtu(struct net_device *dev, int new_mtu) { struct stmmac_priv *priv = netdev_priv(dev); diff --git a/patch/kernel/archive/rockchip64-6.18/general-driver-tm16xx-led-driver.patch b/patch/kernel/archive/rockchip64-6.18/general-driver-tm16xx-led-driver.patch index 8d2af25d82..c793185941 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-driver-tm16xx-led-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-driver-tm16xx-led-driver.patch @@ -1,11 +1,7 @@ -From 912e1aadb342a09838069e81dfeee8d9fa15ae68 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sun, 31 Aug 2025 00:23:51 -0400 -Subject: [PATCH 03/14] docs: ABI: auxdisplay: document linedisp library sysfs - attributes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: docs: ABI: auxdisplay: document linedisp library sysfs attributes Add ABI documentation for sysfs attributes provided by the line-display auxdisplay library module. These attributes enable text message display and @@ -19,15 +15,14 @@ The line-display library is used by multiple auxdisplay drivers and can expose these attributes either on linedisp.N child devices or directly on parent auxdisplay devices. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - .../ABI/testing/sysfs-auxdisplay-linedisp | 79 +++++++++++++++++++ + Documentation/ABI/testing/sysfs-auxdisplay-linedisp | 79 ++++++++++ 1 file changed, 79 insertions(+) - create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp diff --git a/Documentation/ABI/testing/sysfs-auxdisplay-linedisp b/Documentation/ABI/testing/sysfs-auxdisplay-linedisp new file mode 100644 -index 000000000..45cf4e5a2 +index 000000000000..111111111111 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-auxdisplay-linedisp @@ -0,0 +1,79 @@ @@ -111,17 +106,13 @@ index 000000000..45cf4e5a2 + Reference interface guidance: + - include/uapi/linux/map_to_14segment.h -- -2.43.0 +Armbian - -From aa2b721fbe8e792d71bba2a682278e217254a9d8 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 30 Aug 2025 20:31:38 -0400 -Subject: [PATCH 04/14] auxdisplay: linedisp: encapsulate container_of usage - within to_linedisp -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: linedisp: encapsulate container_of usage within + to_linedisp Replace direct container_of() calls with a to_linedisp() helper function throughout the line-display auxdisplay library module. This abstraction @@ -131,13 +122,13 @@ auxdisplay devices. No functional changes in this patch. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - drivers/auxdisplay/line-display.c | 21 +++++++++++++-------- + drivers/auxdisplay/line-display.c | 21 ++++++---- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/auxdisplay/line-display.c b/drivers/auxdisplay/line-display.c -index 8590a4cd2..e44341b1e 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/line-display.c +++ b/drivers/auxdisplay/line-display.c @@ -31,6 +31,11 @@ @@ -225,17 +216,13 @@ index 8590a4cd2..e44341b1e 100644 kfree(linedisp->map); kfree(linedisp->message); -- -2.43.0 +Armbian - -From c7437adc19417a882214c1f6ea4c767fcc31ad64 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sun, 31 Aug 2025 13:53:01 -0400 -Subject: [PATCH 05/14] auxdisplay: linedisp: display static message when - length <= display size -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: linedisp: display static message when length <= display + size Currently, when a message shorter than the display size is written, the content wraps around (e.g., "123" on a 4-digit display shows "1231") @@ -250,13 +237,13 @@ The scroll logic is also consolidated into a helper function for clarity. No API changes are introduced. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - drivers/auxdisplay/line-display.c | 30 +++++++++++++++++++++--------- + drivers/auxdisplay/line-display.c | 30 +++++++--- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/auxdisplay/line-display.c b/drivers/auxdisplay/line-display.c -index e44341b1e..73e4e77ea 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/line-display.c +++ b/drivers/auxdisplay/line-display.c @@ -36,6 +36,11 @@ static struct linedisp *to_linedisp(struct device *dev) @@ -319,16 +306,12 @@ index e44341b1e..73e4e77ea 100644 return count; } -- -2.43.0 +Armbian - -From fdf710de2bd90ed1477d9d04adbb645c6b9c8967 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 30 Aug 2025 20:35:34 -0400 -Subject: [PATCH 06/14] auxdisplay: linedisp: add num_chars sysfs attribute -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: linedisp: add num_chars sysfs attribute Add a read-only 'num_chars' sysfs attribute to report display digit count. @@ -338,14 +321,14 @@ messages, complementing the existing message and scroll controls. No functional changes to existing behavior. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - Documentation/ABI/testing/sysfs-auxdisplay-linedisp | 11 +++++++++++ - drivers/auxdisplay/line-display.c | 11 +++++++++++ + Documentation/ABI/testing/sysfs-auxdisplay-linedisp | 11 ++++++++++ + drivers/auxdisplay/line-display.c | 11 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-auxdisplay-linedisp b/Documentation/ABI/testing/sysfs-auxdisplay-linedisp -index 45cf4e5a2..55f1b559e 100644 +index 111111111111..222222222222 100644 --- a/Documentation/ABI/testing/sysfs-auxdisplay-linedisp +++ b/Documentation/ABI/testing/sysfs-auxdisplay-linedisp @@ -15,6 +15,17 @@ Description: @@ -367,7 +350,7 @@ index 45cf4e5a2..55f1b559e 100644 Date: October 2021 KernelVersion: 5.16 diff --git a/drivers/auxdisplay/line-display.c b/drivers/auxdisplay/line-display.c -index 73e4e77ea..7f3e53e28 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/line-display.c +++ b/drivers/auxdisplay/line-display.c @@ -178,6 +178,16 @@ static ssize_t message_store(struct device *dev, struct device_attribute *attr, @@ -396,17 +379,13 @@ index 73e4e77ea..7f3e53e28 100644 &dev_attr_map_seg7.attr, &dev_attr_map_seg14.attr, -- -2.43.0 +Armbian - -From 17407e87994e910b25d13151b9e5b82e6b5896ea Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 30 Aug 2025 20:41:39 -0400 -Subject: [PATCH 07/14] auxdisplay: linedisp: support attribute attachment to - auxdisplay devices -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: linedisp: support attribute attachment to auxdisplay + devices Enable linedisp library integration into existing kernel devices (like LED class) to provide a uniform 7-segment userspace API without creating @@ -425,14 +404,14 @@ Existing consumers of linedisp_register() are unaffected. The new API enables drivers like TM16XX to integrate 7-segment display functionality seamlessly within their LED class device hierarchy. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - drivers/auxdisplay/line-display.c | 180 +++++++++++++++++++++++++++++- + drivers/auxdisplay/line-display.c | 180 +++++++++- drivers/auxdisplay/line-display.h | 4 + 2 files changed, 178 insertions(+), 6 deletions(-) diff --git a/drivers/auxdisplay/line-display.c b/drivers/auxdisplay/line-display.c -index 7f3e53e28..4e22373fc 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/line-display.c +++ b/drivers/auxdisplay/line-display.c @@ -6,20 +6,23 @@ @@ -682,7 +661,7 @@ index 7f3e53e28..4e22373fc 100644 put_device(&linedisp->dev); } diff --git a/drivers/auxdisplay/line-display.h b/drivers/auxdisplay/line-display.h -index 4348d7a2f..36853b639 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/line-display.h +++ b/drivers/auxdisplay/line-display.h @@ -6,6 +6,7 @@ @@ -704,17 +683,13 @@ index 4348d7a2f..36853b639 100644 unsigned int num_chars, const struct linedisp_ops *ops); void linedisp_unregister(struct linedisp *linedisp); -- -2.43.0 +Armbian - -From 6ab5f7cfaa821b995228b7e85e792f304f01865c Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 16 Aug 2025 16:17:06 -0400 -Subject: [PATCH 08/14] dt-bindings: vendor-prefixes: Add fdhisi, titanmec, - princeton, winrise, wxicore -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: dt-bindings: vendor-prefixes: Add fdhisi, titanmec, princeton, + winrise, wxicore Add vendor prefixes of chip manufacturers supported by the TM16xx 7-segment LED matrix display controllers driver: @@ -730,20 +705,20 @@ either lack active .com domains or their .com domains are occupied by unrelated businesses. The fdhisi and titanmec prefixes were originally identified by -Andreas Färber. +Andreas Farber. -CC: Andreas Färber +CC: Andreas Farber Acked-by: Conor Dooley -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 9ec8947df..cd42bf7a9 100644 +index 111111111111..222222222222 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -542,6 +542,8 @@ patternProperties: +@@ -562,6 +562,8 @@ patternProperties: description: Fastrax Oy "^fcs,.*": description: Fairchild Semiconductor @@ -752,7 +727,7 @@ index 9ec8947df..cd42bf7a9 100644 "^feixin,.*": description: Shenzhen Feixin Photoelectic Co., Ltd "^feiyang,.*": -@@ -1235,6 +1237,8 @@ patternProperties: +@@ -1279,6 +1281,8 @@ patternProperties: description: Prime View International (PVI) "^primux,.*": description: Primux Trading, S.L. @@ -761,7 +736,7 @@ index 9ec8947df..cd42bf7a9 100644 "^probox2,.*": description: PROBOX2 (by W2COMP Co., Ltd.) "^pri,.*": -@@ -1569,6 +1573,8 @@ patternProperties: +@@ -1632,6 +1636,8 @@ patternProperties: description: Texas Instruments "^tianma,.*": description: Tianma Micro-electronics Co., Ltd. @@ -770,7 +745,7 @@ index 9ec8947df..cd42bf7a9 100644 "^tlm,.*": description: Trusted Logic Mobility "^tmt,.*": -@@ -1726,6 +1732,8 @@ patternProperties: +@@ -1791,6 +1797,8 @@ patternProperties: description: Wingtech Technology Co., Ltd. "^winlink,.*": description: WinLink Co., Ltd @@ -779,7 +754,7 @@ index 9ec8947df..cd42bf7a9 100644 "^winsen,.*": description: Winsen Corp. "^winstar,.*": -@@ -1742,6 +1750,8 @@ patternProperties: +@@ -1807,6 +1815,8 @@ patternProperties: description: Wobo "^wolfvision,.*": description: WolfVision GmbH @@ -789,17 +764,12 @@ index 9ec8947df..cd42bf7a9 100644 description: X-Powers "^xen,.*": -- -2.43.0 +Armbian - -From d10c4994c9d219df8e6917837c17b9a1f061412a Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Mon, 1 Sep 2025 11:57:15 -0400 -Subject: [PATCH 09/14] dt-bindings: leds: add default-brightness property to - common.yaml -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: dt-bindings: leds: add default-brightness property to common.yaml Add default-brightness property to leds/common.yaml to establish a single canonical definition for LED brightness initialization. @@ -808,13 +778,13 @@ The property is currently defined locally in leds/leds-pwm.yaml and is needed by auxdisplay/titanmec,tm16xx.yaml. Properties should be defined in only one location to avoid type inconsistencies across bindings. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- Documentation/devicetree/bindings/leds/common.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/leds/common.yaml b/Documentation/devicetree/bindings/leds/common.yaml -index 3e8319e44..96bd7fd0f 100644 +index 111111111111..222222222222 100644 --- a/Documentation/devicetree/bindings/leds/common.yaml +++ b/Documentation/devicetree/bindings/leds/common.yaml @@ -173,6 +173,12 @@ properties: @@ -831,31 +801,24 @@ index 3e8319e44..96bd7fd0f 100644 description: This property specifies that the LED should be used, if at all possible, -- -2.43.0 +Armbian - -From 81cada2f3d9c8464fb851ba86b2384e654120860 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Mon, 1 Sep 2025 12:03:37 -0400 -Subject: [PATCH 10/14] dt-bindings: auxdisplay: add Titan Micro Electronics - TM16xx -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: dt-bindings: auxdisplay: add Titan Micro Electronics TM16xx Add documentation for TM16xx-compatible 7-segment LED display controllers with keyscan. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - .../bindings/auxdisplay/titanmec,tm16xx.yaml | 463 ++++++++++++++++++ - MAINTAINERS | 5 + - 2 files changed, 468 insertions(+) - create mode 100644 Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml + Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml | 463 ++++++++++ + 1 file changed, 463 insertions(+) diff --git a/Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml b/Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml new file mode 100644 -index 000000000..d324023bb +index 000000000000..111111111111 --- /dev/null +++ b/Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml @@ -0,0 +1,463 @@ @@ -1322,34 +1285,14 @@ index 000000000..d324023bb + }; + }; + }; -diff --git a/MAINTAINERS b/MAINTAINERS -index f6206963e..9449dfc43 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -25441,6 +25441,11 @@ W: http://sourceforge.net/projects/tlan/ - F: Documentation/networking/device_drivers/ethernet/ti/tlan.rst - F: drivers/net/ethernet/ti/tlan.* - -+TM16XX-COMPATIBLE LED CONTROLLERS DISPLAY DRIVER -+M: Jean-François Lessard -+S: Maintained -+F: Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml -+ - TMIO/SDHI MMC DRIVER - M: Wolfram Sang - L: linux-mmc@vger.kernel.org -- -2.43.0 +Armbian - -From 176ec8dadd8b0e63dbafeb87b646706ad6f7c9f7 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 16 Aug 2025 20:52:21 -0400 -Subject: [PATCH 11/14] auxdisplay: Add TM16xx 7-segment LED matrix display - controllers driver -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: Add TM16xx 7-segment LED matrix display controllers + driver Add driver for TM16xx family LED controllers and compatible chips from multiple vendors including Titan Micro, Fuda Hisi, i-Core, Princeton, and @@ -1366,34 +1309,16 @@ Tested-by: Boris Gjenero # Tested on X92 Tested-by: Paolo Sabatino # Tested on H96 Max (XY_RK3328) Tested-by: Christian Hewitt # Tested on X96 Max, Tanix TX3 Mini Tested-by: Martin Blumenstingl # Tested on Tanix TX3 Mini -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - MAINTAINERS | 3 + drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 2 + - drivers/auxdisplay/tm16xx.h | 172 ++++++++++++ - drivers/auxdisplay/tm16xx_core.c | 459 +++++++++++++++++++++++++++++++ - 5 files changed, 645 insertions(+) - create mode 100644 drivers/auxdisplay/tm16xx.h - create mode 100644 drivers/auxdisplay/tm16xx_core.c + drivers/auxdisplay/tm16xx.h | 172 ++++ + drivers/auxdisplay/tm16xx_core.c | 459 ++++++++++ + 4 files changed, 642 insertions(+) -diff --git a/MAINTAINERS b/MAINTAINERS -index 9449dfc43..7d5912f2d 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -25444,7 +25444,10 @@ F: drivers/net/ethernet/ti/tlan.* - TM16XX-COMPATIBLE LED CONTROLLERS DISPLAY DRIVER - M: Jean-François Lessard - S: Maintained -+F: Documentation/ABI/testing/sysfs-class-leds-tm16xx - F: Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml -+F: drivers/auxdisplay/tm16xx.h -+F: drivers/auxdisplay/tm16xx_core.c - - TMIO/SDHI MMC DRIVER - M: Wolfram Sang diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig -index bedc6133f..7bacf1111 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig @@ -526,6 +526,15 @@ config SEG_LED_GPIO @@ -1413,7 +1338,7 @@ index bedc6133f..7bacf1111 100644 # Character LCD with non-conforming interface section # diff --git a/drivers/auxdisplay/Makefile b/drivers/auxdisplay/Makefile -index f5c13ed1c..7ecf3cd4a 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Makefile +++ b/drivers/auxdisplay/Makefile @@ -16,3 +16,5 @@ obj-$(CONFIG_LINEDISP) += line-display.o @@ -1424,7 +1349,7 @@ index f5c13ed1c..7ecf3cd4a 100644 +tm16xx-y += tm16xx_core.o diff --git a/drivers/auxdisplay/tm16xx.h b/drivers/auxdisplay/tm16xx.h new file mode 100644 -index 000000000..973b6ac19 +index 000000000000..111111111111 --- /dev/null +++ b/drivers/auxdisplay/tm16xx.h @@ -0,0 +1,172 @@ @@ -1602,7 +1527,7 @@ index 000000000..973b6ac19 +#endif /* _TM16XX_H */ diff --git a/drivers/auxdisplay/tm16xx_core.c b/drivers/auxdisplay/tm16xx_core.c new file mode 100644 -index 000000000..e090c578f +index 000000000000..111111111111 --- /dev/null +++ b/drivers/auxdisplay/tm16xx_core.c @@ -0,0 +1,459 @@ @@ -2066,17 +1991,12 @@ index 000000000..e090c578f +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS("LINEDISP"); -- -2.43.0 +Armbian - -From aee73102a0488439a90552d63a8e74ff081508a7 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Fri, 29 Aug 2025 22:28:35 -0400 -Subject: [PATCH 12/14] auxdisplay: TM16xx: Add keypad support for scanning - matrix keys -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: TM16xx: Add keypad support for scanning matrix keys Add support for keypad scanning on TM16xx-compatible auxiliary display controllers. It handles keypad initialization, scanning, and input @@ -2092,31 +2012,17 @@ Key features include: This code is separated from main core driver to improve maintainability and reviewability. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - MAINTAINERS | 1 + - drivers/auxdisplay/Kconfig | 9 ++ + drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 1 + - drivers/auxdisplay/tm16xx.h | 25 ++++ + drivers/auxdisplay/tm16xx.h | 25 ++ drivers/auxdisplay/tm16xx_core.c | 4 + - drivers/auxdisplay/tm16xx_keypad.c | 196 +++++++++++++++++++++++++++++ - 6 files changed, 236 insertions(+) - create mode 100644 drivers/auxdisplay/tm16xx_keypad.c + drivers/auxdisplay/tm16xx_keypad.c | 196 ++++++++++ + 5 files changed, 235 insertions(+) -diff --git a/MAINTAINERS b/MAINTAINERS -index 7d5912f2d..84f213590 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -25448,6 +25448,7 @@ F: Documentation/ABI/testing/sysfs-class-leds-tm16xx - F: Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml - F: drivers/auxdisplay/tm16xx.h - F: drivers/auxdisplay/tm16xx_core.c -+F: drivers/auxdisplay/tm16xx_keypad.c - - TMIO/SDHI MMC DRIVER - M: Wolfram Sang diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig -index 7bacf1111..f9a2c0641 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig @@ -528,13 +528,22 @@ config SEG_LED_GPIO @@ -2143,7 +2049,7 @@ index 7bacf1111..f9a2c0641 100644 # Character LCD with non-conforming interface section # diff --git a/drivers/auxdisplay/Makefile b/drivers/auxdisplay/Makefile -index 7ecf3cd4a..a9b9c8ff0 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Makefile +++ b/drivers/auxdisplay/Makefile @@ -18,3 +18,4 @@ obj-$(CONFIG_PARPORT_PANEL) += panel.o @@ -2152,7 +2058,7 @@ index 7ecf3cd4a..a9b9c8ff0 100644 tm16xx-y += tm16xx_core.o +tm16xx-$(CONFIG_TM16XX_KEYPAD) += tm16xx_keypad.o diff --git a/drivers/auxdisplay/tm16xx.h b/drivers/auxdisplay/tm16xx.h -index 973b6ac19..c503c6136 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/tm16xx.h +++ b/drivers/auxdisplay/tm16xx.h @@ -103,6 +103,7 @@ @@ -2207,7 +2113,7 @@ index 973b6ac19..c503c6136 100644 + #endif /* _TM16XX_H */ diff --git a/drivers/auxdisplay/tm16xx_core.c b/drivers/auxdisplay/tm16xx_core.c -index e090c578f..1d474d980 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/tm16xx_core.c +++ b/drivers/auxdisplay/tm16xx_core.c @@ -408,6 +408,10 @@ int tm16xx_probe(struct tm16xx_display *display) @@ -2223,7 +2129,7 @@ index e090c578f..1d474d980 100644 unregister_leds: diff --git a/drivers/auxdisplay/tm16xx_keypad.c b/drivers/auxdisplay/tm16xx_keypad.c new file mode 100644 -index 000000000..daa6afaf7 +index 000000000000..111111111111 --- /dev/null +++ b/drivers/auxdisplay/tm16xx_keypad.c @@ -0,0 +1,196 @@ @@ -2424,17 +2330,12 @@ index 000000000..daa6afaf7 + return 0; +} -- -2.43.0 +Armbian - -From b05e349eda575c66f8b522869fe79149f74db731 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 23 Aug 2025 21:26:59 -0400 -Subject: [PATCH 13/14] auxdisplay: TM16xx: Add support for I2C-based - controllers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: TM16xx: Add support for I2C-based controllers Add support for TM16xx-compatible auxiliary display controllers connected via the I2C bus. @@ -2448,29 +2349,15 @@ The implementation includes: This allows platforms using TM16xx or compatible controllers over I2C to be managed by the TM16xx driver infrastructure. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - MAINTAINERS | 1 + - drivers/auxdisplay/Kconfig | 16 ++ + drivers/auxdisplay/Kconfig | 16 + drivers/auxdisplay/Makefile | 1 + - drivers/auxdisplay/tm16xx_i2c.c | 332 ++++++++++++++++++++++++++++++++ - 4 files changed, 350 insertions(+) - create mode 100644 drivers/auxdisplay/tm16xx_i2c.c + drivers/auxdisplay/tm16xx_i2c.c | 332 ++++++++++ + 3 files changed, 349 insertions(+) -diff --git a/MAINTAINERS b/MAINTAINERS -index 84f213590..8a8a53efe 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -25448,6 +25448,7 @@ F: Documentation/ABI/testing/sysfs-class-leds-tm16xx - F: Documentation/devicetree/bindings/auxdisplay/titanmec,tm16xx.yaml - F: drivers/auxdisplay/tm16xx.h - F: drivers/auxdisplay/tm16xx_core.c -+F: drivers/auxdisplay/tm16xx_i2c.c - F: drivers/auxdisplay/tm16xx_keypad.c - - TMIO/SDHI MMC DRIVER diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig -index f9a2c0641..d48c2f189 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig @@ -544,6 +544,22 @@ config TM16XX_KEYPAD @@ -2497,7 +2384,7 @@ index f9a2c0641..d48c2f189 100644 # Character LCD with non-conforming interface section # diff --git a/drivers/auxdisplay/Makefile b/drivers/auxdisplay/Makefile -index a9b9c8ff0..ba7b310f5 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Makefile +++ b/drivers/auxdisplay/Makefile @@ -19,3 +19,4 @@ obj-$(CONFIG_SEG_LED_GPIO) += seg-led-gpio.o @@ -2507,7 +2394,7 @@ index a9b9c8ff0..ba7b310f5 100644 +obj-$(CONFIG_TM16XX_I2C) += tm16xx_i2c.o diff --git a/drivers/auxdisplay/tm16xx_i2c.c b/drivers/auxdisplay/tm16xx_i2c.c new file mode 100644 -index 000000000..013beceda +index 000000000000..111111111111 --- /dev/null +++ b/drivers/auxdisplay/tm16xx_i2c.c @@ -0,0 +1,332 @@ @@ -2844,17 +2731,12 @@ index 000000000..013beceda +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS("TM16XX"); -- -2.43.0 +Armbian - -From 03ae70c0f50277360166c8bb0bf75b0077c84057 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= Date: Sat, 23 Aug 2025 21:55:14 -0400 -Subject: [PATCH 14/14] auxdisplay: TM16xx: Add support for SPI-based - controllers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: auxdisplay: TM16xx: Add support for SPI-based controllers Add support for TM16xx-compatible auxiliary display controllers connected via the SPI bus. @@ -2868,29 +2750,15 @@ The implementation includes: This allows platforms using TM16xx or compatible controllers over SPI to be managed by the TM16xx driver infrastructure. -Signed-off-by: Jean-François Lessard +Signed-off-by: Jean-Francois Lessard --- - MAINTAINERS | 1 + - drivers/auxdisplay/Kconfig | 16 ++ + drivers/auxdisplay/Kconfig | 16 + drivers/auxdisplay/Makefile | 1 + - drivers/auxdisplay/tm16xx_spi.c | 397 ++++++++++++++++++++++++++++++++ - 4 files changed, 415 insertions(+) - create mode 100644 drivers/auxdisplay/tm16xx_spi.c + drivers/auxdisplay/tm16xx_spi.c | 397 ++++++++++ + 3 files changed, 414 insertions(+) -diff --git a/MAINTAINERS b/MAINTAINERS -index 8a8a53efe..5d5e5f01e 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -25450,6 +25450,7 @@ F: drivers/auxdisplay/tm16xx.h - F: drivers/auxdisplay/tm16xx_core.c - F: drivers/auxdisplay/tm16xx_i2c.c - F: drivers/auxdisplay/tm16xx_keypad.c -+F: drivers/auxdisplay/tm16xx_spi.c - - TMIO/SDHI MMC DRIVER - M: Wolfram Sang diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig -index d48c2f189..61e5af8d0 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig @@ -560,6 +560,22 @@ config TM16XX_I2C @@ -2917,7 +2785,7 @@ index d48c2f189..61e5af8d0 100644 # Character LCD with non-conforming interface section # diff --git a/drivers/auxdisplay/Makefile b/drivers/auxdisplay/Makefile -index ba7b310f5..2485a3a67 100644 +index 111111111111..222222222222 100644 --- a/drivers/auxdisplay/Makefile +++ b/drivers/auxdisplay/Makefile @@ -20,3 +20,4 @@ obj-$(CONFIG_TM16XX) += tm16xx.o @@ -2927,7 +2795,7 @@ index ba7b310f5..2485a3a67 100644 +obj-$(CONFIG_TM16XX_SPI) += tm16xx_spi.o diff --git a/drivers/auxdisplay/tm16xx_spi.c b/drivers/auxdisplay/tm16xx_spi.c new file mode 100644 -index 000000000..b305301f9 +index 000000000000..111111111111 --- /dev/null +++ b/drivers/auxdisplay/tm16xx_spi.c @@ -0,0 +1,397 @@ @@ -3329,5 +3197,5 @@ index 000000000..b305301f9 +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS("TM16XX"); -- -2.43.0 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/general-drm-panel-add-yixian-yx0345-panel.patch b/patch/kernel/archive/rockchip64-6.18/general-drm-panel-add-yixian-yx0345-panel.patch index 5e3d342b2d..b53f507bb1 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-drm-panel-add-yixian-yx0345-panel.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-drm-panel-add-yixian-yx0345-panel.patch @@ -13,7 +13,7 @@ diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig -@@ -1087,6 +1087,15 @@ config DRM_PANEL_WIDECHIPS_WS2401 +@@ -1147,6 +1147,15 @@ config DRM_PANEL_WIDECHIPS_WS2401 480x800 display controller used in panels such as Samsung LMS380KF01. This display is used in the Samsung Galaxy Ace 2 GT-I8160 (Codina). @@ -33,7 +33,7 @@ diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile -@@ -112,3 +112,4 @@ obj-$(CONFIG_DRM_PANEL_VISIONOX_VTDR6130) += panel-visionox-vtdr6130.o +@@ -117,3 +117,4 @@ obj-$(CONFIG_DRM_PANEL_VISIONOX_VTDR6130) += panel-visionox-vtdr6130.o obj-$(CONFIG_DRM_PANEL_VISIONOX_R66451) += panel-visionox-r66451.o obj-$(CONFIG_DRM_PANEL_WIDECHIPS_WS2401) += panel-widechips-ws2401.o obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o diff --git a/patch/kernel/archive/rockchip64-6.18/general-fix-mmc-signal-voltage-before-reboot.patch b/patch/kernel/archive/rockchip64-6.18/general-fix-mmc-signal-voltage-before-reboot.patch index d31da8ff8d..d940531be5 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-fix-mmc-signal-voltage-before-reboot.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-fix-mmc-signal-voltage-before-reboot.patch @@ -26,7 +26,7 @@ diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 111111111111..222222222222 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -1374,6 +1374,14 @@ void mmc_power_off(struct mmc_host *host) +@@ -1373,6 +1373,14 @@ void mmc_power_off(struct mmc_host *host) if (host->ios.power_mode == MMC_POWER_OFF) return; diff --git a/patch/kernel/archive/rockchip64-6.18/general-hdmi-clock-fixes.patch b/patch/kernel/archive/rockchip64-6.18/general-hdmi-clock-fixes.patch index 6ce8df7b8b..1d48b18642 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-hdmi-clock-fixes.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-hdmi-clock-fixes.patch @@ -110,7 +110,7 @@ diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/ index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -@@ -69,15 +69,15 @@ static const u16 csc_coeff_rgb_out_eitu709[3][4] = { +@@ -70,15 +70,15 @@ static const u16 csc_coeff_rgb_out_eitu709[3][4] = { }; static const u16 csc_coeff_rgb_in_eitu601[3][4] = { @@ -136,7 +136,7 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c -@@ -178,6 +178,46 @@ static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = { +@@ -177,6 +177,46 @@ static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = { } }; @@ -183,7 +183,7 @@ index 111111111111..222222222222 100644 static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = { /* pixelclk bpp8 bpp10 bpp12 */ { -@@ -343,6 +383,8 @@ static int dw_hdmi_rockchip_genphy_init(struct dw_hdmi *dw_hdmi, void *data, +@@ -338,6 +378,8 @@ static int dw_hdmi_rockchip_genphy_init(struct dw_hdmi *dw_hdmi, void *data, dw_hdmi_set_high_tmds_clock_ratio(dw_hdmi, display); diff --git a/patch/kernel/archive/rockchip64-6.18/general-possibility-of-disabling-rk808-rtc.patch b/patch/kernel/archive/rockchip64-6.18/general-possibility-of-disabling-rk808-rtc.patch index f9291da843..234c19da8d 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-possibility-of-disabling-rk808-rtc.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-possibility-of-disabling-rk808-rtc.patch @@ -25,7 +25,7 @@ diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c index 111111111111..222222222222 100644 --- a/drivers/mfd/mfd-core.c +++ b/drivers/mfd/mfd-core.c -@@ -208,7 +208,7 @@ static int mfd_add_device(struct device *parent, int id, +@@ -209,7 +209,7 @@ static int mfd_add_device(struct device *parent, int id, match: if (!pdev->dev.of_node) @@ -38,7 +38,7 @@ diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c index 111111111111..222222222222 100644 --- a/drivers/mfd/rk8xx-core.c +++ b/drivers/mfd/rk8xx-core.c -@@ -133,6 +133,7 @@ static const struct mfd_cell rk818s[] = { +@@ -134,6 +134,7 @@ static const struct mfd_cell rk818s[] = { { .name = "rk808-regulator", }, { .name = "rk808-rtc", diff --git a/patch/kernel/archive/rockchip64-6.18/general-rk3328-dtsi-trb-ent-quirk.patch b/patch/kernel/archive/rockchip64-6.18/general-rk3328-dtsi-trb-ent-quirk.patch index 2b93925d80..65d70367f3 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-rk3328-dtsi-trb-ent-quirk.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-rk3328-dtsi-trb-ent-quirk.patch @@ -48,7 +48,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -1071,6 +1071,7 @@ usbdrd3: usb@ff600000 { +@@ -1105,6 +1105,7 @@ usbdrd3: usb@ff600000 { snps,dis-del-phy-power-chg-quirk; snps,dis_enblslpm_quirk; snps,dis-tx-ipgap-linecheck-quirk; diff --git a/patch/kernel/archive/rockchip64-6.18/general-v4l2-iep-driver.patch b/patch/kernel/archive/rockchip64-6.18/general-v4l2-iep-driver.patch index 4924c90b6e..fd29ac829c 100644 --- a/patch/kernel/archive/rockchip64-6.18/general-v4l2-iep-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/general-v4l2-iep-driver.patch @@ -186,7 +186,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -751,6 +751,28 @@ vop_mmu: iommu@ff373f00 { +@@ -785,6 +785,28 @@ vop_mmu: iommu@ff373f00 { status = "disabled"; }; @@ -246,7 +246,7 @@ index 111111111111..222222222222 100644 status = "disabled"; }; diff --git a/drivers/media/platform/rockchip/Kconfig b/drivers/media/platform/rockchip/Kconfig -index 9bbeec4996aa..9fcf52f864b4 100644 +index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/Kconfig +++ b/drivers/media/platform/rockchip/Kconfig @@ -5,3 +5,4 @@ comment "Rockchip media platform drivers" @@ -255,7 +255,7 @@ index 9bbeec4996aa..9fcf52f864b4 100644 source "drivers/media/platform/rockchip/rkvdec/Kconfig" +source "drivers/media/platform/rockchip/iep/Kconfig" diff --git a/drivers/media/platform/rockchip/Makefile b/drivers/media/platform/rockchip/Makefile -index 286dc5c53f7e..85293a5fec41 100644 +index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/Makefile +++ b/drivers/media/platform/rockchip/Makefile @@ -2,3 +2,4 @@ diff --git a/patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch b/patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch index 44b48ba68c..fe6f0a79e0 100644 --- a/patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch +++ b/patch/kernel/archive/rockchip64-6.18/media-0001-Add-rkvdec-Support-v5.patch @@ -2891,7 +2891,7 @@ index 111111111111..222222222222 100644 } }; -@@ -1187,8 +1191,17 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1185,8 +1189,17 @@ static void rkvdec_watchdog_func(struct work_struct *work) } } @@ -2910,7 +2910,7 @@ index 111111111111..222222222222 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, of_rkvdec_match); -@@ -1199,16 +1212,22 @@ static const char * const rkvdec_clk_names[] = { +@@ -1197,16 +1210,22 @@ static const char * const rkvdec_clk_names[] = { static int rkvdec_probe(struct platform_device *pdev) { @@ -3074,7 +3074,7 @@ index 111111111111..222222222222 100644 return 0; @@ -470,10 +494,10 @@ static int rkvdec_try_output_fmt(struct file *file, void *priv, - struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv); + struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file); const struct rkvdec_coded_fmt_desc *desc; - desc = rkvdec_find_coded_fmt_desc(pix_mp->pixelformat); @@ -3113,7 +3113,7 @@ index 111111111111..222222222222 100644 return 0; } -@@ -970,14 +998,17 @@ static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx) +@@ -969,14 +997,17 @@ static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx) int ret; for (i = 0; i < ARRAY_SIZE(rkvdec_coded_fmts); i++) @@ -3157,7 +3157,7 @@ diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c -@@ -1222,6 +1222,10 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1220,6 +1220,10 @@ static void rkvdec_watchdog_func(struct work_struct *work) } } @@ -3168,7 +3168,7 @@ index 111111111111..222222222222 100644 static const struct rkvdec_variant rk3399_rkvdec_variant = { .capabilities = RKVDEC_CAPABILITY_HEVC | RKVDEC_CAPABILITY_H264 | -@@ -1229,6 +1233,10 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { +@@ -1227,6 +1231,10 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { }; static const struct of_device_id of_rkvdec_match[] = { @@ -3261,7 +3261,7 @@ diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c -@@ -1226,6 +1226,13 @@ static const struct rkvdec_variant rk3288_rkvdec_variant = { +@@ -1224,6 +1224,13 @@ static const struct rkvdec_variant rk3288_rkvdec_variant = { .capabilities = RKVDEC_CAPABILITY_HEVC, }; @@ -3275,7 +3275,7 @@ index 111111111111..222222222222 100644 static const struct rkvdec_variant rk3399_rkvdec_variant = { .capabilities = RKVDEC_CAPABILITY_HEVC | RKVDEC_CAPABILITY_H264 | -@@ -1237,6 +1244,10 @@ static const struct of_device_id of_rkvdec_match[] = { +@@ -1235,6 +1242,10 @@ static const struct of_device_id of_rkvdec_match[] = { .compatible = "rockchip,rk3288-vdec", .data = &rk3288_rkvdec_variant, }, @@ -3286,7 +3286,7 @@ index 111111111111..222222222222 100644 { .compatible = "rockchip,rk3399-vdec", .data = &rk3399_rkvdec_variant, -@@ -1267,6 +1278,7 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1265,6 +1276,7 @@ static int rkvdec_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rkvdec); rkvdec->dev = &pdev->dev; rkvdec->capabilities = variant->capabilities; @@ -3350,8 +3350,8 @@ index 111111111111..222222222222 100644 oneOf: + - const: rockchip,rk3288-vdec - const: rockchip,rk3399-vdec - - items: - - enum: + - const: rockchip,rk3576-vdec + - const: rockchip,rk3588-vdec -- Armbian @@ -3420,8 +3420,8 @@ Add controls to provide it as the raw data form the stream. Signed-off-by: Detlev Casanova --- Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst | 114 ++++++++++ - Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst | 12 + Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions | 2 + + Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst | 12 + 3 files changed, 128 insertions(+) diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst @@ -3549,6 +3549,19 @@ index 111111111111..222222222222 100644 .. _v4l2-codec-stateless-av1: ``V4L2_CID_STATELESS_AV1_SEQUENCE (struct)`` +diff --git a/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions b/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions +index 111111111111..222222222222 100644 +--- a/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions ++++ b/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions +@@ -149,6 +149,8 @@ replace symbol V4L2_CTRL_TYPE_H264_DECODE_PARAMS :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_HEVC_SPS :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_HEVC_PPS :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS :c:type:`v4l2_ctrl_type` ++replace symbol V4L2_CTRL_TYPE_HEVC_EXT_SPS_ST_RPS :c:type:`v4l2_ctrl_type` ++replace symbol V4L2_CTRL_TYPE_HEVC_EXT_SPS_LT_RPS :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_AREA :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_RECT :c:type:`v4l2_ctrl_type` + replace symbol V4L2_CTRL_TYPE_FWHT_PARAMS :c:type:`v4l2_ctrl_type` diff --git a/Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst b/Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst index 111111111111..222222222222 100644 --- a/Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst @@ -3572,19 +3585,6 @@ index 111111111111..222222222222 100644 * - ``V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR`` - n/a - n/a -diff --git a/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions b/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions -index 111111111111..222222222222 100644 ---- a/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions -+++ b/Documentation/userspace-api/media/v4l/videodev2.h.rst.exceptions -@@ -149,6 +149,8 @@ replace symbol V4L2_CTRL_TYPE_H264_DECODE_PARAMS :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_HEVC_SPS :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_HEVC_PPS :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS :c:type:`v4l2_ctrl_type` -+replace symbol V4L2_CTRL_TYPE_HEVC_EXT_SPS_ST_RPS :c:type:`v4l2_ctrl_type` -+replace symbol V4L2_CTRL_TYPE_HEVC_EXT_SPS_LT_RPS :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_AREA :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_RECT :c:type:`v4l2_ctrl_type` - replace symbol V4L2_CTRL_TYPE_FWHT_PARAMS :c:type:`v4l2_ctrl_type` -- Armbian @@ -3643,7 +3643,7 @@ index 111111111111..222222222222 100644 case V4L2_CTRL_TYPE_HDR10_CLL_INFO: break; -@@ -1921,6 +1933,12 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, +@@ -1925,6 +1937,12 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params); break; @@ -3688,7 +3688,7 @@ diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-contro index 111111111111..222222222222 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h -@@ -2088,6 +2088,8 @@ struct v4l2_ctrl_mpeg2_quantisation { +@@ -2093,6 +2093,8 @@ struct v4l2_ctrl_mpeg2_quantisation { #define V4L2_CID_STATELESS_HEVC_DECODE_MODE (V4L2_CID_CODEC_STATELESS_BASE + 405) #define V4L2_CID_STATELESS_HEVC_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 406) #define V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (V4L2_CID_CODEC_STATELESS_BASE + 407) @@ -3697,9 +3697,9 @@ index 111111111111..222222222222 100644 enum v4l2_stateless_hevc_decode_mode { V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED, -@@ -2543,6 +2545,65 @@ struct v4l2_ctrl_hevc_scaling_matrix { - __u8 scaling_list_dc_coef_32x32[2]; - }; +@@ -3480,6 +3482,65 @@ struct v4l2_ctrl_av1_film_grain { + #define V4L2_CID_MPEG_MFC51_BASE V4L2_CID_CODEC_MFC51_BASE + #endif +#define V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED 0x1 + @@ -3767,7 +3767,7 @@ diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 111111111111..222222222222 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h -@@ -1974,6 +1974,8 @@ enum v4l2_ctrl_type { +@@ -1981,6 +1981,8 @@ enum v4l2_ctrl_type { V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS = 0x0272, V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX = 0x0273, V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS = 0x0274, @@ -3798,7 +3798,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi -@@ -1252,6 +1252,70 @@ vepu121_3_mmu: iommu@fdbac800 { +@@ -1353,6 +1353,70 @@ vepu121_3_mmu: iommu@fdbac800 { #iommu-cells = <0>; }; @@ -3869,7 +3869,7 @@ index 111111111111..222222222222 100644 av1d: video-codec@fdc70000 { compatible = "rockchip,rk3588-av1-vpu"; reg = <0x0 0xfdc70000 0x0 0x800>; -@@ -3093,6 +3157,16 @@ system_sram2: sram@ff001000 { +@@ -3248,6 +3312,16 @@ system_sram2: sram@ff001000 { ranges = <0x0 0x0 0xff001000 0xef000>; #address-cells = <1>; #size-cells = <1>; @@ -3907,7 +3907,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi -@@ -1139,6 +1139,41 @@ gpu: gpu@27800000 { +@@ -1289,6 +1289,41 @@ gpu: gpu@27800000 { status = "disabled"; }; @@ -3949,7 +3949,7 @@ index 111111111111..222222222222 100644 vop: vop@27d00000 { compatible = "rockchip,rk3576-vop"; reg = <0x0 0x27d00000 0x0 0x3000>, <0x0 0x27d05000 0x0 0x1000>; -@@ -2409,6 +2444,7 @@ sram: sram@3ff88000 { +@@ -2694,6 +2729,7 @@ sram: sram@3ff88000 { /* start address and size should be 4k align */ rkvdec_sram: rkvdec-sram@0 { reg = <0x0 0x78000>; @@ -3977,7 +3977,7 @@ diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/brid index 111111111111..222222222222 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c -@@ -276,8 +276,7 @@ static unsigned int dw_hdmi_qp_find_n(struct dw_hdmi_qp *hdmi, unsigned long pix +@@ -277,8 +277,7 @@ static unsigned int dw_hdmi_qp_find_n(struct dw_hdmi_qp *hdmi, unsigned long pix if (n > 0) return n; @@ -5391,7 +5391,7 @@ diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c -@@ -903,6 +903,15 @@ void rkvdec_run_postamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run) +@@ -902,6 +902,15 @@ void rkvdec_run_postamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run) v4l2_ctrl_request_complete(src_req, &ctx->ctrl_hdl); } @@ -5407,7 +5407,7 @@ index 111111111111..222222222222 100644 static void rkvdec_device_run(void *priv) { struct rkvdec_ctx *ctx = priv; -@@ -1217,7 +1226,6 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1215,7 +1224,6 @@ static void rkvdec_watchdog_func(struct work_struct *work) if (ctx) { dev_err(rkvdec->dev, "Frame processing timed out!\n"); writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT); @@ -8118,7 +8118,7 @@ index 111111111111..222222222222 100644 } return NULL; -@@ -1003,18 +1004,19 @@ static int rkvdec_add_ctrls(struct rkvdec_ctx *ctx, +@@ -1002,18 +1003,19 @@ static int rkvdec_add_ctrls(struct rkvdec_ctx *ctx, static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx) { @@ -8144,7 +8144,7 @@ index 111111111111..222222222222 100644 if (ret) goto err_free_handler; } -@@ -1230,11 +1232,18 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1228,11 +1230,18 @@ static void rkvdec_watchdog_func(struct work_struct *work) } } @@ -8163,7 +8163,7 @@ index 111111111111..222222222222 100644 .capabilities = RKVDEC_CAPABILITY_HEVC | RKVDEC_CAPABILITY_H264 | RKVDEC_CAPABILITY_VP9, -@@ -1242,6 +1251,7 @@ static const struct rkvdec_variant rk3328_rkvdec_variant = { +@@ -1240,6 +1249,7 @@ static const struct rkvdec_variant rk3328_rkvdec_variant = { }; static const struct rkvdec_variant rk3399_rkvdec_variant = { @@ -8171,7 +8171,7 @@ index 111111111111..222222222222 100644 .capabilities = RKVDEC_CAPABILITY_HEVC | RKVDEC_CAPABILITY_H264 | RKVDEC_CAPABILITY_VP9, -@@ -1285,6 +1295,7 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1283,6 +1293,7 @@ static int rkvdec_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rkvdec); rkvdec->dev = &pdev->dev; @@ -8532,7 +8532,7 @@ index 111111111111..222222222222 100644 } rkvdec_queue_cleanup(q, VB2_BUF_STATE_ERROR); -@@ -1324,8 +1338,6 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1322,8 +1336,6 @@ static int rkvdec_probe(struct platform_device *pdev) return ret; } @@ -8541,7 +8541,7 @@ index 111111111111..222222222222 100644 irq = platform_get_irq(pdev, 0); if (irq <= 0) return -ENXIO; -@@ -1345,6 +1345,10 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1336,6 +1348,10 @@ static int rkvdec_probe(struct platform_device *pdev) return ret; } @@ -8552,7 +8552,7 @@ index 111111111111..222222222222 100644 pm_runtime_set_autosuspend_delay(&pdev->dev, 100); pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_enable(&pdev->dev); -@@ -1355,7 +1355,8 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1344,7 +1360,8 @@ static int rkvdec_probe(struct platform_device *pdev) if (ret) goto err_disable_runtime_pm; @@ -8562,7 +8562,7 @@ index 111111111111..222222222222 100644 rkvdec->empty_domain = iommu_paging_domain_alloc(rkvdec->dev); if (IS_ERR(rkvdec->empty_domain)) { -@@ -1360,6 +1360,10 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1358,6 +1375,10 @@ static int rkvdec_probe(struct platform_device *pdev) err_disable_runtime_pm: pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); @@ -8619,8 +8619,8 @@ index 111111111111..222222222222 100644 void *priv; }; -@@ -150,10 +157,16 @@ static inline struct rkvdec_ctx *fh_to_rkvdec_ctx(struct v4l2_fh *fh) - return container_of(fh, struct rkvdec_ctx, fh); +@@ -150,10 +157,16 @@ static inline struct rkvdec_ctx *file_to_rkvdec_ctx(struct file *filp) + return container_of(file_to_v4l2_fh(filp), struct rkvdec_ctx, fh); } +enum rkvdec_alloc_type { @@ -8657,7 +8657,7 @@ diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c -@@ -1207,10 +1207,9 @@ static void rkvdec_iommu_restore(struct rkvdec_dev *rkvdec) +@@ -1205,10 +1205,9 @@ static void rkvdec_iommu_restore(struct rkvdec_dev *rkvdec) } } @@ -8670,7 +8670,7 @@ index 111111111111..222222222222 100644 enum vb2_buffer_state state; u32 status; -@@ -1231,6 +1230,15 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) +@@ -1229,6 +1228,15 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) return IRQ_HANDLED; } @@ -8686,7 +8686,7 @@ index 111111111111..222222222222 100644 static void rkvdec_watchdog_func(struct work_struct *work) { struct rkvdec_dev *rkvdec; -@@ -1249,6 +1257,7 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1247,6 +1255,7 @@ static void rkvdec_watchdog_func(struct work_struct *work) static const struct rkvdec_config config_rkvdec = { .coded_fmts = (struct rkvdec_coded_fmt_desc *)rkvdec_coded_fmts, .coded_fmts_num = ARRAY_SIZE(rkvdec_coded_fmts), @@ -8729,7 +8729,7 @@ diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c -@@ -1297,15 +1297,10 @@ static const struct of_device_id of_rkvdec_match[] = { +@@ -1295,15 +1295,10 @@ static const struct of_device_id of_rkvdec_match[] = { }; MODULE_DEVICE_TABLE(of, of_rkvdec_match); @@ -8745,7 +8745,7 @@ index 111111111111..222222222222 100644 int ret, irq; variant = of_device_get_match_data(&pdev->dev); -@@ -1324,19 +1319,12 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1322,19 +1317,12 @@ static int rkvdec_probe(struct platform_device *pdev) mutex_init(&rkvdec->vdev_lock); INIT_DELAYED_WORK(&rkvdec->watchdog_work, rkvdec_watchdog_func); @@ -9867,7 +9867,7 @@ index 111111111111..222222222222 100644 static bool rkvdec_is_capable(struct rkvdec_ctx *ctx, unsigned int capability) { return (ctx->dev->capabilities & capability) == capability; -@@ -1230,6 +1290,35 @@ static irqreturn_t rk3399_irq_handler(struct rkvdec_ctx *ctx) +@@ -1228,6 +1288,35 @@ static irqreturn_t rk3399_irq_handler(struct rkvdec_ctx *ctx) return IRQ_HANDLED; } @@ -9903,7 +9903,7 @@ index 111111111111..222222222222 100644 static irqreturn_t rkvdec_irq_handler(int irq, void *priv) { struct rkvdec_dev *rkvdec = priv; -@@ -1254,10 +1343,76 @@ static void rkvdec_watchdog_func(struct work_struct *work) +@@ -1252,10 +1341,76 @@ static void rkvdec_watchdog_func(struct work_struct *work) } } @@ -9980,7 +9980,7 @@ index 111111111111..222222222222 100644 }; static const struct rkvdec_variant rk3288_rkvdec_variant = { -@@ -1280,6 +1435,11 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { +@@ -1278,6 +1433,11 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { RKVDEC_CAPABILITY_VP9, }; @@ -9992,7 +9992,7 @@ index 111111111111..222222222222 100644 static const struct of_device_id of_rkvdec_match[] = { { .compatible = "rockchip,rk3288-vdec", -@@ -1293,6 +1453,10 @@ static const struct of_device_id of_rkvdec_match[] = { +@@ -1291,6 +1451,10 @@ static const struct of_device_id of_rkvdec_match[] = { .compatible = "rockchip,rk3399-vdec", .data = &rk3399_rkvdec_variant, }, @@ -10003,7 +10003,7 @@ index 111111111111..222222222222 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, of_rkvdec_match); -@@ -1319,11 +1483,16 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1317,11 +1481,16 @@ static int rkvdec_probe(struct platform_device *pdev) mutex_init(&rkvdec->vdev_lock); INIT_DELAYED_WORK(&rkvdec->watchdog_work, rkvdec_watchdog_func); @@ -12406,7 +12406,7 @@ index 111111111111..222222222222 100644 }; static bool rkvdec_is_capable(struct rkvdec_ctx *ctx, unsigned int capability) -@@ -1319,6 +1420,35 @@ static irqreturn_t vdpu381_irq_handler(struct rkvdec_ctx *ctx) +@@ -1317,6 +1418,35 @@ static irqreturn_t vdpu381_irq_handler(struct rkvdec_ctx *ctx) return IRQ_HANDLED; } @@ -12442,7 +12442,7 @@ index 111111111111..222222222222 100644 static irqreturn_t rkvdec_irq_handler(int irq, void *priv) { struct rkvdec_dev *rkvdec = priv; -@@ -1391,6 +1521,7 @@ static const struct rkvdec_config config_rkvdec = { +@@ -1389,6 +1519,7 @@ static const struct rkvdec_config config_rkvdec = { .coded_fmts_num = ARRAY_SIZE(rkvdec_coded_fmts), .irq_handler = rk3399_irq_handler, .fill_pixfmt_mp = v4l2_fill_pixfmt_mp, @@ -12450,7 +12450,7 @@ index 111111111111..222222222222 100644 }; static struct rcb_size_info vdpu381_rcb_sizes[] = { -@@ -1413,6 +1544,33 @@ static const struct rkvdec_config config_vdpu381 = { +@@ -1411,6 +1542,33 @@ static const struct rkvdec_config config_vdpu381 = { .rcb_num = ARRAY_SIZE(vdpu381_rcb_sizes), .irq_handler = vdpu381_irq_handler, .fill_pixfmt_mp = vdpu38x_fill_pixfmt_mp, @@ -12484,7 +12484,7 @@ index 111111111111..222222222222 100644 }; static const struct rkvdec_variant rk3288_rkvdec_variant = { -@@ -1437,6 +1595,12 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { +@@ -1435,6 +1593,12 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { static const struct rkvdec_variant rk3588_vdpu381_variant = { .config = &config_vdpu381, @@ -12497,7 +12497,7 @@ index 111111111111..222222222222 100644 .capabilities = RKVDEC_CAPABILITY_H264, }; -@@ -1457,6 +1621,10 @@ static const struct of_device_id of_rkvdec_match[] = { +@@ -1455,6 +1619,10 @@ static const struct of_device_id of_rkvdec_match[] = { .compatible = "rockchip,rk3588-vdec", .data = &rk3588_vdpu381_variant, }, @@ -12508,7 +12508,7 @@ index 111111111111..222222222222 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, of_rkvdec_match); -@@ -1494,9 +1662,19 @@ static int rkvdec_probe(struct platform_device *pdev) +@@ -1492,9 +1660,19 @@ static int rkvdec_probe(struct platform_device *pdev) rkvdec->clk_count = ret; rkvdec->axi_clk = devm_clk_get(&pdev->dev, "axi"); @@ -13388,7 +13388,7 @@ index 111111111111..222222222222 100644 }; static bool rkvdec_is_capable(struct rkvdec_ctx *ctx, unsigned int capability) -@@ -1458,6 +1474,78 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) +@@ -1456,6 +1472,78 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) return cfg->irq_handler(ctx); } @@ -13467,7 +13467,7 @@ index 111111111111..222222222222 100644 static void rkvdec_watchdog_func(struct work_struct *work) { struct rkvdec_dev *rkvdec; -@@ -1521,6 +1609,7 @@ static const struct rkvdec_config config_rkvdec = { +@@ -1519,6 +1607,7 @@ static const struct rkvdec_config config_rkvdec = { .coded_fmts_num = ARRAY_SIZE(rkvdec_coded_fmts), .irq_handler = rk3399_irq_handler, .fill_pixfmt_mp = v4l2_fill_pixfmt_mp, @@ -13475,7 +13475,7 @@ index 111111111111..222222222222 100644 .colmv_size = rkvdec_colmv_size, }; -@@ -1545,6 +1634,7 @@ static const struct rkvdec_config config_vdpu381 = { +@@ -1543,6 +1632,7 @@ static const struct rkvdec_config config_vdpu381 = { .irq_handler = vdpu381_irq_handler, .fill_pixfmt_mp = vdpu38x_fill_pixfmt_mp, .colmv_size = rkvdec_colmv_size, @@ -13483,7 +13483,7 @@ index 111111111111..222222222222 100644 .named_regs = true, }; -@@ -1570,6 +1660,7 @@ const struct rkvdec_config config_vdpu383 = { +@@ -1568,6 +1658,7 @@ const struct rkvdec_config config_vdpu383 = { .fill_pixfmt_mp = vdpu38x_fill_pixfmt_mp, .colmv_size = rkvdec_vdpu383_colmv_size, .fill_pixfmt_mp = vdpu38x_fill_pixfmt_mp, @@ -13491,7 +13491,7 @@ index 111111111111..222222222222 100644 .named_regs = true, }; -@@ -1601,7 +1692,8 @@ static const struct rkvdec_variant rk3588_vdpu381_variant = { +@@ -1599,7 +1690,8 @@ static const struct rkvdec_variant rk3588_vdpu381_variant = { static const struct rkvdec_variant rk3576_vdpu383_variant = { .config = &config_vdpu383, diff --git a/patch/kernel/archive/rockchip64-6.18/media-0003-rk3568-disable-hantro-h264.patch b/patch/kernel/archive/rockchip64-6.18/media-0003-rk3568-disable-hantro-h264.patch index 5cd53cb8cc..2e49355b9a 100644 --- a/patch/kernel/archive/rockchip64-6.18/media-0003-rk3568-disable-hantro-h264.patch +++ b/patch/kernel/archive/rockchip64-6.18/media-0003-rk3568-disable-hantro-h264.patch @@ -20,7 +20,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi -@@ -1141,7 +1141,7 @@ power-domain@RK3588_PD_SDMMC { +@@ -1242,7 +1242,7 @@ rknn_mmu_2: iommu@fdad9000 { }; vpu121: video-codec@fdb50000 { @@ -33,7 +33,7 @@ diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/pla index 111111111111..222222222222 100644 --- a/drivers/media/platform/verisilicon/hantro_drv.c +++ b/drivers/media/platform/verisilicon/hantro_drv.c -@@ -721,7 +721,6 @@ static const struct of_device_id of_hantro_match[] = { +@@ -718,7 +718,6 @@ static const struct of_device_id of_hantro_match[] = { { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, }, { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, }, { .compatible = "rockchip,rk3568-vepu", .data = &rk3568_vepu_variant, }, @@ -57,7 +57,7 @@ diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/medi index 111111111111..222222222222 100644 --- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c +++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c -@@ -740,10 +740,9 @@ const struct hantro_variant rk3288_vpu_variant = { +@@ -724,10 +724,9 @@ const struct hantro_variant rk3288_vpu_variant = { const struct hantro_variant rk3328_vpu_variant = { .dec_offset = 0x400, @@ -71,7 +71,7 @@ index 111111111111..222222222222 100644 .codec_ops = rk3399_vpu_codec_ops, .irqs = rockchip_vdpu2_irqs, .num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs), -@@ -787,20 +786,6 @@ const struct hantro_variant rk3568_vepu_variant = { +@@ -771,20 +770,6 @@ const struct hantro_variant rk3568_vepu_variant = { .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names) }; diff --git a/patch/kernel/archive/rockchip64-6.18/net-ethernet-realtek-add-r8169-LED-configuration-from-OF.patch b/patch/kernel/archive/rockchip64-6.18/net-ethernet-realtek-add-r8169-LED-configuration-from-OF.patch index ef193cd846..5e6dbad6fc 100644 --- a/patch/kernel/archive/rockchip64-6.18/net-ethernet-realtek-add-r8169-LED-configuration-from-OF.patch +++ b/patch/kernel/archive/rockchip64-6.18/net-ethernet-realtek-add-r8169-LED-configuration-from-OF.patch @@ -1,16 +1,15 @@ -From cde62ca7cdeeba96ca67bb02f40cbfce61515cd8 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sat, 30 Aug 2025 14:20:46 +0800 -Subject: [PATCH 2/3] net: ethernet: realtek: add r8169 LED configuration from - OF +Subject: net: ethernet: realtek: add r8169 LED configuration from OF Signed-off-by: retro98boy --- - drivers/net/ethernet/realtek/r8169_main.c | 11 +++++++++++ + drivers/net/ethernet/realtek/r8169_main.c | 11 ++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c -index 43170500d..973934934 100644 +index 111111111111..222222222222 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -21,6 +21,7 @@ @@ -21,7 +20,7 @@ index 43170500d..973934934 100644 #include #include #include -@@ -2375,6 +2376,15 @@ void r8169_apply_firmware(struct rtl8169_private *tp) +@@ -2373,6 +2374,15 @@ void r8169_apply_firmware(struct rtl8169_private *tp) } } @@ -37,7 +36,7 @@ index 43170500d..973934934 100644 static void rtl8168_config_eee_mac(struct rtl8169_private *tp) { /* Adjust EEE LED frequency */ -@@ -3392,6 +3402,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp) +@@ -3390,6 +3400,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp) rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000); rtl8168_config_eee_mac(tp); @@ -46,5 +45,5 @@ index 43170500d..973934934 100644 RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN); RTL_W8(tp, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN); -- -2.51.0 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/net-phy-realtek-add-rtl8211x-LED-configuration-from-OF.patch b/patch/kernel/archive/rockchip64-6.18/net-phy-realtek-add-rtl8211x-LED-configuration-from-OF.patch index 896ae0939b..c848018135 100644 --- a/patch/kernel/archive/rockchip64-6.18/net-phy-realtek-add-rtl8211x-LED-configuration-from-OF.patch +++ b/patch/kernel/archive/rockchip64-6.18/net-phy-realtek-add-rtl8211x-LED-configuration-from-OF.patch @@ -1,18 +1,18 @@ -From cf497ba4b9e7986f5f7ce6466dc960f964a0719b Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sat, 30 Aug 2025 14:20:58 +0800 -Subject: [PATCH 3/3] net: phy: realtek: add rtl8211x LED configuration from OF +Subject: net: phy: realtek: add rtl8211x LED configuration from OF Signed-off-by: retro98boy --- - drivers/net/phy/realtek/realtek_main.c | 11 +++++++++++ + drivers/net/phy/realtek/realtek_main.c | 11 ++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/phy/realtek/realtek_main.c b/drivers/net/phy/realtek/realtek_main.c -index dd0d67514..4743f99b3 100644 +index 111111111111..222222222222 100644 --- a/drivers/net/phy/realtek/realtek_main.c +++ b/drivers/net/phy/realtek/realtek_main.c -@@ -215,6 +215,15 @@ static int rtl821x_modify_ext_page(struct phy_device *phydev, u16 ext_page, +@@ -214,6 +214,15 @@ static int rtl821x_modify_ext_page(struct phy_device *phydev, u16 ext_page, return phy_restore_page(phydev, oldpage, ret); } @@ -28,7 +28,7 @@ index dd0d67514..4743f99b3 100644 static int rtl821x_probe(struct phy_device *phydev) { struct device *dev = &phydev->mdio.dev; -@@ -595,6 +604,8 @@ static int rtl8211f_config_init(struct phy_device *phydev) +@@ -639,6 +648,8 @@ static int rtl8211f_config_init(struct phy_device *phydev) if (ret) return ret; @@ -38,5 +38,5 @@ index dd0d67514..4743f99b3 100644 ret = phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, RTL8211F_PHYCR2, RTL8211F_CLKOUT_EN, -- -2.51.0 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/regulator-add-fan53200-driver.patch b/patch/kernel/archive/rockchip64-6.18/regulator-add-fan53200-driver.patch index e1c116edc1..a117ae9940 100644 --- a/patch/kernel/archive/rockchip64-6.18/regulator-add-fan53200-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/regulator-add-fan53200-driver.patch @@ -24,7 +24,7 @@ diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 111111111111..222222222222 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig -@@ -792,6 +792,7 @@ CONFIG_REGULATOR_BD9571MWV=y +@@ -810,6 +810,7 @@ CONFIG_REGULATOR_BD9571MWV=y CONFIG_REGULATOR_CROS_EC=y CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_FAN53555=y @@ -36,7 +36,7 @@ diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 111111111111..222222222222 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig -@@ -432,6 +432,17 @@ config REGULATOR_FAN53880 +@@ -440,6 +440,17 @@ config REGULATOR_FAN53880 (PMIC), it is controlled by I2C and provides one BUCK, one BOOST and four LDO outputs. @@ -58,7 +58,7 @@ diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile index 111111111111..222222222222 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile -@@ -51,6 +51,7 @@ obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o +@@ -52,6 +52,7 @@ obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o obj-$(CONFIG_REGULATOR_FAN53555) += fan53555.o obj-$(CONFIG_REGULATOR_FAN53880) += fan53880.o diff --git a/patch/kernel/archive/rockchip64-6.18/rk3308-0001-pinctrl-slew-mux.patch b/patch/kernel/archive/rockchip64-6.18/rk3308-0001-pinctrl-slew-mux.patch index 2605c1e605..bff0a0340b 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3308-0001-pinctrl-slew-mux.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3308-0001-pinctrl-slew-mux.patch @@ -244,7 +244,7 @@ diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pin index 111111111111..222222222222 100644 --- a/include/linux/pinctrl/pinconf-generic.h +++ b/include/linux/pinctrl/pinconf-generic.h -@@ -145,6 +145,7 @@ enum pin_config_param { +@@ -149,6 +149,7 @@ enum pin_config_param { PIN_CONFIG_SKEW_DELAY, PIN_CONFIG_SLEEP_HARDWARE_STATE, PIN_CONFIG_SLEW_RATE, diff --git a/patch/kernel/archive/rockchip64-6.18/rk3308-add-tsadc-driver.patch b/patch/kernel/archive/rockchip64-6.18/rk3308-add-tsadc-driver.patch index ed8f6d73d1..3e18a75f4a 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3308-add-tsadc-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3308-add-tsadc-driver.patch @@ -26,8 +26,8 @@ diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_therm index 111111111111..222222222222 100644 --- a/drivers/thermal/rockchip_thermal.c +++ b/drivers/thermal/rockchip_thermal.c -@@ -1061,6 +1061,28 @@ static void rk_tsadcv3_tshut_mode(int chn, void __iomem *regs, - writel_relaxed(val_cru, regs + TSADCV3_HSHUT_CRU_INT_EN); +@@ -1098,6 +1098,28 @@ static int rk_tsadcv2_get_trim_code(const struct chip_tsadc_table *table, + return code - base_code; } +static const struct rockchip_tsadc_chip rk3308_tsadc_data = { @@ -55,7 +55,7 @@ index 111111111111..222222222222 100644 static const struct rockchip_tsadc_chip px30_tsadc_data = { /* cpu, gpu */ .chn_offset = 0, -@@ -1322,6 +1344,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = { +@@ -1367,6 +1389,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = { .compatible = "rockchip,rk3288-tsadc", .data = (void *)&rk3288_tsadc_data, }, diff --git a/patch/kernel/archive/rockchip64-6.18/rk3308-fix-10mbit-ethernet.patch b/patch/kernel/archive/rockchip64-6.18/rk3308-fix-10mbit-ethernet.patch index cfdeb5627a..6c1a7798eb 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3308-fix-10mbit-ethernet.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3308-fix-10mbit-ethernet.patch @@ -1,8 +1,7 @@ -From 545ae14ee0159a449e6e0f2f1f54b8c5cc6023ef Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: chillymattster <106633144+chillymattster@users.noreply.github.com> -From: Brent Roman Date: Wed, 3 Sep 2025 18:29:16 +0200 -Subject: [PATCH] rk3308: Fix 10Mbit Ethernet +Subject: rk3308: Fix 10Mbit Ethernet Origin: https://github.com/armbian/build/pull/6117 Bug-armbian: https://github.com/armbian/build/pull/8575 @@ -11,26 +10,11 @@ Bug-armbian: https://forum.armbian.com/topic/30235-rockpi-s-ethernet-10mbps-not- Signed-off-by: chillymattster <106633144+chillymattster@users.noreply.github.com> Last-Update: 2025-09-06 --- - This fixes bug AR-1904. - The original fix was only for current and not for edge kernel which caused - the patch being lost and made the problem reoccur. - . - According to the original PR#6117 the problem of 10mbps ethernot not working - has first been seen in the 5.15 armbian kernel caused by a rewrite of speed - setting for rk3308 in dwmc-rk.c that for unknown reasons completely omitted - the code needed to reprogram the MAC clock as appropriate for the selected - ethernet speed. - . - This patch corrects RK3308_GMAC_FLOW_CTRL and RK3308_GMAC_FLOW_CTRL_CLR to use - the correct bits for MAC onfiguration and restores the missing code needed for - setting the MAC clock required to match the selected ethernet speed. - . - - drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) + drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 11 ++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c -index f6687c2f30f6..45dab3b5680f 100644 +index 111111111111..222222222222 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -503,8 +503,8 @@ static const struct rk_gmac_ops rk3288_ops = { @@ -58,7 +42,6 @@ index f6687c2f30f6..45dab3b5680f 100644 return rk_set_reg_speed(bsp_priv, &rk3308_reg_speed_data, RK3308_GRF_MAC_CON0, interface, speed); } - -- -2.39.5 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/rk3308-fix-uart-dma.patch b/patch/kernel/archive/rockchip64-6.18/rk3308-fix-uart-dma.patch index ab570cc807..ad1546e36b 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3308-fix-uart-dma.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3308-fix-uart-dma.patch @@ -62,7 +62,7 @@ diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c index 111111111111..222222222222 100644 --- a/drivers/soc/rockchip/grf.c +++ b/drivers/soc/rockchip/grf.c -@@ -88,6 +88,17 @@ static const struct rockchip_grf_info rk3328_grf __initconst = { +@@ -87,6 +87,17 @@ static const struct rockchip_grf_info rk3328_grf __initconst = { .num_values = ARRAY_SIZE(rk3328_defaults), }; @@ -80,7 +80,7 @@ index 111111111111..222222222222 100644 #define RK3368_GRF_SOC_CON15 0x43c static const struct rockchip_grf_value rk3368_defaults[] __initconst = { -@@ -173,6 +184,9 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = { +@@ -172,6 +183,9 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = { }, { .compatible = "rockchip,rk3328-grf", .data = (void *)&rk3328_grf, diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-add-dmc-driver.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-add-dmc-driver.patch index 050bc73a70..0244e120dd 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-add-dmc-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-add-dmc-driver.patch @@ -341,7 +341,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -595,6 +595,67 @@ tsadc: tsadc@ff250000 { +@@ -604,6 +604,67 @@ tsadc: tsadc@ff250000 { status = "disabled"; }; @@ -413,7 +413,7 @@ diff --git a/drivers/clk/rockchip/clk-ddr.c b/drivers/clk/rockchip/clk-ddr.c index 111111111111..222222222222 100644 --- a/drivers/clk/rockchip/clk-ddr.c +++ b/drivers/clk/rockchip/clk-ddr.c -@@ -87,6 +87,134 @@ static const struct clk_ops rockchip_ddrclk_sip_ops = { +@@ -88,6 +88,134 @@ static const struct clk_ops rockchip_ddrclk_sip_ops = { .get_parent = rockchip_ddrclk_get_parent, }; @@ -548,7 +548,7 @@ index 111111111111..222222222222 100644 struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, const char *const *parent_names, u8 num_parents, int mux_offset, -@@ -114,6 +242,9 @@ struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, +@@ -115,6 +243,9 @@ struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, case ROCKCHIP_DDRCLK_SIP: init.ops = &rockchip_ddrclk_sip_ops; break; @@ -602,7 +602,7 @@ diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig index 111111111111..222222222222 100644 --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig -@@ -129,6 +129,18 @@ config ARM_MEDIATEK_CCI_DEVFREQ +@@ -140,6 +140,18 @@ config ARM_MEDIATEK_CCI_DEVFREQ buck voltages and update a proper CCI frequency. Use the notification to get the regulator status. @@ -625,7 +625,7 @@ diff --git a/drivers/devfreq/Makefile b/drivers/devfreq/Makefile index 111111111111..222222222222 100644 --- a/drivers/devfreq/Makefile +++ b/drivers/devfreq/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_ARM_IMX_BUS_DEVFREQ) += imx-bus.o +@@ -14,6 +14,7 @@ obj-$(CONFIG_ARM_IMX_BUS_DEVFREQ) += imx-bus.o obj-$(CONFIG_ARM_IMX8M_DDRC_DEVFREQ) += imx8m-ddrc.o obj-$(CONFIG_ARM_MEDIATEK_CCI_DEVFREQ) += mtk-cci-devfreq.o obj-$(CONFIG_ARM_RK3399_DMC_DEVFREQ) += rk3399_dmc.o @@ -646,7 +646,7 @@ index 111111111111..222222222222 100644 #include #include #include -@@ -99,6 +101,7 @@ struct rockchip_dfi { +@@ -102,6 +104,7 @@ struct rockchip_dfi { struct device *dev; void __iomem *regs; @@ -654,7 +654,7 @@ index 111111111111..222222222222 100644 struct regmap *regmap_pmu; struct clk *clk; int usecount; -@@ -668,6 +671,46 @@ static int rockchip_ddr_perf_init(struct rockchip_dfi *dfi) +@@ -712,6 +715,46 @@ static int rockchip_ddr_perf_init(struct rockchip_dfi *dfi) } #endif @@ -701,7 +701,7 @@ index 111111111111..222222222222 100644 static int rk3399_dfi_init(struct rockchip_dfi *dfi) { struct regmap *regmap_pmu = dfi->regmap_pmu; -@@ -756,6 +799,8 @@ static int rk3588_dfi_init(struct rockchip_dfi *dfi) +@@ -809,6 +852,8 @@ static int rk3588_dfi_init(struct rockchip_dfi *dfi) }; static const struct of_device_id rockchip_dfi_id_match[] = { @@ -710,7 +710,7 @@ index 111111111111..222222222222 100644 { .compatible = "rockchip,rk3399-dfi", .data = rk3399_dfi_init }, { .compatible = "rockchip,rk3568-dfi", .data = rk3568_dfi_init }, { .compatible = "rockchip,rk3588-dfi", .data = rk3588_dfi_init }, -@@ -785,14 +830,30 @@ static int rockchip_dfi_probe(struct platform_device *pdev) +@@ -838,14 +883,30 @@ static int rockchip_dfi_probe(struct platform_device *pdev) if (IS_ERR(dfi->regs)) return PTR_ERR(dfi->regs); @@ -748,7 +748,7 @@ index 111111111111..222222222222 100644 dfi->dev = dev; mutex_init(&dfi->mutex); -@@ -817,6 +878,8 @@ static int rockchip_dfi_probe(struct platform_device *pdev) +@@ -870,6 +931,8 @@ static int rockchip_dfi_probe(struct platform_device *pdev) if (ret) return ret; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-add-rga-node.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-add-rga-node.patch index a1fc378f87..267cd1203d 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-add-rga-node.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-add-rga-node.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -817,6 +817,20 @@ vop_mmu: iommu@ff373f00 { +@@ -846,6 +846,20 @@ vop_mmu: iommu@ff373f00 { status = "disabled"; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-spdif.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-spdif.patch index 62ed39a862..e5228cbc94 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-spdif.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-spdif.patch @@ -54,8 +54,8 @@ Subject: [ARCHEOLOGY] rockchip64: tidy up rk3328 patches > X-Git-Archeology: Subject: bump rockchip64 edge to v6.3 > X-Git-Archeology: --- - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 27 ++++++++++ - 1 file changed, 27 insertions(+) + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 22 ++++++++++ + 1 file changed, 22 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi index 111111111111..222222222222 100644 @@ -88,7 +88,7 @@ index 111111111111..222222222222 100644 timer { compatible = "arm,armv8-timer"; interrupts = , -@@ -969,6 +994,7 @@ cru: clock-controller@ff440000 { +@@ -973,6 +993,7 @@ cru: clock-controller@ff440000 { <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>, <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, <&cru HCLK_PERI>, <&cru PCLK_PERI>, @@ -96,7 +96,7 @@ index 111111111111..222222222222 100644 <&cru SCLK_RTC32K>; assigned-clock-parents = <&cru HDMIPHY>, <&cru PLL_APLL>, -@@ -990,6 +1016,7 @@ cru: clock-controller@ff440000 { +@@ -994,6 +1015,7 @@ cru: clock-controller@ff440000 { <150000000>, <75000000>, <75000000>, <150000000>, <75000000>, <75000000>, diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-usb3-reset-properties.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-usb3-reset-properties.patch index 1be6463d36..18d46b85bb 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-usb3-reset-properties.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-dtsi-usb3-reset-properties.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -1220,6 +1220,8 @@ usbdrd3: usb@ff600000 { +@@ -1219,6 +1219,8 @@ usbdrd3: usb@ff600000 { <&cru ACLK_USB3OTG>; clock-names = "ref_clk", "suspend_clk", "bus_clk"; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-inno-usb3phy-driver.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-inno-usb3phy-driver.patch index f179d3e8a1..80c7710ddf 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-inno-usb3phy-driver.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-inno-usb3phy-driver.patch @@ -1,22 +1,20 @@ -From 460b224602414d5a3935663ac57fd891a0d8d576 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Paolo Sabatino Date: Tue, 12 Aug 2025 20:08:01 +0200 -Subject: [PATCH] Add rockchip Innosilicon USB3 phy driver +Subject: Add rockchip Innosilicon USB3 phy driver source: https://patchwork.kernel.org/project/linux-rockchip/cover/20250115012628.1035928-1-pgwipeout@gmail.com/ --- - .../bindings/phy/rockchip,inno-usb3phy.yaml | 166 ++++ - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 39 + - drivers/phy/rockchip/Kconfig | 10 + - drivers/phy/rockchip/Makefile | 1 + - drivers/phy/rockchip/phy-rockchip-inno-usb3.c | 869 ++++++++++++++++++ - 5 files changed, 1085 insertions(+) - create mode 100644 Documentation/devicetree/bindings/phy/rockchip,inno-usb3phy.yaml - create mode 100644 drivers/phy/rockchip/phy-rockchip-inno-usb3.c + Documentation/devicetree/bindings/phy/rockchip,inno-usb3phy.yaml | 166 ++ + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 39 + + drivers/phy/rockchip/Kconfig | 10 + + drivers/phy/rockchip/Makefile | 1 + + drivers/phy/rockchip/phy-rockchip-inno-usb3.c | 870 ++++++++++ + 5 files changed, 1086 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb3phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb3phy.yaml new file mode 100644 -index 000000000000..cde489ca87ab +index 000000000000..111111111111 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/rockchip,inno-usb3phy.yaml @@ -0,0 +1,166 @@ @@ -187,10 +185,10 @@ index 000000000000..cde489ca87ab + }; + }; diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -index 7d992c3c01ce..181a900d41f9 100644 +index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -903,6 +903,43 @@ u2phy_host: host-port { +@@ -1056,6 +1056,43 @@ u2phy_host: host-port { }; }; @@ -234,9 +232,9 @@ index 7d992c3c01ce..181a900d41f9 100644 sdmmc: mmc@ff500000 { compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; reg = <0x0 0xff500000 0x0 0x4000>; -@@ -1067,6 +1104,8 @@ usbdrd3: usb@ff600000 { - clock-names = "ref_clk", "suspend_clk", - "bus_clk"; +@@ -1222,6 +1259,8 @@ usbdrd3: usb@ff600000 { + resets = <&cru SRST_USB3OTG>; + reset-names = "usb3-otg"; dr_mode = "otg"; + phys = <&usb3phy_utmi>, <&usb3phy_pipe>; + phy-names = "usb2-phy", "usb3-phy"; @@ -244,7 +242,7 @@ index 7d992c3c01ce..181a900d41f9 100644 snps,dis-del-phy-power-chg-quirk; snps,dis_enblslpm_quirk; diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig -index 14698571b607..858e451edc5a 100644 +index 111111111111..222222222222 100644 --- a/drivers/phy/rockchip/Kconfig +++ b/drivers/phy/rockchip/Kconfig @@ -48,6 +48,16 @@ config PHY_ROCKCHIP_INNO_USB2 @@ -265,7 +263,7 @@ index 14698571b607..858e451edc5a 100644 tristate "Rockchip Innosilicon MIPI CSI PHY driver" depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile -index 117aaffd037d..d7b7b090b1e2 100644 +index 111111111111..222222222222 100644 --- a/drivers/phy/rockchip/Makefile +++ b/drivers/phy/rockchip/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY) += phy-rockchip-inno-csidphy.o @@ -278,7 +276,7 @@ index 117aaffd037d..d7b7b090b1e2 100644 obj-$(CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY) += phy-rockchip-samsung-dcphy.o diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb3.c b/drivers/phy/rockchip/phy-rockchip-inno-usb3.c new file mode 100644 -index 000000000000..51b9f3b7fbfa +index 000000000000..111111111111 --- /dev/null +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb3.c @@ -0,0 +1,870 @@ @@ -1153,5 +1151,5 @@ index 000000000000..51b9f3b7fbfa +MODULE_DESCRIPTION("Rockchip Innosilicon USB3PHY driver"); +MODULE_LICENSE("GPL"); -- -2.43.0 +Armbian diff --git a/patch/kernel/archive/rockchip64-6.18/rk3328-roc-cc-add-missing-nodes.patch b/patch/kernel/archive/rockchip64-6.18/rk3328-roc-cc-add-missing-nodes.patch index c6eea00a49..61461a145b 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3328-roc-cc-add-missing-nodes.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3328-roc-cc-add-missing-nodes.patch @@ -5,8 +5,8 @@ Subject: rk3328-roc-cc add missing nodes Signed-off-by: tonymac32 --- - arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi | 32 ++++++++++ - 1 file changed, 32 insertions(+) + arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi | 13 ++++++++++ + 1 file changed, 13 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi old mode 100644 @@ -14,7 +14,7 @@ new mode 100755 index 111111111111..222222222222 --- a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi -@@ -368,6 +387,19 @@ &sdmmc { +@@ -385,6 +385,19 @@ &sdmmc { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-fix-pci-phy.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-fix-pci-phy.patch index 20f2c989cb..a26aa2c043 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-fix-pci-phy.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-fix-pci-phy.patch @@ -5,14 +5,14 @@ Subject: rk3399 PCIE PHY reset on probe Signed-off-by: Andrey Safonov --- - drivers/phy/rockchip/phy-rockchip-pcie.c | 16 ++++++++++ - 1 file changed, 16 insertions(+) + drivers/phy/rockchip/phy-rockchip-pcie.c | 15 ++++++++++ + 1 file changed, 15 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c index 111111111111..222222222222 100644 --- a/drivers/phy/rockchip/phy-rockchip-pcie.c +++ b/drivers/phy/rockchip/phy-rockchip-pcie.c -@@ -293,6 +293,19 @@ static const struct of_device_id rockchip_pcie_phy_dt_ids[] = { +@@ -262,6 +262,19 @@ static const struct of_device_id rockchip_pcie_phy_dt_ids[] = { MODULE_DEVICE_TABLE(of, rockchip_pcie_phy_dt_ids); @@ -32,7 +32,7 @@ index 111111111111..222222222222 100644 static int rockchip_pcie_phy_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -337,6 +351,8 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev) +@@ -306,6 +319,8 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev) phy_num = (phy_num == 0) ? 1 : PHY_MAX_LANE_NUM; dev_dbg(dev, "phy number is %d\n", phy_num); diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-rp64-pcie-Reimplement-rockchip-PCIe-bus-scan-delay.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-rp64-pcie-Reimplement-rockchip-PCIe-bus-scan-delay.patch index b986569070..557e203cd7 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-rp64-pcie-Reimplement-rockchip-PCIe-bus-scan-delay.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-rp64-pcie-Reimplement-rockchip-PCIe-bus-scan-delay.patch @@ -20,7 +20,7 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/adm index 111111111111..222222222222 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4967,6 +4967,14 @@ +@@ -5087,6 +5087,14 @@ nomsi Do not use MSI for native PCIe PME signaling (this makes all PCIe root ports use INTx for all services). @@ -36,7 +36,7 @@ index 111111111111..222222222222 100644 pd_ignore_unused diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c -index 6a6da404c664..c7d586556eeb 100644 +index 111111111111..222222222222 100644 --- a/drivers/pci/controller/pcie-rockchip-host.c +++ b/drivers/pci/controller/pcie-rockchip-host.c @@ -24,10 +24,14 @@ @@ -44,17 +44,17 @@ index 6a6da404c664..c7d586556eeb 100644 #include #include +#include - + #include "../pci.h" #include "pcie-rockchip.h" - + +static int bus_scan_delay = -1; +module_param_named(bus_scan_delay, bus_scan_delay, int, S_IRUGO); + static void rockchip_pcie_enable_bw_int(struct rockchip_pcie *rockchip) { u32 status; -@@ -933,6 +937,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev) +@@ -929,6 +933,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct pci_host_bridge *bridge; int err; @@ -62,7 +62,7 @@ index 6a6da404c664..c7d586556eeb 100644 if (!dev->of_node) return -ENODEV; -@@ -982,6 +987,26 @@ static int rockchip_pcie_probe(struct platform_device *pdev) +@@ -978,6 +983,26 @@ static int rockchip_pcie_probe(struct platform_device *pdev) bridge->sysdata = rockchip; bridge->ops = &rockchip_pcie_ops; @@ -110,7 +110,7 @@ diff --git a/drivers/pci/controller/pcie-rockchip.h b/drivers/pci/controller/pci index 111111111111..222222222222 100644 --- a/drivers/pci/controller/pcie-rockchip.h +++ b/drivers/pci/controller/pcie-rockchip.h -@@ -351,6 +351,8 @@ struct rockchip_pcie { +@@ -328,6 +328,8 @@ struct rockchip_pcie { phys_addr_t msg_bus_addr; bool is_rc; struct resource *mem_res; @@ -121,3 +121,4 @@ index 111111111111..222222222222 100644 static u32 rockchip_pcie_read(struct rockchip_pcie *rockchip, u32 reg) -- Armbian + diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-sd-drive-level-8ma.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-sd-drive-level-8ma.patch index 4f2a66e232..b4a57ad16e 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-sd-drive-level-8ma.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-sd-drive-level-8ma.patch @@ -112,7 +112,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi -@@ -2662,25 +2662,25 @@ sdio0_int: sdio0-int { +@@ -2658,25 +2658,25 @@ sdio0_int: sdio0-int { sdmmc { sdmmc_bus1: sdmmc-bus1 { rockchip,pins = @@ -145,7 +145,7 @@ index 111111111111..222222222222 100644 }; sdmmc_cd: sdmmc-cd { -@@ -2690,7 +2690,7 @@ sdmmc_cd: sdmmc-cd { +@@ -2686,7 +2686,7 @@ sdmmc_cd: sdmmc-cd { sdmmc_wp: sdmmc-wp { rockchip,pins = diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-sd-pwr-pinctrl.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-sd-pwr-pinctrl.patch index 55a8f2d61c..e8ee76d835 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-sd-pwr-pinctrl.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-sd-pwr-pinctrl.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi -@@ -2657,6 +2657,11 @@ sdio0_int: sdio0-int { +@@ -2653,6 +2653,11 @@ sdio0_int: sdio0-int { rockchip,pins = <0 RK_PA4 1 &pcfg_pull_up>; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch index c970d2a6ae..c65c38a340 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch @@ -13,7 +13,7 @@ diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index 111111111111..222222222222 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -3110,7 +3110,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3114,7 +3114,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port) { struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; @@ -22,7 +22,7 @@ index 111111111111..222222222222 100644 if (!port->partner_pd) port->partner_pd = usb_power_delivery_register(NULL, &desc); -@@ -3120,11 +3120,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3124,11 +3124,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port) memcpy(caps.pdo, port->source_caps, sizeof(u32) * port->nr_source_caps); caps.role = TYPEC_SOURCE; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-notify-typec-dp-hpd-state-through-extcon.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-notify-typec-dp-hpd-state-through-extcon.patch index c11b8ca48e..3e4e9f0110 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-notify-typec-dp-hpd-state-through-extcon.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-notify-typec-dp-hpd-state-through-extcon.patch @@ -24,7 +24,7 @@ index 111111111111..222222222222 100644 #include #include #include -@@ -74,6 +77,57 @@ struct dp_altmode { +@@ -81,6 +84,57 @@ struct dp_altmode { struct typec_altmode *plug_prime; }; @@ -82,7 +82,7 @@ index 111111111111..222222222222 100644 static int dp_altmode_notify(struct dp_altmode *dp) { unsigned long conf; -@@ -167,6 +221,7 @@ static int dp_altmode_status_update(struct dp_altmode *dp) +@@ -175,6 +229,7 @@ static int dp_altmode_status_update(struct dp_altmode *dp) dp->state = dp->plug_prime ? DP_STATE_CONFIGURE_PRIME : DP_STATE_CONFIGURE; if (dp->hpd != hpd) { @@ -90,15 +90,15 @@ index 111111111111..222222222222 100644 dp->hpd = hpd; dp->pending_hpd = true; } -@@ -175,6 +230,7 @@ static int dp_altmode_status_update(struct dp_altmode *dp) +@@ -185,6 +240,7 @@ static int dp_altmode_status_update(struct dp_altmode *dp) drm_connector_oob_hotplug_event(dp->connector_fwnode, hpd ? connector_status_connected : connector_status_disconnected); + dp_altmode_update_extcon_hpd_status(dp, hpd); dp->hpd = hpd; sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); - } -@@ -374,6 +430,7 @@ static int dp_altmode_vdm(struct typec_altmode *alt, + if (hpd && irq_hpd) { +@@ -393,6 +449,7 @@ static int dp_altmode_vdm(struct typec_altmode *alt, if (dp->hpd) { drm_connector_oob_hotplug_event(dp->connector_fwnode, connector_status_disconnected); diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-phy-rockchip-naneng-Add-fallback-for-old-DTs.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-phy-rockchip-naneng-Add-fallback-for-old-DTs.patch index f6e0e1ce00..04b8240646 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-phy-rockchip-naneng-Add-fallback-for-old-DTs.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-phy-rockchip-naneng-Add-fallback-for-old-DTs.patch @@ -25,7 +25,7 @@ index 111111111111..222222222222 100644 dwc3_writel(dwc->regs, DWC3_GCTL, reg); dwc->current_dr_role = mode; -@@ -191,6 +191,7 @@ static void __dwc3_set_mode(struct work_struct *work) +@@ -192,6 +192,7 @@ static void __dwc3_set_mode(struct work_struct *work) dwc3_host_exit(dwc); break; case DWC3_GCTL_PRTCAP_DEVICE: @@ -33,7 +33,7 @@ index 111111111111..222222222222 100644 dwc3_gadget_exit(dwc); dwc3_event_buffers_cleanup(dwc); break; -@@ -210,12 +211,43 @@ static void __dwc3_set_mode(struct work_struct *work) +@@ -211,12 +212,43 @@ static void __dwc3_set_mode(struct work_struct *work) * Only perform GCTL.CoreSoftReset when there's DRD role switching. */ if (dwc->current_dr_role && ((DWC3_IP_IS(DWC3) || @@ -78,7 +78,7 @@ index 111111111111..222222222222 100644 /* * Wait for internal clocks to synchronized. DWC_usb31 and * DWC_usb32 may need at least 50ms (less for DWC_usb3). To -@@ -257,6 +289,7 @@ static void __dwc3_set_mode(struct work_struct *work) +@@ -258,6 +290,7 @@ static void __dwc3_set_mode(struct work_struct *work) } break; case DWC3_GCTL_PRTCAP_DEVICE: @@ -86,7 +86,7 @@ index 111111111111..222222222222 100644 dwc3_core_soft_reset(dwc); dwc3_event_buffers_setup(dwc); -@@ -1844,6 +1877,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1845,6 +1878,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) dwc->dis_split_quirk = device_property_read_bool(dev, "snps,dis-split-quirk"); @@ -95,7 +95,7 @@ index 111111111111..222222222222 100644 dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; -@@ -2439,6 +2474,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg) +@@ -2441,6 +2476,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg) switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: @@ -103,7 +103,7 @@ index 111111111111..222222222222 100644 if (pm_runtime_suspended(dwc->dev)) break; ret = dwc3_gadget_suspend(dwc); -@@ -2503,11 +2539,12 @@ static int dwc3_resume_common(struct dwc3 *dwc, pm_message_t msg) +@@ -2505,11 +2541,12 @@ static int dwc3_resume_common(struct dwc3 *dwc, pm_message_t msg) switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: @@ -117,7 +117,7 @@ index 111111111111..222222222222 100644 dwc3_gadget_resume(dwc); break; case DWC3_GCTL_PRTCAP_HOST: -@@ -2571,6 +2608,7 @@ static int dwc3_runtime_checks(struct dwc3 *dwc) +@@ -2573,6 +2610,7 @@ static int dwc3_runtime_checks(struct dwc3 *dwc) { switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: @@ -125,7 +125,7 @@ index 111111111111..222222222222 100644 if (dwc->connected) return -EBUSY; break; -@@ -2609,6 +2647,7 @@ int dwc3_runtime_resume(struct dwc3 *dwc) +@@ -2611,6 +2649,7 @@ int dwc3_runtime_resume(struct dwc3 *dwc) switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: @@ -133,7 +133,7 @@ index 111111111111..222222222222 100644 if (dwc->pending_events) { pm_runtime_put(dev); dwc->pending_events = false; -@@ -2633,6 +2672,7 @@ int dwc3_runtime_idle(struct dwc3 *dwc) +@@ -2635,6 +2674,7 @@ int dwc3_runtime_idle(struct dwc3 *dwc) switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: @@ -158,7 +158,7 @@ index 111111111111..222222222222 100644 #define DWC3_GCTL_CORESOFTRESET BIT(11) #define DWC3_GCTL_SOFITPSYNC BIT(10) -@@ -1152,6 +1158,10 @@ struct dwc3_scratchpad_array { +@@ -1164,6 +1170,10 @@ struct dwc3_glue_ops { * @sys_wakeup: set if the device may do system wakeup. * @wakeup_configured: set if the device is configured for remote wakeup. * @suspended: set to track suspend event due to U3/L2. @@ -169,7 +169,7 @@ index 111111111111..222222222222 100644 * @susphy_state: state of DWC3_GUSB2PHYCFG_SUSPHY + DWC3_GUSB3PIPECTL_SUSPHY * before PM suspend. * @imod_interval: set the interrupt moderation interval in 250ns -@@ -1392,6 +1402,8 @@ struct dwc3 { +@@ -1406,6 +1416,8 @@ struct dwc3 { unsigned suspended:1; unsigned susphy_state:1; @@ -229,7 +229,7 @@ index 111111111111..222222222222 100644 return NOTIFY_DONE; } -@@ -547,8 +558,7 @@ int dwc3_drd_init(struct dwc3 *dwc) +@@ -548,8 +559,7 @@ int dwc3_drd_init(struct dwc3 *dwc) if (dwc->edev) { dwc->edev_nb.notifier_call = dwc3_drd_notifier; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Extend-reset-quirk-support-to-include-role-.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Extend-reset-quirk-support-to-include-role-.patch index 82c665cb15..faec9829e2 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Extend-reset-quirk-support-to-include-role-.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Extend-reset-quirk-support-to-include-role-.patch @@ -33,7 +33,7 @@ index 111111111111..222222222222 100644 if (dwc->role_switch_default_mode == USB_DR_MODE_HOST) mode = DWC3_GCTL_PRTCAP_HOST; else -@@ -487,6 +489,9 @@ static enum usb_role dwc3_usb_role_switch_get(struct usb_role_switch *sw) +@@ -488,6 +490,9 @@ static enum usb_role dwc3_usb_role_switch_get(struct usb_role_switch *sw) spin_lock_irqsave(&dwc->lock, flags); switch (dwc->current_dr_role) { @@ -43,7 +43,7 @@ index 111111111111..222222222222 100644 case DWC3_GCTL_PRTCAP_HOST: role = USB_ROLE_HOST; break; -@@ -518,6 +523,8 @@ static int dwc3_setup_role_switch(struct dwc3 *dwc) +@@ -519,6 +524,8 @@ static int dwc3_setup_role_switch(struct dwc3 *dwc) } else { dwc->role_switch_default_mode = USB_DR_MODE_PERIPHERAL; mode = DWC3_GCTL_PRTCAP_DEVICE; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch index c6c998415f..d007db4589 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch @@ -18,7 +18,7 @@ diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 111111111111..222222222222 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -931,6 +931,7 @@ static int dwc3_phy_power_on(struct dwc3 *dwc) +@@ -932,6 +932,7 @@ static int dwc3_phy_power_on(struct dwc3 *dwc) goto err_power_off_usb3_phy; } @@ -26,7 +26,7 @@ index 111111111111..222222222222 100644 return 0; err_power_off_usb3_phy: -@@ -951,8 +952,10 @@ static void dwc3_phy_power_off(struct dwc3 *dwc) +@@ -952,8 +953,10 @@ static void dwc3_phy_power_off(struct dwc3 *dwc) { int i; @@ -43,7 +43,7 @@ diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 111111111111..222222222222 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h -@@ -1224,6 +1224,8 @@ struct dwc3 { +@@ -1238,6 +1238,8 @@ struct dwc3 { u8 num_usb2_ports; u8 num_usb3_ports; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch index eb05df54c3..a5e87e6ba0 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch @@ -21,7 +21,7 @@ diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmod index 111111111111..222222222222 100644 --- a/drivers/usb/typec/altmodes/displayport.c +++ b/drivers/usb/typec/altmodes/displayport.c -@@ -170,11 +170,29 @@ static int dp_altmode_configure(struct dp_altmode *dp, u8 con) +@@ -177,11 +177,29 @@ static int dp_altmode_configure(struct dp_altmode *dp, u8 con) /* Account for active cable capabilities */ if (dp->plug_prime) pin_assign &= DP_CAP_UFP_D_PIN_ASSIGN(dp->plug_prime->vdo); @@ -51,7 +51,7 @@ index 111111111111..222222222222 100644 /* Determining the initial pin assignment. */ if (!DP_CONF_GET_PIN_ASSIGN(dp->data.conf)) { /* Is USB together with DP preferred */ -@@ -786,15 +804,37 @@ int dp_altmode_probe(struct typec_altmode *alt) +@@ -814,15 +832,37 @@ int dp_altmode_probe(struct typec_altmode *alt) struct typec_altmode *plug = typec_altmode_get_plug(alt, TYPEC_PLUG_SOP_P); struct fwnode_handle *fwnode; struct dp_altmode *dp; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch index dcaf373929..d22c84c4a6 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3399-usbc-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch @@ -18,7 +18,7 @@ diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index 111111111111..222222222222 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -3111,15 +3111,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3115,15 +3115,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port) struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; struct usb_power_delivery_capabilities *cap; @@ -45,7 +45,7 @@ index 111111111111..222222222222 100644 cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps); if (IS_ERR(cap)) return PTR_ERR(cap); -@@ -3134,15 +3141,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port) +@@ -3138,15 +3145,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port) struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; struct usb_power_delivery_capabilities *cap; @@ -72,7 +72,7 @@ index 111111111111..222222222222 100644 cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps); if (IS_ERR(cap)) return PTR_ERR(cap); -@@ -7205,10 +7219,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port) +@@ -7209,10 +7223,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port) port->pds[i] = usb_power_delivery_register(port->dev, &desc); if (IS_ERR(port->pds[i])) { ret = PTR_ERR(port->pds[i]); diff --git a/patch/kernel/archive/rockchip64-6.18/rk3576-0004-arch-arm64-dts-rockchip-remove-overclocked-CPU-OPP-t.patch b/patch/kernel/archive/rockchip64-6.18/rk3576-0004-arch-arm64-dts-rockchip-remove-overclocked-CPU-OPP-t.patch index 0dee57e9e3..87b5204379 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3576-0004-arch-arm64-dts-rockchip-remove-overclocked-CPU-OPP-t.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3576-0004-arch-arm64-dts-rockchip-remove-overclocked-CPU-OPP-t.patch @@ -1,17 +1,18 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jianfeng Liu Date: Wed, 1 Oct 2025 20:59:28 +0800 -Subject: arch: arm64: dts: rockchip: remove overclocked CPU OPP table on rk3576 +Subject: arch: arm64: dts: rockchip: remove overclocked CPU OPP table on + rk3576 --- - arch/arm64/boot/dts/rockchip/rk3576.dtsi | 12 ------ + arch/arm64/boot/dts/rockchip/rk3576.dtsi | 12 ---------- 1 file changed, 12 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi -@@ -269,12 +269,6 @@ opp-2016000000 { +@@ -276,12 +276,6 @@ opp-2016000000 { opp-microvolt = <900000 900000 950000>; clock-latency-ns = <40000>; }; @@ -24,7 +25,7 @@ index 111111111111..222222222222 100644 }; cluster1_opp_table: opp-table-cluster1 { -@@ -341,12 +335,6 @@ opp-2208000000 { +@@ -348,12 +342,6 @@ opp-2208000000 { opp-microvolt = <925000 925000 950000>; clock-latency-ns = <40000>; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-0010-fix-clk-divisions.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-0010-fix-clk-divisions.patch index 21d5f10f09..b328fd7203 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-0010-fix-clk-divisions.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-0010-fix-clk-divisions.patch @@ -88,7 +88,7 @@ index 111111111111..222222222222 100644 down = parent_rate / rate; if (flags & CLK_DIVIDER_POWER_OF_TWO) { -@@ -479,7 +479,7 @@ int divider_get_val(unsigned long rate, unsigned long parent_rate, +@@ -458,7 +458,7 @@ int divider_get_val(unsigned long rate, unsigned long parent_rate, { unsigned int div, value; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1010-arm64-dts-rock-5b-Slow-down-emmc-to-hs200.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1010-arm64-dts-rock-5b-Slow-down-emmc-to-hs200.patch index e82c84e48a..507834b0d1 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1010-arm64-dts-rock-5b-Slow-down-emmc-to-hs200.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1010-arm64-dts-rock-5b-Slow-down-emmc-to-hs200.patch @@ -4,14 +4,14 @@ Date: Wed, 27 Dec 2023 15:03:57 +0800 Subject: arm64: dts: rock-5b: Slow down emmc freq and add tsadc node --- - arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dtsi | 1 + + arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi -index 973d39a7e0e0..0510d63f1b3a 100644 +index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi -@@ -434,6 +434,7 @@ &sdhci { +@@ -584,6 +584,7 @@ &sdhci { no-sdio; no-sd; non-removable; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1051-board-nanopc-t6-fan-support.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1051-board-nanopc-t6-fan-support.patch index 196a70a345..ff751d66b4 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1051-board-nanopc-t6-fan-support.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1051-board-nanopc-t6-fan-support.patch @@ -27,7 +27,7 @@ index 111111111111..222222222222 100644 sound { compatible = "simple-audio-card"; pinctrl-names = "default"; -@@ -580,6 +588,34 @@ &i2s6_8ch { +@@ -591,6 +599,34 @@ &i2s6_8ch { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1052-board-nanopc-t6-fix-usb3-a.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1052-board-nanopc-t6-fix-usb3-a.patch index 86f8b40c64..0f200ea880 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1052-board-nanopc-t6-fix-usb3-a.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1052-board-nanopc-t6-fix-usb3-a.patch @@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi -@@ -1109,6 +1109,7 @@ &u2phy0 { +@@ -1127,6 +1127,7 @@ &u2phy0 { }; &u2phy0_otg { @@ -20,7 +20,7 @@ index 111111111111..222222222222 100644 status = "okay"; }; -@@ -1185,6 +1186,7 @@ usb_host0_xhci_drd_sw: endpoint { +@@ -1203,6 +1204,7 @@ usb_host0_xhci_drd_sw: endpoint { &usb_host1_xhci { dr_mode = "host"; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1080-arm64-dts-rockchip-add-USB3-support-to-NanoPi-R6-ser.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1080-arm64-dts-rockchip-add-USB3-support-to-NanoPi-R6-ser.patch index cec8709ad7..ca6b12b824 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1080-arm64-dts-rockchip-add-USB3-support-to-NanoPi-R6-ser.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1080-arm64-dts-rockchip-add-USB3-support-to-NanoPi-R6-ser.patch @@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/bo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi -@@ -788,6 +788,15 @@ &u2phy0_otg { +@@ -830,6 +830,15 @@ &u2phy0_otg { status = "okay"; }; @@ -27,7 +27,7 @@ index 111111111111..222222222222 100644 &u2phy2 { status = "okay"; }; -@@ -819,6 +828,16 @@ &usbdp_phy0 { +@@ -861,6 +870,16 @@ &usbdp_phy0 { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1090-arm64-dts-rockchip-Enable-HDMI-receiver-on-CM3588-NAS.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1090-arm64-dts-rockchip-Enable-HDMI-receiver-on-CM3588-NAS.patch index 17131481a4..0a49189a5e 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1090-arm64-dts-rockchip-Enable-HDMI-receiver-on-CM3588-NAS.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1090-arm64-dts-rockchip-Enable-HDMI-receiver-on-CM3588-NAS.patch @@ -15,8 +15,8 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts b/a index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts -@@ -335,6 +335,17 @@ hdmi0_out_con: endpoint { - }; +@@ -346,6 +346,17 @@ &hdmi_receiver { + status = "okay"; }; +&hdmi_receiver_cma { @@ -33,7 +33,7 @@ index 111111111111..222222222222 100644 &hdptxphy0 { status = "okay"; }; -@@ -478,6 +489,12 @@ key1_pin: key1-pin { +@@ -495,6 +506,12 @@ hdmirx_hpd: hdmirx-5v-detection { }; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk3588-1091-arm64-dts-rockchip-Enable-HDMI-receiver-on-NanoPC-T6.patch b/patch/kernel/archive/rockchip64-6.18/rk3588-1091-arm64-dts-rockchip-Enable-HDMI-receiver-on-NanoPC-T6.patch index 4ea2fde438..dd0eb91c73 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk3588-1091-arm64-dts-rockchip-Enable-HDMI-receiver-on-NanoPC-T6.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk3588-1091-arm64-dts-rockchip-Enable-HDMI-receiver-on-NanoPC-T6.patch @@ -15,7 +15,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi b/arch/arm64/boo index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi -@@ -399,6 +399,17 @@ &hdmi1_sound { +@@ -410,6 +410,17 @@ &hdmi_receiver { status = "okay"; }; @@ -33,7 +33,7 @@ index 111111111111..222222222222 100644 &hdptxphy0 { status = "okay"; }; -@@ -665,6 +676,12 @@ usr_led_pin: usr-led-pin { +@@ -682,6 +693,12 @@ hdmirx_hpd: hdmirx-5v-detection { }; }; diff --git a/patch/kernel/archive/rockchip64-6.18/rk35xx-montjoie-crypto-v2-rk35xx.patch b/patch/kernel/archive/rockchip64-6.18/rk35xx-montjoie-crypto-v2-rk35xx.patch index eb3a47c127..84d4ca3645 100644 --- a/patch/kernel/archive/rockchip64-6.18/rk35xx-montjoie-crypto-v2-rk35xx.patch +++ b/patch/kernel/archive/rockchip64-6.18/rk35xx-montjoie-crypto-v2-rk35xx.patch @@ -102,7 +102,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi -@@ -2061,6 +2061,18 @@ rng@fe378000 { +@@ -2256,6 +2256,18 @@ rng@fe378000 { resets = <&scmi_reset SCMI_SRST_H_TRNG_NS>; }; @@ -345,9 +345,9 @@ diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index 111111111111..222222222222 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig -@@ -720,6 +720,35 @@ config CRYPTO_DEV_TEGRA - Select this to enable Tegra Security Engine which accelerates various - AES encryption/decryption and HASH algorithms. +@@ -745,6 +745,35 @@ config CRYPTO_DEV_XILINX_TRNG + To compile this driver as a module, choose M here: the module + will be called xilinx-trng. +config CRYPTO_DEV_ROCKCHIP2 + tristate "Rockchip's cryptographic offloader V2" diff --git a/patch/kernel/archive/rockchip64-6.18/temporary-workaround-dma-reset.patch b/patch/kernel/archive/rockchip64-6.18/temporary-workaround-dma-reset.patch index 5a79587516..24af5b543d 100644 --- a/patch/kernel/archive/rockchip64-6.18/temporary-workaround-dma-reset.patch +++ b/patch/kernel/archive/rockchip64-6.18/temporary-workaround-dma-reset.patch @@ -1,14 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Paolo Sabatino +Date: Wed, 20 Aug 2025 21:40:48 +0200 +Subject: [ARCHEOLOGY] workaround for rockchip gigabit ethernet not able to + init dma + Temporary patch to workaround a DMA reset issue with rockchip devices experienced at least on rk3288 and rk3328 with a message like this: rk_gmac-dwmac ff290000.ethernet end0: Failed to reset the dma +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index e0fb06af1f94..156a5d25d1fd 100644 +index 111111111111..222222222222 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -3133,8 +3133,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) +@@ -3057,8 +3057,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) ret = stmmac_reset(priv, priv->ioaddr); if (ret) { @@ -19,3 +28,6 @@ index e0fb06af1f94..156a5d25d1fd 100644 } /* DMA Configuration */ +-- +Armbian +