[v5,00/10] Add the PowerQUICC audio support using the QMC

Message ID 20230216134226.1692107-1-herve.codina@bootlin.com
Headers
Series Add the PowerQUICC audio support using the QMC |

Message

Herve Codina Feb. 16, 2023, 1:42 p.m. UTC
  Hi,

This series adds support for audio using the QMC controller available in
some Freescale PowerQUICC SoCs.

This series contains three parts in order to show the different blocks
hierarchy and their usage in this support.

The first one is related to TSA (Time Slot Assigner).
The TSA handles the data present at the pin level (TDM with up to 64
time slots) and dispatchs them to one or more serial controller (SCC).

The second is related to QMC (QUICC Multichannel Controller).
The QMC handles the data at the serial controller (SCC) level and splits
again the data to creates some virtual channels.

The last one is related to the audio component (QMC audio).
It is the glue between the QMC controller and the ASoC component. It
handles one or more QMC virtual channels and creates one DAI per QMC
virtual channels handled.

Compared to the previous iteration
  https://lore.kernel.org/linux-kernel/20230126083222.374243-1-herve.codina@bootlin.com/
this v5 series mainly:
  - fixes bindings,
  - removes one left out_8() specific ppc call (missed in v3),
  - changes 'depends-on' in case of COMPILE_TEST.

Best regards,
Herve Codina

Changes v4 -> v5
  - patch 1
    Rename fsl,tsa.yaml to fsl,cpm1-tsa.yaml
    Rename #serial-cells to #fsl,serial-cells and add a description
    Fix typos
    Remove examples present in description
    Use a pattern property for fsl,[rt]x-ts-routes

  - patch 2
    Remove one left out_8() ppc specific function call
    Remove the no more needed PPC dependency in case of COMPILE_TEST

  - patch 4
    Add 'Acked-by: Michael Ellerman <mpe@ellerman.id.au>'

  - patch 5
    Rename fsl,qmc.yaml to fsl,cpm1-scc-qmc.yaml
    Rename #chan-cells to #fsl,chan-cells and add a description

  - patch 6
    Add the SOC_FSL dependency in case of COMPILE_TEST (issue raised by
    the kernel test robot).
    Fix a typo in commit log
    Add 'Acked-by: Li Yang <leoyang.li@nxp.com>'

Changes v3 -> v4
  - patches 2, 6 and 9
    Update code comment format.

  - patch 1
    Fix some description formats.
    Add 'additionalProperties: false' in subnode.
    Move fsl,mode to fsl,diagnostic-mode.
    Change clocks and clock-names properties.
    Add '#serial-cells' property related to the newly introduced
    fsl,tsa-serial phandle.

  - patch 2
    Move fsl,mode to fsl,diagnostic-mode.
    Replace the	fsl,tsa phandle and the	fsl,tsa-cell-id	property by a
    fsl,tsa-serial phandle and update the related API.
    Add missing locks.

  - patch 5
    Fix some description format.
    Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
    fsl,tsa-serial phandle.
    Rename fsl,mode to fsl,operational-mode and update its description.

  - patch 6
    Replace the	fsl,tsa phandle and the	fsl,tsa-cell-id	property by a
    fsl,tsa-serial phandle and use the TSA updated API.
    Rename fsl,mode to fsl,operational-mode.

  - patch 8
    Add 'Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>'

Changes v2 -> v3
  - All bindings
    Rename fsl-tsa.h to fsl,tsa.h
    Add missing vendor prefix
    Various fixes (quotes, node names, upper/lower case)

  - patches 1 and 2 (TSA binding specific)
    Remove 'reserved' values in the routing tables
    Remove fsl,grant-mode
    Add a better description for 'fsl,common-rxtx-pins'
    Fix clocks/clocks-name handling against fsl,common-rxtx-pins
    Add information related to the delays unit
    Removed FSL_CPM_TSA_NBCELL
    Fix license in binding header file fsl,tsa.h

  - patches 5 and 6 (QMC binding specific)
    Remove fsl,cpm-command property
    Add interrupt property constraint

  - patches 8 and 9 (QMC audio binding specific)
    Remove 'items' in compatible property definition
    Add missing 'dai-common.yaml' reference
    Fix the qmc_chan phandle definition

  - patch 2 and 6
    Use io{read,write}be{32,16}
    Change commit subjects and logs

  - patch 4
    Add 'Acked-by: Christophe Leroy <christophe.leroy@csgroup.eu>'

