xref: /freebsd/sys/contrib/device-tree/Bindings/display/atmel/hlcdc-dc.txt (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1Device-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 reprensentation (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	};
76