All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/12] ASoC: rsnd: Add RZ/G3E audio driver support
@ 2026-04-09  9:02 John Madieu
  2026-04-09  9:02 ` [PATCH v4 01/12] ASoC: dt-bindings: renesas,rsnd: Split into generic and SoC-specific parts John Madieu
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: John Madieu @ 2026-04-09  9:02 UTC (permalink / raw)
  To: Kuninori Morimoto, Mark Brown, Liam Girdwood, Geert Uytterhoeven
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela,
	Takashi Iwai, Magnus Damm, Philipp Zabel, Claudiu Beznea,
	Biju Das, john.madieu, linux-sound, linux-renesas-soc, devicetree,
	linux-kernel, John Madieu

Add audio support for the Renesas RZ/G3E SoC to the R-Car Sound
driver. The RZ/G3E audio subsystem is based on R-Car Sound IP but
has several differences requiring dedicated handling:

  - SSI operates exclusively in BUSIF mode (no PIO)
  - 2-4 BUSIF channels per SSI (layout differs from R-Car)
  - Separate register regions for SCU, ADG, SSIU, SSI accessed by name
  - Per-SSI ADG and SSIF supply clocks
  - Dedicated audmacpp clock/reset for Audio DMAC peri-peri
  - Per-SSI and per-module reset controllers via CPG

Changes:
 
v4:
 - Add reset_control_assert() in rsnd_mod_quit() for symmetry with
   deassert in rsnd_mod_init() (Mark Brown)
 - Fix RSND_SOC_MASK to (0xF << 4) to avoid overlap with RSND_RZ_MASK.
   Add nibble layout comment documenting the flag bit  allocation
 - Move audmapp_clk and audmapp_rstc from struct rsnd_priv
   into struct rsnd_dma_ctrl
 - Replace raw [3][2][3] DMA address array with named
   structs (rsnd_dma_addr_dir, rsnd_dma_addr_map) for self-documenting
   table initializers
 - Move busif_status_count from file-static into new
   struct rsnd_ssiu_ctrl, following the rsnd_dma_ctrl pattern.
   Remove duplicate priv variable. Properly propagate reset errors
   via dev_err_probe()
 - Clarify commit message regarding PIO mode still being available on
   R-Car
 - Collapse dev_err_probe() and rsnd_mod_init() calls to single lines
 - Move per-SSI ADG and SSIF supply clock prepare/unprepare
   into rsnd_adg_clk_control() instead of separate functions, eliminating
   hw_params prepare leak concern. Return proper errors on clk_enable()
   failure
 - Move shared SCU clocks from file-statics into new
   struct rsnd_src_ctrl, following the rsnd_dma_ctrl pattern. Keep
   original declaration order for struct device_node *node
 - Merge rsnd_adg_mod_get() helper directly into this
   patch instead of a separate preparatory patch. Distribute
   suspend/resume declarations into their respective IP sections in rsnd.h
 - Drop former patch 12/14 "Add rsnd_adg_mod_get() for PM support":
   merged into patch 12/12
 - Drop former patch 13/14 "Export rsnd_ssiu_mod_get() for PM support":
   function was unused

v3:
 - Split out from v2 series [1] to ASoC-specific patchset.

v2:
 - Split of rsnd.yaml into common and R-Car-specific schemas
 - Introduce RZ/G3E sound binding as a standalone schema
 - Addressed Kuninori'comments, details are in individual patches

[1] https://lore.kernel.org/all/20260402090524.9137-1-john.madieu.xa@bp.renesas.com/

John Madieu (12):
  ASoC: dt-bindings: renesas,rsnd: Split into generic and SoC-specific
    parts
  ASoC: dt-bindings: Add RZ/G3E (R9A09G047) sound binding
  ASoC: rsnd: Add reset controller support to rsnd_mod
  ASoC: rsnd: Add RZ/G3E SoC probing and register map
  ASoC: rsnd: Add audmacpp clock and reset support for RZ/G3E
  ASoC: rsnd: Add RZ/G3E DMA address calculation support
  ASoC: rsnd: ssui: Add RZ/G3E SSIU BUSIF support
  ASoC: rsnd: Add SSI reset support for RZ/G3E platforms
  ASoC: rsnd: Add ADG reset support for RZ/G3E
  ASoC: rsnd: adg: Add per-SSI ADG and SSIF supply clock management
  ASoC: rsnd: src: Add SRC reset and clock support for RZ/G3E
  ASoC: rsnd: Add system suspend/resume support

 .../sound/renesas,r9a09g047-sound.yaml        | 371 ++++++++++++++++++
 .../bindings/sound/renesas,rsnd-common.yaml   | 196 +++++++++
 .../bindings/sound/renesas,rsnd.yaml          | 319 ++++-----------
 sound/soc/renesas/rcar/adg.c                  | 125 +++++-
 sound/soc/renesas/rcar/cmd.c                  |   2 +-
 sound/soc/renesas/rcar/core.c                 |  61 ++-
 sound/soc/renesas/rcar/ctu.c                  |  22 +-
 sound/soc/renesas/rcar/dma.c                  | 274 ++++++++++---
 sound/soc/renesas/rcar/dvc.c                  |  22 +-
 sound/soc/renesas/rcar/gen.c                  | 180 +++++++++
 sound/soc/renesas/rcar/mix.c                  |  22 +-
 sound/soc/renesas/rcar/rsnd.h                 |  51 ++-
 sound/soc/renesas/rcar/src.c                  |  85 +++-
 sound/soc/renesas/rcar/ssi.c                  |  33 +-
 sound/soc/renesas/rcar/ssiu.c                 |  83 +++-
 15 files changed, 1518 insertions(+), 328 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/renesas,rsnd-common.yaml

-- 
2.25.1


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

end of thread, other threads:[~2026-08-14  0:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-09  9:02 [PATCH v4 00/12] ASoC: rsnd: Add RZ/G3E audio driver support John Madieu
2026-04-09  9:02 ` [PATCH v4 01/12] ASoC: dt-bindings: renesas,rsnd: Split into generic and SoC-specific parts John Madieu
2026-04-10  7:05   ` Krzysztof Kozlowski
2026-08-14  0:02   ` sashiko-bot
2026-04-09  9:02 ` [PATCH v4 02/12] ASoC: dt-bindings: Add RZ/G3E (R9A09G047) sound binding John Madieu
2026-04-10  7:10   ` Krzysztof Kozlowski
2026-04-15 10:43     ` John Madieu
2026-04-09  9:02 ` [PATCH v4 03/12] ASoC: rsnd: Add reset controller support to rsnd_mod John Madieu
2026-04-09  9:02 ` [PATCH v4 04/12] ASoC: rsnd: Add RZ/G3E SoC probing and register map John Madieu
2026-04-10  1:54   ` Kuninori Morimoto
2026-04-09  9:02 ` [PATCH v4 05/12] ASoC: rsnd: Add audmacpp clock and reset support for RZ/G3E John Madieu
2026-04-10  1:56   ` Kuninori Morimoto
2026-04-09  9:02 ` [PATCH v4 06/12] ASoC: rsnd: Add RZ/G3E DMA address calculation support John Madieu
2026-04-10  2:06   ` Kuninori Morimoto
2026-04-09  9:02 ` [PATCH v4 07/12] ASoC: rsnd: ssui: Add RZ/G3E SSIU BUSIF support John Madieu
2026-04-09  9:02 ` [PATCH v4 08/12] ASoC: rsnd: Add SSI reset support for RZ/G3E platforms John Madieu
2026-04-09  9:02 ` [PATCH v4 09/12] ASoC: rsnd: Add ADG reset support for RZ/G3E John Madieu
2026-04-09  9:02 ` [PATCH v4 10/12] ASoC: rsnd: adg: Add per-SSI ADG and SSIF supply clock management John Madieu
2026-04-09  9:03 ` [PATCH v4 11/12] ASoC: rsnd: src: Add SRC reset and clock support for RZ/G3E John Madieu
2026-04-09  9:03 ` [PATCH v4 12/12] ASoC: rsnd: Add system suspend/resume support John Madieu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.