[PATCH 3/7] arm64: dts: ti: k3-j721s2: Add Wave5 Video Encoder/Decoder node
Brandon Brnich
b-brnich at ti.com
Mon Nov 27 14:37:14 PST 2023
From: Darren Etheridge <detheridge at ti.com>
Add the Chips and Media wave521cl video decoder/encoder node on J721S2.
This functional block also requires an SRAM buffer as a bandwidth saving
temporary store so we need to add a carve out of 126K for this as
specified in the documentation.
Wave521cl needs to use CMA as there is no IO MMU on J721S2-evm. Each
1080p channel requires roughly 98-100 MB. Allocate 896 MB to meet 8
channel capability for J721S2-evm.
Signed-off-by: Darren Etheridge <detheridge at ti.com>
Signed-off-by: Brandon Brnich <b-brnich at ti.com>
---
.../boot/dts/ti/k3-j721s2-common-proc-board.dts | 4 ++++
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 15 +++++++++++++++
arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi | 8 ++++++++
3 files changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
index c6b85bbf9a17..5e6eb0fab1c3 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
@@ -303,6 +303,10 @@ &main_gpio0 {
status = "okay";
};
+&vpu {
+ status = "okay";
+};
+
&wkup_gpio0 {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index b03731b53a26..69144d9d9649 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -28,6 +28,10 @@ atf-sram at 0 {
reg = <0x0 0x20000>;
};
+ vpu_sram: vpu-sram at 20000 {
+ reg = <0x20000 0x1f800>;
+ };
+
tifs-sram at 1f0000 {
reg = <0x1f0000 0x10000>;
};
@@ -716,6 +720,17 @@ main_i2c6: i2c at 2060000 {
status = "disabled";
};
+ vpu: video-codec at 4210000 {
+ compatible = "ti,k3-j721s2-wave521c", "cnm,wave521c";
+ reg = <0x00 0x4210000 0x00 0x10000>;
+ interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&k3_clks 179 2>;
+ clock-names = "vcodec";
+ power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
+ sram = <&vpu_sram>;
+ status = "disabled";
+ };
+
main_sdhci0: mmc at 4f80000 {
compatible = "ti,j721e-sdhci-8bit";
reg = <0x00 0x04f80000 0x00 0x1000>,
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
index dcad372620b1..b8ae89c4feac 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
@@ -24,6 +24,14 @@ reserved_memory: reserved-memory {
#size-cells = <2>;
ranges;
+ /* global cma region */
+ linux,cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ size = <0x00 0x38000000>;
+ linux,cma-default;
+ };
+
secure_ddr: optee at 9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>;
alignment = <0x1000>;
--
2.34.1
More information about the linux-arm-kernel
mailing list