xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/adi,adv7511.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: Analog Devices ADV7511/11W/13 HDMI Encoders
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotdescription: |
135956d97fSEmmanuel Vadot  The ADV7511, ADV7511W and ADV7513 are HDMI audio and video
145956d97fSEmmanuel Vadot  transmitters compatible with HDMI 1.4 and DVI 1.0. They support color
155956d97fSEmmanuel Vadot  space conversion, S/PDIF, CEC and HDCP. The transmitter input is
165956d97fSEmmanuel Vadot  parallel RGB or YUV data.
175956d97fSEmmanuel Vadot
185956d97fSEmmanuel Vadotproperties:
195956d97fSEmmanuel Vadot  compatible:
205956d97fSEmmanuel Vadot    enum:
215956d97fSEmmanuel Vadot      - adi,adv7511
225956d97fSEmmanuel Vadot      - adi,adv7511w
235956d97fSEmmanuel Vadot      - adi,adv7513
245956d97fSEmmanuel Vadot
255956d97fSEmmanuel Vadot  reg:
265956d97fSEmmanuel Vadot    description: |
275956d97fSEmmanuel Vadot      I2C slave addresses.
285956d97fSEmmanuel Vadot
295956d97fSEmmanuel Vadot      The ADV7511/11W/13 internal registers are split into four pages
305956d97fSEmmanuel Vadot      exposed through different I2C addresses, creating four register
315956d97fSEmmanuel Vadot      maps. Each map has it own I2C address and acts as a standard slave
325956d97fSEmmanuel Vadot      device on the I2C bus. The main address is mandatory, others are
335956d97fSEmmanuel Vadot      optional and revert to defaults if not specified.
345956d97fSEmmanuel Vadot    minItems: 1
355956d97fSEmmanuel Vadot    maxItems: 4
365956d97fSEmmanuel Vadot
375956d97fSEmmanuel Vadot  reg-names:
385956d97fSEmmanuel Vadot    description:
395956d97fSEmmanuel Vadot      Names of maps with programmable addresses. It can contain any map
405956d97fSEmmanuel Vadot      needing a non-default address.
415956d97fSEmmanuel Vadot    minItems: 1
425956d97fSEmmanuel Vadot    items:
435956d97fSEmmanuel Vadot      - const: main
445956d97fSEmmanuel Vadot      - const: edid
455956d97fSEmmanuel Vadot      - const: cec
465956d97fSEmmanuel Vadot      - const: packet
475956d97fSEmmanuel Vadot
485956d97fSEmmanuel Vadot  clocks:
495956d97fSEmmanuel Vadot    description: Reference to the CEC clock.
505956d97fSEmmanuel Vadot    maxItems: 1
515956d97fSEmmanuel Vadot
525956d97fSEmmanuel Vadot  clock-names:
535956d97fSEmmanuel Vadot    const: cec
545956d97fSEmmanuel Vadot
555956d97fSEmmanuel Vadot  interrupts:
565956d97fSEmmanuel Vadot    maxItems: 1
575956d97fSEmmanuel Vadot
585956d97fSEmmanuel Vadot  pd-gpios:
595956d97fSEmmanuel Vadot    description: GPIO connected to the power down signal.
605956d97fSEmmanuel Vadot    maxItems: 1
615956d97fSEmmanuel Vadot
625956d97fSEmmanuel Vadot  avdd-supply:
635956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the AVDD pin.
645956d97fSEmmanuel Vadot
655956d97fSEmmanuel Vadot  dvdd-supply:
665956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the DVDD pin.
675956d97fSEmmanuel Vadot
685956d97fSEmmanuel Vadot  pvdd-supply:
695956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the PVDD pin.
705956d97fSEmmanuel Vadot
715956d97fSEmmanuel Vadot  dvdd-3v-supply:
725956d97fSEmmanuel Vadot    description: A 3.3V supply that powers up the DVDD_3V pin.
735956d97fSEmmanuel Vadot
745956d97fSEmmanuel Vadot  bgvdd-supply:
755956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the BGVDD pin.
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadot  adi,input-depth:
785956d97fSEmmanuel Vadot    description: Number of bits per color component at the input.
79c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
80c9ccf3a3SEmmanuel Vadot    enum: [ 8, 10, 12 ]
815956d97fSEmmanuel Vadot
825956d97fSEmmanuel Vadot  adi,input-colorspace:
835956d97fSEmmanuel Vadot    description: Input color space.
845956d97fSEmmanuel Vadot    enum: [ rgb, yuv422, yuv444 ]
855956d97fSEmmanuel Vadot
865956d97fSEmmanuel Vadot  adi,input-clock:
875956d97fSEmmanuel Vadot    description: |
885956d97fSEmmanuel Vadot      Input clock type.
895956d97fSEmmanuel Vadot        "1x": one clock cycle per pixel
905956d97fSEmmanuel Vadot        "2x": two clock cycles per pixel
915956d97fSEmmanuel Vadot        "dd": one clock cycle per pixel, data driven on both edges
925956d97fSEmmanuel Vadot    enum: [ 1x, 2x, dd ]
935956d97fSEmmanuel Vadot
945956d97fSEmmanuel Vadot  adi,clock-delay:
955956d97fSEmmanuel Vadot    description:
965956d97fSEmmanuel Vadot      Video data clock delay relative to the pixel clock, in ps
975956d97fSEmmanuel Vadot      (-1200ps .. 1600 ps).
985956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
995956d97fSEmmanuel Vadot    default: 0
1005956d97fSEmmanuel Vadot
1015956d97fSEmmanuel Vadot  adi,embedded-sync:
1025956d97fSEmmanuel Vadot    description:
1035956d97fSEmmanuel Vadot      If defined, the input uses synchronization signals embedded in the
1045956d97fSEmmanuel Vadot      data stream (similar to BT.656).
1055956d97fSEmmanuel Vadot    type: boolean
1065956d97fSEmmanuel Vadot
1075956d97fSEmmanuel Vadot  adi,input-style:
1085956d97fSEmmanuel Vadot    description:
1095956d97fSEmmanuel Vadot      Input components arrangement variant as listed in the input
1105956d97fSEmmanuel Vadot      format tables in the datasheet.
1115956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
1125956d97fSEmmanuel Vadot    enum: [ 1, 2, 3 ]
1135956d97fSEmmanuel Vadot
1145956d97fSEmmanuel Vadot  adi,input-justification:
1155956d97fSEmmanuel Vadot    description: Input bit justification.
1165956d97fSEmmanuel Vadot    enum: [ left, evenly, right ]
1175956d97fSEmmanuel Vadot
1185956d97fSEmmanuel Vadot  ports:
1195956d97fSEmmanuel Vadot    description:
120*7ef62cebSEmmanuel Vadot      The ADV7511(W)/13 has two video ports and one audio port.
121*7ef62cebSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
122*7ef62cebSEmmanuel Vadot
1235956d97fSEmmanuel Vadot    properties:
1245956d97fSEmmanuel Vadot      port@0:
1255956d97fSEmmanuel Vadot        description: Video port for the RGB or YUV input.
126*7ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1275956d97fSEmmanuel Vadot
1285956d97fSEmmanuel Vadot      port@1:
1295956d97fSEmmanuel Vadot        description: Video port for the HDMI output.
130*7ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1315956d97fSEmmanuel Vadot
1325956d97fSEmmanuel Vadot      port@2:
1335956d97fSEmmanuel Vadot        description: Audio port for the HDMI output.
134*7ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1355956d97fSEmmanuel Vadot
1365956d97fSEmmanuel Vadot# adi,input-colorspace and adi,input-clock are required except in
1375956d97fSEmmanuel Vadot# "rgb 1x" and "yuv444 1x" modes, in which case they must not be
1385956d97fSEmmanuel Vadot# specified.
1395956d97fSEmmanuel Vadotif:
1405956d97fSEmmanuel Vadot  not:
1415956d97fSEmmanuel Vadot    properties:
1425956d97fSEmmanuel Vadot      adi,input-colorspace:
1435956d97fSEmmanuel Vadot        contains:
1445956d97fSEmmanuel Vadot          enum: [ rgb, yuv444 ]
1455956d97fSEmmanuel Vadot      adi,input-clock:
1465956d97fSEmmanuel Vadot        contains:
1475956d97fSEmmanuel Vadot          const: 1x
1485956d97fSEmmanuel Vadot
1495956d97fSEmmanuel Vadotthen:
1505956d97fSEmmanuel Vadot  required:
1515956d97fSEmmanuel Vadot    - adi,input-style
1525956d97fSEmmanuel Vadot    - adi,input-justification
1535956d97fSEmmanuel Vadot
1545956d97fSEmmanuel Vadotelse:
1555956d97fSEmmanuel Vadot  properties:
1565956d97fSEmmanuel Vadot    adi,input-style: false
1575956d97fSEmmanuel Vadot    adi,input-justification: false
1585956d97fSEmmanuel Vadot
1595956d97fSEmmanuel Vadot
1605956d97fSEmmanuel Vadotrequired:
1615956d97fSEmmanuel Vadot  - compatible
1625956d97fSEmmanuel Vadot  - reg
1635956d97fSEmmanuel Vadot  - ports
1645956d97fSEmmanuel Vadot  - adi,input-depth
1655956d97fSEmmanuel Vadot  - adi,input-colorspace
1665956d97fSEmmanuel Vadot  - adi,input-clock
1675956d97fSEmmanuel Vadot  - avdd-supply
1685956d97fSEmmanuel Vadot  - dvdd-supply
1695956d97fSEmmanuel Vadot  - pvdd-supply
1705956d97fSEmmanuel Vadot  - dvdd-3v-supply
1715956d97fSEmmanuel Vadot  - bgvdd-supply
1725956d97fSEmmanuel Vadot
1735956d97fSEmmanuel VadotadditionalProperties: false
1745956d97fSEmmanuel Vadot
1755956d97fSEmmanuel Vadotexamples:
1765956d97fSEmmanuel Vadot  - |
1775956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1785956d97fSEmmanuel Vadot
1795956d97fSEmmanuel Vadot    i2c@e6500000 {
1805956d97fSEmmanuel Vadot        #address-cells = <1>;
1815956d97fSEmmanuel Vadot        #size-cells = <0>;
1825956d97fSEmmanuel Vadot
1835956d97fSEmmanuel Vadot        reg = <0 0xe6500000>;
1845956d97fSEmmanuel Vadot
1855956d97fSEmmanuel Vadot        adv7511w: hdmi@39 {
1865956d97fSEmmanuel Vadot            compatible = "adi,adv7511w";
1875956d97fSEmmanuel Vadot            /*
1885956d97fSEmmanuel Vadot             * The EDID page will be accessible on address 0x66 on the I2C
1895956d97fSEmmanuel Vadot             * bus. All other maps continue to use their default addresses.
1905956d97fSEmmanuel Vadot             */
1915956d97fSEmmanuel Vadot            reg = <0x39>, <0x66>;
1925956d97fSEmmanuel Vadot            reg-names = "main", "edid";
1935956d97fSEmmanuel Vadot            interrupt-parent = <&gpio3>;
1945956d97fSEmmanuel Vadot            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
1955956d97fSEmmanuel Vadot            clocks = <&cec_clock>;
1965956d97fSEmmanuel Vadot            clock-names = "cec";
1975956d97fSEmmanuel Vadot            avdd-supply = <&v1v8>;
1985956d97fSEmmanuel Vadot            dvdd-supply = <&v1v8>;
1995956d97fSEmmanuel Vadot            pvdd-supply = <&v1v8>;
2005956d97fSEmmanuel Vadot            dvdd-3v-supply = <&v3v3>;
2015956d97fSEmmanuel Vadot            bgvdd-supply = <&v1v8>;
2025956d97fSEmmanuel Vadot
2035956d97fSEmmanuel Vadot            adi,input-depth = <8>;
2045956d97fSEmmanuel Vadot            adi,input-colorspace = "yuv422";
2055956d97fSEmmanuel Vadot            adi,input-clock = "1x";
2065956d97fSEmmanuel Vadot
2075956d97fSEmmanuel Vadot            adi,input-style = <3>;
2085956d97fSEmmanuel Vadot            adi,input-justification = "right";
2095956d97fSEmmanuel Vadot            ports {
2105956d97fSEmmanuel Vadot                #address-cells = <1>;
2115956d97fSEmmanuel Vadot                #size-cells = <0>;
2125956d97fSEmmanuel Vadot
2135956d97fSEmmanuel Vadot                port@0 {
2145956d97fSEmmanuel Vadot                    reg = <0>;
2155956d97fSEmmanuel Vadot                    adv7511w_in: endpoint {
2165956d97fSEmmanuel Vadot                        remote-endpoint = <&dpi_out>;
2175956d97fSEmmanuel Vadot                    };
2185956d97fSEmmanuel Vadot                };
2195956d97fSEmmanuel Vadot
2205956d97fSEmmanuel Vadot                port@1 {
2215956d97fSEmmanuel Vadot                    reg = <1>;
2225956d97fSEmmanuel Vadot                    adv7511_out: endpoint {
2235956d97fSEmmanuel Vadot                        remote-endpoint = <&hdmi_connector_in>;
2245956d97fSEmmanuel Vadot                    };
2255956d97fSEmmanuel Vadot                };
2265956d97fSEmmanuel Vadot
2275956d97fSEmmanuel Vadot                port@2 {
2285956d97fSEmmanuel Vadot                    reg = <2>;
2295956d97fSEmmanuel Vadot                    codec_endpoint: endpoint {
2305956d97fSEmmanuel Vadot                        remote-endpoint = <&i2s0_cpu_endpoint>;
2315956d97fSEmmanuel Vadot                    };
2325956d97fSEmmanuel Vadot                };
2335956d97fSEmmanuel Vadot            };
2345956d97fSEmmanuel Vadot        };
2355956d97fSEmmanuel Vadot    };
2365956d97fSEmmanuel Vadot
2375956d97fSEmmanuel Vadot...
238