2020-01-03 16:27:58 +01:00
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id : http://devicetree.org/schemas/display/allwinner,sun6i-a31-drc.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
2022-08-25 04:04:27 +02:00
title : Allwinner A31 Dynamic Range Controller
2020-01-03 16:27:58 +01:00
maintainers :
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <mripard@kernel.org>
description : |
The DRC (Dynamic Range Controller) allows to dynamically adjust
pixel brightness/contrast based on histogram measurements for LCD
content adaptive backlight control.
properties :
compatible :
enum :
- allwinner,sun6i-a31-drc
- allwinner,sun6i-a31s-drc
- allwinner,sun8i-a23-drc
- allwinner,sun8i-a33-drc
- allwinner,sun9i-a80-drc
reg :
maxItems : 1
interrupts :
maxItems : 1
clocks :
items :
- description : The DRC interface clock
- description : The DRC module clock
- description : The DRC DRAM clock
clock-names :
items :
- const : ahb
- const : mod
- const : ram
resets :
maxItems : 1
ports :
2021-01-04 11:07:23 -07:00
$ref : /schemas/graph.yaml#/properties/ports
2020-01-03 16:27:58 +01:00
properties :
port@0 :
2021-01-04 11:07:23 -07:00
$ref : /schemas/graph.yaml#/properties/port
2020-01-03 16:27:58 +01:00
description : |
Input endpoints of the controller.
port@1 :
2021-01-04 11:07:23 -07:00
$ref : /schemas/graph.yaml#/properties/port
2020-01-03 16:27:58 +01:00
description : |
Output endpoints of the controller.
required :
- port@0
- port@1
required :
- compatible
- reg
- interrupts
- clocks
- clock-names
- resets
- ports
additionalProperties : false
examples :
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/sun6i-a31-ccu.h>
#include <dt-bindings/reset/sun6i-a31-ccu.h>
drc0 : drc@1e70000 {
compatible = "allwinner,sun6i-a31-drc";
reg = <0x01e70000 0x10000>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB1_DRC0>, <&ccu CLK_IEP_DRC0>,
<&ccu CLK_DRAM_DRC0>;
clock-names = "ahb", "mod",
"ram" ;
resets = <&ccu RST_AHB1_DRC0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
drc0_in : port@0 {
reg = <0>;
drc0_in_be0 : endpoint {
remote-endpoint = <&be0_out_drc0>;
};
};
drc0_out : port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
drc0_out_tcon0 : endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_in_drc0>;
};
drc0_out_tcon1 : endpoint@1 {
reg = <1>;
remote-endpoint = <&tcon1_in_drc0>;
};
};
};
};
...