[v3,1/5] dt-bindings: display: ti,k2g-dss: Add dt-schema yaml binding

Message ID 7c2e386d48cf0c8b932804f24e3f6ea81fe3d3a3.1576158368.git.jsarha@ti.com
State New
Headers show
Series
  • drm/tidss: New driver for TI Keystone platform Display SubSystem
Related show

Commit Message

Jyri Sarha Dec. 12, 2019, 1:51 p.m.
Add dt-schema yaml bindig for K2G DSS, an ultra-light version of TI
Keystone Display SubSystem.

Version history:

v2: no change

v3: - Add ports node
    - Add includes to dts example
    - reindent dts example

Signed-off-by: Jyri Sarha <jsarha@ti.com>

---
 .../bindings/display/ti/ti,k2g-dss.yaml       | 118 ++++++++++++++++++
 1 file changed, 118 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

Comments

Maxime Ripard Dec. 13, 2019, 10:42 a.m. | #1
Hi,

On Thu, Dec 12, 2019 at 03:51:57PM +0200, Jyri Sarha wrote:
> Add dt-schema yaml bindig for K2G DSS, an ultra-light version of TI

> Keystone Display SubSystem.

>

> Version history:

>

> v2: no change

>

> v3: - Add ports node

>     - Add includes to dts example

>     - reindent dts example

>

> Signed-off-by: Jyri Sarha <jsarha@ti.com>

> ---

>  .../bindings/display/ti/ti,k2g-dss.yaml       | 118 ++++++++++++++++++

>  1 file changed, 118 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml

>

> diff --git a/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml

> new file mode 100644

> index 000000000000..90158e8b6aad

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml

> @@ -0,0 +1,118 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +# Copyright 2019 Texas Instruments Incorporated

> +%YAML 1.2

> +---

> +$id: "http://devicetree.org/schemas/display/ti/ti,k2g-dss.yaml#"

> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"

> +

> +title: Texas Instruments K2G Display Subsystem

> +

> +maintainers:

> +  - Jyri Sarha <jsarha@ti.com>

> +  - Tomi Valkeinen <tomi.valkeinen@ti.com>

> +

> +description: |

> +  The K2G DSS is an ultra-light version of TI Keystone Display

> +  SubSystem. It has only one output port and video plane. The

> +  output is DPI.

> +

> +properties:

> +  compatible:

> +    const: ti,k2g-dss

> +

> +  reg:

> +    maxItems: 5

> +    minItems: 5


When they are equal, you need only one of the two, the tools will add
the other.

Also, adding a description of what those registers are supposed to be
would be great.

> +

> +  reg-names:

> +    items:

> +      - const: cfg

> +      - const: common

> +      - const: vid1

> +      - const: ovr1

> +      - const: vp1

> +

> +  clocks:

> +    maxItems: 2

> +    minItems: 2


Ditto

> +

> +  clock-names:

> +    items:

> +      - const: fck

> +      - const: vp1

> +

> +  interrupts:

> +    maxItems: 1

> +

> +  power-domains:

> +    maxItems: 1

> +    description: phandle to the associated power domain

> +

> +  ports:

> +    type: object

> +    description:

> +      Ports as described in Documentation/devictree/bindings/graph.txt

> +    properties:

> +      "#address-cells":

> +        const: 1

> +

> +      "#size-cells":

> +        const: 0

> +

> +      port@0:

> +        type: object

> +        description:

> +          The DSS DPI output port node


If there's only one port, why do you need ports in the first place?

Thanks!
Maxime

Patch

diff --git a/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
new file mode 100644
index 000000000000..90158e8b6aad
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
@@ -0,0 +1,118 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2019 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/display/ti/ti,k2g-dss.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Texas Instruments K2G Display Subsystem
+
+maintainers:
+  - Jyri Sarha <jsarha@ti.com>
+  - Tomi Valkeinen <tomi.valkeinen@ti.com>
+
+description: |
+  The K2G DSS is an ultra-light version of TI Keystone Display
+  SubSystem. It has only one output port and video plane. The
+  output is DPI.
+
+properties:
+  compatible:
+    const: ti,k2g-dss
+
+  reg:
+    maxItems: 5
+    minItems: 5
+
+  reg-names:
+    items:
+      - const: cfg
+      - const: common
+      - const: vid1
+      - const: ovr1
+      - const: vp1
+
+  clocks:
+    maxItems: 2
+    minItems: 2
+
+  clock-names:
+    items:
+      - const: fck
+      - const: vp1
+
+  interrupts:
+    maxItems: 1
+
+  power-domains:
+    maxItems: 1
+    description: phandle to the associated power domain
+
+  ports:
+    type: object
+    description:
+      Ports as described in Documentation/devictree/bindings/graph.txt
+    properties:
+      "#address-cells":
+        const: 1
+
+      "#size-cells":
+        const: 0
+
+      port@0:
+        type: object
+        description:
+          The DSS DPI output port node
+
+    required:
+      - "#address-cells"
+      - "#size-cells"
+
+  max-memory-bandwidth:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Input memory (from main memory to dispc) bandwidth limit in
+      bytes per second
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - clocks
+  - clock-names
+  - interrupts
+  - ports
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    dss: dss@02540000 {
+            compatible = "ti,k2g-dss";
+            reg =   <0x02540000 0x400>,
+                    <0x02550000 0x1000>,
+                    <0x02557000 0x1000>,
+                    <0x0255a800 0x100>,
+                    <0x0255ac00 0x100>;
+            reg-names = "cfg", "common", "vid1", "ovr1", "vp1";
+            clocks =        <&k2g_clks 0x2 0>,
+                            <&k2g_clks 0x2 1>;
+            clock-names = "fck", "vp1";
+            interrupts = <GIC_SPI 247 IRQ_TYPE_EDGE_RISING>;
+
+            power-domains = <&k2g_pds 0x2>;
+
+            max-memory-bandwidth = <230000000>;
+            ports {
+                    #address-cells = <1>;
+                    #size-cells = <0>;
+                    port@0 {
+                            dpi_out: endpoint {
+                                    remote-endpoint = <&sii9022_in>;
+                            };
+                    };
+            };
+    };