0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/mediatek/mediatek,aal.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Mediatek display adaptive ambient light processor
0008
0009 maintainers:
0010 - Chun-Kuang Hu <chunkuang.hu@kernel.org>
0011 - Philipp Zabel <p.zabel@pengutronix.de>
0012
0013 description: |
0014 Mediatek display adaptive ambient light processor, namely AAL,
0015 is responsible for backlight power saving and sunlight visibility improving.
0016 AAL device node must be siblings to the central MMSYS_CONFIG node.
0017 For a description of the MMSYS_CONFIG binding, see
0018 Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
0019 for details.
0020
0021 properties:
0022 compatible:
0023 oneOf:
0024 - enum:
0025 - mediatek,mt8173-disp-aal
0026 - mediatek,mt8183-disp-aal
0027 - items:
0028 - enum:
0029 - mediatek,mt2712-disp-aal
0030 - const: mediatek,mt8173-disp-aal
0031 - items:
0032 - enum:
0033 - mediatek,mt8186-disp-aal
0034 - mediatek,mt8192-disp-aal
0035 - mediatek,mt8195-disp-aal
0036 - const: mediatek,mt8183-disp-aal
0037
0038 reg:
0039 maxItems: 1
0040
0041 interrupts:
0042 maxItems: 1
0043
0044 power-domains:
0045 description: A phandle and PM domain specifier as defined by bindings of
0046 the power controller specified by phandle. See
0047 Documentation/devicetree/bindings/power/power-domain.yaml for details.
0048
0049 clocks:
0050 items:
0051 - description: AAL Clock
0052
0053 mediatek,gce-client-reg:
0054 description: The register of client driver can be configured by gce with
0055 4 arguments defined in this property, such as phandle of gce, subsys id,
0056 register offset and size. Each GCE subsys id is mapping to a client
0057 defined in the header include/dt-bindings/gce/<chip>-gce.h.
0058 $ref: /schemas/types.yaml#/definitions/phandle-array
0059 maxItems: 1
0060
0061 required:
0062 - compatible
0063 - reg
0064 - interrupts
0065 - power-domains
0066 - clocks
0067
0068 additionalProperties: false
0069
0070 examples:
0071 - |
0072 #include <dt-bindings/interrupt-controller/arm-gic.h>
0073 #include <dt-bindings/clock/mt8173-clk.h>
0074 #include <dt-bindings/power/mt8173-power.h>
0075 #include <dt-bindings/gce/mt8173-gce.h>
0076
0077 soc {
0078 #address-cells = <2>;
0079 #size-cells = <2>;
0080
0081 aal@14015000 {
0082 compatible = "mediatek,mt8173-disp-aal";
0083 reg = <0 0x14015000 0 0x1000>;
0084 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_LOW>;
0085 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
0086 clocks = <&mmsys CLK_MM_DISP_AAL>;
0087 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
0088 };
0089 };