[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA+D8ANV74k1=_m7HfCO2n7nCU7mH=QMrd0CS5eMqGqDHn9HEw@mail.gmail.com>
Date: Thu, 24 Jul 2025 18:10:10 +0800
From: Shengjiu Wang <shengjiu.wang@...il.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Shengjiu Wang <shengjiu.wang@....com>, andrzej.hajda@...el.com,
neil.armstrong@...aro.org, rfoss@...nel.org,
Laurent.pinchart@...asonboard.com, jonas@...boo.se, jernej.skrabec@...il.com,
maarten.lankhorst@...ux.intel.com, mripard@...nel.org, tzimmermann@...e.de,
airlied@...il.com, simona@...ll.ch, lumag@...nel.org, dianders@...omium.org,
cristian.ciocaltea@...labora.com, luca.ceresoli@...tlin.com,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
victor.liu@....com, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, festevam@...il.com, imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, p.zabel@...gutronix.de, devicetree@...r.kernel.org,
l.stach@...gutronix.de, perex@...ex.cz, tiwai@...e.com,
linux-sound@...r.kernel.org
Subject: Re: [PATCH v2 1/6] dt-bindings: display: imx: add HDMI PAI for i.MX8MP
On Thu, Jul 24, 2025 at 4:52 PM Krzysztof Kozlowski <krzk@...nel.org> wrote:
>
> On Thu, Jul 24, 2025 at 03:22:43PM +0800, Shengjiu Wang wrote:
> > Add binding for the i.MX8MP HDMI parallel Audio interface block.
> >
> > In fsl,imx8mp-hdmi-tx.yaml, add port@2 that linked to pai_to_hdmi_tx.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@....com>
> > ---
> > .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 12 ++++
> > .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 69 +++++++++++++++++++
> > 2 files changed, 81 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml
> > index 05442d437755..6211ab8bbb0e 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml
> > @@ -49,6 +49,10 @@ properties:
> > $ref: /schemas/graph.yaml#/properties/port
> > description: HDMI output port
> >
> > + port@2:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description: Parallel audio input port
>
> Which data path this represents? Feels like you are duplicating ASoC
> dai-links/cells...
Here it means from HDMI PAI to HDMI TX controller. not the ASoC dai link.
On i.MX8MP, for HDMI audio, it is separated into several hardware modules:
1. Aud2HTX
driver: sound/soc/fsl/fsl_aud2htx.c
2. HDMI PAI
driver: this patch set
3. HDMI TX controller audio part
driver: drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c
Aud2HTX is in the Audio subsystem, HDMI PAI and HDMI TX are in the
HDMI subsystem. The full data path is
Aud2htx -> HDMI PAI -> HDMI TX controller.
>
>
> > +
> > required:
> > - port@0
> > - port@1
> > @@ -98,5 +102,13 @@ examples:
> > remote-endpoint = <&hdmi0_con>;
> > };
> > };
> > +
> > + port@2 {
> > + reg = <2>;
> > +
> > + endpoint {
> > + remote-endpoint = <&pai_to_hdmi_tx>;
> > + };
> > + };
> > };
> > };
> > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
> > new file mode 100644
> > index 000000000000..4f99682a308d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
> > @@ -0,0 +1,69 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/imx/fsl,imx8mp-hdmi-pai.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale i.MX8MP HDMI Parallel Audio Interface
> > +
> > +maintainers:
> > + - Shengjiu Wang <shengjiu.wang@....com>
> > +
> > +description:
> > + The HDMI TX Parallel Audio Interface (HTX_PAI) is a bridge between the
> > + Audio Subsystem to the HDMI TX Controller.
>
> What is Audio Subsystem? Like Linux Audio or some name matching actual
> hardware?
Audio subsystem is the name for hardware.
>
>
> > +
> > +properties:
> > + compatible:
> > + const: fsl,imx8mp-hdmi-pai
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + clock-names:
> > + const: apb
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + port:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description: Output to the HDMI TX controller.
>
> And how do you plug it into sound card? Where are any DAI links?
The hardware data path is Aud2htx -> HDMI PAI -> HDMI TX controller.
>From a software point of view. the path is
Aud2htx -> hdmi_codec (ALSA sound card)
hdmi_codec -> dw-hdmi-gp-audio -> hdmi_pai
hdmi_codec is registered by dw-hdmi-gp-audio.c, hdmi_codec will call
the function in dw-hdmi-gp-audio.c, dw-hdmi-gp-audio.c will call the
function in hdmi pai driver.
Aud2htx is cpu dai in ALSA
hdmi-codec.c is the codec dai in ALSA
Above is the dai link for ALSA, they already exist in the kernel.
The HDMI PAI is the bridge, which is covered by this patch set.
Best regards
Shengjiu Wang
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists