All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/5] Apple Macs machine/platform ASoC driver
@ 2022-06-06 19:19 ` Martin Povišer
  0 siblings, 0 replies; 55+ messages in thread
From: Martin Povišer @ 2022-06-06 19:19 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Jaroslav Kysela, Takashi Iwai
  Cc: Martin Povišer, alsa-devel, devicetree, linux-kernel,
	Mark Kettenis, Hector Martin, Sven Peter, asahi

Hi all,

This is again RFC with a machine-level ASoC driver for recent Apple Macs
with the M1 line of chips. This time I attached the platform driver too
for good measure. What I am interested in the most is checking the overall
approach, especially on two points (both in some ways already discussed
in previous RFC [0]):

 - The way the platform/machine driver handles the fact that multiple I2S
   ports (now backend DAIs) can be driven by/connected to the same SERDES
   unit (now in effect a frontend DAI). After previous discussion I have
   transitioned to DPCM to model this. I took the opportunity of dynamic
   backend/frontend routing to support speakers/headphones runtime
   switching. More on this in comments at top of the machine and platform
   driver.

 - The way the machine driver deactivates some of the controls where
   suitable, and limits volume on others. I added a new ASoC card method
   to that end.

Kind regards,
Martin

[0] https://lore.kernel.org/linux-devicetree/20220331000449.41062-1-povik+lin@cutebit.org/

Martin Povišer (5):
  dt-bindings: sound: Add Apple MCA I2S transceiver
  dt-bindings: sound: Add Apple Macs sound peripherals
  ASoC: apple: Add MCA platform driver for Apple SoCs
  ASoC: Introduce 'fixup_controls' card method
  ASoC: apple: Add macaudio machine driver

 .../bindings/sound/apple,macaudio.yaml        |  157 +++
 .../devicetree/bindings/sound/apple,mca.yaml  |  102 ++
 include/sound/soc-card.h                      |    1 +
 include/sound/soc.h                           |    1 +
 sound/soc/Kconfig                             |    1 +
 sound/soc/Makefile                            |    1 +
 sound/soc/apple/Kconfig                       |   25 +
 sound/soc/apple/Makefile                      |    5 +
 sound/soc/apple/macaudio.c                    | 1004 +++++++++++++++
 sound/soc/apple/mca.c                         | 1122 +++++++++++++++++
 sound/soc/soc-card.c                          |    6 +
 sound/soc/soc-core.c                          |    1 +
 12 files changed, 2426 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/apple,macaudio.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/apple,mca.yaml
 create mode 100644 sound/soc/apple/Kconfig
 create mode 100644 sound/soc/apple/Makefile
 create mode 100644 sound/soc/apple/macaudio.c
 create mode 100644 sound/soc/apple/mca.c

-- 
2.33.0


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

end of thread, other threads:[~2022-06-10 15:59 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-06 19:19 [RFC PATCH v2 0/5] Apple Macs machine/platform ASoC driver Martin Povišer
2022-06-06 19:19 ` Martin Povišer
2022-06-06 19:19 ` [RFC PATCH v2 1/5] dt-bindings: sound: Add Apple MCA I2S transceiver Martin Povišer
2022-06-06 19:19   ` Martin Povišer
2022-06-06 19:44   ` Mark Brown
2022-06-06 19:44     ` Mark Brown
2022-06-09 18:44   ` Rob Herring
2022-06-09 18:44     ` Rob Herring
2022-06-06 19:19 ` [RFC PATCH v2 2/5] dt-bindings: sound: Add Apple Macs sound peripherals Martin Povišer
2022-06-06 19:19   ` Martin Povišer
2022-06-06 19:49   ` Mark Brown
2022-06-06 19:49     ` Mark Brown
2022-06-09 20:03   ` Rob Herring
2022-06-09 20:03     ` Rob Herring
2022-06-06 19:19 ` [RFC PATCH v2 3/5] ASoC: apple: Add MCA platform driver for Apple SoCs Martin Povišer
2022-06-06 19:19   ` Martin Povišer
2022-06-06 20:17   ` Mark Brown
2022-06-06 20:17     ` Mark Brown
2022-06-06 20:35     ` Martin Povišer
2022-06-06 20:35       ` Martin Povišer
2022-06-06 19:19 ` [RFC PATCH v2 4/5] ASoC: Introduce 'fixup_controls' card method Martin Povišer
2022-06-06 19:19   ` Martin Povišer
2022-06-06 19:19 ` [RFC PATCH v2 5/5] ASoC: apple: Add macaudio machine driver Martin Povišer
2022-06-06 19:19   ` Martin Povišer
2022-06-06 20:02   ` Pierre-Louis Bossart
2022-06-06 20:46     ` Martin Povišer
2022-06-06 20:46       ` Martin Povišer
2022-06-06 20:46       ` Martin Povišer
2022-06-06 21:22       ` Pierre-Louis Bossart
2022-06-06 21:22         ` Pierre-Louis Bossart
2022-06-06 21:33         ` Martin Povišer
2022-06-06 21:33           ` Martin Povišer
2022-06-06 21:33           ` Martin Povišer
2022-06-09 13:16   ` Mark Brown
2022-06-09 13:16     ` Mark Brown
2022-06-09 13:42     ` Martin Povišer
2022-06-09 13:42       ` Martin Povišer
2022-06-09 15:03       ` Mark Brown
2022-06-09 15:03         ` Mark Brown
     [not found]         ` <2A0422B8-8367-457E-A146-730F7C3DE66B@cutebit.org>
     [not found]           ` <YqIWtzphzVGmbIOe@sirena.org.uk>
2022-06-09 16:19             ` Martin Povišer
2022-06-09 16:19               ` Martin Povišer
2022-06-09 16:35               ` Mark Brown
2022-06-09 16:35                 ` Mark Brown
2022-06-09 13:33   ` Mark Brown
2022-06-09 13:33     ` Mark Brown
2022-06-09 14:09     ` Martin Povišer
2022-06-09 14:09       ` Martin Povišer
2022-06-09 15:16       ` Mark Brown
2022-06-09 15:16         ` Mark Brown
2022-06-09 15:27         ` Martin Povišer
2022-06-09 15:27           ` Martin Povišer
2022-06-09 15:53 ` [RFC PATCH v2 0/5] Apple Macs machine/platform ASoC driver Mark Brown
2022-06-09 15:53   ` Mark Brown
2022-06-10 15:58 ` (subset) " Mark Brown
2022-06-10 15:58   ` Mark Brown

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.