driverdev-devel.linuxdriverproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] media: adv748x: add support for HDMI audio
@ 2020-03-19 17:41 Alex Riesen
  2020-03-19 17:41 ` [PATCH v2 01/10] media: adv748x: fix end-of-line terminators in diagnostic statements Alex Riesen
                   ` (9 more replies)
  0 siblings, 10 replies; 32+ messages in thread
From: Alex Riesen @ 2020-03-19 17:41 UTC (permalink / raw)
  To: Kieran Bingham
  Cc: Mark Rutland, devel, Kuninori Morimoto, devicetree, linux-kernel,
	linux-renesas-soc, Rob Herring, Geert Uytterhoeven,
	Laurent Pinchart, Hans Verkuil, Mauro Carvalho Chehab,
	linux-media

This adds minimal support for accessing the HDMI audio provided through the
I2S port available on ADV7481 and ADV7482 decoder devices by ADI.
The port carries audio signal from the decoded HDMI stream.

Currently, the driver only supports I2S in TDM, 8 channels a 24bit at 48kHz.
Furthermore, only left-justified, 8 slots, 32bit/slot TDM, at 256fs has been
ever tried.

An ADV7482 on the Renesas Salvator-X ES1.1 (R8A77950 SoC) was used during
development of this code.

Changes since v1:
  - Add ssi4_ctrl pin group to the sound pins. The pins are responsible for
    SCK4 (sample clock) WS4 and (word boundary input), and are required for
    SSI audio input over I2S.
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>

  - Removed the audio clock C from the list of clocks of adv748x,
    it is exactly the other way around.
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>

  - Add an instance of (currently) fixed rate I2S master clock (MCLK),
    connected to the audio_clk_c line of the R-Car SoC.
    Explicitly declare the device a clock producer and add it to the
    list of clocks used by the audio system of the Salvator-X board.
    Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>

  - The implementation of DAI driver has been moved in a separate file
    and modified to activate audio decoding and I2S streaming using
    snd_soc_dai_... interfaces. This allows the driver to be used with
    just ALSA interfaces.

  - The ioctls for selecting audio output and muting have been removed,
    as not applicable.
    Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    I have left implementation of the QUERYCAP in, as it seems to be required
    by v4l-ctl to support loading of EDID for this node. And setting the EDID
    is one feature I desperately need: there are devices which plainly refuse
    to talk to the sink if it does not provide EDID they like.

  - A device tree configuration without audio port will disable the audio code
    altogether, supporting integrations where the port is not connected.

  - The patches have been re-arranged, starting with the generic changes and
    changes not related to audio directly. Those will be probably sent as a
    separate series later.

  - The whole series has been rebased on top of v5.6-rc6

Alex Riesen (10):
  media: adv748x: fix end-of-line terminators in diagnostic statements
  media: adv748x: include everything adv748x.h needs into the file
  media: adv748x: reduce amount of code for bitwise modifications of
    device registers
  media: adv748x: add definitions for audio output related registers
  media: adv748x: add support for HDMI audio
  media: adv748x: only activate DAI if it is described in device tree
  dt-bindings: adv748x: add information about serial audio interface
    (I2S/TDM)
  arm64: dts: renesas: salvator: add a connection from adv748x codec
    (HDMI input) to the R-Car SoC
  media: adv748x: add support for log_status ioctl
  media: adv748x: allow the HDMI sub-device to accept EDID

 .../devicetree/bindings/media/i2c/adv748x.txt |  16 +-
 .../boot/dts/renesas/r8a77950-salvator-x.dts  |   3 +-
 .../boot/dts/renesas/salvator-common.dtsi     |  47 +++-
 drivers/media/i2c/adv748x/Makefile            |   3 +-
 drivers/media/i2c/adv748x/adv748x-afe.c       |   2 -
 drivers/media/i2c/adv748x/adv748x-core.c      |  56 +++-
 drivers/media/i2c/adv748x/adv748x-csi2.c      |   4 +-
 drivers/media/i2c/adv748x/adv748x-dai.c       | 261 ++++++++++++++++++
 drivers/media/i2c/adv748x/adv748x-hdmi.c      | 208 +++++++++++++-
 drivers/media/i2c/adv748x/adv748x.h           |  67 ++++-
 10 files changed, 633 insertions(+), 34 deletions(-)
 create mode 100644 drivers/media/i2c/adv748x/adv748x-dai.c

-- 
2.25.1.25.g9ecbe7eb18

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2020-03-23  7:36 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-19 17:41 [PATCH v2 00/10] media: adv748x: add support for HDMI audio Alex Riesen
2020-03-19 17:41 ` [PATCH v2 01/10] media: adv748x: fix end-of-line terminators in diagnostic statements Alex Riesen
2020-03-19 18:03   ` Laurent Pinchart
2020-03-19 17:41 ` [PATCH v2 02/10] media: adv748x: include everything adv748x.h needs into the file Alex Riesen
2020-03-19 17:48   ` Laurent Pinchart
2020-03-20  8:23     ` Alex Riesen
2020-03-19 17:41 ` [PATCH v2 03/10] media: adv748x: reduce amount of code for bitwise modifications of device registers Alex Riesen
2020-03-19 18:06   ` Laurent Pinchart
2020-03-20  9:08     ` Alex Riesen
2020-03-19 17:41 ` [PATCH v2 04/10] media: adv748x: add definitions for audio output related registers Alex Riesen
2020-03-19 17:42 ` [PATCH v2 05/10] media: adv748x: add support for HDMI audio Alex Riesen
2020-03-20  8:43   ` Geert Uytterhoeven
2020-03-20  8:57     ` Alex Riesen
2020-03-20  9:10       ` Geert Uytterhoeven
2020-03-20 10:58     ` Alex Riesen
2020-03-20 11:05       ` Geert Uytterhoeven
2020-03-20 11:11         ` Alex Riesen
2020-03-19 17:42 ` [PATCH v2 06/10] media: adv748x: only activate DAI if it is described in device tree Alex Riesen
2020-03-19 17:42 ` [PATCH v2 07/10] dt-bindings: adv748x: add information about serial audio interface (I2S/TDM) Alex Riesen
2020-03-19 18:01   ` Laurent Pinchart
2020-03-20  8:44     ` Alex Riesen
2020-03-20  8:48       ` Geert Uytterhoeven
2020-03-20  9:03         ` Alex Riesen
2020-03-20  9:15           ` Geert Uytterhoeven
2020-03-20  9:18             ` Alex Riesen
2020-03-20  9:59           ` Laurent Pinchart
2020-03-20 16:15             ` Alex Riesen
2020-03-19 17:42 ` [PATCH v2 08/10] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC Alex Riesen
2020-03-23  0:12   ` Kuninori Morimoto
2020-03-23  7:35     ` Alex Riesen
2020-03-19 17:42 ` [PATCH v2 09/10] media: adv748x: add support for log_status ioctl Alex Riesen
2020-03-19 17:43 ` [PATCH v2 10/10] media: adv748x: allow the HDMI sub-device to accept EDID Alex Riesen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).