Changes v1 -> v2:
  - patch 2 and 6
    Fix kernel test robot errors

  - other patches
    No changes

Herve Codina (10):
  dt-bindings: soc: fsl: cpm_qe: Add TSA controller
  soc: fsl: cpm1: Add support for TSA
  MAINTAINERS: add the Freescale TSA controller entry
  powerpc/8xx: Use a larger CPM1 command check mask
  dt-bindings: soc: fsl: cpm_qe: Add QMC controller
  soc: fsl: cpm1: Add support for QMC
  MAINTAINERS: add the Freescale QMC controller entry
  dt-bindings: sound: Add support for QMC audio
  ASoC: fsl: Add support for QMC audio
  MAINTAINERS: add the Freescale QMC audio entry

 .../soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml      |  172 ++
 .../bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml |  234 +++
 .../bindings/sound/fsl,qmc-audio.yaml         |  117 ++
 MAINTAINERS                                   |   25 +
 arch/powerpc/platforms/8xx/cpm1.c             |    2 +-
 drivers/soc/fsl/qe/Kconfig                    |   23 +
 drivers/soc/fsl/qe/Makefile                   |    2 +
 drivers/soc/fsl/qe/qmc.c                      | 1533 +++++++++++++++++
 drivers/soc/fsl/qe/tsa.c                      |  869 ++++++++++
 drivers/soc/fsl/qe/tsa.h                      |   42 +
 include/dt-bindings/soc/fsl,tsa.h             |   13 +
 include/soc/fsl/qe/qmc.h                      |   71 +
 sound/soc/fsl/Kconfig                         |    9 +
 sound/soc/fsl/Makefile                        |    2 +
 sound/soc/fsl/fsl_qmc_audio.c                 |  735 ++++++++
 15 files changed, 3848 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
 create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
 create mode 100644 drivers/soc/fsl/qe/qmc.c
 create mode 100644 drivers/soc/fsl/qe/tsa.c
 create mode 100644 drivers/soc/fsl/qe/tsa.h
 create mode 100644 include/dt-bindings/soc/fsl,tsa.h
 create mode 100644 include/soc/fsl/qe/qmc.h
 create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
  

Comments

Michael Ellerman Feb. 16, 2023, 11:52 p.m. UTC | #1
Herve Codina <herve.codina@bootlin.com> writes:
> Hi,
>
> This series adds support for audio using the QMC controller available in
> some Freescale PowerQUICC SoCs.

Who's going to take this series?

By lines of code it's mostly in drivers/soc/fsl, so I was expecting it
would go via that tree.

Or is it a sound series that should go via one of the sound trees?

cheers

...
>  .../soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml      |  172 ++
>  .../bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml |  234 +++
>  .../bindings/sound/fsl,qmc-audio.yaml         |  117 ++
>  MAINTAINERS                                   |   25 +
>  arch/powerpc/platforms/8xx/cpm1.c             |    2 +-
>  drivers/soc/fsl/qe/Kconfig                    |   23 +
>  drivers/soc/fsl/qe/Makefile                   |    2 +
>  drivers/soc/fsl/qe/qmc.c                      | 1533 +++++++++++++++++
>  drivers/soc/fsl/qe/tsa.c                      |  869 ++++++++++
>  drivers/soc/fsl/qe/tsa.h                      |   42 +
>  include/dt-bindings/soc/fsl,tsa.h             |   13 +
>  include/soc/fsl/qe/qmc.h                      |   71 +
>  sound/soc/fsl/Kconfig                         |    9 +
>  sound/soc/fsl/Makefile                        |    2 +
>  sound/soc/fsl/fsl_qmc_audio.c                 |  735 ++++++++
>  15 files changed, 3848 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
>  create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
>  create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
>  create mode 100644 drivers/soc/fsl/qe/qmc.c
>  create mode 100644 drivers/soc/fsl/qe/tsa.c
>  create mode 100644 drivers/soc/fsl/qe/tsa.h
>  create mode 100644 include/dt-bindings/soc/fsl,tsa.h
>  create mode 100644 include/soc/fsl/qe/qmc.h
>  create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
  
