162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/sil,sii9022.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Silicon Image sii902x HDMI bridge 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Boris Brezillon <bbrezillon@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciproperties: 1362306a36Sopenharmony_ci compatible: 1462306a36Sopenharmony_ci oneOf: 1562306a36Sopenharmony_ci - items: 1662306a36Sopenharmony_ci - enum: 1762306a36Sopenharmony_ci - sil,sii9022-cpi # CEC Programming Interface 1862306a36Sopenharmony_ci - sil,sii9022-tpi # Transmitter Programming Interface 1962306a36Sopenharmony_ci - const: sil,sii9022 2062306a36Sopenharmony_ci - const: sil,sii9022 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci reg: 2362306a36Sopenharmony_ci maxItems: 1 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci interrupts: 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci description: Interrupt line used to inform the host about hotplug events. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci reset-gpios: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci iovcc-supply: 3362306a36Sopenharmony_ci description: I/O Supply Voltage (1.8V or 3.3V) 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci cvcc12-supply: 3662306a36Sopenharmony_ci description: Digital Core Supply Voltage (1.2V) 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci '#sound-dai-cells': 3962306a36Sopenharmony_ci enum: [ 0, 1 ] 4062306a36Sopenharmony_ci description: | 4162306a36Sopenharmony_ci <0> if only I2S or S/PDIF pin is wired, 4262306a36Sopenharmony_ci <1> if both are wired. 4362306a36Sopenharmony_ci HDMI audio is configured only if this property is found. 4462306a36Sopenharmony_ci If HDMI audio is configured, the sii902x device becomes an I2S and/or 4562306a36Sopenharmony_ci S/PDIF audio codec component (e.g. a digital audio sink), that can be 4662306a36Sopenharmony_ci used in configuring full audio devices with simple-card or 4762306a36Sopenharmony_ci audio-graph-card bindings. See their binding documents on how to describe 4862306a36Sopenharmony_ci the way the 4962306a36Sopenharmony_ci sii902x device is connected to the rest of the audio system: 5062306a36Sopenharmony_ci Documentation/devicetree/bindings/sound/simple-card.yaml 5162306a36Sopenharmony_ci Documentation/devicetree/bindings/sound/audio-graph-card.yaml 5262306a36Sopenharmony_ci Note: In case of the audio-graph-card binding the used port index should 5362306a36Sopenharmony_ci be 3. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci sil,i2s-data-lanes: 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5762306a36Sopenharmony_ci minItems: 1 5862306a36Sopenharmony_ci maxItems: 4 5962306a36Sopenharmony_ci uniqueItems: true 6062306a36Sopenharmony_ci items: 6162306a36Sopenharmony_ci enum: [ 0, 1, 2, 3 ] 6262306a36Sopenharmony_ci description: 6362306a36Sopenharmony_ci Each integer indicates which I2S pin is connected to which audio FIFO. 6462306a36Sopenharmony_ci The first integer selects the I2S audio pin for the first audio FIFO#0 6562306a36Sopenharmony_ci (HDMI channels 1&2), the second for FIFO#1 (HDMI channels 3&4), and so 6662306a36Sopenharmony_ci on. There are 4 FIFOs and 4 I2S pins (SD0 - SD3). Any I2S pin can be 6762306a36Sopenharmony_ci connected to any FIFO, but there can be no gaps. E.g. an I2S pin must be 6862306a36Sopenharmony_ci mapped to FIFO#0 and FIFO#1 before mapping a channel to FIFO#2. The 6962306a36Sopenharmony_ci default value is <0>, describing SD0 pin being routed to HDMI audio 7062306a36Sopenharmony_ci FIFO#0. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci clocks: 7362306a36Sopenharmony_ci maxItems: 1 7462306a36Sopenharmony_ci description: MCLK input. MCLK can be used to produce HDMI audio CTS values. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci clock-names: 7762306a36Sopenharmony_ci const: mclk 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci ports: 8062306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci properties: 8362306a36Sopenharmony_ci port@0: 8462306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 8562306a36Sopenharmony_ci description: Parallel RGB input port 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci port@1: 8862306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 8962306a36Sopenharmony_ci description: HDMI output port 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci port@3: 9262306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 9362306a36Sopenharmony_ci description: Sound input port 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_cirequired: 9662306a36Sopenharmony_ci - compatible 9762306a36Sopenharmony_ci - reg 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciadditionalProperties: false 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciexamples: 10262306a36Sopenharmony_ci - | 10362306a36Sopenharmony_ci i2c { 10462306a36Sopenharmony_ci #address-cells = <1>; 10562306a36Sopenharmony_ci #size-cells = <0>; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci hdmi-bridge@39 { 10862306a36Sopenharmony_ci compatible = "sil,sii9022"; 10962306a36Sopenharmony_ci reg = <0x39>; 11062306a36Sopenharmony_ci reset-gpios = <&pioA 1 0>; 11162306a36Sopenharmony_ci iovcc-supply = <&v3v3_hdmi>; 11262306a36Sopenharmony_ci cvcc12-supply = <&v1v2_hdmi>; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci #sound-dai-cells = <0>; 11562306a36Sopenharmony_ci sil,i2s-data-lanes = < 0 1 2 >; 11662306a36Sopenharmony_ci clocks = <&mclk>; 11762306a36Sopenharmony_ci clock-names = "mclk"; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci ports { 12062306a36Sopenharmony_ci #address-cells = <1>; 12162306a36Sopenharmony_ci #size-cells = <0>; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci port@0 { 12462306a36Sopenharmony_ci reg = <0>; 12562306a36Sopenharmony_ci bridge_in: endpoint { 12662306a36Sopenharmony_ci remote-endpoint = <&dc_out>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci }; 132