[PATCH v4 00/12] ASoC: rsnd: Add RZ/G3E audio driver support

John Madieu posted 12 patches 2 months ago
There is a newer version of this series
.../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
[PATCH v4 00/12] ASoC: rsnd: Add RZ/G3E audio driver support
Posted by John Madieu 2 months ago
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