cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adi,adv7511.yaml (6159B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2%YAML 1.2
      3---
      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 Encoders
      8
      9maintainers:
     10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
     11
     12description: |
     13  The ADV7511, ADV7511W and ADV7513 are HDMI audio and video
     14  transmitters compatible with HDMI 1.4 and DVI 1.0. They support color
     15  space conversion, S/PDIF, CEC and HDCP. The transmitter input is
     16  parallel RGB or YUV data.
     17
     18properties:
     19  compatible:
     20    enum:
     21      - adi,adv7511
     22      - adi,adv7511w
     23      - adi,adv7513
     24
     25  reg:
     26    description: |
     27      I2C slave addresses.
     28
     29      The ADV7511/11W/13 internal registers are split into four pages
     30      exposed through different I2C addresses, creating four register
     31      maps. Each map has it own I2C address and acts as a standard slave
     32      device on the I2C bus. The main address is mandatory, others are
     33      optional and revert to defaults if not specified.
     34    minItems: 1
     35    maxItems: 4
     36
     37  reg-names:
     38    description:
     39      Names of maps with programmable addresses. It can contain any map
     40      needing a non-default address.
     41    minItems: 1
     42    items:
     43      - const: main
     44      - const: edid
     45      - const: cec
     46      - const: packet
     47
     48  clocks:
     49    description: Reference to the CEC clock.
     50    maxItems: 1
     51
     52  clock-names:
     53    const: cec
     54
     55  interrupts:
     56    maxItems: 1
     57
     58  pd-gpios:
     59    description: GPIO connected to the power down signal.
     60    maxItems: 1
     61
     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/uint32
     80    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 pixel
     90        "2x": two clock cycles per pixel
     91        "dd": one clock cycle per pixel, data driven on both edges
     92    enum: [ 1x, 2x, dd ]
     93
     94  adi,clock-delay:
     95    description:
     96      Video data clock delay relative to the pixel clock, in ps
     97      (-1200ps .. 1600 ps).
     98    $ref: /schemas/types.yaml#/definitions/uint32
     99    default: 0
    100
    101  adi,embedded-sync:
    102    description:
    103      If defined, the input uses synchronization signals embedded in the
    104      data stream (similar to BT.656).
    105    type: boolean
    106
    107  adi,input-style:
    108    description:
    109      Input components arrangement variant as listed in the input
    110      format tables in the datasheet.
    111    $ref: /schemas/types.yaml#/definitions/uint32
    112    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. This node
    121      models their connections as documented in
    122      Documentation/devicetree/bindings/media/video-interfaces.txt
    123      Documentation/devicetree/bindings/graph.txt
    124    type: object
    125    properties:
    126      port@0:
    127        description: Video port for the RGB or YUV input.
    128        type: object
    129
    130      port@1:
    131        description: Video port for the HDMI output.
    132        type: object
    133
    134      port@2:
    135        description: Audio port for the HDMI output.
    136        type: object
    137
    138# adi,input-colorspace and adi,input-clock are required except in
    139# "rgb 1x" and "yuv444 1x" modes, in which case they must not be
    140# specified.
    141if:
    142  not:
    143    properties:
    144      adi,input-colorspace:
    145        contains:
    146          enum: [ rgb, yuv444 ]
    147      adi,input-clock:
    148        contains:
    149          const: 1x
    150
    151then:
    152  required:
    153    - adi,input-style
    154    - adi,input-justification
    155
    156else:
    157  properties:
    158    adi,input-style: false
    159    adi,input-justification: false
    160
    161
    162required:
    163  - compatible
    164  - reg
    165  - ports
    166  - adi,input-depth
    167  - adi,input-colorspace
    168  - adi,input-clock
    169  - avdd-supply
    170  - dvdd-supply
    171  - pvdd-supply
    172  - dvdd-3v-supply
    173  - bgvdd-supply
    174
    175additionalProperties: false
    176
    177examples:
    178  - |
    179    #include <dt-bindings/interrupt-controller/irq.h>
    180
    181    i2c@e6500000 {
    182        #address-cells = <1>;
    183        #size-cells = <0>;
    184
    185        reg = <0 0xe6500000>;
    186
    187        adv7511w: hdmi@39 {
    188            compatible = "adi,adv7511w";
    189            /*
    190             * The EDID page will be accessible on address 0x66 on the I2C
    191             * bus. All other maps continue to use their default addresses.
    192             */
    193            reg = <0x39>, <0x66>;
    194            reg-names = "main", "edid";
    195            interrupt-parent = <&gpio3>;
    196            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
    197            clocks = <&cec_clock>;
    198            clock-names = "cec";
    199            avdd-supply = <&v1v8>;
    200            dvdd-supply = <&v1v8>;
    201            pvdd-supply = <&v1v8>;
    202            dvdd-3v-supply = <&v3v3>;
    203            bgvdd-supply = <&v1v8>;
    204
    205            adi,input-depth = <8>;
    206            adi,input-colorspace = "yuv422";
    207            adi,input-clock = "1x";
    208
    209            adi,input-style = <3>;
    210            adi,input-justification = "right";
    211            ports {
    212                #address-cells = <1>;
    213                #size-cells = <0>;
    214
    215                port@0 {
    216                    reg = <0>;
    217                    adv7511w_in: endpoint {
    218                        remote-endpoint = <&dpi_out>;
    219                    };
    220                };
    221
    222                port@1 {
    223                    reg = <1>;
    224                    adv7511_out: endpoint {
    225                        remote-endpoint = <&hdmi_connector_in>;
    226                    };
    227                };
    228
    229                port@2 {
    230                    reg = <2>;
    231                    codec_endpoint: endpoint {
    232                        remote-endpoint = <&i2s0_cpu_endpoint>;
    233                    };
    234                };
    235            };
    236        };
    237    };
    238
    239...