Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/mediatek/mediatek,aal.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Mediatek display adaptive ambient light processor
8
9maintainers:
10 - Chun-Kuang Hu <chunkuang.hu@kernel.org>
11 - Philipp Zabel <p.zabel@pengutronix.de>
12
13description: |
14 Mediatek display adaptive ambient light processor, namely AAL,
15 is responsible for backlight power saving and sunlight visibility improving.
16 AAL device node must be siblings to the central MMSYS_CONFIG node.
17 For a description of the MMSYS_CONFIG binding, see
18 Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
19 for details.
20
21properties:
22 compatible:
23 oneOf:
24 - enum:
25 - mediatek,mt8173-disp-aal
26 - mediatek,mt8183-disp-aal
27 - mediatek,mt8195-mdp3-aal
28 - items:
29 - enum:
30 - mediatek,mt8188-mdp3-aal
31 - const: mediatek,mt8195-mdp3-aal
32 - items:
33 - enum:
34 - mediatek,mt2712-disp-aal
35 - mediatek,mt6795-disp-aal
36 - const: mediatek,mt8173-disp-aal
37 - items:
38 - enum:
39 - mediatek,mt8186-disp-aal
40 - mediatek,mt8188-disp-aal
41 - mediatek,mt8192-disp-aal
42 - mediatek,mt8195-disp-aal
43 - mediatek,mt8365-disp-aal
44 - const: mediatek,mt8183-disp-aal
45
46 reg:
47 maxItems: 1
48
49 interrupts:
50 maxItems: 1
51
52 power-domains:
53 description: A phandle and PM domain specifier as defined by bindings of
54 the power controller specified by phandle. See
55 Documentation/devicetree/bindings/power/power-domain.yaml for details.
56
57 clocks:
58 items:
59 - description: AAL Clock
60
61 mediatek,gce-client-reg:
62 description: The register of client driver can be configured by gce with
63 4 arguments defined in this property, such as phandle of gce, subsys id,
64 register offset and size. Each GCE subsys id is mapping to a client
65 defined in the header include/dt-bindings/gce/<chip>-gce.h.
66 $ref: /schemas/types.yaml#/definitions/phandle-array
67 maxItems: 1
68
69 ports:
70 $ref: /schemas/graph.yaml#/properties/ports
71 description:
72 Input and output ports can have multiple endpoints, each of those
73 connects to either the primary, secondary, etc, display pipeline.
74
75 properties:
76 port@0:
77 $ref: /schemas/graph.yaml#/properties/port
78 description: AAL input port
79
80 port@1:
81 $ref: /schemas/graph.yaml#/properties/port
82 description:
83 AAL output to the next component's input, for example could be one
84 of many gamma, overdrive or other blocks.
85
86 required:
87 - port@0
88 - port@1
89
90required:
91 - compatible
92 - reg
93 - interrupts
94 - power-domains
95 - clocks
96
97additionalProperties: false
98
99examples:
100 - |
101 #include <dt-bindings/interrupt-controller/arm-gic.h>
102 #include <dt-bindings/clock/mt8173-clk.h>
103 #include <dt-bindings/power/mt8173-power.h>
104 #include <dt-bindings/gce/mt8173-gce.h>
105
106 soc {
107 #address-cells = <2>;
108 #size-cells = <2>;
109
110 aal@14015000 {
111 compatible = "mediatek,mt8173-disp-aal";
112 reg = <0 0x14015000 0 0x1000>;
113 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_LOW>;
114 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
115 clocks = <&mmsys CLK_MM_DISP_AAL>;
116 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
117
118 ports {
119 #address-cells = <1>;
120 #size-cells = <0>;
121
122 port@0 {
123 reg = <0>;
124 endpoint {
125 remote-endpoint = <&ccorr0_out>;
126 };
127 };
128
129 port@1 {
130 reg = <1>;
131 endpoint {
132 remote-endpoint = <&gamma0_in>;
133 };
134 };
135 };
136 };
137 };