Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 1 | Analog Device ADV7511(W)/13/33 HDMI Encoders |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 2 | ----------------------------------------- |
| 3 | |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 4 | The ADV7511, ADV7511W, ADV7513 and ADV7533 are HDMI audio and video transmitters |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 5 | compatible with HDMI 1.4 and DVI 1.0. They support color space conversion, |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 6 | S/PDIF, CEC and HDCP. ADV7533 supports the DSI interface for input pixels, while |
| 7 | the others support RGB interface. |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 8 | |
| 9 | Required properties: |
| 10 | |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 11 | - compatible: Should be one of: |
| 12 | "adi,adv7511" |
| 13 | "adi,adv7511w" |
| 14 | "adi,adv7513" |
| 15 | "adi,adv7533" |
| 16 | |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 17 | - reg: I2C slave address |
| 18 | |
| 19 | The ADV7511 supports a large number of input data formats that differ by their |
| 20 | color depth, color format, clock mode, bit justification and random |
| 21 | arrangement of components on the data bus. The combination of the following |
| 22 | properties describe the input and map directly to the video input tables of the |
| 23 | ADV7511 datasheet that document all the supported combinations. |
| 24 | |
| 25 | - adi,input-depth: Number of bits per color component at the input (8, 10 or |
| 26 | 12). |
| 27 | - adi,input-colorspace: The input color space, one of "rgb", "yuv422" or |
| 28 | "yuv444". |
| 29 | - adi,input-clock: The input clock type, one of "1x" (one clock cycle per |
| 30 | pixel), "2x" (two clock cycles per pixel), "ddr" (one clock cycle per pixel, |
| 31 | data driven on both edges). |
| 32 | |
| 33 | The following input format properties are required except in "rgb 1x" and |
| 34 | "yuv444 1x" modes, in which case they must not be specified. |
| 35 | |
| 36 | - adi,input-style: The input components arrangement variant (1, 2 or 3), as |
| 37 | listed in the input format tables in the datasheet. |
| 38 | - adi,input-justification: The input bit justification ("left", "evenly", |
| 39 | "right"). |
| 40 | |
Archit Taneja | e9a7c0b | 2017-01-11 12:22:26 +0530 | [diff] [blame] | 41 | - avdd-supply: A 1.8V supply that powers up the AVDD pin on the chip. |
| 42 | - dvdd-supply: A 1.8V supply that powers up the DVDD pin on the chip. |
| 43 | - pvdd-supply: A 1.8V supply that powers up the PVDD pin on the chip. |
| 44 | - dvdd-3v-supply: A 3.3V supply that powers up the pin called DVDD_3V |
| 45 | on the chip. |
| 46 | - bgvdd-supply: A 1.8V supply that powers up the BGVDD pin. This is |
| 47 | needed only for ADV7511. |
| 48 | |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 49 | The following properties are required for ADV7533: |
| 50 | |
| 51 | - adi,dsi-lanes: Number of DSI data lanes connected to the DSI host. It should |
| 52 | be one of 1, 2, 3 or 4. |
Archit Taneja | e9a7c0b | 2017-01-11 12:22:26 +0530 | [diff] [blame] | 53 | - a2vdd-supply: 1.8V supply that powers up the A2VDD pin on the chip. |
| 54 | - v3p3-supply: A 3.3V supply that powers up the V3P3 pin on the chip. |
| 55 | - v1p2-supply: A supply that powers up the V1P2 pin on the chip. It can be |
| 56 | either 1.2V or 1.8V. |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 57 | |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 58 | Optional properties: |
| 59 | |
| 60 | - interrupts: Specifier for the ADV7511 interrupt |
| 61 | - pd-gpios: Specifier for the GPIO connected to the power down signal |
| 62 | |
| 63 | - adi,clock-delay: Video data clock delay relative to the pixel clock, in ps |
| 64 | (-1200 ps .. 1600 ps). Defaults to no delay. |
| 65 | - adi,embedded-sync: The input uses synchronization signals embedded in the |
| 66 | data stream (similar to BT.656). Defaults to separate H/V synchronization |
| 67 | signals. |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 68 | - adi,disable-timing-generator: Only for ADV7533. Disables the internal timing |
| 69 | generator. The chip will rely on the sync signals in the DSI data lanes, |
| 70 | rather than generate its own timings for HDMI output. |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 71 | |
| 72 | Required nodes: |
| 73 | |
| 74 | The ADV7511 has two video ports. Their connections are modelled using the OF |
| 75 | graph bindings specified in Documentation/devicetree/bindings/graph.txt. |
| 76 | |
Archit Taneja | 2cc961d | 2016-02-24 17:42:58 +0530 | [diff] [blame] | 77 | - Video port 0 for the RGB, YUV or DSI input. In the case of ADV7533, the |
| 78 | remote endpoint phandle should be a reference to a valid mipi_dsi_host device |
| 79 | node. |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 80 | - Video port 1 for the HDMI output |
John Stultz | 7204e97 | 2017-06-13 14:59:49 -0700 | [diff] [blame] | 81 | - Audio port 2 for the HDMI audio input |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 82 | |
| 83 | |
| 84 | Example |
| 85 | ------- |
| 86 | |
| 87 | adv7511w: hdmi@39 { |
| 88 | compatible = "adi,adv7511w"; |
| 89 | reg = <39>; |
| 90 | interrupt-parent = <&gpio3>; |
| 91 | interrupts = <29 IRQ_TYPE_EDGE_FALLING>; |
| 92 | |
| 93 | adi,input-depth = <8>; |
| 94 | adi,input-colorspace = "rgb"; |
| 95 | adi,input-clock = "1x"; |
| 96 | adi,input-style = <1>; |
| 97 | adi,input-justification = "evenly"; |
| 98 | |
| 99 | ports { |
| 100 | #address-cells = <1>; |
| 101 | #size-cells = <0>; |
| 102 | |
| 103 | port@0 { |
| 104 | reg = <0>; |
| 105 | adv7511w_in: endpoint { |
| 106 | remote-endpoint = <&dpi_out>; |
| 107 | }; |
| 108 | }; |
| 109 | |
| 110 | port@1 { |
| 111 | reg = <1>; |
| 112 | adv7511_out: endpoint { |
| 113 | remote-endpoint = <&hdmi_connector_in>; |
| 114 | }; |
| 115 | }; |
John Stultz | 7204e97 | 2017-06-13 14:59:49 -0700 | [diff] [blame] | 116 | |
| 117 | port@2 { |
| 118 | reg = <2>; |
| 119 | codec_endpoint: endpoint { |
| 120 | remote-endpoint = <&i2s0_cpu_endpoint>; |
| 121 | }; |
| 122 | }; |
Laurent Pinchart | 53d7437 | 2014-09-24 22:09:46 +0300 | [diff] [blame] | 123 | }; |
| 124 | }; |