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
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-drc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A31 Dynamic Range Controller Device Tree Bindings
8
9maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13description: |
14 The DRC (Dynamic Range Controller) allows to dynamically adjust
15 pixel brightness/contrast based on histogram measurements for LCD
16 content adaptive backlight control.
17
18properties:
19 compatible:
20 enum:
21 - allwinner,sun6i-a31-drc
22 - allwinner,sun6i-a31s-drc
23 - allwinner,sun8i-a23-drc
24 - allwinner,sun8i-a33-drc
25 - allwinner,sun9i-a80-drc
26
27 reg:
28 maxItems: 1
29
30 interrupts:
31 maxItems: 1
32
33 clocks:
34 items:
35 - description: The DRC interface clock
36 - description: The DRC module clock
37 - description: The DRC DRAM clock
38
39 clock-names:
40 items:
41 - const: ahb
42 - const: mod
43 - const: ram
44
45 resets:
46 maxItems: 1
47
48 ports:
49 type: object
50 description: |
51 A ports node with endpoint definitions as defined in
52 Documentation/devicetree/bindings/media/video-interfaces.txt.
53
54 properties:
55 "#address-cells":
56 const: 1
57
58 "#size-cells":
59 const: 0
60
61 port@0:
62 type: object
63 description: |
64 Input endpoints of the controller.
65
66 port@1:
67 type: object
68 description: |
69 Output endpoints of the controller.
70
71 required:
72 - "#address-cells"
73 - "#size-cells"
74 - port@0
75 - port@1
76
77 additionalProperties: false
78
79required:
80 - compatible
81 - reg
82 - interrupts
83 - clocks
84 - clock-names
85 - resets
86 - ports
87
88additionalProperties: false
89
90examples:
91 - |
92 #include <dt-bindings/interrupt-controller/arm-gic.h>
93
94 #include <dt-bindings/clock/sun6i-a31-ccu.h>
95 #include <dt-bindings/reset/sun6i-a31-ccu.h>
96
97 drc0: drc@1e70000 {
98 compatible = "allwinner,sun6i-a31-drc";
99 reg = <0x01e70000 0x10000>;
100 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&ccu CLK_AHB1_DRC0>, <&ccu CLK_IEP_DRC0>,
102 <&ccu CLK_DRAM_DRC0>;
103 clock-names = "ahb", "mod",
104 "ram";
105 resets = <&ccu RST_AHB1_DRC0>;
106
107 ports {
108 #address-cells = <1>;
109 #size-cells = <0>;
110
111 drc0_in: port@0 {
112 reg = <0>;
113
114 drc0_in_be0: endpoint {
115 remote-endpoint = <&be0_out_drc0>;
116 };
117 };
118
119 drc0_out: port@1 {
120 #address-cells = <1>;
121 #size-cells = <0>;
122 reg = <1>;
123
124 drc0_out_tcon0: endpoint@0 {
125 reg = <0>;
126 remote-endpoint = <&tcon0_in_drc0>;
127 };
128
129 drc0_out_tcon1: endpoint@1 {
130 reg = <1>;
131 remote-endpoint = <&tcon1_in_drc0>;
132 };
133 };
134 };
135 };
136
137
138...