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