bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
		
			
				
	
	
		
			707 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			707 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 193065956ba3e285df2c67f7c3bdeb3bdaae6ee9 Mon Sep 17 00:00:00 2001
 | 
						|
From: Maxime Ripard <maxime@cerno.tech>
 | 
						|
Date: Thu, 13 Feb 2020 15:42:05 +0100
 | 
						|
Subject: [PATCH] dt-bindings: display: Convert VC4 bindings to schemas
 | 
						|
 | 
						|
The BCM283x SoCs have a display pipeline composed of several controllers
 | 
						|
with device tree bindings that are supported by Linux.
 | 
						|
 | 
						|
Now that we have the DT validation in place, let's split into separate
 | 
						|
files and convert the device tree bindings for those controllers to
 | 
						|
schemas.
 | 
						|
 | 
						|
This is just a 1:1 conversion though, and some bindings were incomplete so
 | 
						|
it results in example validation warnings that are going to be addressed in
 | 
						|
the following patches.
 | 
						|
 | 
						|
Cc: Rob Herring <robh+dt@kernel.org>
 | 
						|
Cc: devicetree@vger.kernel.org
 | 
						|
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
						|
---
 | 
						|
 .../bindings/display/brcm,bcm-vc4.txt         | 174 ------------------
 | 
						|
 .../bindings/display/brcm,bcm2835-dpi.yaml    |  66 +++++++
 | 
						|
 .../bindings/display/brcm,bcm2835-dsi0.yaml   |  73 ++++++++
 | 
						|
 .../bindings/display/brcm,bcm2835-hdmi.yaml   |  75 ++++++++
 | 
						|
 .../bindings/display/brcm,bcm2835-hvs.yaml    |  37 ++++
 | 
						|
 .../display/brcm,bcm2835-pixelvalve0.yaml     |  40 ++++
 | 
						|
 .../bindings/display/brcm,bcm2835-txp.yaml    |  37 ++++
 | 
						|
 .../bindings/display/brcm,bcm2835-v3d.yaml    |  42 +++++
 | 
						|
 .../bindings/display/brcm,bcm2835-vc4.yaml    |  34 ++++
 | 
						|
 .../bindings/display/brcm,bcm2835-vec.yaml    |  44 +++++
 | 
						|
 MAINTAINERS                                   |   2 +-
 | 
						|
 11 files changed, 449 insertions(+), 175 deletions(-)
 | 
						|
 delete mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-dpi.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-pixelvalve0.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-txp.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-vc4.yaml
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml
 | 
						|
 | 
						|
--- a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 | 
						|
+++ /dev/null
 | 
						|
@@ -1,174 +0,0 @@
 | 
						|
-Broadcom VC4 (VideoCore4) GPU
 | 
						|
-
 | 
						|
-The VC4 device present on the Raspberry Pi includes a display system
 | 
						|
-with HDMI output and the HVS (Hardware Video Scaler) for compositing
 | 
						|
-display planes.
 | 
						|
-
 | 
						|
-Required properties for VC4:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-vc4" or "brcm,cygnus-vc4"
 | 
						|
-
 | 
						|
-Required properties for Pixel Valve:
 | 
						|
-- compatible:	Should be one of "brcm,bcm2835-pixelvalve0",
 | 
						|
-		  "brcm,bcm2835-pixelvalve1", or "brcm,bcm2835-pixelvalve2"
 | 
						|
-- reg:		Physical base address and length of the PV's registers
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-
 | 
						|
-Required properties for HVS:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-hvs"
 | 
						|
-- reg:		Physical base address and length of the HVS's registers
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-
 | 
						|
-Required properties for HDMI
 | 
						|
-- compatible:	Should be "brcm,bcm2835-hdmi"
 | 
						|
-- reg:		Physical base address and length of the two register ranges
 | 
						|
-		  ("HDMI" and "HD", in that order)
 | 
						|
-- interrupts:	The interrupt numbers
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-- ddc:		phandle of the I2C controller used for DDC EDID probing
 | 
						|
-- clocks:	a) hdmi: The HDMI state machine clock
 | 
						|
-		b) pixel: The pixel clock.
 | 
						|
-
 | 
						|
-Optional properties for HDMI:
 | 
						|
