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