[PATCH v1 1/5] arm64: dts: nuvoton: Add node for NPCM Video Capture/Encode Engine

Marvin Lin milkfafa at gmail.com
Fri Oct 7 13:54:09 AEDT 2022


Add node for Video Capture/Differentiation Engine (VCD) and Encoding
Compression Engine (ECE) present on Nuvoton NPCM SoCs.

Signed-off-by: Marvin Lin <milkfafa at gmail.com>
---
 .../dts/nuvoton/nuvoton-common-npcm8xx.dtsi   | 19 +++++++++++++++++++
 .../boot/dts/nuvoton/nuvoton-npcm845-evb.dts  | 18 ++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
index 28ba3b4633bb..925e3c42278c 100644
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
@@ -152,6 +152,19 @@ pcimbox: pcimbox at f0848000 {
 			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
 		};
 
+		video: video at f0810000 {
+			compatible = "nuvoton,npcm845-video";
+			reg = <0x0 0xf0810000 0x0 0x10000>, <0x0 0xf0820000 0x0 0x2000>;
+			reg-names = "vcd", "ece";
+			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rstc NPCM8XX_RESET_IPSRST2 NPCM8XX_RESET_VCD>,
+				 <&rstc NPCM8XX_RESET_IPSRST2 NPCM8XX_RESET_ECE>;
+			reset-names = "vcd", "ece";
+			gcr-syscon = <&gcr>;
+			gfxi-syscon = <&gfxi>;
+			status = "disabled";
+		};
+
 		apb {
 			#address-cells = <1>;
 			#size-cells = <1>;
@@ -782,6 +795,12 @@ i2c26: i2c at fff0a000 {
 				nuvoton,sys-mgr = <&gcr>;
 				status = "disabled";
 			};
+
+			gfxi: gfxi at e000 {
+				compatible = "nuvoton,npcm845-gfxi", "syscon",
+					     "simple-mfd";
+				reg = <0xe000 0x100>;
+			};
 		};
 	};
 
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
index 577e031e11e4..4dbf65ab9dd2 100644
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
@@ -65,6 +65,19 @@ chosen {
 	memory {
 		reg = <0x0 0x0 0x0 0x40000000>;
 	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		video_memory: framebuffer at 0x33000000 {
+			compatible = "shared-dma-pool";
+			reg = <0x0 0x33000000 0x0 0x01800000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
 };
 
 &serial0 {
@@ -493,3 +506,8 @@ &pin241_slew
 			&pin242_slew
 			&pin243_slew>;
 };
+
+&video {
+	status = "okay";
+	memory-region = <&video_memory>;
+};
-- 
2.34.1



More information about the openbmc mailing list