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