diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 801f85e35cfd..4f2a9e65b856 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -86,6 +86,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64-v2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo1-lp4-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo4-ddr4-v10.dtb @@ -146,6 +147,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-tablet-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-dual-camera.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux-amp.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux-spi-nor.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb2-lp4x-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb2-lp4x-v10-bt1120-to-hdmi.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts index 3e9ef7b0773b..c951691120a3 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts @@ -24,9 +24,9 @@ &i2c1 { status = "okay"; - /delete-node/ tc358749x@0f; + /delete-node/ tc358749x@f; - tc35874x: tc35874x@0f { + tc35874x: tc35874x@f { status = "disabled"; reg = <0x0f>; compatible = "toshiba,tc358749"; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dtsi index 89ff138a5794..5304f0f52e7c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dtsi @@ -192,7 +192,7 @@ }; }; - tc358749x: tc358749x@0f { + tc358749x: tc358749x@f { compatible = "toshiba,tc358749x"; reg = <0x0f>; power-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; @@ -207,7 +207,7 @@ status = "disabled"; }; - vm149c: vm149c@0c { + vm149c: vm149c@c { compatible = "silicon touch,vm149c"; status = "okay"; reg = <0x0c>; @@ -240,14 +240,6 @@ }; }; - vm149c: vm149c@0c { - compatible = "silicon touch,vm149c"; - status = "okay"; - reg = <0x0c>; - rockchip,camera-module-index = <0>; - rockchip,camera-module-facing = "back"; - }; - ov13850: ov13850@10 { compatible = "ovti,ov13850"; status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3562-android.dtsi b/arch/arm64/boot/dts/rockchip/rk3562-android.dtsi index 6ec686977bc7..fb1238d4fbfc 100644 --- a/arch/arm64/boot/dts/rockchip/rk3562-android.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3562-android.dtsi @@ -5,6 +5,12 @@ */ / { + aliases { + mmc0 = &sdmmc0; + mmc1 = &sdmmc1; + mmc2 = &sdhci; + }; + chosen: chosen { bootargs = "earlycon=uart8250,mmio32,0xff210000 console=ttyFIQ0"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3562-linux.dtsi b/arch/arm64/boot/dts/rockchip/rk3562-linux.dtsi index a39728c1719d..4f32ff5b944f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3562-linux.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3562-linux.dtsi @@ -5,6 +5,12 @@ */ / { + aliases { + mmc0 = &sdhci; + mmc1 = &sdmmc0; + mmc2 = &sdmmc1; + }; + chosen: chosen { bootargs = "earlycon=uart8250,mmio32,0xff210000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3568-amp.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-amp.dtsi index 471ec38256b4..2e9b96d7f9b1 100644 --- a/arch/arm64/boot/dts/rockchip/rk3568-amp.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3568-amp.dtsi @@ -1,30 +1,73 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* - * Copyright (c) 2021 Rockchip Electronics Co., Ltd. + * Copyright (c) 2023 Rockchip Electronics Co., Ltd. */ / { rockchip_amp: rockchip-amp { - compatible = "rockchip,amp"; + compatible = "rockchip,rk3568-amp"; clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>, - <&cru PCLK_TIMER>, <&cru CLK_TIMER4>, <&cru CLK_TIMER5>; + <&cru PCLK_TIMER>, <&cru CLK_TIMER4>, <&cru CLK_TIMER5>, + <&cru ACLK_MCU>; pinctrl-names = "default"; pinctrl-0 = <&uart4m1_xfer>; status = "okay"; amp_cpus: amp-cpus { - amp-cpu2 { - id = <0x0 0x200>; - entry = <0x0 0x3800000>; - mode = <0>; - }; - amp-cpu3 { id = <0x0 0x300>; - entry = <0x0 0x5800000>; + entry = <0x0 0x2800000>; + boot-on = <0>; mode = <0>; }; }; }; + + rpmsg: rpmsg@7c00000 { + compatible = "rockchip,rk3568-rpmsg"; + mbox-names = "rpmsg-rx", "rpmsg-tx"; + mboxes = <&mailbox 0 &mailbox 3>; + rockchip,vdev-nums = <1>; + rockchip,link-id = <0x03>; + reg = <0x0 0x7c00000 0x0 0x20000>; + memory-region = <&rpmsg_dma_reserved>; + + status = "okay"; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* remote amp core address */ + amp_shmem_reserved: amp-shmem@7800000 { + reg = <0x0 0x7800000 0x0 0x400000>; + no-map; + }; + + rpmsg_reserved: rpmsg@7c00000 { + reg = <0x0 0x7c00000 0x0 0x400000>; + no-map; + }; + + rpmsg_dma_reserved: rpmsg-dma@8000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x8000000 0x0 0x100000>; + no-map; + }; + + /* mcu address */ + mcu_reserved: mcu@8200000 { + reg = <0x0 0x8200000 0x0 0x100000>; + no-map; + }; + }; }; + +&mailbox { + rockchip,txpoll-period-ms = <1>; + status = "okay"; +}; + diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux-amp.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux-amp.dts new file mode 100644 index 000000000000..0c1b2156261e --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux-amp.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2023 Rockchip Electronics Co., Ltd. + * + */ + +#include "rk3568-evb1-ddr4-v10-linux.dts" +#include "rk3568-amp.dtsi" + +/ { + memory { + device_type = "memory"; + reg = <0x0 0x03880000 0x0 0x04b80000>, + <0x0 0x0a200000 0x0 0x75e00000>; + }; +}; + +&arm_pmu { + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>; +}; + +/delete-node/ &cpu3; diff --git a/drivers/rpmsg/rockchip_rpmsg.c b/drivers/rpmsg/rockchip_rpmsg.c index be1b202a156b..6912eae4b7e4 100644 --- a/drivers/rpmsg/rockchip_rpmsg.c +++ b/drivers/rpmsg/rockchip_rpmsg.c @@ -114,7 +114,6 @@ static bool rk_rpmsg_notify(struct virtqueue *vq) dev_err(dev, "mbox send failed!\n"); return false; } - mbox_chan_txdone(rpdev->mbox_tx_chan, 0); return true; }