From 7dba508166f143b43ced6cfccad43c883f941a1d Mon Sep 17 00:00:00 2001 From: Robert Grizzell Date: Wed, 29 Apr 2026 01:05:41 -0500 Subject: [PATCH] rv110x: OpenWRT compatibility fixes - nvmem/rockchip-otp: enable add_legacy_fixed_of_cells so OTP cells are accessible via the legacy fixed-of-cells interface used by OpenWRT - soc/rockchip/Makefile: remove duplicate pm_domains.o build entry; the driver was moved to drivers/pmdomain/ in 6.5, building both causes "Driver 'rockchip-pm-domain' is already registered" at boot - include/linux/extcon.h: add EXTCON_USB_VBUS_EN constant (value 3), required by phy-rockchip-inno-usb2.c for USB gadget VBUS control - sound/soc/rockchip/rockchip_i2s_tdm.c: add rv1106 match entry with no soc_data (same as vendor 5.10 kernel); without this the i2s driver never binds and asoc-simple-card loops on -EPROBE_DEFER Co-Authored-By: Claude Sonnet 4.6 --- drivers/nvmem/rockchip-otp.c | 1 + drivers/soc/rockchip/Makefile | 1 - include/linux/extcon.h | 1 + sound/soc/rockchip/rockchip_i2s_tdm.c | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/nvmem/rockchip-otp.c b/drivers/nvmem/rockchip-otp.c index 001ceee5673e4..674f7488b9a6b 100644 --- a/drivers/nvmem/rockchip-otp.c +++ b/drivers/nvmem/rockchip-otp.c @@ -743,6 +743,7 @@ static struct nvmem_config otp_config = { .read_only = true, .reg_read = rockchip_otp_read, .reg_write = rockchip_otp_write, + .add_legacy_fixed_of_cells = true, .stride = 1, .word_size = 1, }; diff --git a/drivers/soc/rockchip/Makefile b/drivers/soc/rockchip/Makefile index 9f75a77907ac6..8015b2c47bf21 100644 --- a/drivers/soc/rockchip/Makefile +++ b/drivers/soc/rockchip/Makefile @@ -11,7 +11,6 @@ obj-$(CONFIG_ROCKCHIP_HW_DECOMPRESS) += rockchip_decompress.o obj-$(CONFIG_ROCKCHIP_HW_DECOMPRESS_USER) += rockchip_decompress_user.o obj-$(CONFIG_ROCKCHIP_IODOMAIN) += io-domain.o obj-$(CONFIG_ROCKCHIP_IOMUX) += iomux.o -obj-$(CONFIG_ROCKCHIP_PM_DOMAINS) += pm_domains.o obj-$(CONFIG_ROCKCHIP_DTPM) += dtpm.o obj-$(CONFIG_ROCKCHIP_FIQ_DEBUGGER) += fiq_debugger/ obj-$(CONFIG_ROCKCHIP_VENDOR_STORAGE) += rk_vendor_storage.o diff --git a/include/linux/extcon.h b/include/linux/extcon.h index e596a0abcb274..2a62f6fd23eb2 100644 --- a/include/linux/extcon.h +++ b/include/linux/extcon.h @@ -37,6 +37,7 @@ /* USB external connector */ #define EXTCON_USB 1 #define EXTCON_USB_HOST 2 +#define EXTCON_USB_VBUS_EN 3 /* * Charging external connector diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index 7ae93cbaea9a7..88fe5fcdf4558 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -1058,6 +1058,7 @@ static const struct of_device_id rockchip_i2s_tdm_match[] = { { .compatible = "rockchip,rk3568-i2s-tdm", .data = &rk3568_i2s_soc_data }, { .compatible = "rockchip,rk3588-i2s-tdm" }, { .compatible = "rockchip,rv1126-i2s-tdm", .data = &rv1126_i2s_soc_data }, + { .compatible = "rockchip,rv1106-i2s-tdm" }, {}, };