1efdbd734SRob HerringDevice-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2efdbd734SRob Herring
3efdbd734SRob HerringThe Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
44ed91d48SRichard GenoudSee ../../mfd/atmel-hlcdc.txt for more details.
5efdbd734SRob Herring
6efdbd734SRob HerringRequired properties:
7efdbd734SRob Herring - compatible: value should be "atmel,hlcdc-display-controller"
8efdbd734SRob Herring - pinctrl-names: the pin control state names. Should contain "default".
9efdbd734SRob Herring - pinctrl-0: should contain the default pinctrl states.
10efdbd734SRob Herring - #address-cells: should be set to 1.
11efdbd734SRob Herring - #size-cells: should be set to 0.
12efdbd734SRob Herring
13efdbd734SRob HerringRequired children nodes:
14efdbd734SRob Herring Children nodes are encoding available output ports and their connections
15*47aab533SBjorn Helgaas to external devices using the OF graph representation (see ../graph.txt).
16efdbd734SRob Herring At least one port node is required.
17efdbd734SRob Herring
182e7c04aeSPeter RosinOptional properties in grandchild nodes:
192e7c04aeSPeter Rosin Any endpoint grandchild node may specify a desired video interface
202e7c04aeSPeter Rosin according to ../../media/video-interfaces.txt, specifically
212e7c04aeSPeter Rosin - bus-width: recognized values are <12>, <16>, <18> and <24>, and
222e7c04aeSPeter Rosin   override any output mode selection heuristic, forcing "rgb444",
232e7c04aeSPeter Rosin   "rgb565", "rgb666" and "rgb888" respectively.
242e7c04aeSPeter Rosin
25efdbd734SRob HerringExample:
26efdbd734SRob Herring
27efdbd734SRob Herring	hlcdc: hlcdc@f0030000 {
28efdbd734SRob Herring		compatible = "atmel,sama5d3-hlcdc";
29efdbd734SRob Herring		reg = <0xf0030000 0x2000>;
30efdbd734SRob Herring		interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
31efdbd734SRob Herring		clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
32efdbd734SRob Herring		clock-names = "periph_clk","sys_clk", "slow_clk";
33efdbd734SRob Herring
34efdbd734SRob Herring		hlcdc-display-controller {
35efdbd734SRob Herring			compatible = "atmel,hlcdc-display-controller";
36efdbd734SRob Herring			pinctrl-names = "default";
37efdbd734SRob Herring			pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
38efdbd734SRob Herring			#address-cells = <1>;
39efdbd734SRob Herring			#size-cells = <0>;
40efdbd734SRob Herring
41efdbd734SRob Herring			port@0 {
42efdbd734SRob Herring				#address-cells = <1>;
43efdbd734SRob Herring				#size-cells = <0>;
44efdbd734SRob Herring				reg = <0>;
45efdbd734SRob Herring
46efdbd734SRob Herring				hlcdc_panel_output: endpoint@0 {
47efdbd734SRob Herring					reg = <0>;
48efdbd734SRob Herring					remote-endpoint = <&panel_input>;
49efdbd734SRob Herring				};
50efdbd734SRob Herring			};
51efdbd734SRob Herring		};
52efdbd734SRob Herring
53efdbd734SRob Herring		hlcdc_pwm: hlcdc-pwm {
54efdbd734SRob Herring			compatible = "atmel,hlcdc-pwm";
55efdbd734SRob Herring			pinctrl-names = "default";
56efdbd734SRob Herring			pinctrl-0 = <&pinctrl_lcd_pwm>;
57efdbd734SRob Herring			#pwm-cells = <3>;
58efdbd734SRob Herring		};
59efdbd734SRob Herring	};
602e7c04aeSPeter Rosin
612e7c04aeSPeter RosinExample 2: With a video interface override to force rgb565; as above
622e7c04aeSPeter Rosinbut with these changes/additions:
632e7c04aeSPeter Rosin
642e7c04aeSPeter Rosin	&hlcdc {
652e7c04aeSPeter Rosin		hlcdc-display-controller {
662e7c04aeSPeter Rosin			pinctrl-names = "default";
672e7c04aeSPeter Rosin			pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
682e7c04aeSPeter Rosin
692e7c04aeSPeter Rosin			port@0 {
702e7c04aeSPeter Rosin				hlcdc_panel_output: endpoint@0 {
712e7c04aeSPeter Rosin					bus-width = <16>;
722e7c04aeSPeter Rosin				};
732e7c04aeSPeter Rosin			};
742e7c04aeSPeter Rosin		};
752e7c04aeSPeter Rosin	};
76