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>; 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"; }; 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"; }; 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; 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 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)