1*4882a593SmuzhiyunDevice-Tree bindings for tilcdc DRM driver 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun - compatible: value should be one of the following: 5*4882a593Smuzhiyun - "ti,am33xx-tilcdc" for AM335x based boards 6*4882a593Smuzhiyun - "ti,da850-tilcdc" for DA850/AM18x/OMAP-L138 based boards 7*4882a593Smuzhiyun - interrupts: the interrupt number 8*4882a593Smuzhiyun - reg: base address and size of the LCDC device 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunRecommended properties: 11*4882a593Smuzhiyun - ti,hwmods: Name of the hwmod associated to the LCDC 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunOptional properties: 14*4882a593Smuzhiyun - max-bandwidth: The maximum pixels per second that the memory 15*4882a593Smuzhiyun interface / lcd controller combination can sustain 16*4882a593Smuzhiyun - max-width: The maximum horizontal pixel width supported by 17*4882a593Smuzhiyun the lcd controller. 18*4882a593Smuzhiyun - max-pixelclock: The maximum pixel clock that can be supported 19*4882a593Smuzhiyun by the lcd controller in KHz. 20*4882a593Smuzhiyun - blue-and-red-wiring: Recognized values "straight" or "crossed". 21*4882a593Smuzhiyun This property deals with the LCDC revision 2 (found on AM335x) 22*4882a593Smuzhiyun color errata [1]. 23*4882a593Smuzhiyun - "straight" indicates normal wiring that supports RGB565, 24*4882a593Smuzhiyun BGR888, and XBGR8888 color formats. 25*4882a593Smuzhiyun - "crossed" indicates wiring that has blue and red wires 26*4882a593Smuzhiyun crossed. This setup supports BGR565, RGB888 and XRGB8888 27*4882a593Smuzhiyun formats. 28*4882a593Smuzhiyun - If the property is not present or its value is not recognized 29*4882a593Smuzhiyun the legacy mode is assumed. This configuration supports RGB565, 30*4882a593Smuzhiyun RGB888 and XRGB8888 formats. However, depending on wiring, the red 31*4882a593Smuzhiyun and blue colors are swapped in either 16 or 24-bit color modes. 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunOptional nodes: 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun - port/ports: to describe a connection to an external encoder. The 36*4882a593Smuzhiyun binding follows Documentation/devicetree/bindings/graph.txt and 37*4882a593Smuzhiyun supports a single port with a single endpoint. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and 40*4882a593Smuzhiyun Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml for connecting 41*4882a593Smuzhiyun tfp410 DVI encoder or lcd panel to lcdc 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun[1] There is an errata about AM335x color wiring. For 16-bit color mode 44*4882a593Smuzhiyun the wires work as they should (LCD_DATA[0:4] is for Blue[3:7]), 45*4882a593Smuzhiyun but for 24 bit color modes the wiring of blue and red components is 46*4882a593Smuzhiyun crossed and LCD_DATA[0:4] is for Red[3:7] and LCD_DATA[11:15] is 47*4882a593Smuzhiyun for Blue[3-7]. For more details see section 3.1.1 in AM335x 48*4882a593Smuzhiyun Silicon Errata: 49*4882a593Smuzhiyun https://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunExample: 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun fb: fb@4830e000 { 54*4882a593Smuzhiyun compatible = "ti,am33xx-tilcdc", "ti,da850-tilcdc"; 55*4882a593Smuzhiyun reg = <0x4830e000 0x1000>; 56*4882a593Smuzhiyun interrupt-parent = <&intc>; 57*4882a593Smuzhiyun interrupts = <36>; 58*4882a593Smuzhiyun ti,hwmods = "lcdc"; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun blue-and-red-wiring = "crossed"; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun port { 63*4882a593Smuzhiyun lcdc_0: endpoint@0 { 64*4882a593Smuzhiyun remote-endpoint = <&hdmi_0>; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun tda19988: tda19988 { 70*4882a593Smuzhiyun compatible = "nxp,tda998x"; 71*4882a593Smuzhiyun reg = <0x70>; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun pinctrl-names = "default", "off"; 74*4882a593Smuzhiyun pinctrl-0 = <&nxp_hdmi_bonelt_pins>; 75*4882a593Smuzhiyun pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun port { 78*4882a593Smuzhiyun hdmi_0: endpoint@0 { 79*4882a593Smuzhiyun remote-endpoint = <&lcdc_0>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun }; 83