18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright 2019 Texas Instruments Incorporated
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/display/ti/ti,k2g-dss.yaml#"
68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: Texas Instruments K2G Display Subsystem
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Jyri Sarha <jsarha@ti.com>
128c2ecf20Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ti.com>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cidescription: |
158c2ecf20Sopenharmony_ci  The K2G DSS is an ultra-light version of TI Keystone Display
168c2ecf20Sopenharmony_ci  SubSystem. It has only one output port and video plane. The
178c2ecf20Sopenharmony_ci  output is DPI.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciproperties:
208c2ecf20Sopenharmony_ci  compatible:
218c2ecf20Sopenharmony_ci    const: ti,k2g-dss
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    items:
258c2ecf20Sopenharmony_ci      - description: cfg DSS top level
268c2ecf20Sopenharmony_ci      - description: common DISPC common
278c2ecf20Sopenharmony_ci      - description: VID1 video plane 1
288c2ecf20Sopenharmony_ci      - description: OVR1 overlay manager for vp1
298c2ecf20Sopenharmony_ci      - description: VP1 video port 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  reg-names:
328c2ecf20Sopenharmony_ci    items:
338c2ecf20Sopenharmony_ci      - const: cfg
348c2ecf20Sopenharmony_ci      - const: common
358c2ecf20Sopenharmony_ci      - const: vid1
368c2ecf20Sopenharmony_ci      - const: ovr1
378c2ecf20Sopenharmony_ci      - const: vp1
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  clocks:
408c2ecf20Sopenharmony_ci    items:
418c2ecf20Sopenharmony_ci      - description: fck DSS functional clock
428c2ecf20Sopenharmony_ci      - description: vp1 Video Port 1 pixel clock
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  clock-names:
458c2ecf20Sopenharmony_ci    items:
468c2ecf20Sopenharmony_ci      - const: fck
478c2ecf20Sopenharmony_ci      - const: vp1
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  interrupts:
508c2ecf20Sopenharmony_ci    maxItems: 1
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci  power-domains:
538c2ecf20Sopenharmony_ci    maxItems: 1
548c2ecf20Sopenharmony_ci    description: phandle to the associated power domain
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci  port:
578c2ecf20Sopenharmony_ci    type: object
588c2ecf20Sopenharmony_ci    description:
598c2ecf20Sopenharmony_ci      Port as described in Documentation/devicetree/bindings/graph.txt.
608c2ecf20Sopenharmony_ci      The DSS DPI output port node
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci  max-memory-bandwidth:
638c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
648c2ecf20Sopenharmony_ci    description:
658c2ecf20Sopenharmony_ci      Input memory (from main memory to dispc) bandwidth limit in
668c2ecf20Sopenharmony_ci      bytes per second
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_cirequired:
698c2ecf20Sopenharmony_ci  - compatible
708c2ecf20Sopenharmony_ci  - reg
718c2ecf20Sopenharmony_ci  - reg-names
728c2ecf20Sopenharmony_ci  - clocks
738c2ecf20Sopenharmony_ci  - clock-names
748c2ecf20Sopenharmony_ci  - interrupts
758c2ecf20Sopenharmony_ci  - port
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciadditionalProperties: false
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciexamples:
808c2ecf20Sopenharmony_ci  - |
818c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
828c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci    dss: dss@2540000 {
858c2ecf20Sopenharmony_ci            compatible = "ti,k2g-dss";
868c2ecf20Sopenharmony_ci            reg =   <0x02540000 0x400>,
878c2ecf20Sopenharmony_ci                    <0x02550000 0x1000>,
888c2ecf20Sopenharmony_ci                    <0x02557000 0x1000>,
898c2ecf20Sopenharmony_ci                    <0x0255a800 0x100>,
908c2ecf20Sopenharmony_ci                    <0x0255ac00 0x100>;
918c2ecf20Sopenharmony_ci            reg-names = "cfg", "common", "vid1", "ovr1", "vp1";
928c2ecf20Sopenharmony_ci            clocks =        <&k2g_clks 0x2 0>,
938c2ecf20Sopenharmony_ci                            <&k2g_clks 0x2 1>;
948c2ecf20Sopenharmony_ci            clock-names = "fck", "vp1";
958c2ecf20Sopenharmony_ci            interrupts = <GIC_SPI 247 IRQ_TYPE_EDGE_RISING>;
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci            power-domains = <&k2g_pds 0x2>;
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci            max-memory-bandwidth = <230000000>;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci            port {
1028c2ecf20Sopenharmony_ci                    dpi_out: endpoint {
1038c2ecf20Sopenharmony_ci                            remote-endpoint = <&sii9022_in>;
1048c2ecf20Sopenharmony_ci                    };
1058c2ecf20Sopenharmony_ci            };
1068c2ecf20Sopenharmony_ci    };
107