-- hpd-gpios:	The GPIO pin for HDMI hotplug detect (if it doesn't appear
 | 
						|
-		  as an interrupt/status bit in the HDMI controller
 | 
						|
-		  itself).  See bindings/pinctrl/brcm,bcm2835-gpio.txt
 | 
						|
-- dmas:		Should contain one entry pointing to the DMA channel used to
 | 
						|
-		transfer audio data
 | 
						|
-- dma-names:	Should contain "audio-rx"
 | 
						|
-
 | 
						|
-Required properties for DPI:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-dpi"
 | 
						|
-- reg:		Physical base address and length of the registers
 | 
						|
-- clocks:	a) core: The core clock the unit runs on
 | 
						|
-		b) pixel: The pixel clock that feeds the pixelvalve
 | 
						|
-- port:		Port node with a single endpoint connecting to the panel
 | 
						|
-		  device, as defined in [1]
 | 
						|
-
 | 
						|
-Required properties for VEC:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-vec"
 | 
						|
-- reg:		Physical base address and length of the registers
 | 
						|
-- clocks:	The core clock the unit runs on
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-
 | 
						|
-Required properties for V3D:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-v3d" or "brcm,cygnus-v3d"
 | 
						|
-- reg:		Physical base address and length of the V3D's registers
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-
 | 
						|
-Optional properties for V3D:
 | 
						|
-- clocks:	The clock the unit runs on
 | 
						|
-
 | 
						|
-Required properties for DSI:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-dsi0" or "brcm,bcm2835-dsi1"
 | 
						|
-- reg:		Physical base address and length of the DSI block's registers
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-- clocks:	a) phy: The DSI PLL clock feeding the DSI analog PHY
 | 
						|
-		b) escape: The DSI ESC clock from CPRMAN
 | 
						|
-		c) pixel: The DSI pixel clock from CPRMAN
 | 
						|
-- clock-output-names:
 | 
						|
-		The 3 clocks output from the DSI analog PHY: dsi[01]_byte,
 | 
						|
-		dsi[01]_ddr2, and dsi[01]_ddr
 | 
						|
-
 | 
						|
-Required properties for the TXP (writeback) block:
 | 
						|
-- compatible:	Should be "brcm,bcm2835-txp"
 | 
						|
-- reg:		Physical base address and length of the TXP block's registers
 | 
						|
-- interrupts:	The interrupt number
 | 
						|
-		  See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
 | 
						|
-
 | 
						|
-[1] Documentation/devicetree/bindings/media/video-interfaces.txt
 | 
						|
-
 | 
						|
-Example:
 | 
						|
-pixelvalve@7e807000 {
 | 
						|
-	compatible = "brcm,bcm2835-pixelvalve2";
 | 
						|
-	reg = <0x7e807000 0x100>;
 | 
						|
-	interrupts = <2 10>; /* pixelvalve */
 | 
						|
-};
 | 
						|
-
 | 
						|
-hvs@7e400000 {
 | 
						|
-	compatible = "brcm,bcm2835-hvs";
 | 
						|
-	reg = <0x7e400000 0x6000>;
 | 
						|
-	interrupts = <2 1>;
 | 
						|
-};
 | 
						|
-
 | 
						|
-hdmi: hdmi@7e902000 {
 | 
						|
-	compatible = "brcm,bcm2835-hdmi";
 | 
						|
-	reg = <0x7e902000 0x600>,
 | 
						|
-	      <0x7e808000 0x100>;
 | 
						|
-	interrupts = <2 8>, <2 9>;
 | 
						|
-	ddc = <&i2c2>;
 | 
						|
-	hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
 | 
						|
-	clocks = <&clocks BCM2835_PLLH_PIX>,
 | 
						|
-		 <&clocks BCM2835_CLOCK_HSM>;
 | 
						|
-	clock-names = "pixel", "hdmi";
 | 
						|
-};
 | 
						|
-
 | 
						|
-dpi: dpi@7e208000 {
 | 
						|
-	compatible = "brcm,bcm2835-dpi";
 | 
						|
-	reg = <0x7e208000 0x8c>;
 | 
						|
-	clocks = <&clocks BCM2835_CLOCK_VPU>,
 | 
						|
-	         <&clocks BCM2835_CLOCK_DPI>;
 | 
						|
-	clock-names = "core", "pixel";
 | 
						|
-	#address-cells = <1>;
 | 
						|
-	#size-cells = <0>;
 | 
						|
-
 | 
						|
-	port {
 | 
						|
-		dpi_out: endpoint@0 {
 | 
						|
-			remote-endpoint = <&panel_in>;
 | 
						|
-		};
 | 
						|
-	};
 | 
						|
-};
 | 
						|
