Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-drc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Allwinner A31 Dynamic Range Controller Device Tree Bindings
0008 
0009 maintainers:
0010   - Chen-Yu Tsai <wens@csie.org>
0011   - Maxime Ripard <mripard@kernel.org>
0012 
0013 description: |
0014   The DRC (Dynamic Range Controller) allows to dynamically adjust
0015   pixel brightness/contrast based on histogram measurements for LCD
0016   content adaptive backlight control.
0017 
0018 properties:
0019   compatible:
0020     enum:
0021       - allwinner,sun6i-a31-drc
0022       - allwinner,sun6i-a31s-drc
0023       - allwinner,sun8i-a23-drc
0024       - allwinner,sun8i-a33-drc
0025       - allwinner,sun9i-a80-drc
0026 
0027   reg:
0028     maxItems: 1
0029 
0030   interrupts:
0031     maxItems: 1
0032 
0033   clocks:
0034     items:
0035       - description: The DRC interface clock
0036       - description: The DRC module clock
0037       - description: The DRC DRAM clock
0038 
0039   clock-names:
0040     items:
0041       - const: ahb
0042       - const: mod
0043       - const: ram
0044 
0045   resets:
0046     maxItems: 1
0047 
0048   ports:
0049     $ref: /schemas/graph.yaml#/properties/ports
0050 
0051     properties:
0052       port@0:
0053         $ref: /schemas/graph.yaml#/properties/port
0054         description: |
0055           Input endpoints of the controller.
0056 
0057       port@1:
0058         $ref: /schemas/graph.yaml#/properties/port
0059         description: |
0060           Output endpoints of the controller.
0061 
0062     required:
0063       - port@0
0064       - port@1
0065 
0066 required:
0067   - compatible
0068   - reg
0069   - interrupts
0070   - clocks
0071   - clock-names
0072   - resets
0073   - ports
0074 
0075 additionalProperties: false
0076 
0077 examples:
0078   - |
0079     #include <dt-bindings/interrupt-controller/arm-gic.h>
0080 
0081     #include <dt-bindings/clock/sun6i-a31-ccu.h>
0082     #include <dt-bindings/reset/sun6i-a31-ccu.h>
0083 
0084     drc0: drc@1e70000 {
0085         compatible = "allwinner,sun6i-a31-drc";
0086         reg = <0x01e70000 0x10000>;
0087         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
0088         clocks = <&ccu CLK_AHB1_DRC0>, <&ccu CLK_IEP_DRC0>,
0089                  <&ccu CLK_DRAM_DRC0>;
0090         clock-names = "ahb", "mod",
0091                       "ram";
0092         resets = <&ccu RST_AHB1_DRC0>;
0093 
0094         ports {
0095             #address-cells = <1>;
0096             #size-cells = <0>;
0097 
0098             drc0_in: port@0 {
0099                 reg = <0>;
0100 
0101                 drc0_in_be0: endpoint {
0102                     remote-endpoint = <&be0_out_drc0>;
0103                 };
0104             };
0105 
0106             drc0_out: port@1 {
0107                 #address-cells = <1>;
0108                 #size-cells = <0>;
0109                 reg = <1>;
0110 
0111                 drc0_out_tcon0: endpoint@0 {
0112                     reg = <0>;
0113                     remote-endpoint = <&tcon0_in_drc0>;
0114                 };
0115 
0116                 drc0_out_tcon1: endpoint@1 {
0117                     reg = <1>;
0118                     remote-endpoint = <&tcon1_in_drc0>;
0119                 };
0120             };
0121         };
0122     };
0123 
0124 
0125 ...