diff --git a/Documentation/devicetree/bindings/power/rockchip-cpu-avs.txt b/Documentation/devicetree/bindings/power/rockchip-cpu-avs.txt deleted file mode 100644 index 25ba862ae0e8..000000000000 --- a/Documentation/devicetree/bindings/power/rockchip-cpu-avs.txt +++ /dev/null @@ -1,50 +0,0 @@ -Rockchip cpu avs device tree bindings -------------------------------------- - -Under the same frequency, the operating voltage tends to decrease with -increasing leakage. so it is necessary to adjust opp's voltage according -to leakage for power. - - -Required properties: -- cluster-id: At runtime, the platform can find a cpu's cluster_id - according to it's cpu_id and match cluster-id property. -- min-volt: The minimum voltage in uV. Even though opp's voltage will be - adjusted, it must be bigger than or equal to the minimum. -- min-freq: The minimum frequency in KHz. If an opp's frequency is bigger - than or equal to the minimum, its volatge will be adjusted. -- leakage-adjust-volt: The property is an array of 3-tuples items, and - each item consists of leakage and voltage like - . - min-leakage: minimum leakage in mA, ranges from 0 to 254. - max-leakage: maximum leakage in mA, ranges from 0 to 254. - volt: voltage offset in uV to apply to the opp table entries. -- nvmem-cells: A phandle to the leakage data provided by efuse. -- nvmem-cell-names: Should be "cpu_leakage". - -Example: - - cpu_avs: cpu-avs { - cluster0-avs { - cluster-id = <0>; - min-volt = <800000>; /* uV */ - min-freq = <408000>; /* KHz */ - leakage-adjust-volt = < - /* mA mA uV */ - 0 254 0 - >; - nvmem-cells = <&cpul_leakage>; - nvmem-cell-names = "cpu_leakage"; - }; - cluster1-avs { - cluster-id = <1>; - min-volt = <800000>; /* uV */ - min-freq = <408000>; /* KHz */ - leakage-adjust-volt = < - /* mA mA uV */ - 0 254 0 - >; - nvmem-cells = <&cpub_leakage>; - nvmem-cell-names = "cpu_leakage"; - }; - }; diff --git a/arch/arm64/boot/dts/rockchip/px30-android.dtsi b/arch/arm64/boot/dts/rockchip/px30-android.dtsi index ba3620b9c124..017a17017679 100644 --- a/arch/arm64/boot/dts/rockchip/px30-android.dtsi +++ b/arch/arm64/boot/dts/rockchip/px30-android.dtsi @@ -9,6 +9,14 @@ bootargs = "earlycon=uart8250,mmio32,0xff160000 console=ttyFIQ0 init=/init kpti=0"; }; + debug: debug@ff690000 { + compatible = "rockchip,debug"; + reg = <0x0 0xff690000 0x0 0x1000>, + <0x0 0xff692000 0x0 0x1000>, + <0x0 0xff694000 0x0 0x1000>, + <0x0 0xff696000 0x0 0x1000>; + }; + fiq-debugger { compatible = "rockchip,fiq-debugger"; rockchip,serial-id = <2>; 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 9534104fb57d..d5621243346a 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v20.dtsi @@ -118,14 +118,6 @@ status = "okay"; }; - dummy_codec: dummy-codec { - status = "okay"; - compatible = "rockchip,dummy-codec"; - #sound-dai-cells = <0>; - pinctrl-names = "default"; - pinctrl-0 = <&rk3308_reset>; - }; - car_rk3308_sound: car-rk3308-sound { status = "okay"; compatible = "simple-audio-card"; @@ -140,7 +132,7 @@ dai-tdm-slot-width = <32>; }; codec_master: simple-audio-card,codec { - sound-dai = <&dummy_codec>; + sound-dai = <&spi_codec>; }; }; }; @@ -326,6 +318,23 @@ status = "disabled"; }; +&spi4 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi4m0_cs1 &spi4m0_pins>; + + spi_codec: spi-codec@1 { + compatible ="rockchip,spi-codec"; + reg = <1>; + spi-lsb-first; + spi-max-frequency = <5000000>; + #sound-dai-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&rk3308_reset>; + status = "okay"; + }; +}; + &uart9 { status = "okay"; pinctrl-names = "default"; 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 d53b247f8bb9..3624b81976c2 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-vehicle-evb-v21.dtsi @@ -130,14 +130,6 @@ status = "okay"; }; - dummy_codec: dummy-codec { - status = "okay"; - compatible = "rockchip,dummy-codec"; - #sound-dai-cells = <0>; - pinctrl-names = "default"; - pinctrl-0 = <&rk3308_reset>; - }; - car_rk3308_sound: car-rk3308-sound { status = "okay"; compatible = "simple-audio-card"; @@ -152,7 +144,7 @@ dai-tdm-slot-width = <32>; }; codec_master: simple-audio-card,codec { - sound-dai = <&dummy_codec>; + sound-dai = <&spi_codec>; }; }; }; @@ -339,6 +331,23 @@ status = "disabled"; }; +&spi4 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi4m0_cs1 &spi4m0_pins>; + + spi_codec: spi-codec@1 { + compatible ="rockchip,spi-codec"; + reg = <1>; + spi-lsb-first; + spi-max-frequency = <5000000>; + #sound-dai-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&rk3308_reset>; + status = "okay"; + }; +}; + &uart7 { /delete-property/ dmas; status = "okay"; diff --git a/arch/arm64/configs/rockchip_defconfig b/arch/arm64/configs/rockchip_defconfig index af740c2a93db..b52af5189f53 100644 --- a/arch/arm64/configs/rockchip_defconfig +++ b/arch/arm64/configs/rockchip_defconfig @@ -725,6 +725,7 @@ CONFIG_SND_SOC_RK3528=y CONFIG_SND_SOC_RK817=y CONFIG_SND_SOC_RK_CODEC_DIGITAL=y CONFIG_SND_SOC_RK_DSM=y +CONFIG_SND_SOC_ROCKCHIP_SPI_CODEC=y CONFIG_SND_SOC_RT5640=y CONFIG_SND_SOC_RT5651=y CONFIG_SND_SOC_SPDIF=y diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c index a1ff79df4672..a4ca0737fb1b 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c @@ -194,7 +194,7 @@ static const struct vop_win_phy rk3288_win01_data = { .nformats = ARRAY_SIZE(formats_win_full_10bit), .enable = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 0), .format = VOP_REG(RK3288_WIN0_CTRL0, 0x7, 1), - .fmt_10 = VOP_REG(RK3288_WIN0_CTRL0, 0x7, 4), + .fmt_10 = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 4), .csc_mode = VOP_REG_VER(RK3288_WIN0_CTRL0, 0x3, 10, 3, 2, -1), .rb_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 12), .xmirror = VOP_REG_VER(RK3368_WIN0_CTRL0, 0x1, 21, 3, 2, -1), @@ -678,7 +678,7 @@ static const struct vop_win_phy rk3399_win01_data = { .nformats = ARRAY_SIZE(formats_win_full_10bit_yuyv), .enable = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 0), .format = VOP_REG(RK3288_WIN0_CTRL0, 0x7, 1), - .fmt_10 = VOP_REG(RK3288_WIN0_CTRL0, 0x7, 4), + .fmt_10 = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 4), .fmt_yuyv = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 17), .csc_mode = VOP_REG_VER(RK3288_WIN0_CTRL0, 0x3, 10, 3, 2, -1), .rb_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 12), diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index 733e88c70e75..e9b78b9ae2f9 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -478,8 +478,8 @@ static u32 rockchip_spi_calc_burst_size(u32 data_len) { u32 i; - /* burst size: 1, 2, 4, 8 */ - for (i = 1; i < 8; i <<= 1) { + /* burst size: 1, 2, 4, 8, 16 */ + for (i = 1; i < 16; i <<= 1) { if (data_len & i) break; }