blob: 923aea25344c8dbf557579aaeef74c9916ad53fe [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2
3The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
4See ../../mfd/atmel-hlcdc.txt for more details.
5
6Required 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
13Required children nodes:
14 Children nodes are encoding available output ports and their connections
15 to external devices using the OF graph representation (see ../graph.txt).
16 At least one port node is required.
17
18Optional 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
25Example:
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
61Example 2: With a video interface override to force rgb565; as above
62but 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 };