[PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP

Shengjiu Wang posted 7 patches 1 week, 1 day ago
.../display/bridge/fsl,imx8mp-hdmi-tx.yaml    |  12 ++
.../display/imx/fsl,imx8mp-hdmi-pai.yaml      |  69 ++++++++
arch/arm64/boot/dts/freescale/imx8mp-evk.dts  |   4 +
arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  27 ++-
drivers/gpu/drm/bridge/imx/Kconfig            |  11 ++
drivers/gpu/drm/bridge/imx/Makefile           |   1 +
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c  | 158 ++++++++++++++++++
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c   |  65 ++++++-
.../drm/bridge/synopsys/dw-hdmi-gp-audio.c    |   5 +
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  18 +-
include/drm/bridge/dw_hdmi.h                  |  11 +-
include/sound/asoundef.h                      |   9 +
12 files changed, 382 insertions(+), 8 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c
[PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP
Posted by Shengjiu Wang 1 week, 1 day ago
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.

Add HDMI PAI driver on i.MX8MP to make HDMI audio function fully work.

changes in v7:
- add back the mutex which removed in v6
- add Tested-by tag from Alexander.

changes in v6:
- remove mutex in dw_hdmi_set_sample_iec958()

changes in v5:
- add empty line commit message for patch 7
- remove blank line in dts node
- add component_unbind_all when dw_hdmi_probe return error

changes in v4:
- separate dts for soc and board
- bind hdmi_pai with hdmi_tx by moving some code to .bind() and .unbind()
- add "select DRM_DW_HDMI" to fix build error reported by test robot
- remove unnecessary code/definition in pai driver

changes in v3:
- add space and 'U' in asoundef.h
- add more commit message for binding doc commit
- add bitfield.h header for fixing build error

changes in v2:
- address some comments on commit messages
- add two more commits:
  add definitions for the bits in IEC958 subframe
  add API dw_hdmi_set_sample_iec958() for iec958 format
- use component helper in hdmi_pai and hdmi_tx driver
- use regmap in hdmi_pai driver.
- add clocks in binding doc

Shengjiu Wang (7):
  dt-bindings: display: imx: add HDMI PAI for i.MX8MP
  ALSA: Add definitions for the bits in IEC958 subframe
  drm/bridge: dw-hdmi: Add API dw_hdmi_to_plat_data() to get plat_data
  drm/bridge: dw-hdmi: Add API dw_hdmi_set_sample_iec958() for iec958
    format
  drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface
  arm64: dts: imx8mp: Add hdmi parallel audio interface node
  arm64: dts: imx8mp-evk: enable hdmi_pai device

 .../display/bridge/fsl,imx8mp-hdmi-tx.yaml    |  12 ++
 .../display/imx/fsl,imx8mp-hdmi-pai.yaml      |  69 ++++++++
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts  |   4 +
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  27 ++-
 drivers/gpu/drm/bridge/imx/Kconfig            |  11 ++
 drivers/gpu/drm/bridge/imx/Makefile           |   1 +
 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c  | 158 ++++++++++++++++++
 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c   |  65 ++++++-
 .../drm/bridge/synopsys/dw-hdmi-gp-audio.c    |   5 +
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  18 +-
 include/drm/bridge/dw_hdmi.h                  |  11 +-
 include/sound/asoundef.h                      |   9 +
 12 files changed, 382 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
 create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c

-- 
2.34.1
Re: [PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP
Posted by Liu Ying 1 week, 1 day ago
On 09/23/2025, Shengjiu Wang wrote:
> 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.
> 
> Add HDMI PAI driver on i.MX8MP to make HDMI audio function fully work.
> 
> changes in v7:
> - add back the mutex which removed in v6
> - add Tested-by tag from Alexander.
> 
> changes in v6:
> - remove mutex in dw_hdmi_set_sample_iec958()
> 
> changes in v5:
> - add empty line commit message for patch 7
> - remove blank line in dts node
> - add component_unbind_all when dw_hdmi_probe return error
> 
> changes in v4:
> - separate dts for soc and board
> - bind hdmi_pai with hdmi_tx by moving some code to .bind() and .unbind()
> - add "select DRM_DW_HDMI" to fix build error reported by test robot
> - remove unnecessary code/definition in pai driver
> 
> changes in v3:
> - add space and 'U' in asoundef.h
> - add more commit message for binding doc commit
> - add bitfield.h header for fixing build error
> 
> changes in v2:
> - address some comments on commit messages
> - add two more commits:
>   add definitions for the bits in IEC958 subframe
>   add API dw_hdmi_set_sample_iec958() for iec958 format
> - use component helper in hdmi_pai and hdmi_tx driver
> - use regmap in hdmi_pai driver.
> - add clocks in binding doc
> 
> Shengjiu Wang (7):
>   dt-bindings: display: imx: add HDMI PAI for i.MX8MP
>   ALSA: Add definitions for the bits in IEC958 subframe
>   drm/bridge: dw-hdmi: Add API dw_hdmi_to_plat_data() to get plat_data
>   drm/bridge: dw-hdmi: Add API dw_hdmi_set_sample_iec958() for iec958
>     format
>   drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface
>   arm64: dts: imx8mp: Add hdmi parallel audio interface node
>   arm64: dts: imx8mp-evk: enable hdmi_pai device

Jaroslav, Takashi, do you think it's ok to land patch 2 through drm-misc,
as that patch touches include/sound/asoundef.h?

DRM maintainers, if you think only my A-b tags on patch 3&4 is not sufficient,
please comment.

If no objections, I'm going to push patch 1-5 to drm-misc-next early next
week.

> 
>  .../display/bridge/fsl,imx8mp-hdmi-tx.yaml    |  12 ++
>  .../display/imx/fsl,imx8mp-hdmi-pai.yaml      |  69 ++++++++
>  arch/arm64/boot/dts/freescale/imx8mp-evk.dts  |   4 +
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  27 ++-
>  drivers/gpu/drm/bridge/imx/Kconfig            |  11 ++
>  drivers/gpu/drm/bridge/imx/Makefile           |   1 +
>  drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c  | 158 ++++++++++++++++++
>  drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c   |  65 ++++++-
>  .../drm/bridge/synopsys/dw-hdmi-gp-audio.c    |   5 +
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  18 +-
>  include/drm/bridge/dw_hdmi.h                  |  11 +-
>  include/sound/asoundef.h                      |   9 +
>  12 files changed, 382 insertions(+), 8 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
>  create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c
> 


-- 
Regards,
Liu Ying
Re: [PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP
Posted by Liu Ying 5 days, 20 hours ago
Hi Jaroslav, Takashi,

On 09/23/2025, Liu Ying wrote:
> On 09/23/2025, Shengjiu Wang wrote:
>> Shengjiu Wang (7):
>>   dt-bindings: display: imx: add HDMI PAI for i.MX8MP
>>   ALSA: Add definitions for the bits in IEC958 subframe
>>   drm/bridge: dw-hdmi: Add API dw_hdmi_to_plat_data() to get plat_data
>>   drm/bridge: dw-hdmi: Add API dw_hdmi_set_sample_iec958() for iec958
>>     format
>>   drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface
>>   arm64: dts: imx8mp: Add hdmi parallel audio interface node
>>   arm64: dts: imx8mp-evk: enable hdmi_pai device
> 
> Jaroslav, Takashi, do you think it's ok to land patch 2 through drm-misc,
> as that patch touches include/sound/asoundef.h?

Can you please comment?

-- 
Regards,
Liu Ying
Re: [PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP
Posted by Takashi Iwai 4 days, 16 hours ago
On Fri, 26 Sep 2025 08:03:15 +0200,
Liu Ying wrote:
> 
> Hi Jaroslav, Takashi,
> 
> On 09/23/2025, Liu Ying wrote:
> > On 09/23/2025, Shengjiu Wang wrote:
> >> Shengjiu Wang (7):
> >>   dt-bindings: display: imx: add HDMI PAI for i.MX8MP
> >>   ALSA: Add definitions for the bits in IEC958 subframe
> >>   drm/bridge: dw-hdmi: Add API dw_hdmi_to_plat_data() to get plat_data
> >>   drm/bridge: dw-hdmi: Add API dw_hdmi_set_sample_iec958() for iec958
> >>     format
> >>   drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface
> >>   arm64: dts: imx8mp: Add hdmi parallel audio interface node
> >>   arm64: dts: imx8mp-evk: enable hdmi_pai device
> > 
> > Jaroslav, Takashi, do you think it's ok to land patch 2 through drm-misc,
> > as that patch touches include/sound/asoundef.h?
> 
> Can you please comment?

Sorry, I've been off in this week (and am catching backlogs).

And, yes, feel free to take the change via drm tree.  I already gave
my Reviewed-by tag for that.


thanks,

Takashi
Re: [PATCH v7 0/7] drm/bridge: imx: Add HDMI PAI driver on i.MX8MP
Posted by Liu Ying 2 days, 23 hours ago
On 09/23/2025, Shengjiu Wang wrote:
> 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.
> 
> Add HDMI PAI driver on i.MX8MP to make HDMI audio function fully work.
> 
> changes in v7:
> - add back the mutex which removed in v6
> - add Tested-by tag from Alexander.
> 
> changes in v6:
> - remove mutex in dw_hdmi_set_sample_iec958()
> 
> changes in v5:
> - add empty line commit message for patch 7
> - remove blank line in dts node
> - add component_unbind_all when dw_hdmi_probe return error
> 
> changes in v4:
> - separate dts for soc and board
> - bind hdmi_pai with hdmi_tx by moving some code to .bind() and .unbind()
> - add "select DRM_DW_HDMI" to fix build error reported by test robot
> - remove unnecessary code/definition in pai driver
> 
> changes in v3:
> - add space and 'U' in asoundef.h
> - add more commit message for binding doc commit
> - add bitfield.h header for fixing build error
> 
> changes in v2:
> - address some comments on commit messages
> - add two more commits:
>   add definitions for the bits in IEC958 subframe
>   add API dw_hdmi_set_sample_iec958() for iec958 format
> - use component helper in hdmi_pai and hdmi_tx driver
> - use regmap in hdmi_pai driver.
> - add clocks in binding doc
> 
> Shengjiu Wang (7):
>   dt-bindings: display: imx: add HDMI PAI for i.MX8MP
>   ALSA: Add definitions for the bits in IEC958 subframe
>   drm/bridge: dw-hdmi: Add API dw_hdmi_to_plat_data() to get plat_data
>   drm/bridge: dw-hdmi: Add API dw_hdmi_set_sample_iec958() for iec958
>     format
>   drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface
>   arm64: dts: imx8mp: Add hdmi parallel audio interface node
>   arm64: dts: imx8mp-evk: enable hdmi_pai device
> 
>  .../display/bridge/fsl,imx8mp-hdmi-tx.yaml    |  12 ++
>  .../display/imx/fsl,imx8mp-hdmi-pai.yaml      |  69 ++++++++
>  arch/arm64/boot/dts/freescale/imx8mp-evk.dts  |   4 +
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  27 ++-
>  drivers/gpu/drm/bridge/imx/Kconfig            |  11 ++
>  drivers/gpu/drm/bridge/imx/Makefile           |   1 +
>  drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c  | 158 ++++++++++++++++++
>  drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c   |  65 ++++++-
>  .../drm/bridge/synopsys/dw-hdmi-gp-audio.c    |   5 +
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  18 +-
>  include/drm/bridge/dw_hdmi.h                  |  11 +-
>  include/sound/asoundef.h                      |   9 +
>  12 files changed, 382 insertions(+), 8 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pai.yaml
>  create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c
> 

Since patch 2 has Takashi's R-b tag, I used 'dim -f' to get rid of the
below error when I applied patch 1-5.

dim: ERROR: be0bd958cedd ("ALSA: Add definitions for the bits in IEC958
subframe"): Mandatory Maintainer Acked-by missing., aborting

Applied patch 1-5 to misc/kernel.git (drm-misc-next).  Thanks!

-- 
Regards,
Liu Ying