From: Hermes Wu <[email protected]> Add device tree binding documentation for the ITE IT6162 MIPI DSI to HDMI 2.0 bridge chip. The IT6162 is an I2C-controlled bridge that supports the following configurations:
- Single MIPI DSI input: up to 4K @ 30Hz - Dual MIPI DSI input (combined): up to 4K @ 60Hz The chip also supports up to 8-channel audio output via 4 I2S data channels. Signed-off-by: Hermes Wu <[email protected]> --- Changes in v3: - Fix lane-polarities: remove $ref redefinition, allow via video-interfaces.yaml - Improve ite,support-hdcp description to clarify FW-based HDCP behavior - Remove descriptions repeating schema constraints - Remove stray comment in ports required section - Fix data-lanes spacing in example: <1 2 3 4> - Add missing newline at end of file - Add missing change log that Reviewed-by tag was drop in V2. Changes in V2: - Drop Reviewed-by tag due to DT bindings changed. - Add property "ite,spport-hdcp" to enable HDCP - Add property "lane-polarities" and "clock-noncontinuous" for DSI setting --- .../bindings/display/bridge/ite,it6162.yaml | 178 +++++++++++++++++++++ 1 file changed, 178 insertions(+) diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6162.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6162.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b33fd140a9932cff3ede342298488988d337477f --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6162.yaml @@ -0,0 +1,178 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/ite,it6162.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ITE IT6162 MIPI DSI to HDMI 2.0 Bridge + +maintainers: + - Hermes Wu <[email protected]> + +description: | + The ITE IT6162 is a high-performance, low-power HDMI bridge that converts + 2 MIPI DSI signals to 1 HDMI 2.0 output. It supports dual MIPI D-PHY 2.0 + links up to 10 Gbps each (20 Gbps total), compatible with DSI-2 v2.0. + + The HDMI transmitter supports resolutions up to 4Kx2K@60Hz and is compliant + with HDMI 2.0 specifications. + + For audio, it supports up to 8-channel LPCM via I2S (multi-line or TDM mode), + with optional S/PDIF or DSD (for SACD). Audio sampling rates up to 192 kHz + are supported. + +allOf: + - $ref: /schemas/sound/dai-common.yaml# + +properties: + compatible: + const: ite,it6162 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + ivdd-supply: + description: Core voltage supply + + ovdd-supply: + description: I/O voltage supply + + ovdd1833-supply: + description: Flexible I/O voltage supply (1.8V domain) + + "#sound-dai-cells": + const: 0 + + ite,support-hdcp: + description: > + Enables FW-based HDCP 1.4 and 2.3 negotiation. When absent, the + bridge firmware will not attempt HDCP authentication regardless + of sink capability. + type: boolean + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Input port for MIPI DSI-0 + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + properties: + data-lanes: true + lane-polarities: true + clock-noncontinuous: true + required: + - data-lanes + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Input port for MIPI DSI-1 + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + properties: + data-lanes: true + lane-polarities: true + clock-noncontinuous: true + required: + - data-lanes + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Audio input port + + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: HDMI output port + + required: + - port@1 + +required: + - compatible + - reg + - interrupts + - ports + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + bridge@58 { + compatible = "ite,it6162"; + reg = <0x58>; + + #sound-dai-cells = <0>; + + interrupt-parent = <&pio>; + interrupts = <128 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-names = "default"; + pinctrl-0 = <&it6162_pins>; + + reset-gpios = <&pio 127 GPIO_ACTIVE_LOW>; + + ivdd-supply = <&pp1000_hdmi_x>; + ovdd-supply = <&pp3300_vio28_x>; + ovdd1833-supply = <&pp1800_vcamio_x>; + + ite,support-hdcp; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + it6162_dsi0: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&dsi_0_out>; + }; + }; + + port@1 { + reg = <1>; + it6162_dsi1: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&dsi_1_out>; + }; + }; + + port@2 { + reg = <2>; + it6162_audio_in: endpoint { + remote-endpoint = <&i2s0_out>; + }; + }; + + port@3 { + reg = <3>; + it6162_hdmi_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; + }; -- 2.34.1