-
 | 
						|
-dsi1: dsi@7e700000 {
 | 
						|
-	compatible = "brcm,bcm2835-dsi1";
 | 
						|
-	reg = <0x7e700000 0x8c>;
 | 
						|
-	interrupts = <2 12>;
 | 
						|
-	#address-cells = <1>;
 | 
						|
-	#size-cells = <0>;
 | 
						|
-	#clock-cells = <1>;
 | 
						|
-
 | 
						|
-	clocks = <&clocks BCM2835_PLLD_DSI1>,
 | 
						|
-		 <&clocks BCM2835_CLOCK_DSI1E>,
 | 
						|
-		 <&clocks BCM2835_CLOCK_DSI1P>;
 | 
						|
-	clock-names = "phy", "escape", "pixel";
 | 
						|
-
 | 
						|
-	clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
 | 
						|
-
 | 
						|
-	pitouchscreen: panel@0 {
 | 
						|
-		compatible = "raspberrypi,touchscreen";
 | 
						|
-		reg = <0>;
 | 
						|
-
 | 
						|
-		<...>
 | 
						|
-	};
 | 
						|
-};
 | 
						|
-
 | 
						|
-vec: vec@7e806000 {
 | 
						|
-	compatible = "brcm,bcm2835-vec";
 | 
						|
-	reg = <0x7e806000 0x1000>;
 | 
						|
-	clocks = <&clocks BCM2835_CLOCK_VEC>;
 | 
						|
-	interrupts = <2 27>;
 | 
						|
-};
 | 
						|
-
 | 
						|
-v3d: v3d@7ec00000 {
 | 
						|
-	compatible = "brcm,bcm2835-v3d";
 | 
						|
-	reg = <0x7ec00000 0x1000>;
 | 
						|
-	interrupts = <1 10>;
 | 
						|
-};
 | 
						|
-
 | 
						|
-vc4: gpu {
 | 
						|
-	compatible = "brcm,bcm2835-vc4";
 | 
						|
-};
 | 
						|
-
 | 
						|
-panel: panel {
 | 
						|
-	compatible = "ontat,yx700wv03", "simple-panel";
 | 
						|
-
 | 
						|
-	port {
 | 
						|
-		panel_in: endpoint {
 | 
						|
-			remote-endpoint = <&dpi_out>;
 | 
						|
-		};
 | 
						|
-	};
 | 
						|
-};
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-dpi.yaml
 | 
						|
@@ -0,0 +1,66 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-dpi.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) DPI Controller
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    const: brcm,bcm2835-dpi
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  clocks:
 | 
						|
+    items:
 | 
						|
+      - description: The core clock the unit runs on
 | 
						|
+      - description: The pixel clock that feeds the pixelvalve
 | 
						|
+
 | 
						|
+  port:
 | 
						|
+    type: object
 | 
						|
+    description: >
 | 
						|
+      Port node with a single endpoint connecting to the panel, as
 | 
						|
+      defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - clocks
 | 
						|
+  - port
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    #include <dt-bindings/clock/bcm2835.h>
 | 
						|
+
 | 
						|
+    panel: panel {
 | 
						|
+        compatible = "ontat,yx700wv03", "simple-panel";
 | 
						|
+
 | 
						|
+        port {
 | 
						|
+            panel_in: endpoint {
 | 
						|
+                remote-endpoint = <&dpi_out>;
 | 
						|
+            };
 | 
						|
+        };
 | 
						|
+    };
 | 
						|
+
 | 
						|
+    dpi: dpi@7e208000 {
 | 
						|
+        compatible = "brcm,bcm2835-dpi";
 | 
						|
+        reg = <0x7e208000 0x8c>;
 | 
						|
+        clocks = <&clocks BCM2835_CLOCK_VPU>,
 | 
						|
+                 <&clocks BCM2835_CLOCK_DPI>;
 | 
						|
+        clock-names = "core", "pixel";
 | 
						|
+
 | 
						|
+        port {
 | 
						|
+            dpi_out: endpoint {
 | 
						|
+                remote-endpoint = <&panel_in>;
 | 
						|
+            };
 | 
						|
+        };
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml
 | 
						|
@@ -0,0 +1,73 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-dsi0.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) DSI Controller
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    enum:
 | 
						|
