xref: /freebsd/sys/contrib/device-tree/Bindings/display/tilcdc/tilcdc.txt (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
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