[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250715033745.GA4178590-robh@kernel.org>
Date: Mon, 14 Jul 2025 22:37:45 -0500
From: Rob Herring <robh@...nel.org>
To: Pet Weng <pet.weng@....com.tw>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, dri-devel@...ts.freedesktop.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Hermes Wu <hermes.Wu@....com.tw>,
Kenneth Hung <kenneth.Hung@....com.tw>,
Pin-yen Lin <treapking@...gle.com>
Subject: Re: [PATCH 1/3] dt-binding: display: Add a device tree binding for
the ITE IT61620 MIPI DSI to HDMI bridge
On Mon, Jul 14, 2025 at 11:14:32AM +0800, Pet Weng wrote:
> This chip receives MIPI DSI input and outputs HDMI, and is commonly
> connected to SoCs via I2C and DSI.
Drop "a device tree binding for " in the subject. You already said this
is a binding at the start.
>
> Signed-off-by: Pet Weng <pet.weng@....com.tw>
> ---
> .../bindings/display/bridge/ite,it61620.yaml | 138 +++++++++++++++++++++
> 1 file changed, 138 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..ff8ff390a1c0c31bb05ba0e237490cff2942cd05
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/ite,it61620.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ITE IT61620 MIPI DSI to HDMI Bridge
> +
> +maintainers:
> + - Pet Weng <pet.weng@....com.tw>
> +
> +description: |
> + The ITE IT61620 is a high-performance, low-power HDMI bridge that converts
> + MIPI DSI input to HDMI 1.4b TMDS output. It supports up to 4 lanes of MIPI
> + D-PHY 2.0 input at 2.5Gbps per lane (10Gbps total), compatible with DSI-2 v2.0.
> +
> + The HDMI transmitter side supports up to 4Kx2K@...z resolutions, and is
> + compliant with HDMI 1.4b and HDCP 1.4.
> +
> + For audio, the IT61620 supports up to 8-channel LPCM via I2S (multi-line or
> + TDM mode), with optional S/PDIF or DSD (for SACD). It supports audio
> + sampling rates up to 192kHz.
> +
> +allOf:
> + - $ref: /schemas/sound/dai-common.yaml#
> +
> +properties:
> + compatible:
> + const: ite,it61620
> +
> + reg:
> + maxItems: 1
> +
> + interrupts-extended:
Just 'interrupts' in bindings. Either works in .dts files.
> + maxItems: 1
> + description: interrupt specifier of INT pin
> +
> + reset-gpios:
> + maxItems: 1
> + description: gpio specifier of RESET pin
> +
> + ivdd-supply:
> + description: core voltage
> +
> + ovdd-supply:
> + description: I/O voltage
> +
> + ovdd1833-supply:
> + description: flexible I/O votage
> +
> + pinctrl-names:
> + items:
> + - const: default
> +
> + pinctrl-0:
> + maxItems: 1
> +
> + "#sound-dai-cells":
> + const: 0
> +
> + dsi-lanes:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Number of DSI input lanes used (1, 2 or 4)
> + minimum: 1
> + maximum: 4
> + default: 4
There's a standard property for this in the graph binding. Use it.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/$defs/port-base
"#/properties/port" if you don't have extra properties.
> + description: A port node pointing to DSI host port node
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/$defs/port-base
Same here.
> + description: Video port for HDMI output
> +
> + required:
> + - port@0
> + - port@1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts-extended
> + - reset-gpios
> + - ivdd-supply
> + - ovdd-supply
> + - ovdd1833-supply
> + - ports
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hdmibrdg: ite61620@58 {
Drop unused labels and "hdmi" for the node name.
> + compatible = "ite,it61620";
> + reg = <0x58>;
> + #sound-dai-cells = <0>;
> + interrupts-extended = <&pio 128 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&it61620_pins>;
> + reset-gpios = <&pio 127 GPIO_ACTIVE_LOW>;
> + ivdd-supply = <&pp1000_hdmi_x>;
> + ovdd-supply = <&pp3300_vio28_x>;
> + ovdd1833-supply = <&pp1800_vcamio_x>;
> + dsi-lanes = <4>;
> + status = "okay";
Drop status.
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + it61620_dsi_in: endpoint {
> + remote-endpoint = <&dsi_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + it61620_hdmi_out: endpoint {
> + remote-endpoint = <&hdmi_connector_in>;
> + };
> + };
> + };
> + };
> + };
>
> --
> 2.34.1
>
Powered by blists - more mailing lists