xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/display/brcm,bcm2835-dsi0.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Broadcom VC4 (VideoCore4) DSI Controller
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Eric Anholt <eric@anholt.net>
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunallOf:
13*4882a593Smuzhiyun  - $ref: dsi-controller.yaml#
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunproperties:
16*4882a593Smuzhiyun  "#clock-cells":
17*4882a593Smuzhiyun    const: 1
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun  compatible:
20*4882a593Smuzhiyun    enum:
21*4882a593Smuzhiyun      - brcm,bcm2835-dsi0
22*4882a593Smuzhiyun      - brcm,bcm2835-dsi1
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun  reg:
25*4882a593Smuzhiyun    maxItems: 1
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun  clocks:
28*4882a593Smuzhiyun    items:
29*4882a593Smuzhiyun      - description: The DSI PLL clock feeding the DSI analog PHY
30*4882a593Smuzhiyun      - description: The DSI ESC clock
31*4882a593Smuzhiyun      - description: The DSI pixel clock
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun  clock-names:
34*4882a593Smuzhiyun    items:
35*4882a593Smuzhiyun      - const: phy
36*4882a593Smuzhiyun      - const: escape
37*4882a593Smuzhiyun      - const: pixel
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun  clock-output-names: true
40*4882a593Smuzhiyun    # FIXME: The meta-schemas don't seem to allow it for now
41*4882a593Smuzhiyun    # items:
42*4882a593Smuzhiyun    #   - description: The DSI byte clock for the PHY
43*4882a593Smuzhiyun    #   - description: The DSI DDR2 clock
44*4882a593Smuzhiyun    #   - description: The DSI DDR clock
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun  interrupts:
47*4882a593Smuzhiyun    maxItems: 1
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunrequired:
50*4882a593Smuzhiyun  - "#clock-cells"
51*4882a593Smuzhiyun  - compatible
52*4882a593Smuzhiyun  - reg
53*4882a593Smuzhiyun  - clocks
54*4882a593Smuzhiyun  - clock-names
55*4882a593Smuzhiyun  - clock-output-names
56*4882a593Smuzhiyun  - interrupts
57*4882a593Smuzhiyun
58*4882a593SmuzhiyununevaluatedProperties: false
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunexamples:
61*4882a593Smuzhiyun  - |
62*4882a593Smuzhiyun    #include <dt-bindings/clock/bcm2835.h>
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun    dsi1: dsi@7e700000 {
65*4882a593Smuzhiyun        compatible = "brcm,bcm2835-dsi1";
66*4882a593Smuzhiyun        reg = <0x7e700000 0x8c>;
67*4882a593Smuzhiyun        interrupts = <2 12>;
68*4882a593Smuzhiyun        #address-cells = <1>;
69*4882a593Smuzhiyun        #size-cells = <0>;
70*4882a593Smuzhiyun        #clock-cells = <1>;
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun        clocks = <&clocks BCM2835_PLLD_DSI1>,
73*4882a593Smuzhiyun                 <&clocks BCM2835_CLOCK_DSI1E>,
74*4882a593Smuzhiyun                 <&clocks BCM2835_CLOCK_DSI1P>;
75*4882a593Smuzhiyun        clock-names = "phy", "escape", "pixel";
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun        clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun        pitouchscreen: panel@0 {
80*4882a593Smuzhiyun            compatible = "raspberrypi,touchscreen";
81*4882a593Smuzhiyun            reg = <0>;
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun            /* ... */
84*4882a593Smuzhiyun        };
85*4882a593Smuzhiyun    };
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun...
88