From 39864a50c2111bf935289ee7540396f60a1bb999 Mon Sep 17 00:00:00 2001 From: "wei.luo" Date: Thu, 24 Oct 2024 15:07:27 +0800 Subject: [PATCH 1/6] arm64: dts: rockchip: rk3588-vehicle-evb: close usb auto suspend Signed-off-by: Luo Wei Change-Id: Ia3656f4c3eeec9b31bbe9e939861b0222032f831 --- arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi | 3 ++- arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi index 422708bd2963..77ac53749d9b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi @@ -343,11 +343,11 @@ }; &u2phy0 { - rockchip,sel-pipe-phystatus; status = "okay"; }; &u2phy0_otg { + rockchip,sel-pipe-phystatus; rockchip,dis-u2-susphy; status = "okay"; }; @@ -406,5 +406,6 @@ dr_mode = "host"; maximum-speed = "high-speed"; snps,dis_u2_susphy_quirk; + snps,usb2-lpm-disable; status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi index 5dbf4f1cdfe7..37e8cf8cf514 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi @@ -363,11 +363,11 @@ }; &u2phy0 { - rockchip,sel-pipe-phystatus; status = "okay"; }; &u2phy0_otg { + rockchip,sel-pipe-phystatus; rockchip,dis-u2-susphy; status = "okay"; }; @@ -426,5 +426,6 @@ dr_mode = "host"; maximum-speed = "high-speed"; snps,dis_u2_susphy_quirk; + snps,usb2-lpm-disable; status = "okay"; }; From afa6bd420843bc94b201fcd16cfc9bbc1f8588ab Mon Sep 17 00:00:00 2001 From: Luo Wei Date: Thu, 24 Oct 2024 15:19:33 +0800 Subject: [PATCH 2/6] arm64: dts: rockchip: rk3588-vehicle-evb: keep lcd 12v on Signed-off-by: Luo Wei Change-Id: I357b28aa26b766604984a7fa9fc18025adf3f657 --- .../boot/dts/rockchip/rk3588-vehicle-evb-v23.dts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v23.dts b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v23.dts index 07b62bf11dbf..ef72a61d3187 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v23.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v23.dts @@ -60,7 +60,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd1_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; @@ -76,7 +76,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd2_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; @@ -92,7 +92,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd3_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; @@ -108,7 +108,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd4_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; @@ -124,7 +124,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd5_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; @@ -140,7 +140,7 @@ compatible = "regulator-fixed"; regulator-name = "lcd6_vcc12v_buck"; regulator-boot-on; - //regulator-always-on; + regulator-always-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; From 6ef18fb63d490ace6e0ace8e60827fc9277a0add Mon Sep 17 00:00:00 2001 From: Luo Wei Date: Thu, 24 Oct 2024 15:27:14 +0800 Subject: [PATCH 3/6] arm64: dts: rockchip: rk3588-vehicle-evb: add reset all for maxim serdes Signed-off-by: Luo Wei Change-Id: I9f71f24458d46ccc3749d89dee7badb43a98ac5f --- ...ehicle-serdes-mfd-display-maxim-split.dtsi | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-serdes-mfd-display-maxim-split.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-serdes-mfd-display-maxim-split.dtsi index ff5268885bf4..83811804806e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-serdes-mfd-display-maxim-split.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-serdes-mfd-display-maxim-split.dtsi @@ -451,6 +451,9 @@ serdes-init-sequence = [ //Independent 11_07_17-56 Using MAX96789/91/F (GMSL-1/2) + //RESET ALL and delay + 0010 00f1 + ffff 1000 //Disable Video pipe 0002 0003 //Address Value of I2C SRC_A @@ -650,6 +653,9 @@ serdes-init-sequence = [ /*max96752 dual oLDI output*/ + //RESET ALL and delay + 0010 00f1 + ffff 1000 0002 0043 0073 0031 007b 0031 @@ -779,6 +785,9 @@ serdes-init-sequence = [ /*max96752 dual oLDI output*/ + //RESET ALL and delay + 0010 00f1 + ffff 1000 0002 0043 0073 0032 007b 0032 @@ -945,6 +954,9 @@ status = "okay"; serdes-init-sequence = [ + //reset all and delay + 0010 00f1 + ffff 1000 //Address Value of I2C SRC_A 0042 008a //Address Value of I2C DST_A @@ -1331,6 +1343,9 @@ serdes-init-sequence = [ /*max96752 dual oLDI output*/ + //RESET ALL and delay + 0010 00f1 + ffff 1000 0002 0043 0073 0031 007b 0031 @@ -1618,6 +1633,9 @@ status = "disabled"; serdes-init-sequence = [ + //reset all and delay + 0010 00f1 + ffff 1000 //Address Value of I2C SRC_A 0042 008a //Address Value of I2C DST_A @@ -2008,6 +2026,9 @@ serdes-init-sequence = [ /*max96752 dual oLDI output*/ + //RESET ALL and delay + 0010 00f1 + ffff 1000 0002 0043 0073 0031 007b 0031 From 7e80a3f1823f6d0dd71ea31bd9d864077f24b055 Mon Sep 17 00:00:00 2001 From: Luo Wei Date: Thu, 24 Oct 2024 16:15:39 +0800 Subject: [PATCH 4/6] arm64: dts: rockchip: rk3576-vehicle-evb20: fix adb resume issue Signed-off-by: Luo Wei Change-Id: If9cefd2b5b1f026ab393e0f28a7db353486382ec --- arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dts | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dts b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dts index 087bcb700eae..cf790ab86eb9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dts +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20.dts @@ -526,12 +526,10 @@ }; &u2phy0 { - rockchip,sel-pipe-phystatus; status = "okay"; }; &u2phy0_otg { - /delete-property/rockchip,sel-pipe-phystatus; //vbus-supply = <&usb_otg_vcc5v_buck>; status = "okay"; }; From 267c32b9dba9cc2557c7117619d62f2efade27b1 Mon Sep 17 00:00:00 2001 From: Luo Wei Date: Thu, 24 Oct 2024 16:44:27 +0800 Subject: [PATCH 5/6] arm64: dts: rockchip: rk3576-vehicle-evb20: fix maxim serdes lock gpio err Signed-off-by: Luo Wei Change-Id: If64c5cc5db5ec57e63c44eef96ba35eadd36ee44 --- .../rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi index 88dc57a5b8cc..95cb52a1af1c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi @@ -1090,7 +1090,7 @@ reg = <0x42>; pinctrl-names = "default"; pinctrl-0 = <&i2c3_serdes_pins>; - lock-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>; + lock-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>; id-serdes-bridge-split = <0x02>; From 1b1b029fe342c6114d508d4ba4a5d21ca0f75d23 Mon Sep 17 00:00:00 2001 From: Jason Zhu Date: Tue, 22 Oct 2024 19:29:57 +0800 Subject: [PATCH 6/6] ASoC: codecs: rk_dsm: call regcache_sync() when dsm resume If not sync regcache when dsm resume, the dsm card occur error since the value in cache is same with what we set. So that the value will not sync to dsm registers. error log: aplay: pcm_write:2178: write error: Input/output error rockchip-sai 2a640000.sai: Failed to clear 1 Change-Id: Ia6318dedf12ae696cf05ae59055427932b1638ea Signed-off-by: Jason Zhu --- sound/soc/codecs/rk_dsm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/soc/codecs/rk_dsm.c b/sound/soc/codecs/rk_dsm.c index 1849fadea025..23ad1db45380 100644 --- a/sound/soc/codecs/rk_dsm.c +++ b/sound/soc/codecs/rk_dsm.c @@ -547,6 +547,9 @@ static int rk_dsm_runtime_resume(struct device *dev) regcache_cache_only(rd->regmap, false); regcache_mark_dirty(rd->regmap); + ret = regcache_sync(rd->regmap); + if (ret) + goto err; ret = clk_prepare_enable(rd->clk_dac); if (ret)