18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/brcm,bcm2835-dsi0.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Broadcom VC4 (VideoCore4) DSI Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Eric Anholt <eric@anholt.net>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciallOf:
138c2ecf20Sopenharmony_ci  - $ref: dsi-controller.yaml#
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciproperties:
168c2ecf20Sopenharmony_ci  "#clock-cells":
178c2ecf20Sopenharmony_ci    const: 1
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  compatible:
208c2ecf20Sopenharmony_ci    enum:
218c2ecf20Sopenharmony_ci      - brcm,bcm2835-dsi0
228c2ecf20Sopenharmony_ci      - brcm,bcm2835-dsi1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  reg:
258c2ecf20Sopenharmony_ci    maxItems: 1
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  clocks:
288c2ecf20Sopenharmony_ci    items:
298c2ecf20Sopenharmony_ci      - description: The DSI PLL clock feeding the DSI analog PHY
308c2ecf20Sopenharmony_ci      - description: The DSI ESC clock
318c2ecf20Sopenharmony_ci      - description: The DSI pixel clock
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  clock-names:
348c2ecf20Sopenharmony_ci    items:
358c2ecf20Sopenharmony_ci      - const: phy
368c2ecf20Sopenharmony_ci      - const: escape
378c2ecf20Sopenharmony_ci      - const: pixel
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  clock-output-names: true
408c2ecf20Sopenharmony_ci    # FIXME: The meta-schemas don't seem to allow it for now
418c2ecf20Sopenharmony_ci    # items:
428c2ecf20Sopenharmony_ci    #   - description: The DSI byte clock for the PHY
438c2ecf20Sopenharmony_ci    #   - description: The DSI DDR2 clock
448c2ecf20Sopenharmony_ci    #   - description: The DSI DDR clock
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  interrupts:
478c2ecf20Sopenharmony_ci    maxItems: 1
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_cirequired:
508c2ecf20Sopenharmony_ci  - "#clock-cells"
518c2ecf20Sopenharmony_ci  - compatible
528c2ecf20Sopenharmony_ci  - reg
538c2ecf20Sopenharmony_ci  - clocks
548c2ecf20Sopenharmony_ci  - clock-names
558c2ecf20Sopenharmony_ci  - clock-output-names
568c2ecf20Sopenharmony_ci  - interrupts
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciunevaluatedProperties: false
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciexamples:
618c2ecf20Sopenharmony_ci  - |
628c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/bcm2835.h>
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci    dsi1: dsi@7e700000 {
658c2ecf20Sopenharmony_ci        compatible = "brcm,bcm2835-dsi1";
668c2ecf20Sopenharmony_ci        reg = <0x7e700000 0x8c>;
678c2ecf20Sopenharmony_ci        interrupts = <2 12>;
688c2ecf20Sopenharmony_ci        #address-cells = <1>;
698c2ecf20Sopenharmony_ci        #size-cells = <0>;
708c2ecf20Sopenharmony_ci        #clock-cells = <1>;
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci        clocks = <&clocks BCM2835_PLLD_DSI1>,
738c2ecf20Sopenharmony_ci                 <&clocks BCM2835_CLOCK_DSI1E>,
748c2ecf20Sopenharmony_ci                 <&clocks BCM2835_CLOCK_DSI1P>;
758c2ecf20Sopenharmony_ci        clock-names = "phy", "escape", "pixel";
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci        clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci        pitouchscreen: panel@0 {
808c2ecf20Sopenharmony_ci            compatible = "raspberrypi,touchscreen";
818c2ecf20Sopenharmony_ci            reg = <0>;
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci            /* ... */
848c2ecf20Sopenharmony_ci        };
858c2ecf20Sopenharmony_ci    };
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci...
88