+      - brcm,bcm2835-dsi0
 | 
						|
+      - brcm,bcm2835-dsi1
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  clocks:
 | 
						|
+    items:
 | 
						|
+      - description: The DSI PLL clock feeding the DSI analog PHY
 | 
						|
+      - description: The DSI ESC clock
 | 
						|
+      - description: The DSI pixel clock
 | 
						|
+
 | 
						|
+  clock-output-names: true
 | 
						|
+    # FIXME: The meta-schemas don't seem to allow it for now
 | 
						|
+    # items:
 | 
						|
+    #   - description: The DSI byte clock for the PHY
 | 
						|
+    #   - description: The DSI DDR2 clock
 | 
						|
+    #   - description: The DSI DDR clock
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - clocks
 | 
						|
+  - clock-output-names
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+unevaluatedProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    #include <dt-bindings/clock/bcm2835.h>
 | 
						|
+
 | 
						|
+    dsi1: dsi@7e700000 {
 | 
						|
+        compatible = "brcm,bcm2835-dsi1";
 | 
						|
+        reg = <0x7e700000 0x8c>;
 | 
						|
+        interrupts = <2 12>;
 | 
						|
+        #address-cells = <1>;
 | 
						|
+        #size-cells = <0>;
 | 
						|
+        #clock-cells = <1>;
 | 
						|
+
 | 
						|
+        clocks = <&clocks BCM2835_PLLD_DSI1>,
 | 
						|
+                 <&clocks BCM2835_CLOCK_DSI1E>,
 | 
						|
+                 <&clocks BCM2835_CLOCK_DSI1P>;
 | 
						|
+        clock-names = "phy", "escape", "pixel";
 | 
						|
+
 | 
						|
+        clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
 | 
						|
+
 | 
						|
+        pitouchscreen: panel@0 {
 | 
						|
+            compatible = "raspberrypi,touchscreen";
 | 
						|
+            reg = <0>;
 | 
						|
+
 | 
						|
+            /* ... */
 | 
						|
+        };
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml
 | 
						|
@@ -0,0 +1,75 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-hdmi.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) HDMI Controller
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    const: brcm,bcm2835-hdmi
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    items:
 | 
						|
+      - description: HDMI register range
 | 
						|
+      - description: HD register range
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    minItems: 2
 | 
						|
+
 | 
						|
+  clocks:
 | 
						|
+    items:
 | 
						|
+      - description: The HDMI state machine clock
 | 
						|
+      - description: The pixel clock
 | 
						|
+
 | 
						|
+  ddc:
 | 
						|
+    allOf:
 | 
						|
+      - $ref: /schemas/types.yaml#/definitions/phandle
 | 
						|
+    description: >
 | 
						|
+      Phandle of the I2C controller used for DDC EDID probing
 | 
						|
+
 | 
						|
+  hpd-gpios:
 | 
						|
+    description: >
 | 
						|
+      The GPIO pin for the HDMI hotplug detect (if it doesn't appear
 | 
						|
+      as an interrupt/status bit in the HDMI controller itself)
 | 
						|
+
 | 
						|
+  dmas:
 | 
						|
+    maxItems: 1
 | 
						|
+    description: >
 | 
						|
+      Should contain one entry pointing to the DMA channel used to
 | 
						|
+      transfer audio data.
 | 
						|
+
 | 
						|
+  dma-names:
 | 
						|
+    const: audio-rx
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - interrupts
 | 
						|
+  - clocks
 | 
						|
+  - ddc
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    #include <dt-bindings/clock/bcm2835.h>
 | 
						|
+    #include <dt-bindings/gpio/gpio.h>
 | 
						|
+
 | 
						|
