2020-01-03 23:27:58 +08: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#
|
|
|
|
|
|
|
|
title: Allwinner A31 Dynamic Range Controller Device Tree Bindings
|
|
|
|
|
|
|
|
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-05 02:07:23 +08:00
|
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
2020-01-03 23:27:58 +08:00
|
|
|
|
|
|
|
properties:
|
|
|
|
port@0:
|
2021-01-05 02:07:23 +08:00
|
|
|
$ref: /schemas/graph.yaml#/properties/port
|
2020-01-03 23:27:58 +08:00
|
|
|
description: |
|
|
|
|
Input endpoints of the controller.
|
|
|
|
|
|
|
|
port@1:
|
2021-01-05 02:07:23 +08:00
|
|
|
$ref: /schemas/graph.yaml#/properties/port
|
2020-01-03 23:27:58 +08: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>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
...
|