On Mon, Oct 14, 2019 at 4:16 AM Benjamin Gaignard benjamin.gaignard@st.com wrote:
Convert the STM32 display binding to DT schema format using json-schema. Split the original bindings in two yaml files:
- one for display controller (ltdc)
- one for DSI controller
Signed-off-by: Benjamin Gaignard benjamin.gaignard@st.com
changes in v3:
- use (GPL-2.0-only OR BSD-2-Clause) license
changes in v2:
- use BSD-2-Clause license
- add panel property
- fix identation
- remove pinctrl-names: true
- remove pinctrl-[0-9]+: true
- rework ports block to include port@0 and port@1
- use const for #adress-cells and #size-cells
- add additionalProperties: false
.../devicetree/bindings/display/st,stm32-dsi.yaml | 151 +++++++++++++++++++++ .../devicetree/bindings/display/st,stm32-ltdc.txt | 144 -------------------- .../devicetree/bindings/display/st,stm32-ltdc.yaml | 81 +++++++++++ 3 files changed, 232 insertions(+), 144 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/st,stm32-dsi.yaml delete mode 100644 Documentation/devicetree/bindings/display/st,stm32-ltdc.txt create mode 100644 Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml
diff --git a/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml b/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml new file mode 100644 index 000000000000..8dd727c7533e --- /dev/null +++ b/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml @@ -0,0 +1,151 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/st,stm32-dsi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: STMicroelectronics STM32 DSI host controller
+maintainers:
- Philippe Cornu philippe.cornu@st.com
- Yannick Fertre yannick.fertre@st.com
+description:
- The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller.
+properties:
- compatible:
- const: st,stm32-dsi
- reg:
- maxItems: 1
- clocks:
- items:
- description: Module Clock
- description: DSI bus clock
- description: Pixel clock
- minItems: 2
- maxItems: 3
- clock-names:
- items:
- const: pclk
- const: ref
- const: px_clk
- minItems: 2
- maxItems: 3
- resets:
- maxItems: 1
- reset-names:
- items:
- const: apb
- phy-dsi-supply:
- maxItems: 1
- description:
Phandle of the regulator that provides the supply voltage.
- ports:
- type: object
- description:
A node containing DSI input & output port nodes with endpoint
definitions as documented in
Documentation/devicetree/bindings/media/video-interfaces.txt
Documentation/devicetree/bindings/graph.txt
- properties:
port@0:
type: object
description:
DSI input port node, connected to the ltdc rgb output port.
port@1:
type: object
description:
DSI output port node, connected to a panel or a bridge input port"
+patternProperties:
- "^(panel|panel-dsi)@[0-9]$":
- type: object
- description:
A node containing the panel or bridge description as documented in
Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
- properties:
port@0:
You can drop this. The unit address for the panel port is decided by the panel binding, not this one.
type: object
description:
Panel or bridge port node, connected to the DSI output port (port@1)
[...]
diff --git a/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml b/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml new file mode 100644 index 000000000000..94a4137f7236 --- /dev/null +++ b/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/st,stm32-ltdc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: STMicroelectronics STM32 lcd-tft display controller
+maintainers:
- Philippe Cornu philippe.cornu@st.com
- Yannick Fertre yannick.fertre@st.com
+properties:
- compatible:
- const: st,stm32-ltdc
- reg:
- maxItems: 1
- interrupts:
- minItems: 2
- maxItems: 2
Need to describe what each interrupt is.
items: - description: ... - description: ...
- clocks:
- maxItems: 1
- clock-names:
- items:
- const: lcd
- resets:
- maxItems: 1
- port:
- type: object
- description:
"Video port for DPI RGB output.
ltdc has one video port with up to 2 endpoints:
- for external dpi rgb panel or bridge, using gpios.
- for internal dpi input of the MIPI DSI host controller.
Note: These 2 endpoints cannot be activated simultaneously.
Please refer to the bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt."
- dma-ranges:
- maxItems: 1
dma-ranges goes in bus nodes, not device nodes.
+required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- resets
- port
+additionalProperties: false
+examples:
- |
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/clock/stm32mp1-clks.h>
- #include <dt-bindings/reset/stm32mp1-resets.h>
- ltdc: display-controller@40016800 {
compatible = "st,stm32-ltdc";
reg = <0x5a001000 0x400>;
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&rcc LTDC_PX>;
clock-names = "lcd";
resets = <&rcc LTDC_R>;
port {
ltdc_out_dsi: endpoint {
remote-endpoint = <&dsi_in>;
};
};
- };
+...
-- 2.15.0