Christophe Leroy Feb. 17, 2023, 6:32 a.m. UTC | #2
Le 17/02/2023 à 00:52, Michael Ellerman a écrit :
> Herve Codina <herve.codina@bootlin.com> writes:
>> Hi,
>>
>> This series adds support for audio using the QMC controller available in
>> some Freescale PowerQUICC SoCs.
> 
> Who's going to take this series?
> 
> By lines of code it's mostly in drivers/soc/fsl, so I was expecting it
> would go via that tree.
> 
> Or is it a sound series that should go via one of the sound trees?


It is a sound series, I was expecting it to go via sound tree, that's 
the reason why I asked and got an Acked-by: from fsl soc maintainers.

Mark, is that ok for you or do you expect this series to go via soc tree ?

Thanks
Christophe

> 
> cheers
> 
> ...
>>   .../soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml      |  172 ++
>>   .../bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml |  234 +++
>>   .../bindings/sound/fsl,qmc-audio.yaml         |  117 ++
>>   MAINTAINERS                                   |   25 +
>>   arch/powerpc/platforms/8xx/cpm1.c             |    2 +-
>>   drivers/soc/fsl/qe/Kconfig                    |   23 +
>>   drivers/soc/fsl/qe/Makefile                   |    2 +
>>   drivers/soc/fsl/qe/qmc.c                      | 1533 +++++++++++++++++
>>   drivers/soc/fsl/qe/tsa.c                      |  869 ++++++++++
>>   drivers/soc/fsl/qe/tsa.h                      |   42 +
>>   include/dt-bindings/soc/fsl,tsa.h             |   13 +
>>   include/soc/fsl/qe/qmc.h                      |   71 +
>>   sound/soc/fsl/Kconfig                         |    9 +
>>   sound/soc/fsl/Makefile                        |    2 +
>>   sound/soc/fsl/fsl_qmc_audio.c                 |  735 ++++++++
>>   15 files changed, 3848 insertions(+), 1 deletion(-)
>>   create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
>>   create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
>>   create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
>>   create mode 100644 drivers/soc/fsl/qe/qmc.c
>>   create mode 100644 drivers/soc/fsl/qe/tsa.c
>>   create mode 100644 drivers/soc/fsl/qe/tsa.h
>>   create mode 100644 include/dt-bindings/soc/fsl,tsa.h
>>   create mode 100644 include/soc/fsl/qe/qmc.h
>>   create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
  
Mark Brown Feb. 17, 2023, 7:15 p.m. UTC | #3
On Fri, Feb 17, 2023 at 06:32:03AM +0000, Christophe Leroy wrote:

> Mark, is that ok for you or do you expect this series to go via soc tree ?

Sure, that sounds good to me.  I'll give it another check and
then assuming everything is fine apply for -rc1.
  
Herve Codina Feb. 17, 2023, 8:18 p.m. UTC | #4
On Fri, 17 Feb 2023 19:15:22 +0000
Mark Brown <broonie@kernel.org> wrote:

> On Fri, Feb 17, 2023 at 06:32:03AM +0000, Christophe Leroy wrote:
> 
> > Mark, is that ok for you or do you expect this series to go via soc tree ?
> 
> Sure, that sounds good to me.  I'll give it another check and
> then assuming everything is fine apply for -rc1.

Thanks a lot,
Hervé
  
Herve Codina Feb. 17, 2023, 8:27 p.m. UTC | #5
On Fri, 17 Feb 2023 21:18:20 +0100
Herve Codina <herve.codina@bootlin.com> wrote:

> On Fri, 17 Feb 2023 19:15:22 +0000
> Mark Brown <broonie@kernel.org> wrote:
> 
> > On Fri, Feb 17, 2023 at 06:32:03AM +0000, Christophe Leroy wrote:
> > 
> > > Mark, is that ok for you or do you expect this series to go via soc tree ?
> > 
> > Sure, that sounds good to me.  I'll give it another check and
> > then assuming everything is fine apply for -rc1.
> 
> Thanks a lot,
> Hervé
> 

And note that the v6 series is available.
  https://lore.kernel.org/linux-kernel/20230217145645.1768659-1-herve.codina@bootlin.com/
with the v5 feedbacks from Krzysztof taken into account.

Hervé