Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp675174rwb; Fri, 13 Jan 2023 02:50:30 -0800 (PST) X-Google-Smtp-Source: AMrXdXt3Ab7kz69GNALf50Y2JlIGJl8ol3k9oyEBPrNNzzuizKoSO7odKD5uGzB7PkjCnZO8YKku X-Received: by 2002:a17:90b:4d8c:b0:223:dd6f:13af with SMTP id oj12-20020a17090b4d8c00b00223dd6f13afmr84536267pjb.36.1673607030773; Fri, 13 Jan 2023 02:50:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673607030; cv=none; d=google.com; s=arc-20160816; b=Px+IWki8Q1F/fysvD1PwCkep8oJTxzcT4CLxCHEJiBpb4EZoMUXZqYe701NZMias/f pQ6EGLIKv5zXR93VaY2VmG3va1JtFc2YKCLPnttgoA9K+Owb0SuA33fpCr/3Wepl9fIJ tUVqf8Q/hUxba+eX0+oBzuoQ7wIqJoum92wtrjlxgTQevpdEiQaJw+Vs2SmEQRm1Igto gOiEgtPoLZGpnL/STiSmpE/KvO8/UPLnXVrb97T/JaPTI536+YLcIOkjdsWeWkRxqap3 IzhMj8FO30CwYS4m7EA9j0oZrLfy8q/fyGcyOl6QsJS/n9M8k2T8KGQQx+DtptyoVgDD zYmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=QZrDoPTVMtt/nPtGEUH/c16zuug+TjuwVzIICNji49Q=; b=TPgDVnJGVpW/cED6j3znHudrmlFYNBjqar5rWxZyNhINRJwzqyY3HrEkqoIWc2BqAG YJ1yLVrN0DITtAVuYheECo0QSsB7SWGsXDgkJ5GHQnwCTdtU0kAnJLsfb/FkOh19ouzG VILIcMOkSa6wkLhih0LaMu84Fq6SMd7voym4bKm+9RuMq1CTQsTCdJk+saQBMBCR7Ttx /mfHktKpj8oz6QfA+N6+L+koR9AMvcOcDW2p3p5GyV4EBY+y8RPp07plZNCXNIPkW2Pr AaFwJnJaEPEv1ruUD2g/E+KfyLu9WGhiEuyqVreEsZiO5+GM190XW5j4Mv5194UC+ZH8 w5Zw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=XJXZKssK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id my7-20020a17090b4c8700b002187b07b835si20991100pjb.52.2023.01.13.02.50.23; Fri, 13 Jan 2023 02:50:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=XJXZKssK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241359AbjAMKj2 (ORCPT + 51 others); Fri, 13 Jan 2023 05:39:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241346AbjAMKia (ORCPT ); Fri, 13 Jan 2023 05:38:30 -0500 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::229]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83ADC76AF7; Fri, 13 Jan 2023 02:38:07 -0800 (PST) Received: (Authenticated sender: herve.codina@bootlin.com) by mail.gandi.net (Postfix) with ESMTPA id DDFD6FF808; Fri, 13 Jan 2023 10:38:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1673606286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QZrDoPTVMtt/nPtGEUH/c16zuug+TjuwVzIICNji49Q=; b=XJXZKssKn38Y38w5k0cQ+2NB8kxVenn82zuQYsDnBMaugApThAvX4ZBttyXqHgKmE97kVM LTJDipEWXjkLpVqy51JIgbI0hhC6PE/xk0RCf1JdBk/1I4L6mO7Z8FiPdiaIhy7yX1s8yJ Eq2HEVuhfhjb99kTJfsuK7ZZfhv91mTBYC1ELi//OM8me7vazndBlNM13ejvYJINg/k7+X lYRZ53VYA7FQ0eAgFn+vQ/TuqHuAABBNWp15KaXV7LdquooG55Xj8CH4uqzQRrPBDhFZLq xNxIEsoXz/RkytUY28IMJQUVz0200qxVGbxgY24tYsxidcTxMlfJ/nZ2xCZimQ== From: Herve Codina To: Herve Codina , Li Yang , Rob Herring , Krzysztof Kozlowski , Liam Girdwood , Mark Brown , Christophe Leroy , Michael Ellerman , Nicholas Piggin , Qiang Zhao , Jaroslav Kysela , Takashi Iwai , Shengjiu Wang , Xiubo Li , Fabio Estevam , Nicolin Chen Cc: linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, Thomas Petazzoni Subject: [PATCH v3 00/10] Add the PowerQUICC audio support using the QMC Date: Fri, 13 Jan 2023 11:37:49 +0100 Message-Id: <20230113103759.327698-1-herve.codina@bootlin.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 v2 series, this v3 series mainly: - adds modification in the DT bindings, - uses generic io{read,write}be{16,32} for registers accesses instead of the specific PowerPC ones. - updates some commit subjects and logs (CPM1 SoCs supports). Best regards, Herve Codina 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 ' 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: cmp1: 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 .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++ .../bindings/soc/fsl/cpm_qe/fsl,tsa.yaml | 260 +++ .../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 | 1531 +++++++++++++++++ drivers/soc/fsl/qe/tsa.c | 810 +++++++++ drivers/soc/fsl/qe/tsa.h | 43 + 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 | 732 ++++++++ 15 files changed, 3803 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,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 -- 2.38.1