| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| # Copyright 2025 Bootlin |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/display/tilcdc/ti,am33xx-tilcdc.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: TI LCD Controller, found on AM335x, DA850, AM18x and OMAP-L138 |
| |
| maintainers: |
| - Kory Maincent <kory.maincent@bootlin.com> |
| |
| properties: |
| compatible: |
| enum: |
| - ti,am33xx-tilcdc |
| - ti,da850-tilcdc |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| port: |
| $ref: /schemas/graph.yaml#/properties/port |
| |
| ti,hwmods: |
| $ref: /schemas/types.yaml#/definitions/string |
| description: |
| Name of the hwmod associated to the LCDC |
| |
| max-bandwidth: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| The maximum pixels per second that the memory interface / lcd |
| controller combination can sustain |
| # maximum: 2048*2048*60 |
| maximum: 251658240 |
| |
| max-width: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| The maximum horizontal pixel width supported by the lcd controller. |
| maximum: 2048 |
| |
| max-pixelclock: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| The maximum pixel clock that can be supported by the lcd controller |
| in KHz. |
| |
| blue-and-red-wiring: |
| enum: [straight, crossed] |
| description: |
| This property deals with the LCDC revision 2 (found on AM335x) |
| color errata [1]. |
| - "straight" indicates normal wiring that supports RGB565, |
| BGR888, and XBGR8888 color formats. |
| - "crossed" indicates wiring that has blue and red wires |
| crossed. This setup supports BGR565, RGB888 and XRGB8888 |
| formats. |
| - If the property is not present or its value is not recognized |
| the legacy mode is assumed. This configuration supports RGB565, |
| RGB888 and XRGB8888 formats. However, depending on wiring, the red |
| and blue colors are swapped in either 16 or 24-bit color modes. |
| |
| [1] There is an errata about AM335x color wiring. For 16-bit color |
| mode the wires work as they should (LCD_DATA[0:4] is for Blue[3:7]), |
| but for 24 bit color modes the wiring of blue and red components is |
| crossed and LCD_DATA[0:4] is for Red[3:7] and LCD_DATA[11:15] is |
| for Blue[3-7]. For more details see section 3.1.1 in AM335x |
| Silicon Errata |
| https://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360 |
| |
| required: |
| - compatible |
| - interrupts |
| - reg |
| - port |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| display-controller@4830e000 { |
| compatible = "ti,am33xx-tilcdc"; |
| reg = <0x4830e000 0x1000>; |
| interrupt-parent = <&intc>; |
| interrupts = <36>; |
| ti,hwmods = "lcdc"; |
| |
| blue-and-red-wiring = "crossed"; |
| |
| port { |
| endpoint { |
| remote-endpoint = <&hdmi_0>; |
| }; |
| }; |
| }; |