Message ID | 20230113103759.327698-6-herve.codina@bootlin.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp196233wrt; Fri, 13 Jan 2023 02:40:48 -0800 (PST) X-Google-Smtp-Source: AMrXdXvx4ZwD+1+bomnHT58WQUGvKbTkz9KfIf/WMgZhuBr6SlxNFz5hLlYLQVickk7Ofp4DT3tl X-Received: by 2002:a17:906:9c8e:b0:7c1:4a3a:dc97 with SMTP id fj14-20020a1709069c8e00b007c14a3adc97mr84175995ejc.0.1673606448197; Fri, 13 Jan 2023 02:40:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673606448; cv=none; d=google.com; s=arc-20160816; b=AYKI7wGku4eIupuejga1g3p8JAJVm4+nAY7mvy28Hp5OCXmZIOZZbtn4grK0wHp8PN e+w0JqRB1Dxa92Kgwl+Jorf8RCTmg3p/vFJTqz2uOscoZfDCP1zLvUaHrpeZwYx4loNA OeiCBtZmY1zvZHKYCf5W55ccN+enHGoUeK8IF+O+FVZiUoXiVgmgUvs541W/nMVJtcxD Xg/k1UBx4ppq52tc0+xvIUdhpG3I4Ds3haC0ivMr3g9S0W9ufRuR6xXUKrScoXkkCSJj S9aqLifTnAi/SHnDMqJ/kuZ+jrdJN9cLx8m3lc1BUQLZQHA2LoiURECzvmkxqKtRT2DQ patw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=A3gOwLKCbvhD9y82aQ+8CVVXVgQCqL1sYfV2qaO4J0s=; b=SGdgSAj9iFl2R1FdfuVMjTVQiVv+C9iAY6IQddwZDtVMxaE3P1hojSOZUbBuM+q4bd /ZbPaCnJZZueQAJB9otQ4UKzLYSp2sQQ6SBt0F6/xnMbrKURyyjUUQMTzKwXAr10YOO5 19a4WtsI2v+5DfM3UOeLRz4q+1eVULAkN2dEIphUJQIWMByYDPorNgJ08tZMqUWCs2uE 18Yz2Ny6OtjCsFY278PZOr60DZdaNcSgyNZ9wvFJLFJ2CaiMf+l+BTg76emsTcVnaYxl MQZlg0tRtGCSmhL3knRgaDLcKTJM+OK3RWS0OBYFqNbOiVIhSsPhP8jX+USi9TSR7Lyu NU5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=oEwq0mwR; 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 xi9-20020a170906dac900b007a71a3cb3afsi22258126ejb.294.2023.01.13.02.40.24; Fri, 13 Jan 2023 02:40:48 -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=oEwq0mwR; 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 S240830AbjAMKkK (ORCPT <rfc822;callmefire3@gmail.com> + 99 others); Fri, 13 Jan 2023 05:40:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241219AbjAMKjF (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 13 Jan 2023 05:39:05 -0500 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC49176EC1; Fri, 13 Jan 2023 02:38:25 -0800 (PST) Received: (Authenticated sender: herve.codina@bootlin.com) by mail.gandi.net (Postfix) with ESMTPA id 92BDDFF805; Fri, 13 Jan 2023 10:38:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1673606304; 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: in-reply-to:in-reply-to:references:references; bh=A3gOwLKCbvhD9y82aQ+8CVVXVgQCqL1sYfV2qaO4J0s=; b=oEwq0mwR++GxfPwOyL9g/gotpNb4BJb18kxYNZqdo29VkXCw957txr1TDP4S28C0D3Z1Ck OtBDsMhwgkJOTHQ7+IF/53mZfL5b+Ik+F7LdLSOHlpU2zZFK8y4ZlMC7y1vGqxqe0ucE2C eBfmph+BIUGVPRWxMkufn3TtXfnwUsHqgEyeN2GZqgFXwdGyXM4+EycQNM2YUbHYUHmUtj Loizg7LqRputAm5V6siUc0eNyey2vsFdZnmfs4xO+xRqJUEegv5ats9LjjbU5+nDnaaGga 12xyQm6++hEIxNOrvmBygua6G3bp6dELzTFn4dg7FkXKf2Fpjet66kImXRqhrQ== From: Herve Codina <herve.codina@bootlin.com> To: Herve Codina <herve.codina@bootlin.com>, Li Yang <leoyang.li@nxp.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>, Christophe Leroy <christophe.leroy@csgroup.eu>, Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, Qiang Zhao <qiang.zhao@nxp.com>, Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Shengjiu Wang <shengjiu.wang@gmail.com>, Xiubo Li <Xiubo.Lee@gmail.com>, Fabio Estevam <festevam@gmail.com>, Nicolin Chen <nicoleotsuka@gmail.com> 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 <thomas.petazzoni@bootlin.com> Subject: [PATCH v3 05/10] dt-bindings: soc: fsl: cpm_qe: Add QMC controller Date: Fri, 13 Jan 2023 11:37:54 +0100 Message-Id: <20230113103759.327698-6-herve.codina@bootlin.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113103759.327698-1-herve.codina@bootlin.com> References: <20230113103759.327698-1-herve.codina@bootlin.com> 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, RCVD_IN_MSPIKE_H2,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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754903555161409828?= X-GMAIL-MSGID: =?utf-8?q?1754903555161409828?= |
Series |
Add the PowerQUICC audio support using the QMC
|
|
Commit Message
Herve Codina
Jan. 13, 2023, 10:37 a.m. UTC
Add support for the QMC (QUICC Multichannel Controller)
available in some PowerQUICC SoC such as MPC885 or MPC866.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
---
.../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++
1 file changed, 164 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml
Comments
On 13/01/2023 11:37, Herve Codina wrote: > Add support for the QMC (QUICC Multichannel Controller) > available in some PowerQUICC SoC such as MPC885 or MPC866. > > Signed-off-by: Herve Codina <herve.codina@bootlin.com> > --- > .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ > 1 file changed, 164 insertions(+) > create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > > diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > new file mode 100644 > index 000000000000..3ec52f1635c8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > @@ -0,0 +1,164 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) > + > +maintainers: > + - Herve Codina <herve.codina@bootlin.com> > + > +description: | > + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within > + one serial controller using the same TDM physical interface routed from > + TSA. > + > +properties: > + compatible: > + items: > + - enum: > + - fsl,mpc885-scc-qmc > + - fsl,mpc866-scc-qmc > + - const: fsl,cpm1-scc-qmc > + > + reg: > + items: > + - description: SCC (Serial communication controller) register base > + - description: SCC parameter ram base > + - description: Dual port ram base > + > + reg-names: > + items: > + - const: scc_regs > + - const: scc_pram > + - const: dpram > + > + interrupts: > + maxItems: 1 > + description: SCC interrupt line in the CPM interrupt controller > + > + fsl,tsa: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: phandle to the TSA > + > + fsl,tsa-cell-id: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [1, 2, 3] > + description: | > + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > + - 1: SCC2 > + - 2: SCC3 > + - 3: SCC4 Is this used as argument to tsa? If so, this should be part of fsl,tsa property, just like we do for all syscon-like phandles. > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + '#chan-cells': > + const: 1 > + > +patternProperties: > + '^channel@([0-9]|[1-5][0-9]|6[0-3])$': > + description: > + A channel managed by this controller > + type: object > + > + properties: > + reg: > + minimum: 0 > + maximum: 63 > + description: > + The channel number > + > + fsl,mode: > + $ref: /schemas/types.yaml#/definitions/string > + enum: [transparent, hdlc] > + default: transparent > + description: Operational mode You still need to explain what do transparent and hdlc mean. > + Best regards, Krzysztof
Hi Krzysztof, On Tue, 17 Jan 2023 12:31:09 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 13/01/2023 11:37, Herve Codina wrote: > > Add support for the QMC (QUICC Multichannel Controller) > > available in some PowerQUICC SoC such as MPC885 or MPC866. > > > > Signed-off-by: Herve Codina <herve.codina@bootlin.com> > > --- > > .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ > > 1 file changed, 164 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > > > > diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > > new file mode 100644 > > index 000000000000..3ec52f1635c8 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > > @@ -0,0 +1,164 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) > > + > > +maintainers: > > + - Herve Codina <herve.codina@bootlin.com> > > + > > +description: | > > + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within > > + one serial controller using the same TDM physical interface routed from > > + TSA. > > + > > +properties: > > + compatible: > > + items: > > + - enum: > > + - fsl,mpc885-scc-qmc > > + - fsl,mpc866-scc-qmc > > + - const: fsl,cpm1-scc-qmc > > + > > + reg: > > + items: > > + - description: SCC (Serial communication controller) register base > > + - description: SCC parameter ram base > > + - description: Dual port ram base > > + > > + reg-names: > > + items: > > + - const: scc_regs > > + - const: scc_pram > > + - const: dpram > > + > > + interrupts: > > + maxItems: 1 > > + description: SCC interrupt line in the CPM interrupt controller > > + > > + fsl,tsa: > > + $ref: /schemas/types.yaml#/definitions/phandle > > + description: phandle to the TSA > > + > > + fsl,tsa-cell-id: > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + enum: [1, 2, 3] > > + description: | > > + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > > + - 1: SCC2 > > + - 2: SCC3 > > + - 3: SCC4 > > Is this used as argument to tsa? If so, this should be part of fsl,tsa > property, just like we do for all syscon-like phandles. Yes, indeed. I will move 'fsl,tsa' to 'fsl,tsa-cell' with 'fsl,tsa-cell' a phandle/number pair (the phandle to TSA node and the TSA cell id to use) > > > + > > + '#address-cells': > > + const: 1 > > + > > + '#size-cells': > > + const: 0 > > + > > + '#chan-cells': > > + const: 1 > > + > > +patternProperties: > > + '^channel@([0-9]|[1-5][0-9]|6[0-3])$': > > + description: > > + A channel managed by this controller > > + type: object > > + > > + properties: > > + reg: > > + minimum: 0 > > + maximum: 63 > > + description: > > + The channel number > > + > > + fsl,mode: > > + $ref: /schemas/types.yaml#/definitions/string > > + enum: [transparent, hdlc] > > + default: transparent > > + description: Operational mode > > You still need to explain what do transparent and hdlc mean. Oups, my bad (already mentioned in the previous version review). Also, I will rename the property to 'fsl,operational-mode' to be more precise than just 'fsl,mode' > > > + > > > Best regards, > Krzysztof > Thanks for the review, Hervé
On 24/01/2023 10:42, Herve Codina wrote: > Hi Krzysztof, > > On Tue, 17 Jan 2023 12:31:09 +0100 > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > >> On 13/01/2023 11:37, Herve Codina wrote: >>> Add support for the QMC (QUICC Multichannel Controller) >>> available in some PowerQUICC SoC such as MPC885 or MPC866. >>> >>> Signed-off-by: Herve Codina <herve.codina@bootlin.com> >>> --- >>> .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ >>> 1 file changed, 164 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>> new file mode 100644 >>> index 000000000000..3ec52f1635c8 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>> @@ -0,0 +1,164 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) >>> + >>> +maintainers: >>> + - Herve Codina <herve.codina@bootlin.com> >>> + >>> +description: | >>> + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within >>> + one serial controller using the same TDM physical interface routed from >>> + TSA. >>> + >>> +properties: >>> + compatible: >>> + items: >>> + - enum: >>> + - fsl,mpc885-scc-qmc >>> + - fsl,mpc866-scc-qmc >>> + - const: fsl,cpm1-scc-qmc >>> + >>> + reg: >>> + items: >>> + - description: SCC (Serial communication controller) register base >>> + - description: SCC parameter ram base >>> + - description: Dual port ram base >>> + >>> + reg-names: >>> + items: >>> + - const: scc_regs >>> + - const: scc_pram >>> + - const: dpram >>> + >>> + interrupts: >>> + maxItems: 1 >>> + description: SCC interrupt line in the CPM interrupt controller >>> + >>> + fsl,tsa: >>> + $ref: /schemas/types.yaml#/definitions/phandle >>> + description: phandle to the TSA >>> + >>> + fsl,tsa-cell-id: >>> + $ref: /schemas/types.yaml#/definitions/uint32 >>> + enum: [1, 2, 3] >>> + description: | >>> + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) >>> + - 1: SCC2 >>> + - 2: SCC3 >>> + - 3: SCC4 >> >> Is this used as argument to tsa? If so, this should be part of fsl,tsa >> property, just like we do for all syscon-like phandles. > > Yes, indeed. > I will move 'fsl,tsa' to 'fsl,tsa-cell' with 'fsl,tsa-cell' a phandle/number > pair (the phandle to TSA node and the TSA cell id to use) Move to fsl,tsa, not from. Best regards, Krzysztof
On Tue, 24 Jan 2023 11:02:52 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 24/01/2023 10:42, Herve Codina wrote: > > Hi Krzysztof, > > > > On Tue, 17 Jan 2023 12:31:09 +0100 > > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > > >> On 13/01/2023 11:37, Herve Codina wrote: > >>> Add support for the QMC (QUICC Multichannel Controller) > >>> available in some PowerQUICC SoC such as MPC885 or MPC866. > >>> > >>> Signed-off-by: Herve Codina <herve.codina@bootlin.com> > >>> --- > >>> .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ > >>> 1 file changed, 164 insertions(+) > >>> create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>> > >>> diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>> new file mode 100644 > >>> index 000000000000..3ec52f1635c8 > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>> @@ -0,0 +1,164 @@ > >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>> +%YAML 1.2 > >>> +--- > >>> +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>> + > >>> +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) > >>> + > >>> +maintainers: > >>> + - Herve Codina <herve.codina@bootlin.com> > >>> + > >>> +description: | > >>> + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within > >>> + one serial controller using the same TDM physical interface routed from > >>> + TSA. > >>> + > >>> +properties: > >>> + compatible: > >>> + items: > >>> + - enum: > >>> + - fsl,mpc885-scc-qmc > >>> + - fsl,mpc866-scc-qmc > >>> + - const: fsl,cpm1-scc-qmc > >>> + > >>> + reg: > >>> + items: > >>> + - description: SCC (Serial communication controller) register base > >>> + - description: SCC parameter ram base > >>> + - description: Dual port ram base > >>> + > >>> + reg-names: > >>> + items: > >>> + - const: scc_regs > >>> + - const: scc_pram > >>> + - const: dpram > >>> + > >>> + interrupts: > >>> + maxItems: 1 > >>> + description: SCC interrupt line in the CPM interrupt controller > >>> + > >>> + fsl,tsa: > >>> + $ref: /schemas/types.yaml#/definitions/phandle > >>> + description: phandle to the TSA > >>> + > >>> + fsl,tsa-cell-id: > >>> + $ref: /schemas/types.yaml#/definitions/uint32 > >>> + enum: [1, 2, 3] > >>> + description: | > >>> + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > >>> + - 1: SCC2 > >>> + - 2: SCC3 > >>> + - 3: SCC4 > >> > >> Is this used as argument to tsa? If so, this should be part of fsl,tsa > >> property, just like we do for all syscon-like phandles. > > > > Yes, indeed. > > I will move 'fsl,tsa' to 'fsl,tsa-cell' with 'fsl,tsa-cell' a phandle/number > > pair (the phandle to TSA node and the TSA cell id to use) > > Move to fsl,tsa, not from. Well, I plan to remove both fsl,tsa and fsl,tsa-cell-id and use this: fsl,tsa-cell: $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: phandle to TSA node - enum: [1, 2, 3] description: | TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) - 1: SCC2 - 2: SCC3 - 3: SCC4 description: Should be a phandle/number pair. The phandle to TSA node and the TSA cell ID to use. Is that what you were thinking about ? Best regards, Hervé
On 24/01/2023 12:23, Herve Codina wrote: > On Tue, 24 Jan 2023 11:02:52 +0100 > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > >> On 24/01/2023 10:42, Herve Codina wrote: >>> Hi Krzysztof, >>> >>> On Tue, 17 Jan 2023 12:31:09 +0100 >>> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: >>> >>>> On 13/01/2023 11:37, Herve Codina wrote: >>>>> Add support for the QMC (QUICC Multichannel Controller) >>>>> available in some PowerQUICC SoC such as MPC885 or MPC866. >>>>> >>>>> Signed-off-by: Herve Codina <herve.codina@bootlin.com> >>>>> --- >>>>> .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ >>>>> 1 file changed, 164 insertions(+) >>>>> create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>>>> new file mode 100644 >>>>> index 000000000000..3ec52f1635c8 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml >>>>> @@ -0,0 +1,164 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) >>>>> + >>>>> +maintainers: >>>>> + - Herve Codina <herve.codina@bootlin.com> >>>>> + >>>>> +description: | >>>>> + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within >>>>> + one serial controller using the same TDM physical interface routed from >>>>> + TSA. >>>>> + >>>>> +properties: >>>>> + compatible: >>>>> + items: >>>>> + - enum: >>>>> + - fsl,mpc885-scc-qmc >>>>> + - fsl,mpc866-scc-qmc >>>>> + - const: fsl,cpm1-scc-qmc >>>>> + >>>>> + reg: >>>>> + items: >>>>> + - description: SCC (Serial communication controller) register base >>>>> + - description: SCC parameter ram base >>>>> + - description: Dual port ram base >>>>> + >>>>> + reg-names: >>>>> + items: >>>>> + - const: scc_regs >>>>> + - const: scc_pram >>>>> + - const: dpram >>>>> + >>>>> + interrupts: >>>>> + maxItems: 1 >>>>> + description: SCC interrupt line in the CPM interrupt controller >>>>> + >>>>> + fsl,tsa: >>>>> + $ref: /schemas/types.yaml#/definitions/phandle >>>>> + description: phandle to the TSA >>>>> + >>>>> + fsl,tsa-cell-id: >>>>> + $ref: /schemas/types.yaml#/definitions/uint32 >>>>> + enum: [1, 2, 3] >>>>> + description: | >>>>> + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) >>>>> + - 1: SCC2 >>>>> + - 2: SCC3 >>>>> + - 3: SCC4 >>>> >>>> Is this used as argument to tsa? If so, this should be part of fsl,tsa >>>> property, just like we do for all syscon-like phandles. >>> >>> Yes, indeed. >>> I will move 'fsl,tsa' to 'fsl,tsa-cell' with 'fsl,tsa-cell' a phandle/number >>> pair (the phandle to TSA node and the TSA cell id to use) >> >> Move to fsl,tsa, not from. > > Well, I plan to remove both fsl,tsa and fsl,tsa-cell-id and use this: > fsl,tsa-cell: > $ref: /schemas/types.yaml#/definitions/phandle-array > items: > - items: > - description: phandle to TSA node > - enum: [1, 2, 3] > description: | > TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > - 1: SCC2 > - 2: SCC3 > - 3: SCC4 > description: > Should be a phandle/number pair. The phandle to TSA node and the TSA > cell ID to use. > > Is that what you were thinking about ? Yes, except again, so third time, why calling this "cell"? Move it to fsl,tsa. Best regards, Krzysztof
On Tue, 24 Jan 2023 13:24:48 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 24/01/2023 12:23, Herve Codina wrote: > > On Tue, 24 Jan 2023 11:02:52 +0100 > > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > > >> On 24/01/2023 10:42, Herve Codina wrote: > >>> Hi Krzysztof, > >>> > >>> On Tue, 17 Jan 2023 12:31:09 +0100 > >>> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > >>> > >>>> On 13/01/2023 11:37, Herve Codina wrote: > >>>>> Add support for the QMC (QUICC Multichannel Controller) > >>>>> available in some PowerQUICC SoC such as MPC885 or MPC866. > >>>>> > >>>>> Signed-off-by: Herve Codina <herve.codina@bootlin.com> > >>>>> --- > >>>>> .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 164 ++++++++++++++++++ > >>>>> 1 file changed, 164 insertions(+) > >>>>> create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>>>> > >>>>> diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>>>> new file mode 100644 > >>>>> index 000000000000..3ec52f1635c8 > >>>>> --- /dev/null > >>>>> +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml > >>>>> @@ -0,0 +1,164 @@ > >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>>>> +%YAML 1.2 > >>>>> +--- > >>>>> +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# > >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>>>> + > >>>>> +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) > >>>>> + > >>>>> +maintainers: > >>>>> + - Herve Codina <herve.codina@bootlin.com> > >>>>> + > >>>>> +description: | > >>>>> + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within > >>>>> + one serial controller using the same TDM physical interface routed from > >>>>> + TSA. > >>>>> + > >>>>> +properties: > >>>>> + compatible: > >>>>> + items: > >>>>> + - enum: > >>>>> + - fsl,mpc885-scc-qmc > >>>>> + - fsl,mpc866-scc-qmc > >>>>> + - const: fsl,cpm1-scc-qmc > >>>>> + > >>>>> + reg: > >>>>> + items: > >>>>> + - description: SCC (Serial communication controller) register base > >>>>> + - description: SCC parameter ram base > >>>>> + - description: Dual port ram base > >>>>> + > >>>>> + reg-names: > >>>>> + items: > >>>>> + - const: scc_regs > >>>>> + - const: scc_pram > >>>>> + - const: dpram > >>>>> + > >>>>> + interrupts: > >>>>> + maxItems: 1 > >>>>> + description: SCC interrupt line in the CPM interrupt controller > >>>>> + > >>>>> + fsl,tsa: > >>>>> + $ref: /schemas/types.yaml#/definitions/phandle > >>>>> + description: phandle to the TSA > >>>>> + > >>>>> + fsl,tsa-cell-id: > >>>>> + $ref: /schemas/types.yaml#/definitions/uint32 > >>>>> + enum: [1, 2, 3] > >>>>> + description: | > >>>>> + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > >>>>> + - 1: SCC2 > >>>>> + - 2: SCC3 > >>>>> + - 3: SCC4 > >>>> > >>>> Is this used as argument to tsa? If so, this should be part of fsl,tsa > >>>> property, just like we do for all syscon-like phandles. > >>> > >>> Yes, indeed. > >>> I will move 'fsl,tsa' to 'fsl,tsa-cell' with 'fsl,tsa-cell' a phandle/number > >>> pair (the phandle to TSA node and the TSA cell id to use) > >> > >> Move to fsl,tsa, not from. > > > > Well, I plan to remove both fsl,tsa and fsl,tsa-cell-id and use this: > > fsl,tsa-cell: > > $ref: /schemas/types.yaml#/definitions/phandle-array > > items: > > - items: > > - description: phandle to TSA node > > - enum: [1, 2, 3] > > description: | > > TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) > > - 1: SCC2 > > - 2: SCC3 > > - 3: SCC4 > > description: > > Should be a phandle/number pair. The phandle to TSA node and the TSA > > cell ID to use. > > > > Is that what you were thinking about ? > > Yes, except again, so third time, why calling this "cell"? Move it to > fsl,tsa. > Why calling this "cell" ? Just because we reference a "cell" using the TSA cell ID inside TSA and not the TSA itself. Maybe the problem is the term "cell" as it is not the DT definition of "cell" but the source/destination of the TSA routing. TSA can route data from/to some "serial controller". These serial controllers are : - SCC (Serial Communication Controller) - SMC (Serial Management Controller) - UCC (Unified Communication Controller) Only SCCs are handled here. Maybe the term "serial" makes more sense which will lead to fsl,tsa-serial = <&tsa, SCC4>; Best regards, Hervé
On 24/01/2023 15:15, Herve Codina wrote: >>> Is that what you were thinking about ? >> >> Yes, except again, so third time, why calling this "cell"? Move it to >> fsl,tsa. >> > > Why calling this "cell" ? Just because we reference a "cell" using the TSA > cell ID inside TSA and not the TSA itself. > > Maybe the problem is the term "cell" as it is not the DT definition of > "cell" but the source/destination of the TSA routing. > > TSA can route data from/to some "serial controller". > These serial controllers are : > - SCC (Serial Communication Controller) > - SMC (Serial Management Controller) > - UCC (Unified Communication Controller) > > Only SCCs are handled here. > > Maybe the term "serial" makes more sense which will lead to > fsl,tsa-serial = <&tsa, SCC4>; Yes, that's better. Thanks. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml new file mode 100644 index 000000000000..3ec52f1635c8 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml @@ -0,0 +1,164 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qmc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PowerQUICC CPM QUICC Multichannel Controller (QMC) + +maintainers: + - Herve Codina <herve.codina@bootlin.com> + +description: | + The QMC (QUICC Multichannel Controller) emulates up to 64 channels within + one serial controller using the same TDM physical interface routed from + TSA. + +properties: + compatible: + items: + - enum: + - fsl,mpc885-scc-qmc + - fsl,mpc866-scc-qmc + - const: fsl,cpm1-scc-qmc + + reg: + items: + - description: SCC (Serial communication controller) register base + - description: SCC parameter ram base + - description: Dual port ram base + + reg-names: + items: + - const: scc_regs + - const: scc_pram + - const: dpram + + interrupts: + maxItems: 1 + description: SCC interrupt line in the CPM interrupt controller + + fsl,tsa: + $ref: /schemas/types.yaml#/definitions/phandle + description: phandle to the TSA + + fsl,tsa-cell-id: + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [1, 2, 3] + description: | + TSA cell ID (dt-bindings/soc/fsl,tsa.h defines these values) + - 1: SCC2 + - 2: SCC3 + - 3: SCC4 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + '#chan-cells': + const: 1 + +patternProperties: + '^channel@([0-9]|[1-5][0-9]|6[0-3])$': + description: + A channel managed by this controller + type: object + + properties: + reg: + minimum: 0 + maximum: 63 + description: + The channel number + + fsl,mode: + $ref: /schemas/types.yaml#/definitions/string + enum: [transparent, hdlc] + default: transparent + description: Operational mode + + fsl,reverse-data: + $ref: /schemas/types.yaml#/definitions/flag + description: + The bit order as seen on the channels is reversed, + transmitting/receiving the MSB of each octet first. + This flag is used only in 'transparent' mode. + + fsl,tx-ts-mask: + $ref: /schemas/types.yaml#/definitions/uint64 + description: + Channel assigned Tx time-slots within the Tx time-slots routed + by the TSA to this cell. + + fsl,rx-ts-mask: + $ref: /schemas/types.yaml#/definitions/uint64 + description: + Channel assigned Rx time-slots within the Rx time-slots routed + by the TSA to this cell. + + required: + - reg + - fsl,tx-ts-mask + - fsl,rx-ts-mask + +required: + - compatible + - reg + - reg-names + - interrupts + - fsl,tsa + - fsl,tsa-cell-id + - '#address-cells' + - '#size-cells' + - '#chan-cells' + +additionalProperties: false + +examples: + - | + #include <dt-bindings/soc/fsl,tsa.h> + + qmc@a60 { + compatible = "fsl,mpc885-scc-qmc", "fsl,cpm1-scc-qmc"; + reg = <0xa60 0x20>, + <0x3f00 0xc0>, + <0x2000 0x1000>; + reg-names = "scc_regs", "scc_pram", "dpram"; + interrupts = <27>; + interrupt-parent = <&CPM_PIC>; + + #address-cells = <1>; + #size-cells = <0>; + #chan-cells = <1>; + + fsl,tsa = <&tsa>; + fsl,tsa-cell-id = <FSL_CPM_TSA_SCC4>; + + channel@16 { + /* Ch16 : First 4 even TS from all routed from TSA */ + reg = <16>; + fsl,mode = "transparent"; + fsl,reverse-data; + fsl,tx-ts-mask = <0x00000000 0x000000aa>; + fsl,rx-ts-mask = <0x00000000 0x000000aa>; + }; + + channel@17 { + /* Ch17 : First 4 odd TS from all routed from TSA */ + reg = <17>; + fsl,mode = "transparent"; + fsl,reverse-data; + fsl,tx-ts-mask = <0x00000000 0x00000055>; + fsl,rx-ts-mask = <0x00000000 0x00000055>; + }; + + channel@19 { + /* Ch19 : 8 TS (TS 8..15) from all routed from TSA */ + reg = <19>; + fsl,mode = "hdlc"; + fsl,tx-ts-mask = <0x00000000 0x0000ff00>; + fsl,rx-ts-mask = <0x00000000 0x0000ff00>; + }; + };