xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/adi,adv7533.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
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,adv7533.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: Analog Devices ADV7533/35 HDMI Encoders
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
115956d97fSEmmanuel Vadot
12*84943d6fSEmmanuel VadotallOf:
13*84943d6fSEmmanuel Vadot  - $ref: /schemas/sound/dai-common.yaml#
14*84943d6fSEmmanuel Vadot
155956d97fSEmmanuel Vadotdescription: |
165956d97fSEmmanuel Vadot  The ADV7533 and ADV7535 are HDMI audio and video transmitters
175956d97fSEmmanuel Vadot  compatible with HDMI 1.4 and DVI 1.0. They support color space
185956d97fSEmmanuel Vadot  conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI.
195956d97fSEmmanuel Vadot
205956d97fSEmmanuel Vadotproperties:
215956d97fSEmmanuel Vadot  compatible:
225956d97fSEmmanuel Vadot    enum:
235956d97fSEmmanuel Vadot      - adi,adv7533
245956d97fSEmmanuel Vadot      - adi,adv7535
255956d97fSEmmanuel Vadot
265956d97fSEmmanuel Vadot  reg:
275956d97fSEmmanuel Vadot    description: |
285956d97fSEmmanuel Vadot      I2C slave addresses.
295956d97fSEmmanuel Vadot
305956d97fSEmmanuel Vadot      The ADV7533/35 internal registers are split into four pages
315956d97fSEmmanuel Vadot      exposed through different I2C addresses, creating four register
325956d97fSEmmanuel Vadot      maps. Each map has it own I2C address and acts as a standard slave
335956d97fSEmmanuel Vadot      device on the I2C bus. The main address is mandatory, others are
345956d97fSEmmanuel Vadot      optional and revert to defaults if not specified.
355956d97fSEmmanuel Vadot    minItems: 1
365956d97fSEmmanuel Vadot    maxItems: 4
375956d97fSEmmanuel Vadot
385956d97fSEmmanuel Vadot  reg-names:
395956d97fSEmmanuel Vadot    description:
405956d97fSEmmanuel Vadot      Names of maps with programmable addresses. It can contain any map
415956d97fSEmmanuel Vadot      needing a non-default address.
425956d97fSEmmanuel Vadot    minItems: 1
435956d97fSEmmanuel Vadot    items:
445956d97fSEmmanuel Vadot      - const: main
455956d97fSEmmanuel Vadot      - const: edid
465956d97fSEmmanuel Vadot      - const: cec
475956d97fSEmmanuel Vadot      - const: packet
485956d97fSEmmanuel Vadot
495956d97fSEmmanuel Vadot  clocks:
505956d97fSEmmanuel Vadot    description: Reference to the CEC clock.
515956d97fSEmmanuel Vadot    maxItems: 1
525956d97fSEmmanuel Vadot
535956d97fSEmmanuel Vadot  clock-names:
545956d97fSEmmanuel Vadot    const: cec
555956d97fSEmmanuel Vadot
565956d97fSEmmanuel Vadot  interrupts:
575956d97fSEmmanuel Vadot    maxItems: 1
585956d97fSEmmanuel Vadot
595956d97fSEmmanuel Vadot  pd-gpios:
605956d97fSEmmanuel Vadot    description: GPIO connected to the power down signal.
615956d97fSEmmanuel Vadot    maxItems: 1
625956d97fSEmmanuel Vadot
635956d97fSEmmanuel Vadot  avdd-supply:
645956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the AVDD pin.
655956d97fSEmmanuel Vadot
665956d97fSEmmanuel Vadot  dvdd-supply:
675956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the DVDD pin.
685956d97fSEmmanuel Vadot
695956d97fSEmmanuel Vadot  pvdd-supply:
705956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the PVDD pin.
715956d97fSEmmanuel Vadot
725956d97fSEmmanuel Vadot  a2vdd-supply:
735956d97fSEmmanuel Vadot    description: A 1.8V supply that powers up the A2VDD pin.
745956d97fSEmmanuel Vadot
755956d97fSEmmanuel Vadot  v3p3-supply:
765956d97fSEmmanuel Vadot    description: A 3.3V supply that powers up the V3P3 pin.
775956d97fSEmmanuel Vadot
785956d97fSEmmanuel Vadot  v1p2-supply:
795956d97fSEmmanuel Vadot    description:
805956d97fSEmmanuel Vadot      A supply that powers up the V1P2 pin. It can be either 1.2V
815956d97fSEmmanuel Vadot      or 1.8V for ADV7533 but only 1.8V for ADV7535.
825956d97fSEmmanuel Vadot
835956d97fSEmmanuel Vadot  adi,disable-timing-generator:
845956d97fSEmmanuel Vadot    description:
855956d97fSEmmanuel Vadot      Disables the internal timing generator. The chip will rely on the
865956d97fSEmmanuel Vadot      sync signals in the DSI data lanes, rather than generating its own
875956d97fSEmmanuel Vadot      timings for HDMI output.
885956d97fSEmmanuel Vadot    type: boolean
895956d97fSEmmanuel Vadot
905956d97fSEmmanuel Vadot  adi,dsi-lanes:
915956d97fSEmmanuel Vadot    description: Number of DSI data lanes connected to the DSI host.
925956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
935956d97fSEmmanuel Vadot    enum: [ 1, 2, 3, 4 ]
945956d97fSEmmanuel Vadot
95*84943d6fSEmmanuel Vadot  "#sound-dai-cells":
96*84943d6fSEmmanuel Vadot    const: 0
97*84943d6fSEmmanuel Vadot
985956d97fSEmmanuel Vadot  ports:
995956d97fSEmmanuel Vadot    description:
1007ef62cebSEmmanuel Vadot      The ADV7533/35 has two video ports and one audio port.
1017ef62cebSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
1027ef62cebSEmmanuel Vadot
1035956d97fSEmmanuel Vadot    properties:
1045956d97fSEmmanuel Vadot      port@0:
1055956d97fSEmmanuel Vadot        description:
1065956d97fSEmmanuel Vadot          Video port for the DSI input. The remote endpoint phandle
1075956d97fSEmmanuel Vadot          should be a reference to a valid mipi_dsi_host_device.
1087ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1095956d97fSEmmanuel Vadot
1105956d97fSEmmanuel Vadot      port@1:
1115956d97fSEmmanuel Vadot        description: Video port for the HDMI output.
1127ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1135956d97fSEmmanuel Vadot
1145956d97fSEmmanuel Vadot      port@2:
1155956d97fSEmmanuel Vadot        description: Audio port for the HDMI output.
1167ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
1175956d97fSEmmanuel Vadot
1185956d97fSEmmanuel Vadotrequired:
1195956d97fSEmmanuel Vadot  - compatible
1205956d97fSEmmanuel Vadot  - reg
1215956d97fSEmmanuel Vadot  - ports
1225956d97fSEmmanuel Vadot  - adi,dsi-lanes
1235956d97fSEmmanuel Vadot  - avdd-supply
1245956d97fSEmmanuel Vadot  - dvdd-supply
1255956d97fSEmmanuel Vadot  - pvdd-supply
1265956d97fSEmmanuel Vadot  - a2vdd-supply
1275956d97fSEmmanuel Vadot  - v3p3-supply
1285956d97fSEmmanuel Vadot
1295956d97fSEmmanuel VadotadditionalProperties: false
1305956d97fSEmmanuel Vadot
1315956d97fSEmmanuel Vadotexamples:
1325956d97fSEmmanuel Vadot  - |
1335956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1345956d97fSEmmanuel Vadot
1355956d97fSEmmanuel Vadot    i2c@e6500000 {
1365956d97fSEmmanuel Vadot        #address-cells = <1>;
1375956d97fSEmmanuel Vadot        #size-cells = <0>;
1385956d97fSEmmanuel Vadot
1395956d97fSEmmanuel Vadot        reg = <0 0xe6500000>;
1405956d97fSEmmanuel Vadot
1415956d97fSEmmanuel Vadot        adv7533: hdmi@39 {
1425956d97fSEmmanuel Vadot            compatible = "adi,adv7533";
1435956d97fSEmmanuel Vadot            /*
1445956d97fSEmmanuel Vadot             * The EDID page will be accessible on address 0x66 on the I2C
1455956d97fSEmmanuel Vadot             * bus. All other maps continue to use their default addresses.
1465956d97fSEmmanuel Vadot             */
1475956d97fSEmmanuel Vadot            reg = <0x39>, <0x66>;
1485956d97fSEmmanuel Vadot            reg-names = "main", "edid";
1495956d97fSEmmanuel Vadot            interrupt-parent = <&gpio3>;
1505956d97fSEmmanuel Vadot            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
1515956d97fSEmmanuel Vadot            clocks = <&cec_clock>;
1525956d97fSEmmanuel Vadot            clock-names = "cec";
1535956d97fSEmmanuel Vadot            adi,dsi-lanes = <4>;
1545956d97fSEmmanuel Vadot            avdd-supply = <&v1v8>;
1555956d97fSEmmanuel Vadot            dvdd-supply = <&v1v8>;
1565956d97fSEmmanuel Vadot            pvdd-supply = <&v1v8>;
1575956d97fSEmmanuel Vadot            a2vdd-supply = <&v1v8>;
1585956d97fSEmmanuel Vadot            v3p3-supply = <&v3v3>;
1595956d97fSEmmanuel Vadot
1605956d97fSEmmanuel Vadot            ports {
1615956d97fSEmmanuel Vadot                #address-cells = <1>;
1625956d97fSEmmanuel Vadot                #size-cells = <0>;
1635956d97fSEmmanuel Vadot
1645956d97fSEmmanuel Vadot                port@0 {
1655956d97fSEmmanuel Vadot                    reg = <0>;
1665956d97fSEmmanuel Vadot                    adv7533_in: endpoint {
1675956d97fSEmmanuel Vadot                        remote-endpoint = <&dsi_out>;
1685956d97fSEmmanuel Vadot                    };
1695956d97fSEmmanuel Vadot                };
1705956d97fSEmmanuel Vadot
1715956d97fSEmmanuel Vadot                port@1 {
1725956d97fSEmmanuel Vadot                    reg = <1>;
1735956d97fSEmmanuel Vadot                    adv7533_out: endpoint {
1745956d97fSEmmanuel Vadot                        remote-endpoint = <&hdmi_connector_in>;
1755956d97fSEmmanuel Vadot                    };
1765956d97fSEmmanuel Vadot                };
1775956d97fSEmmanuel Vadot
1785956d97fSEmmanuel Vadot                port@2 {
1795956d97fSEmmanuel Vadot                    reg = <2>;
1805956d97fSEmmanuel Vadot                    codec_endpoint: endpoint {
1815956d97fSEmmanuel Vadot                        remote-endpoint = <&i2s0_cpu_endpoint>;
1825956d97fSEmmanuel Vadot                    };
1835956d97fSEmmanuel Vadot                };
1845956d97fSEmmanuel Vadot            };
1855956d97fSEmmanuel Vadot        };
1865956d97fSEmmanuel Vadot    };
1875956d97fSEmmanuel Vadot
1885956d97fSEmmanuel Vadot...
189