Merge tag 'pstore-v4.20-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / display / atmel / hlcdc-dc.txt
1 Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2
3 The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
4 See ../../mfd/atmel-hlcdc.txt for more details.
5
6 Required properties:
7  - compatible: value should be "atmel,hlcdc-display-controller"
8  - pinctrl-names: the pin control state names. Should contain "default".
9  - pinctrl-0: should contain the default pinctrl states.
10  - #address-cells: should be set to 1.
11  - #size-cells: should be set to 0.
12
13 Required children nodes:
14  Children nodes are encoding available output ports and their connections
15  to external devices using the OF graph reprensentation (see ../graph.txt).
16  At least one port node is required.
17
18 Optional properties in grandchild nodes:
19  Any endpoint grandchild node may specify a desired video interface
20  according to ../../media/video-interfaces.txt, specifically
21  - bus-width: recognized values are <12>, <16>, <18> and <24>, and
22    override any output mode selection heuristic, forcing "rgb444",
23    "rgb565", "rgb666" and "rgb888" respectively.
24
25 Example:
26
27         hlcdc: hlcdc@f0030000 {
28                 compatible = "atmel,sama5d3-hlcdc";
29                 reg = <0xf0030000 0x2000>;
30                 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
31                 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
32                 clock-names = "periph_clk","sys_clk", "slow_clk";
33
34                 hlcdc-display-controller {
35                         compatible = "atmel,hlcdc-display-controller";
36                         pinctrl-names = "default";
37                         pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
38                         #address-cells = <1>;
39                         #size-cells = <0>;
40
41                         port@0 {
42                                 #address-cells = <1>;
43                                 #size-cells = <0>;
44                                 reg = <0>;
45
46                                 hlcdc_panel_output: endpoint@0 {
47                                         reg = <0>;
48                                         remote-endpoint = <&panel_input>;
49                                 };
50                         };
51                 };
52
53                 hlcdc_pwm: hlcdc-pwm {
54                         compatible = "atmel,hlcdc-pwm";
55                         pinctrl-names = "default";
56                         pinctrl-0 = <&pinctrl_lcd_pwm>;
57                         #pwm-cells = <3>;
58                 };
59         };
60
61 Example 2: With a video interface override to force rgb565; as above
62 but with these changes/additions:
63
64         &hlcdc {
65                 hlcdc-display-controller {
66                         pinctrl-names = "default";
67                         pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
68
69                         port@0 {
70                                 hlcdc_panel_output: endpoint@0 {
71                                         bus-width = <16>;
72                                 };
73                         };
74                 };
75         };