Add binding for the i.MX8MP HDMI parallel Audio interface block.
As this port is linked to imx8mp-hdmi-tx, add port@2 in
fsl,imx8mp-hdmi-tx.yaml document.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
.../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++
.../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++
2 files changed, 74 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..cf810b277557 100644
--- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml
@@ -49,9 +49,14 @@ properties:
$ref: /schemas/graph.yaml#/properties/port
description: HDMI output port
+ port@2:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Parallel audio input port
+
required:
- port@0
- port@1
+ - port@2
required:
- compatible
@@ -98,5 +103,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..d2d723935032
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
@@ -0,0 +1,61 @@
+# 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@nxp.com>
+
+description:
+ The HDMI TX Parallel Audio Interface (HTX_PAI) is a digital module that acts as the
+ bridge between the Audio Subsystem to the HDMI TX Controller.
+
+properties:
+ compatible:
+ const: fsl,imx8mp-hdmi-pai
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ power-domains:
+ maxItems: 1
+
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Output to the HDMI TX controller.
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - power-domains
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/power/imx8mp-power.h>
+
+ hdmi@32fc4800 {
+ compatible = "fsl,imx8mp-hdmi-pai";
+ reg = <0x32fc4800 0x800>;
+ interrupt-parent = <&irqsteer_hdmi>;
+ interrupts = <14>;
+ power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>;
+
+ port {
+
+ pai_to_hdmi_tx: endpoint {
+ remote-endpoint = <&hdmi_tx_from_pai>;
+ };
+ };
+ };
--
2.34.1
Hi Shengjiu, On 07/18/2025, Shengjiu Wang wrote: > Add binding for the i.MX8MP HDMI parallel Audio interface block. > As this port is linked to imx8mp-hdmi-tx, add port@2 in > fsl,imx8mp-hdmi-tx.yaml document. > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > --- > .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++ > .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++ > 2 files changed, 74 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml Usually, to add a new driver, a DT binding patch comes first. > > 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..cf810b277557 100644 > --- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > @@ -49,9 +49,14 @@ properties: > $ref: /schemas/graph.yaml#/properties/port > description: HDMI output port > > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > + description: Parallel audio input port > + > required: > - port@0 > - port@1 > + - port@2 Can port@2 be optional? Note that video output can work with only port@0 and port@1. > > required: > - compatible > @@ -98,5 +103,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..d2d723935032 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml > @@ -0,0 +1,61 @@ > +# 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@nxp.com> > + > +description: > + The HDMI TX Parallel Audio Interface (HTX_PAI) is a digital module that acts as the > + bridge between the Audio Subsystem to the HDMI TX Controller. > + > +properties: In i.MX8MP TRM, HTX_PAI block diagram mentions an APB interface. Does it mean a clock is needed? > + compatible: > + const: fsl,imx8mp-hdmi-pai > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: Output to the HDMI TX controller. > + unevaluatedProperties: false Why do you need this line? > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> Unused. Drop. > + #include <dt-bindings/power/imx8mp-power.h> > + > + hdmi@32fc4800 { > + compatible = "fsl,imx8mp-hdmi-pai"; > + reg = <0x32fc4800 0x800>; > + interrupt-parent = <&irqsteer_hdmi>; > + interrupts = <14>; > + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>; > + > + port { > + Drop this blank line. > + pai_to_hdmi_tx: endpoint { > + remote-endpoint = <&hdmi_tx_from_pai>; > + }; > + }; > + }; -- Regards, Liu Ying
On Tue, Jul 22, 2025 at 3:16 PM Liu Ying <victor.liu@nxp.com> wrote: > > Hi Shengjiu, > > On 07/18/2025, Shengjiu Wang wrote: > > Add binding for the i.MX8MP HDMI parallel Audio interface block. > > As this port is linked to imx8mp-hdmi-tx, add port@2 in > > fsl,imx8mp-hdmi-tx.yaml document. > > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > > --- > > .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++ > > .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++ > > 2 files changed, 74 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml > > Usually, to add a new driver, a DT binding patch comes first. ok, will move it to first patch > > > > > 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..cf810b277557 100644 > > --- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > > +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > > @@ -49,9 +49,14 @@ properties: > > $ref: /schemas/graph.yaml#/properties/port > > description: HDMI output port > > > > + port@2: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: Parallel audio input port > > + > > required: > > - port@0 > > - port@1 > > + - port@2 > > Can port@2 be optional? > Note that video output can work with only port@0 and port@1. yes, it can be optional > > > > > required: > > - compatible > > @@ -98,5 +103,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..d2d723935032 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml > > @@ -0,0 +1,61 @@ > > +# 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@nxp.com> > > + > > +description: > > + The HDMI TX Parallel Audio Interface (HTX_PAI) is a digital module that acts as the > > + bridge between the Audio Subsystem to the HDMI TX Controller. > > + > > +properties: > > In i.MX8MP TRM, HTX_PAI block diagram mentions an APB interface. > Does it mean a clock is needed? The APB clock is bound with the power domain, so no need to add it here. > > > + compatible: > > + const: fsl,imx8mp-hdmi-pai > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + power-domains: > > + maxItems: 1 > > + > > + port: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: Output to the HDMI TX controller. > > + unevaluatedProperties: false > > Why do you need this line? per my understanding, this line can be added or removed. > > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - power-domains > > + - port > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > Unused. Drop. Ok. > > > + #include <dt-bindings/power/imx8mp-power.h> > > + > > + hdmi@32fc4800 { > > + compatible = "fsl,imx8mp-hdmi-pai"; > > + reg = <0x32fc4800 0x800>; > > + interrupt-parent = <&irqsteer_hdmi>; > > + interrupts = <14>; > > + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>; > > + > > + port { > > + > > Drop this blank line. Ok. Best regards Shengjiu Wang > > > + pai_to_hdmi_tx: endpoint { > > + remote-endpoint = <&hdmi_tx_from_pai>; > > + }; > > + }; > > + }; > > -- > Regards, > Liu Ying
On 07/23/2025, Shengjiu Wang wrote: > On Tue, Jul 22, 2025 at 3:16 PM Liu Ying <victor.liu@nxp.com> wrote: >> >> Hi Shengjiu, >> >> On 07/18/2025, Shengjiu Wang wrote: >>> Add binding for the i.MX8MP HDMI parallel Audio interface block. >>> As this port is linked to imx8mp-hdmi-tx, add port@2 in >>> fsl,imx8mp-hdmi-tx.yaml document. >>> >>> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> >>> --- >>> .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++ >>> .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++ >>> 2 files changed, 74 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml [...] >>> +properties: >> >> In i.MX8MP TRM, HTX_PAI block diagram mentions an APB interface. >> Does it mean a clock is needed? > > The APB clock is bound with the power domain, so no need to add it here. That depends on OS's power domain driver implementation. From DT's point of view, the APB clock should be a property here. > >> >>> + compatible: >>> + const: fsl,imx8mp-hdmi-pai >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + interrupts: >>> + maxItems: 1 >>> + >>> + power-domains: >>> + maxItems: 1 >>> + >>> + port: >>> + $ref: /schemas/graph.yaml#/properties/port >>> + description: Output to the HDMI TX controller. >>> + unevaluatedProperties: false >> >> Why do you need this line? > > per my understanding, this line can be added or removed. I'd choose to drop it :) [...] -- Regards, Liu Ying
On Fri, Jul 18, 2025 at 06:11:49PM +0800, Shengjiu Wang wrote: Subject needn't said binding again. dt-bindings: display: imx: add HDMI PAI for i.MX8MP > Add binding for the i.MX8MP HDMI parallel Audio interface block. Need empty line between two paragraph > As this port is linked to imx8mp-hdmi-tx, add port@2 in > fsl,imx8mp-hdmi-tx.yaml document. In fsl,imx8mp-hdmi-tx.yaml, add port@2 that linked to imx8mp-hdmi-tx ( look like pai_to_hdmi_tx?) > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > --- > .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++ > .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++ > 2 files changed, 74 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..cf810b277557 100644 > --- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > @@ -49,9 +49,14 @@ properties: > $ref: /schemas/graph.yaml#/properties/port > description: HDMI output port > > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > + description: Parallel audio input port > + > required: > - port@0 > - port@1 > + - port@2 Are you sure it is required? It may cause may dtb check warning. > > required: > - compatible > @@ -98,5 +103,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..d2d723935032 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml > @@ -0,0 +1,61 @@ > +# 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@nxp.com> > + > +description: > + The HDMI TX Parallel Audio Interface (HTX_PAI) is a digital module that acts as the > + bridge between the Audio Subsystem to the HDMI TX Controller. remove "a digital module that acts as the" Frank > + > +properties: > + compatible: > + const: fsl,imx8mp-hdmi-pai > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: Output to the HDMI TX controller. > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/power/imx8mp-power.h> > + > + hdmi@32fc4800 { > + compatible = "fsl,imx8mp-hdmi-pai"; > + reg = <0x32fc4800 0x800>; > + interrupt-parent = <&irqsteer_hdmi>; > + interrupts = <14>; > + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>; > + > + port { > + > + pai_to_hdmi_tx: endpoint { > + remote-endpoint = <&hdmi_tx_from_pai>; > + }; > + }; > + }; > -- > 2.34.1 >
On Sat, Jul 19, 2025 at 12:25 AM Frank Li <Frank.li@nxp.com> wrote: > > On Fri, Jul 18, 2025 at 06:11:49PM +0800, Shengjiu Wang wrote: > > Subject needn't said binding again. > > dt-bindings: display: imx: add HDMI PAI for i.MX8MP > > > Add binding for the i.MX8MP HDMI parallel Audio interface block. > > Need empty line between two paragraph Ok. > > > As this port is linked to imx8mp-hdmi-tx, add port@2 in > > fsl,imx8mp-hdmi-tx.yaml document. > > In fsl,imx8mp-hdmi-tx.yaml, add port@2 that linked to imx8mp-hdmi-tx ( > look like pai_to_hdmi_tx?) yes, linked to pai_to_hdmi_tx. > > > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > > --- > > .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 13 ++++ > > .../display/imx/fsl,imx8mp-hdmi-pai.yaml | 61 +++++++++++++++++++ > > 2 files changed, 74 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..cf810b277557 100644 > > --- a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > > +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml > > @@ -49,9 +49,14 @@ properties: > > $ref: /schemas/graph.yaml#/properties/port > > description: HDMI output port > > > > + port@2: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: Parallel audio input port > > + > > required: > > - port@0 > > - port@1 > > + - port@2 > > Are you sure it is required? It may cause may dtb check warning. yes, it is required. > > > > > required: > > - compatible > > @@ -98,5 +103,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..d2d723935032 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml > > @@ -0,0 +1,61 @@ > > +# 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@nxp.com> > > + > > +description: > > + The HDMI TX Parallel Audio Interface (HTX_PAI) is a digital module that acts as the > > + bridge between the Audio Subsystem to the HDMI TX Controller. > > remove "a digital module that acts as the" Ok, will update it in the next version. best regards Shengjiu Wang > > Frank > > > + > > +properties: > > + compatible: > > + const: fsl,imx8mp-hdmi-pai > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + power-domains: > > + maxItems: 1 > > + > > + port: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: Output to the HDMI TX controller. > > + unevaluatedProperties: false > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - power-domains > > + - port > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + #include <dt-bindings/power/imx8mp-power.h> > > + > > + hdmi@32fc4800 { > > + compatible = "fsl,imx8mp-hdmi-pai"; > > + reg = <0x32fc4800 0x800>; > > + interrupt-parent = <&irqsteer_hdmi>; > > + interrupts = <14>; > > + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>; > > + > > + port { > > + > > + pai_to_hdmi_tx: endpoint { > > + remote-endpoint = <&hdmi_tx_from_pai>; > > + }; > > + }; > > + }; > > -- > > 2.34.1 > >
© 2016 - 2025 Red Hat, Inc.