brintos

brintos / linux-shallow public Read only

0
0
Text · 6.0 KiB · 5bbe818 Raw
238 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Analog Devices ADV7511/11W/13 HDMI Encoders8 9maintainers:10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>11 12description: |13  The ADV7511, ADV7511W and ADV7513 are HDMI audio and video14  transmitters compatible with HDMI 1.4 and DVI 1.0. They support color15  space conversion, S/PDIF, CEC and HDCP. The transmitter input is16  parallel RGB or YUV data.17 18properties:19  compatible:20    enum:21      - adi,adv751122      - adi,adv7511w23      - adi,adv751324 25  reg:26    description: |27      I2C slave addresses.28 29      The ADV7511/11W/13 internal registers are split into four pages30      exposed through different I2C addresses, creating four register31      maps. Each map has it own I2C address and acts as a standard slave32      device on the I2C bus. The main address is mandatory, others are33      optional and revert to defaults if not specified.34    minItems: 135    maxItems: 436 37  reg-names:38    description:39      Names of maps with programmable addresses. It can contain any map40      needing a non-default address.41    minItems: 142    items:43      - const: main44      - const: edid45      - const: cec46      - const: packet47 48  clocks:49    description: Reference to the CEC clock.50    maxItems: 151 52  clock-names:53    const: cec54 55  interrupts:56    maxItems: 157 58  pd-gpios:59    description: GPIO connected to the power down signal.60    maxItems: 161 62  avdd-supply:63    description: A 1.8V supply that powers up the AVDD pin.64 65  dvdd-supply:66    description: A 1.8V supply that powers up the DVDD pin.67 68  pvdd-supply:69    description: A 1.8V supply that powers up the PVDD pin.70 71  dvdd-3v-supply:72    description: A 3.3V supply that powers up the DVDD_3V pin.73 74  bgvdd-supply:75    description: A 1.8V supply that powers up the BGVDD pin.76 77  adi,input-depth:78    description: Number of bits per color component at the input.79    $ref: /schemas/types.yaml#/definitions/uint3280    enum: [ 8, 10, 12 ]81 82  adi,input-colorspace:83    description: Input color space.84    enum: [ rgb, yuv422, yuv444 ]85 86  adi,input-clock:87    description: |88      Input clock type.89        "1x": one clock cycle per pixel90        "2x": two clock cycles per pixel91        "dd": one clock cycle per pixel, data driven on both edges92    enum: [ 1x, 2x, dd ]93 94  adi,clock-delay:95    description:96      Video data clock delay relative to the pixel clock, in ps97      (-1200ps .. 1600 ps).98    $ref: /schemas/types.yaml#/definitions/uint3299    default: 0100 101  adi,embedded-sync:102    description:103      If defined, the input uses synchronization signals embedded in the104      data stream (similar to BT.656).105    type: boolean106 107  adi,input-style:108    description:109      Input components arrangement variant as listed in the input110      format tables in the datasheet.111    $ref: /schemas/types.yaml#/definitions/uint32112    enum: [ 1, 2, 3 ]113 114  adi,input-justification:115    description: Input bit justification.116    enum: [ left, evenly, right ]117 118  ports:119    description:120      The ADV7511(W)/13 has two video ports and one audio port.121    $ref: /schemas/graph.yaml#/properties/ports122 123    properties:124      port@0:125        description: Video port for the RGB or YUV input.126        $ref: /schemas/graph.yaml#/properties/port127 128      port@1:129        description: Video port for the HDMI output.130        $ref: /schemas/graph.yaml#/properties/port131 132      port@2:133        description: Audio port for the HDMI output.134        $ref: /schemas/graph.yaml#/properties/port135 136# adi,input-colorspace and adi,input-clock are required except in137# "rgb 1x" and "yuv444 1x" modes, in which case they must not be138# specified.139if:140  not:141    properties:142      adi,input-colorspace:143        contains:144          enum: [ rgb, yuv444 ]145      adi,input-clock:146        contains:147          const: 1x148 149then:150  required:151    - adi,input-style152    - adi,input-justification153 154else:155  properties:156    adi,input-style: false157    adi,input-justification: false158 159 160required:161  - compatible162  - reg163  - ports164  - adi,input-depth165  - adi,input-colorspace166  - adi,input-clock167  - avdd-supply168  - dvdd-supply169  - pvdd-supply170  - dvdd-3v-supply171  - bgvdd-supply172 173additionalProperties: false174 175examples:176  - |177    #include <dt-bindings/interrupt-controller/irq.h>178 179    i2c@e6500000 {180        #address-cells = <1>;181        #size-cells = <0>;182 183        reg = <0 0xe6500000>;184 185        adv7511w: hdmi@39 {186            compatible = "adi,adv7511w";187            /*188             * The EDID page will be accessible on address 0x66 on the I2C189             * bus. All other maps continue to use their default addresses.190             */191            reg = <0x39>, <0x66>;192            reg-names = "main", "edid";193            interrupt-parent = <&gpio3>;194            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;195            clocks = <&cec_clock>;196            clock-names = "cec";197            avdd-supply = <&v1v8>;198            dvdd-supply = <&v1v8>;199            pvdd-supply = <&v1v8>;200            dvdd-3v-supply = <&v3v3>;201            bgvdd-supply = <&v1v8>;202 203            adi,input-depth = <8>;204            adi,input-colorspace = "yuv422";205            adi,input-clock = "1x";206 207            adi,input-style = <3>;208            adi,input-justification = "right";209            ports {210                #address-cells = <1>;211                #size-cells = <0>;212 213                port@0 {214                    reg = <0>;215                    adv7511w_in: endpoint {216                        remote-endpoint = <&dpi_out>;217                    };218                };219 220                port@1 {221                    reg = <1>;222                    adv7511_out: endpoint {223                        remote-endpoint = <&hdmi_connector_in>;224                    };225                };226 227                port@2 {228                    reg = <2>;229                    codec_endpoint: endpoint {230                        remote-endpoint = <&i2s0_cpu_endpoint>;231                    };232                };233            };234        };235    };236 237...238