+    hdmi: hdmi@7e902000 {
 | 
						|
+        compatible = "brcm,bcm2835-hdmi";
 | 
						|
+        reg = <0x7e902000 0x600>,
 | 
						|
+              <0x7e808000 0x100>;
 | 
						|
+        interrupts = <2 8>, <2 9>;
 | 
						|
+        ddc = <&i2c2>;
 | 
						|
+        hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
 | 
						|
+        clocks = <&clocks BCM2835_PLLH_PIX>,
 | 
						|
+                 <&clocks BCM2835_CLOCK_HSM>;
 | 
						|
+        clock-names = "pixel", "hdmi";
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml
 | 
						|
@@ -0,0 +1,37 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-hvs.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) Hardware Video Scaler
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    const: brcm,bcm2835-hvs
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    hvs@7e400000 {
 | 
						|
+        compatible = "brcm,bcm2835-hvs";
 | 
						|
+        reg = <0x7e400000 0x6000>;
 | 
						|
+        interrupts = <2 1>;
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-pixelvalve0.yaml
 | 
						|
@@ -0,0 +1,40 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-pixelvalve0.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) PixelValve
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    enum:
 | 
						|
+      - brcm,bcm2835-pixelvalve0
 | 
						|
+      - brcm,bcm2835-pixelvalve1
 | 
						|
+      - brcm,bcm2835-pixelvalve2
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    pixelvalve@7e807000 {
 | 
						|
+        compatible = "brcm,bcm2835-pixelvalve2";
 | 
						|
+        reg = <0x7e807000 0x100>;
 | 
						|
+        interrupts = <2 10>; /* pixelvalve */
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-txp.yaml
 | 
						|
@@ -0,0 +1,37 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-txp.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) TXP (writeback) Controller
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    const: brcm,bcm2835-txp
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    txp: txp@7e004000 {
 | 
						|
+        compatible = "brcm,bcm2835-txp";
 | 
						|
+        reg = <0x7e004000 0x20>;
 | 
						|
+        interrupts = <1 11>;
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml
 | 
						|
@@ -0,0 +1,42 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-v3d.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) V3D GPU
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    enum:
 | 
						|
+      - brcm,bcm2835-v3d
 | 
						|
+      - brcm,cygnus-v3d
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  clocks:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    v3d: v3d@7ec00000 {
 | 
						|
+        compatible = "brcm,bcm2835-v3d";
 | 
						|
+        reg = <0x7ec00000 0x1000>;
 | 
						|
+        interrupts = <1 10>;
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-vc4.yaml
 | 
						|
@@ -0,0 +1,34 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-vc4.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) GPU
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+description: >
 | 
						|
+  The VC4 device present on the Raspberry Pi includes a display system
 | 
						|
+  with HDMI output and the HVS (Hardware Video Scaler) for compositing
 | 
						|
+  display planes.
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    enum:
 | 
						|
+      - brcm,bcm2835-vc4
 | 
						|
+      - brcm,cygnus-vc4
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    vc4: gpu {
 | 
						|
+        compatible = "brcm,bcm2835-vc4";
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml
 | 
						|
@@ -0,0 +1,44 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/display/brcm,bcm2835-vec.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom VC4 (VideoCore4) VEC
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Eric Anholt <eric@anholt.net>
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    const: brcm,bcm2835-vec
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  clocks:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  interrupts:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - compatible
 | 
						|
+  - reg
 | 
						|
+  - clocks
 | 
						|
+  - interrupts
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    #include <dt-bindings/clock/bcm2835.h>
 | 
						|
+
 | 
						|
+    vec: vec@7e806000 {
 | 
						|
+        compatible = "brcm,bcm2835-vec";
 | 
						|
+        reg = <0x7e806000 0x1000>;
 | 
						|
+        clocks = <&clocks BCM2835_CLOCK_VEC>;
 | 
						|
+        interrupts = <2 27>;
 | 
						|
+    };
 | 
						|
+
 | 
						|
+...
 | 
						|
--- a/MAINTAINERS
 | 
						|
+++ b/MAINTAINERS
 | 
						|
@@ -5574,7 +5574,7 @@ T:	git git://github.com/anholt/linux
 | 
						|
 S:	Supported
 | 
						|
 F:	drivers/gpu/drm/vc4/
 | 
						|
 F:	include/uapi/drm/vc4_drm.h
 | 
						|
-F:	Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 | 
						|
+F:	Documentation/devicetree/bindings/display/brcm,bcm2835-*.yaml
 | 
						|
 T:	git git://anongit.freedesktop.org/drm/drm-misc
 | 
						|
 
 | 
						|
 DRM DRIVERS FOR VIVANTE GPU IP
 |