162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci# Copyright 2019 BayLibre, SAS
362306a36Sopenharmony_ci%YAML 1.2
462306a36Sopenharmony_ci---
562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/amlogic/amlogic,canvas.yaml#
662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cititle: Amlogic Canvas Video Lookup Table
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Neil Armstrong <neil.armstrong@linaro.org>
1262306a36Sopenharmony_ci  - Maxime Jourdan <mjourdan@baylibre.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription: |
1562306a36Sopenharmony_ci  A canvas is a collection of metadata that describes a pixel buffer.
1662306a36Sopenharmony_ci  Those metadata include: width, height, phyaddr, wrapping and block mode.
1762306a36Sopenharmony_ci  Starting with GXBB the endianness can also be described.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  Many IPs within Amlogic SoCs rely on canvas indexes to read/write pixel data
2062306a36Sopenharmony_ci  rather than use the phy addresses directly. For instance, this is the case for
2162306a36Sopenharmony_ci  the video decoders and the display.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  Amlogic SoCs have 256 canvas.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciproperties:
2662306a36Sopenharmony_ci  compatible:
2762306a36Sopenharmony_ci    oneOf:
2862306a36Sopenharmony_ci      - items:
2962306a36Sopenharmony_ci          - enum:
3062306a36Sopenharmony_ci              - amlogic,meson8-canvas
3162306a36Sopenharmony_ci              - amlogic,meson8b-canvas
3262306a36Sopenharmony_ci              - amlogic,meson8m2-canvas
3362306a36Sopenharmony_ci          - const: amlogic,canvas
3462306a36Sopenharmony_ci      - const: amlogic,canvas # GXBB and newer SoCs
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  reg:
3762306a36Sopenharmony_ci    maxItems: 1
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_cirequired:
4062306a36Sopenharmony_ci  - compatible
4162306a36Sopenharmony_ci  - reg
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciadditionalProperties: false
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciexamples:
4662306a36Sopenharmony_ci  - |
4762306a36Sopenharmony_ci    canvas: video-lut@48 {
4862306a36Sopenharmony_ci        compatible = "amlogic,canvas";
4962306a36Sopenharmony_ci        reg = <0x48 0x14>;
5062306a36Sopenharmony_ci    };
51