diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0532-dt-bindings-display-Convert-VC4-bindings-to-schemas.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0532-dt-bindings-display-Convert-VC4-bindings-to-schemas.patch | 706 |
1 files changed, 0 insertions, 706 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0532-dt-bindings-display-Convert-VC4-bindings-to-schemas.patch b/target/linux/bcm27xx/patches-5.4/950-0532-dt-bindings-display-Convert-VC4-bindings-to-schemas.patch deleted file mode 100644 index d9482649cc..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0532-dt-bindings-display-Convert-VC4-bindings-to-schemas.patch +++ /dev/null @@ -1,706 +0,0 @@ -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 |