From patchwork Fri Jan 6 13:29:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Herve Codina X-Patchwork-Id: 3664 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp830007wrt; Fri, 6 Jan 2023 05:40:44 -0800 (PST) X-Google-Smtp-Source: AMrXdXt1OgnkXQNAvpGO2c2vi6MrukZfo+4eBjBdS5AgFpk+Pgk/vhHQmEI8TzrXty1IxaFoA3To X-Received: by 2002:aa7:cb4b:0:b0:491:3a5c:6e5 with SMTP id w11-20020aa7cb4b000000b004913a5c06e5mr8830069edt.1.1673012444032; Fri, 06 Jan 2023 05:40:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673012444; cv=none; d=google.com; s=arc-20160816; b=zKkW3dnD4rkmFVPQB0FsoCqkk6ESrThPI17rfScY6dBoEOn3rgurdTdnYX6BAEPHt3 ZnsIPBiSGiyTyK9wCtpdyu8AzZfdn8pTIcoZL/SVREhPxeNM35bqw61F6sHe2azKLmV3 mNnwa3Wnhk2N74FzddIIdTm5jpydecns5Yz+qmmRO3Hz4QnfAcZouGYF9n3m4a0g6qHO 1fbKkJakuEhIyRdSGTCZaLmNxhhhmonLxGTQpvzNdyqZHh92vgrqY1Jz1VRDjeAbeKY5 LVaTtum//14cDZRktoYTJE3syQ2KPKX0YTDm5rKgQdOTqdlJsjXMgQ2KUStlaRX/QXtm ocgg== 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=do8D1ieZ8Ex+QzAnOj/wZJAzfbzECTa0eMXQ+8CsY4I=; b=dbgIqP09BrP2+I9laetZdXIjKIGOvPvOfT1lRuZ95s7wi7YWFUl3UgscqLu0YTsSjt PpMDwN06NzuKvGJRUdEB0P1Kxpr+pWBAteXpmUylcuaFhblQDwPWyqWFxXXMaj87XMiA rK+0gn4LqkLWcZVzcgfgpOrFzcbGF0x52zp4U+Nh+DHqI6VTtzAtigEEfL46UaATZIWJ lxh0CwNLG9DGbmgT+I0bE4M7x5OApqgr44Bwk/UzI5XLHrytEzo5O1TYtq1ZtE2ftQ/f 0twltEMuBJJSMIkzIRPc+ee+cdk3Ik/c+yUyVBWBslz80iTPW3/T98PrDZz84XxsKeFm iDeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=hUoSVjYU; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m19-20020aa7d353000000b0047f2b102941si1524463edr.361.2023.01.06.05.40.18; Fri, 06 Jan 2023 05:40:44 -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=hUoSVjYU; 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 S233796AbjAFNaS (ORCPT + 99 others); Fri, 6 Jan 2023 08:30:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229869AbjAFNaO (ORCPT ); Fri, 6 Jan 2023 08:30:14 -0500 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76D1576815; Fri, 6 Jan 2023 05:30:10 -0800 (PST) Received: (Authenticated sender: herve.codina@bootlin.com) by mail.gandi.net (Postfix) with ESMTPA id A86484000B; Fri, 6 Jan 2023 13:30:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1673011808; 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=do8D1ieZ8Ex+QzAnOj/wZJAzfbzECTa0eMXQ+8CsY4I=; b=hUoSVjYUOiV747REn8chyMICtoSn6TltjXrXaz0OpgkDKAol2Eehwpxmnf6ijlo/J5FL1h vaNS706fVF8fuyBGnIDoy4YCePuZbYx3EDj4iDQOxzcumHyW0Y95Yj0v162GxsEsY24wNg JO9a6lfzkPc5GqQTfpnRlm1cmAUg4BRdkiafP+KhmEI4+zJRKadzwPpF1AS2EwyLZcjP1k JeFWL4JK0qGXH8RPJznej+jr9PItBgWTZoFT7lKuIALbT0idtaJlm2hLi4B/4gySa2NpN/ AkAWH1RLNXQEdoapftYdU6rl2PsOjVI6Xgd407XBVnlj2irSRcsx1xoGOVZzHA== 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 00/10] Add the PowerQUICC audio support using the QMC Date: Fri, 6 Jan 2023 14:29:41 +0100 Message-Id: <20230106132951.392271-1-herve.codina@bootlin.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754280696519235777?= X-GMAIL-MSGID: =?utf-8?q?1754280696519235777?= 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. Best regards, Herve Codina Herve Codina (10): dt-bindings: soc: fsl: cpm_qe: Add TSA controller soc: fsl: qe: 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: qe: 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 | 167 ++ .../bindings/soc/fsl/cpm_qe/fsl,tsa.yaml | 262 +++ .../bindings/sound/fsl,qmc-audio.yaml | 110 ++ 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 | 1493 +++++++++++++++++ drivers/soc/fsl/qe/tsa.c | 783 +++++++++ drivers/soc/fsl/qe/tsa.h | 43 + include/dt-bindings/soc/fsl-tsa.h | 15 + include/soc/fsl/qe/qmc.h | 71 + sound/soc/fsl/Kconfig | 9 + sound/soc/fsl/Makefile | 2 + sound/soc/fsl/fsl_qmc_audio.c | 731 ++++++++ 15 files changed, 3737 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