xref: /linux/Documentation/devicetree/bindings/display/atmel,lcdc-display.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
157b7d5d3SDharma Balasubiramani# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
257b7d5d3SDharma Balasubiramani%YAML 1.2
357b7d5d3SDharma Balasubiramani---
457b7d5d3SDharma Balasubiramani$id: http://devicetree.org/schemas/display/atmel,lcdc-display.yaml#
557b7d5d3SDharma Balasubiramani$schema: http://devicetree.org/meta-schemas/core.yaml#
657b7d5d3SDharma Balasubiramani
757b7d5d3SDharma Balasubiramanititle: Microchip's LCDC Display
857b7d5d3SDharma Balasubiramani
957b7d5d3SDharma Balasubiramanimaintainers:
1057b7d5d3SDharma Balasubiramani  - Nicolas Ferre <nicolas.ferre@microchip.com>
1157b7d5d3SDharma Balasubiramani  - Dharma Balasubiramani <dharma.b@microchip.com>
1257b7d5d3SDharma Balasubiramani
1357b7d5d3SDharma Balasubiramanidescription:
1457b7d5d3SDharma Balasubiramani  The LCD Controller (LCDC) consists of logic for transferring LCD image data
1557b7d5d3SDharma Balasubiramani  from an external display buffer to a TFT LCD panel. The LCDC has one display
1657b7d5d3SDharma Balasubiramani  input buffer per layer that fetches pixels through the single bus host
1757b7d5d3SDharma Balasubiramani  interface and a look-up table to allow palletized display configurations. The
1857b7d5d3SDharma Balasubiramani  LCDC is programmable on a per layer basis, and supports different LCD
1957b7d5d3SDharma Balasubiramani  resolutions, window sizes, image formats and pixel depths.
2057b7d5d3SDharma Balasubiramani
2157b7d5d3SDharma Balasubiramani# We need a select here since this schema is applicable only for nodes with the
2257b7d5d3SDharma Balasubiramani# following properties
2357b7d5d3SDharma Balasubiramani
2457b7d5d3SDharma Balasubiramaniselect:
2557b7d5d3SDharma Balasubiramani  anyOf:
2657b7d5d3SDharma Balasubiramani    - required: [ 'atmel,dmacon' ]
2757b7d5d3SDharma Balasubiramani    - required: [ 'atmel,lcdcon2' ]
2857b7d5d3SDharma Balasubiramani    - required: [ 'atmel,guard-time' ]
2957b7d5d3SDharma Balasubiramani
3057b7d5d3SDharma Balasubiramaniproperties:
3157b7d5d3SDharma Balasubiramani  atmel,dmacon:
3257b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/uint32
3357b7d5d3SDharma Balasubiramani    description: dma controller configuration
3457b7d5d3SDharma Balasubiramani
3557b7d5d3SDharma Balasubiramani  atmel,lcdcon2:
3657b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/uint32
3757b7d5d3SDharma Balasubiramani    description: lcd controller configuration
3857b7d5d3SDharma Balasubiramani
3957b7d5d3SDharma Balasubiramani  atmel,guard-time:
4057b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/uint32
4157b7d5d3SDharma Balasubiramani    description: lcd guard time (Delay in frame periods)
4257b7d5d3SDharma Balasubiramani    maximum: 127
4357b7d5d3SDharma Balasubiramani
4457b7d5d3SDharma Balasubiramani  bits-per-pixel:
4557b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/uint32
4657b7d5d3SDharma Balasubiramani    description: lcd panel bit-depth.
4757b7d5d3SDharma Balasubiramani    enum: [1, 2, 4, 8, 16, 24, 32]
4857b7d5d3SDharma Balasubiramani
4957b7d5d3SDharma Balasubiramani  atmel,lcdcon-backlight:
5057b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/flag
5157b7d5d3SDharma Balasubiramani    description: enable backlight
5257b7d5d3SDharma Balasubiramani
5357b7d5d3SDharma Balasubiramani  atmel,lcdcon-backlight-inverted:
5457b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/flag
5557b7d5d3SDharma Balasubiramani    description: invert backlight PWM polarity
5657b7d5d3SDharma Balasubiramani
5757b7d5d3SDharma Balasubiramani  atmel,lcd-wiring-mode:
5857b7d5d3SDharma Balasubiramani    $ref: /schemas/types.yaml#/definitions/string
5957b7d5d3SDharma Balasubiramani    description: lcd wiring mode "RGB" or "BRG"
6057b7d5d3SDharma Balasubiramani    enum:
6157b7d5d3SDharma Balasubiramani      - RGB
6257b7d5d3SDharma Balasubiramani      - BRG
6357b7d5d3SDharma Balasubiramani
6457b7d5d3SDharma Balasubiramani  atmel,power-control-gpio:
6557b7d5d3SDharma Balasubiramani    description: gpio to power on or off the LCD (as many as needed)
6657b7d5d3SDharma Balasubiramani    maxItems: 1
6757b7d5d3SDharma Balasubiramani
6857b7d5d3SDharma Balasubiramani  display-timings:
6957b7d5d3SDharma Balasubiramani    $ref: panel/display-timings.yaml#
7057b7d5d3SDharma Balasubiramani
7157b7d5d3SDharma Balasubiramanirequired:
7257b7d5d3SDharma Balasubiramani  - atmel,dmacon
7357b7d5d3SDharma Balasubiramani  - atmel,lcdcon2
7457b7d5d3SDharma Balasubiramani  - atmel,guard-time
7557b7d5d3SDharma Balasubiramani  - bits-per-pixel
7657b7d5d3SDharma Balasubiramani
7757b7d5d3SDharma BalasubiramaniadditionalProperties: false
7857b7d5d3SDharma Balasubiramani
7957b7d5d3SDharma Balasubiramaniexamples:
8057b7d5d3SDharma Balasubiramani  - |
8157b7d5d3SDharma Balasubiramani    display: panel {
8257b7d5d3SDharma Balasubiramani      bits-per-pixel = <32>;
8357b7d5d3SDharma Balasubiramani      atmel,lcdcon-backlight;
8457b7d5d3SDharma Balasubiramani      atmel,dmacon = <0x1>;
8557b7d5d3SDharma Balasubiramani      atmel,lcdcon2 = <0x80008002>;
8657b7d5d3SDharma Balasubiramani      atmel,guard-time = <9>;
8757b7d5d3SDharma Balasubiramani      atmel,lcd-wiring-mode = "RGB";
8857b7d5d3SDharma Balasubiramani
8957b7d5d3SDharma Balasubiramani      display-timings {
9057b7d5d3SDharma Balasubiramani        native-mode = <&timing0>;
9157b7d5d3SDharma Balasubiramani        timing0: timing0 {
9257b7d5d3SDharma Balasubiramani          clock-frequency = <9000000>;
9357b7d5d3SDharma Balasubiramani          hactive = <480>;
9457b7d5d3SDharma Balasubiramani          vactive = <272>;
9557b7d5d3SDharma Balasubiramani          hback-porch = <1>;
9657b7d5d3SDharma Balasubiramani          hfront-porch = <1>;
9757b7d5d3SDharma Balasubiramani          vback-porch = <40>;
9857b7d5d3SDharma Balasubiramani          vfront-porch = <1>;
9957b7d5d3SDharma Balasubiramani          hsync-len = <45>;
10057b7d5d3SDharma Balasubiramani          vsync-len = <1>;
10157b7d5d3SDharma Balasubiramani        };
10257b7d5d3SDharma Balasubiramani      };
10357b7d5d3SDharma Balasubiramani    };
104