Merge tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / dsi-controller.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/display/dsi-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Common Properties for DSI Display Panels
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description: |
13   This document defines device tree properties common to DSI, Display
14   Serial Interface controllers and attached panels. It doesn't constitute
15   a device tree binding specification by itself but is meant to be referenced
16   by device tree bindings.
17
18   When referenced from panel device tree bindings the properties defined in
19   this document are defined as follows. The panel device tree bindings are
20   responsible for defining whether each property is required or optional.
21
22   Notice: this binding concerns DSI panels connected directly to a master
23   without any intermediate port graph to the panel. Each DSI master
24   can control one to four virtual channels to one panel. Each virtual
25   channel should have a node "panel" for their virtual channel with their
26   reg-property set to the virtual channel number, usually there is just
27   one virtual channel, number 0.
28
29 properties:
30   $nodename:
31     pattern: "^dsi(@.*)?$"
32
33   "#address-cells":
34     const: 1
35
36   "#size-cells":
37     const: 0
38
39 patternProperties:
40   "^panel@[0-3]$":
41     description: Panels connected to the DSI link
42     type: object
43
44     properties:
45       reg:
46         minimum: 0
47         maximum: 3
48         description:
49           The virtual channel number of a DSI peripheral. Must be in the range
50           from 0 to 3, as DSI uses a 2-bit addressing scheme. Some DSI
51           peripherals respond to more than a single virtual channel. In that
52           case the reg property can take multiple entries, one for each virtual
53           channel that the peripheral responds to.
54
55       clock-master:
56         type: boolean
57         description:
58           Should be enabled if the host is being used in conjunction with
59           another DSI host to drive the same peripheral. Hardware supporting
60           such a configuration generally requires the data on both the busses
61           to be driven by the same clock. Only the DSI host instance
62           controlling this clock should contain this property.
63
64       enforce-video-mode:
65         type: boolean
66         description:
67           The best option is usually to run a panel in command mode, as this
68           gives better control over the panel hardware. However for different
69           reasons like broken hardware, missing features or testing, it may be
70           useful to be able to force a command mode-capable panel into video
71           mode.
72
73     required:
74       - reg
75
76 additionalProperties: true
77
78 examples:
79   - |
80     #include <dt-bindings/gpio/gpio.h>
81     dsi@a0351000 {
82         reg = <0xa0351000 0x1000>;
83         #address-cells = <1>;
84         #size-cells = <0>;
85         panel@0 {
86             compatible = "sony,acx424akp";
87             reg = <0>;
88             vddi-supply = <&ab8500_ldo_aux1_reg>;
89             reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
90         };
91     };
92
93 ...