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