diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index cf4892da4769..72a348c9b5ca 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -294,6 +294,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-test5-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v10-linux.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-amp.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-linux.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-evb1-v10-linux.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-amp.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-amp.dtsi new file mode 100644 index 000000000000..b8c2ec459fb2 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-amp.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2024 Rockchip Electronics Co., Ltd. + */ + +#include + +#define CPU_GET_AFFINITY(cpuId, clusterId) (((cpuId) << 0) | ((clusterId) << 8)) + +/ { + rockchip_amp: rockchip-amp { + compatible = "rockchip,amp"; + clocks = <&cru FCLK_BUS_CM0_CORE>, <&cru CLK_BUS_CM0_RTC>, + <&cru FCLK_PMU_CM0_CORE>, <&cru CLK_PMU_CM0_RTC>, + <&cru PCLK_MAILBOX0>, + <&cru SCLK_UART8>, <&cru PCLK_UART8>, + <&cru PCLK_BUSTIMER1>, <&cru CLK_TIMER10>, <&cru CLK_TIMER11>; + + pinctrl-names = "default"; + pinctrl-0 = <&uart8m1_xfer>; + + amp-cpu-aff-maskbits = /bits/ 64 <0x0 0x1 0x1 0x2 0x2 0x4 0x3 0x8 0x100 0x10 + 0x101 0x20 0x102 0x40 0x103 0x80>; + amp-irqs = /bits/ 64 ; + status = "okay"; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + mcu_reserved: mcu@47800000 { + reg = <0x0 0x47800000 0x0 0x100000>; + no-map; + }; + + amp_shmem_reserved: amp-shmem@47900000 { + reg = <0x0 0x47900000 0x0 0x400000>; + no-map; + }; + + rpmsg_reserved: rpmsg@47d00000 { + reg = <0x0 0x47d00000 0x0 0x200000>; + no-map; + }; + + rpmsg_dma_reserved: rpmsg-dma@47f00000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x47f00000 0x0 0x200000>; + no-map; + }; + }; + + rpmsg: rpmsg@47d00000 { + compatible = "rockchip,rpmsg"; + mbox-names = "rpmsg-rx", "rpmsg-tx"; + mboxes = <&mailbox0 0 &mailbox3 0>; + rockchip,vdev-nums = <1>; + /* CPU3: link-id 0x03; MCU: link-id 0x04; */ + rockchip,link-id = <0x03>; + reg = <0x0 0x47d00000 0x0 0x20000>; + memory-region = <&rpmsg_dma_reserved>; + + status = "okay"; + }; +}; + +&mailbox0 { + rockchip,txpoll-period-ms = <1>; + status = "okay"; +}; + +&mailbox3 { + rockchip,txpoll-period-ms = <1>; + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-amp.dts b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-amp.dts new file mode 100644 index 000000000000..92605f93cd72 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3576-vehicle-evb-v20-amp.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2024 Rockchip Electronics Co., Ltd. + * + */ +#include "rk3576-vehicle-evb-v20.dts" +#include "rk3576-vehicle-amp.dtsi" + +&uart8 { + status = "disabled"; +}; +