f07e572f64
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
|