Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device. See ../../mfd/atmel-hlcdc.txt for more details. Required properties: - compatible: value should be "atmel,hlcdc-display-controller" - pinctrl-names: the pin control state names. Should contain "default". - pinctrl-0: should contain the default pinctrl states. - #address-cells: should be set to 1. - #size-cells: should be set to 0. Required children nodes: Children nodes are encoding available output ports and their connections to external devices using the OF graph representation (see ../graph.txt). At least one port node is required. Optional properties in grandchild nodes: Any endpoint grandchild node may specify a desired video interface according to ../../media/video-interfaces.txt, specifically - bus-width: recognized values are <12>, <16>, <18> and <24>, and override any output mode selection heuristic, forcing "rgb444", "rgb565", "rgb666" and "rgb888" respectively. Example: hlcdc: hlcdc@f0030000 { compatible = "atmel,sama5d3-hlcdc"; reg = <0xf0030000 0x2000>; interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; clock-names = "periph_clk","sys_clk", "slow_clk"; hlcdc-display-controller { compatible = "atmel,hlcdc-display-controller"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; #address-cells = <1>; #size-cells = <0>; port@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; hlcdc_panel_output: endpoint@0 { reg = <0>; remote-endpoint = <&panel_input>; }; }; }; hlcdc_pwm: hlcdc-pwm { compatible = "atmel,hlcdc-pwm"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_pwm>; #pwm-cells = <3>; }; }; Example 2: With a video interface override to force rgb565; as above but with these changes/additions: &hlcdc { hlcdc-display-controller { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>; port@0 { hlcdc_panel_output: endpoint@0 { bus-width = <16>; }; }; }; };