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