Message ID | 20230522071030.5193-2-zhuyinbo@loongson.cn |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1268807vqo; Mon, 22 May 2023 00:35:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4w2D46zN94SvnLDCypm6HUI7qWU0jMHs7sf7vmQzNptPunpSlUzUwTEV+vbbHTrCecCMQl X-Received: by 2002:a05:6a20:3d83:b0:104:bd18:9857 with SMTP id s3-20020a056a203d8300b00104bd189857mr12051610pzi.11.1684740912844; Mon, 22 May 2023 00:35:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684740912; cv=none; d=google.com; s=arc-20160816; b=oPWJoPsly97Ts1/HS7prGKfs+mLV9LXOnhLNeR3XHLMx1k/KUONnu2Q+DBuSv3pefG ZJk0HXhTFj8Q3O8qY9eJIGsapVgPB/zB8+6mNvlryMm8beZG2CFubCKO70D9sJQ5GzeK +lqv87JrQ9AshjVTpkmKMX3kEdu1L2WhxgWQG8yKBmxCTHIGTGTdV8XcN4U0U5jd3o/9 55krdOVvmM2a4iO7flvX4nI8oo371GwhWJucpYtGdIEpbnjalYKTEhPCgd6Y07ObATyq n8wTUhH977EULY0eWMthzrRL7bn0pziZ5E8iq1AZ4fRKwE2TyqZXTkINKfaUWhp/bhJA 45Sw== 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; bh=ojQfNXrCQnFZNljodKcY12g4VEH5JvaG3Tcmj6gc+j8=; b=KmuBKG3npW3JrXJ5P/iI2JrJYdn2XW1DvfedswVEqMlJaB0ZfMgsx9xpYDG2i2nYQo //O/pPoWFswHUfFWU9i5rkc8A//2ZWtne+wNZ+oDSTGgnkTZfax33g6B6XVWawQOBRYk e0BCYv/NXtQWA8bBcmh8+4l7BhzDAZ91HzD/tPeqISF7WXFdoxmDOikC8GiEjWhPE6Mn vH5OedrhBxzwqao/hwbJHc7bwQE1tjSgxk1gd9F/mj3ZafOuDSzJ8kK3SBrH+4+pnEcq ukoFumtlWUSzRTOippmOUGp+/S24lcYrvUMnNwDZL3bjX/ilMYYRQDXJ9QJ2CzVtCb76 q6Rg== ARC-Authentication-Results: i=1; mx.google.com; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a24-20020aa795b8000000b0064d47d3399dsi3830683pfk.86.2023.05.22.00.35.00; Mon, 22 May 2023 00:35:12 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232413AbjEVHLi (ORCPT <rfc822;cscallsign@gmail.com> + 99 others); Mon, 22 May 2023 03:11:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232391AbjEVHKt (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 22 May 2023 03:10:49 -0400 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2BE66E45; Mon, 22 May 2023 00:10:39 -0700 (PDT) Received: from loongson.cn (unknown [10.20.42.35]) by gateway (Coremail) with SMTP id _____8Cxe+ptFWtkedgKAA--.18496S3; Mon, 22 May 2023 15:10:37 +0800 (CST) Received: from user-pc.202.106.0.20 (unknown [10.20.42.35]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxfTtnFWtkr8RuAA--.54865S3; Mon, 22 May 2023 15:10:37 +0800 (CST) From: Yinbo Zhu <zhuyinbo@loongson.cn> To: Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jianmin Lv <lvjianmin@loongson.cn>, wanghongliang@loongson.cn, Liu Peibao <liupeibao@loongson.cn>, loongson-kernel@lists.loongnix.cn, Yinbo Zhu <zhuyinbo@loongson.cn>, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Subject: [PATCH v11 1/2] dt-bindings: spi: add loongson spi Date: Mon, 22 May 2023 15:10:29 +0800 Message-Id: <20230522071030.5193-2-zhuyinbo@loongson.cn> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230522071030.5193-1-zhuyinbo@loongson.cn> References: <20230522071030.5193-1-zhuyinbo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: AQAAf8DxfTtnFWtkr8RuAA--.54865S3 X-CM-SenderInfo: 52kx5xhqerqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBjvJXoW7Cr43Aw47Zw17Gw45ZF1xGrg_yoW8uw18pF 17Crn7GF4IvF17Aws3Ka4xCw4rZ3s3C3W7XFW2yr1jkF90g3WYv3W3Kr1DZanxCF48XFW7 ZF97Kr4UKa18Jr7anT9S1TB71UUUUUJqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bf8Fc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUAVWUZwA2ocxC64 kIII0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28E F7xvwVC0I7IYx2IY6xkF7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM2 8EF7xvwVC2z280aVCY1x0267AKxVWxJr0_GcWln4kS14v26r1Y6r17M2AIxVAIcxkEcVAq 07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7 xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Y z7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lc7CjxVAaw2AFwI0_JF0_Jw1l42xK82IYc2Ij64 vIr41l42xK82IY6x8ErcxFaVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMxCIbckI1I0E 14v26r1Y6r17MI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4 CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4U MIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF 4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsG vfC2KfnxnUUI43ZEXa7IU8wSdDUUUUU== X-Spam-Status: No, score=1.4 required=5.0 tests=BAYES_00,RCVD_IN_SBL_CSS, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * 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?1766578887391637856?= X-GMAIL-MSGID: =?utf-8?q?1766578887391637856?= |
Series |
spi: loongson: add bus driver for the loongson spi
|
|
Commit Message
Yinbo Zhu
May 22, 2023, 7:10 a.m. UTC
Add the Loongson platform spi binding with DT schema format using json-schema. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ MAINTAINERS | 6 +++ 2 files changed, 47 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml
Comments
On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: > Add the Loongson platform spi binding with DT schema format using > json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ > MAINTAINERS | 6 +++ > 2 files changed, 47 insertions(+) > create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > new file mode 100644 > index 000000000000..d0be6e5378d7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > @@ -0,0 +1,41 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson SPI controller > + > +maintainers: > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +allOf: > + - $ref: /schemas/spi/spi-controller.yaml# > + > +properties: > + compatible: > + enum: > + - loongson,ls2k-spi I am sorry to jump in here at such a late stage with a (potentially) trivial question. "ls2k" is the SoC family rather than a specific model as far as I understand. The answer is probably yes, but do all SoCs in the family have an identical version of the IP? Cheers, Conor.
在 2023/5/24 下午4:56, Conor Dooley 写道: > On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >> Add the Loongson platform spi binding with DT schema format using >> json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> --- >> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >> MAINTAINERS | 6 +++ >> 2 files changed, 47 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> >> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> new file mode 100644 >> index 000000000000..d0be6e5378d7 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> @@ -0,0 +1,41 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson SPI controller >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +allOf: >> + - $ref: /schemas/spi/spi-controller.yaml# >> + >> +properties: >> + compatible: >> + enum: >> + - loongson,ls2k-spi > > I am sorry to jump in here at such a late stage with a (potentially) > trivial question. "ls2k" is the SoC family rather than a specific model > as far as I understand. > The answer is probably yes, but do all SoCs in the family have an > identical version of the IP? No, but the spi supported by this loongson spi driver are all the same identical version, and other type or verion spi will be supported as needed in the future. Thanks.
On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: > > > 在 2023/5/24 下午4:56, Conor Dooley 写道: > > On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: > > > Add the Loongson platform spi binding with DT schema format using > > > json-schema. > > > > > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > > --- > > > .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ > > > MAINTAINERS | 6 +++ > > > 2 files changed, 47 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > new file mode 100644 > > > index 000000000000..d0be6e5378d7 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > @@ -0,0 +1,41 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Loongson SPI controller > > > + > > > +maintainers: > > > + - Yinbo Zhu <zhuyinbo@loongson.cn> > > > + > > > +allOf: > > > + - $ref: /schemas/spi/spi-controller.yaml# > > > + > > > +properties: > > > + compatible: > > > + enum: > > > + - loongson,ls2k-spi > > > > I am sorry to jump in here at such a late stage with a (potentially) > > trivial question. "ls2k" is the SoC family rather than a specific model > > as far as I understand. > > The answer is probably yes, but do all SoCs in the family have an > > identical version of the IP? > > > No, but the spi supported by this loongson spi driver are all the same > identical version, and other type or verion spi will be supported as > needed in the future. Does having a catch-all compatible make sense then when not all SoCs in the ls2k family will actually be able to use this driver? Or am I misunderstanding and all ls2k SoCs do work with this driver and you were talking about other, future products?
在 2023/5/24 下午6:29, Conor Dooley 写道: > On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>> Add the Loongson platform spi binding with DT schema format using >>>> json-schema. >>>> >>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>> --- >>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>> MAINTAINERS | 6 +++ >>>> 2 files changed, 47 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> >>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> new file mode 100644 >>>> index 000000000000..d0be6e5378d7 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> @@ -0,0 +1,41 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Loongson SPI controller >>>> + >>>> +maintainers: >>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>> + >>>> +allOf: >>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>> + >>>> +properties: >>>> + compatible: >>>> + enum: >>>> + - loongson,ls2k-spi >>> >>> I am sorry to jump in here at such a late stage with a (potentially) >>> trivial question. "ls2k" is the SoC family rather than a specific model >>> as far as I understand. >>> The answer is probably yes, but do all SoCs in the family have an >>> identical version of the IP? >> >> >> No, but the spi supported by this loongson spi driver are all the same >> identical version, and other type or verion spi will be supported as >> needed in the future. > > Does having a catch-all compatible make sense then when not all SoCs in > the ls2k family will actually be able to use this driver? Yes, it is make sense as it can reduce the workload of the community. For the Loongson platform, the versions of spi peripherals are almost the same, except for a few or individual SoCs. And we have also discussed compatible internally, and we tend to define it this way. > Or am I misunderstanding and all ls2k SoCs do work with this driver and > you were talking about other, future products? Actually, in 2k500 has one special type spi was only one cs and their's register definition was different from common type spi thus this driver doesn't support but this driver can support another common type spi in 2k500. for this special type spi I will add support as needed in the future. Thanks, Yinbo. >
On 25/05/2023 04:22, zhuyinbo wrote: > > > 在 2023/5/24 下午6:29, Conor Dooley 写道: >> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>> >>> >>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>> Add the Loongson platform spi binding with DT schema format using >>>>> json-schema. >>>>> >>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>> --- >>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>> MAINTAINERS | 6 +++ >>>>> 2 files changed, 47 insertions(+) >>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> new file mode 100644 >>>>> index 000000000000..d0be6e5378d7 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> @@ -0,0 +1,41 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: Loongson SPI controller >>>>> + >>>>> +maintainers: >>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>> + >>>>> +allOf: >>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>> + >>>>> +properties: >>>>> + compatible: >>>>> + enum: >>>>> + - loongson,ls2k-spi >>>> >>>> I am sorry to jump in here at such a late stage with a (potentially) >>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>> as far as I understand. >>>> The answer is probably yes, but do all SoCs in the family have an >>>> identical version of the IP? >>> >>> >>> No, but the spi supported by this loongson spi driver are all the same >>> identical version, and other type or verion spi will be supported as >>> needed in the future. >> >> Does having a catch-all compatible make sense then when not all SoCs in >> the ls2k family will actually be able to use this driver? > > > Yes, it is make sense as it can reduce the workload of the community. > For the Loongson platform, the versions of spi peripherals are almost > the same, except for a few or individual SoCs. And we have also > discussed compatible internally, and we tend to define it this way. So you have chosen different path than what's clearly recommended by community, existing experience and documentation: https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 Family names are not accepted as specific compatibles. Whenever they were accepted, it lead to problems. All the time. https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ and many many more discussions. You should choose carefully, because we will keep NAK-ing adding properties to circumvent missing compatibles. > >> Or am I misunderstanding and all ls2k SoCs do work with this driver and >> you were talking about other, future products? > > Actually, in 2k500 has one special type spi was only one cs and their's > register definition was different from common type spi thus this driver > doesn't support but this driver can support another common type spi in > 2k500. for this special type spi I will add support as needed in the > future. Bindings are for hardware, not driver. What does your driver support or does not, matters less. Best regards, Krzysztof
On 25/05/2023 04:22, zhuyinbo wrote: > > > 在 2023/5/24 下午6:29, Conor Dooley 写道: >> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>> >>> >>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>> Add the Loongson platform spi binding with DT schema format using >>>>> json-schema. >>>>> >>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>> --- >>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>> MAINTAINERS | 6 +++ >>>>> 2 files changed, 47 insertions(+) >>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> new file mode 100644 >>>>> index 000000000000..d0be6e5378d7 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>> @@ -0,0 +1,41 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: Loongson SPI controller >>>>> + >>>>> +maintainers: >>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>> + >>>>> +allOf: >>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>> + >>>>> +properties: >>>>> + compatible: >>>>> + enum: >>>>> + - loongson,ls2k-spi >>>> >>>> I am sorry to jump in here at such a late stage with a (potentially) >>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>> as far as I understand. >>>> The answer is probably yes, but do all SoCs in the family have an >>>> identical version of the IP? >>> >>> >>> No, but the spi supported by this loongson spi driver are all the same >>> identical version, and other type or verion spi will be supported as >>> needed in the future. >> >> Does having a catch-all compatible make sense then when not all SoCs in >> the ls2k family will actually be able to use this driver? > > > Yes, it is make sense as it can reduce the workload of the community. I missed it - that's a great comment. Hm, I don't know... Reviewing Loongson patches is quite a work, so I don't see here reduced workload. Please read existing guidelines: https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst All of them. Best regards, Krzysztof
在 2023/6/1 上午3:46, Krzysztof Kozlowski 写道: > On 25/05/2023 04:22, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午6:29, Conor Dooley 写道: >>> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>>> >>>> >>>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>>> Add the Loongson platform spi binding with DT schema format using >>>>>> json-schema. >>>>>> >>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>>> --- >>>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>>> MAINTAINERS | 6 +++ >>>>>> 2 files changed, 47 insertions(+) >>>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> new file mode 100644 >>>>>> index 000000000000..d0be6e5378d7 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> @@ -0,0 +1,41 @@ >>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>>> +%YAML 1.2 >>>>>> +--- >>>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>> + >>>>>> +title: Loongson SPI controller >>>>>> + >>>>>> +maintainers: >>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> + >>>>>> +allOf: >>>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>>> + >>>>>> +properties: >>>>>> + compatible: >>>>>> + enum: >>>>>> + - loongson,ls2k-spi >>>>> >>>>> I am sorry to jump in here at such a late stage with a (potentially) >>>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>>> as far as I understand. >>>>> The answer is probably yes, but do all SoCs in the family have an >>>>> identical version of the IP? >>>> >>>> >>>> No, but the spi supported by this loongson spi driver are all the same >>>> identical version, and other type or verion spi will be supported as >>>> needed in the future. >>> >>> Does having a catch-all compatible make sense then when not all SoCs in >>> the ls2k family will actually be able to use this driver? >> >> >> Yes, it is make sense as it can reduce the workload of the community. >> For the Loongson platform, the versions of spi peripherals are almost >> the same, except for a few or individual SoCs. And we have also >> discussed compatible internally, and we tend to define it this way. > > So you have chosen different path than what's clearly recommended by > community, existing experience and documentation: > > https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 > > Family names are not accepted as specific compatibles. Whenever they > were accepted, it lead to problems. All the time. Thank you for your documentation and advice and the Loongson platform have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other series SoC, which loongson-2 seems to be the family name you mentioned and the "loongson,ls2k-spi" should be a speific compatible name. > > https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ > https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ > https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ > https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ > and many many more discussions. > > You should choose carefully, because we will keep NAK-ing adding > properties to circumvent missing compatibles. I have read the documention and patch link that you mentioned and it seems to advice that We don't have wildcard names in the compatible string and use wildcard names that will cause issue. and the compatible "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k spi controller hardware upgraded or changed the I will use "loongson,ls2k-spi-version" as a compatible, such as, "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. >> >>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>> you were talking about other, future products? >> >> Actually, in 2k500 has one special type spi was only one cs and their's >> register definition was different from common type spi thus this driver >> doesn't support but this driver can support another common type spi in >> 2k500. for this special type spi I will add support as needed in the >> future. > > Bindings are for hardware, not driver. What does your driver support or > does not, matters less. okay, I got it, and the loongson spi bindings was for loongson spi controller hardware. if the spi controller hardware not changed in different ls2k SoC and the spi compatible should be same thus loongson spi compatible seems to be adhere to the bindings aggrement. Thanks
在 2023/6/1 上午4:06, Krzysztof Kozlowski 写道: > On 25/05/2023 04:22, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午6:29, Conor Dooley 写道: >>> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>>> >>>> >>>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>>> Add the Loongson platform spi binding with DT schema format using >>>>>> json-schema. >>>>>> >>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>>> --- >>>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>>> MAINTAINERS | 6 +++ >>>>>> 2 files changed, 47 insertions(+) >>>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> new file mode 100644 >>>>>> index 000000000000..d0be6e5378d7 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> @@ -0,0 +1,41 @@ >>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>>> +%YAML 1.2 >>>>>> +--- >>>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>> + >>>>>> +title: Loongson SPI controller >>>>>> + >>>>>> +maintainers: >>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> + >>>>>> +allOf: >>>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>>> + >>>>>> +properties: >>>>>> + compatible: >>>>>> + enum: >>>>>> + - loongson,ls2k-spi >>>>> >>>>> I am sorry to jump in here at such a late stage with a (potentially) >>>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>>> as far as I understand. >>>>> The answer is probably yes, but do all SoCs in the family have an >>>>> identical version of the IP? >>>> >>>> >>>> No, but the spi supported by this loongson spi driver are all the same >>>> identical version, and other type or verion spi will be supported as >>>> needed in the future. >>> >>> Does having a catch-all compatible make sense then when not all SoCs in >>> the ls2k family will actually be able to use this driver? >> >> >> Yes, it is make sense as it can reduce the workload of the community. > > I missed it - that's a great comment. Hm, I don't know... Reviewing > Loongson patches is quite a work, so I don't see here reduced workload. If we do not consider the differences in SPI hardware and consider the differences in SoC, it will result for each new a SoC adaptation, a new compatible patch needs to be submitted to the community but spi hardware was same and that will increase the workload of the community, It seems to be more appropriate that use same compatible when spi hardware was same and use different compatible when spi hardware was different. > > Please read existing guidelines: > https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst > > All of them. > okay, I got it. Thanks.
On 01/06/2023 11:51, zhuyinbo wrote: >>> Yes, it is make sense as it can reduce the workload of the community. >>> For the Loongson platform, the versions of spi peripherals are almost >>> the same, except for a few or individual SoCs. And we have also >>> discussed compatible internally, and we tend to define it this way. >> >> So you have chosen different path than what's clearly recommended by >> community, existing experience and documentation: >> >> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 >> >> Family names are not accepted as specific compatibles. Whenever they >> were accepted, it lead to problems. All the time. > > > Thank you for your documentation and advice and the Loongson platform > have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other > series SoC, which loongson-2 seems to be the family name you mentioned > and the "loongson,ls2k-spi" should be a speific compatible name. > >> >> https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ >> https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ >> https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ >> https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ >> and many many more discussions. >> >> You should choose carefully, because we will keep NAK-ing adding >> properties to circumvent missing compatibles. > > > I have read the documention and patch link that you mentioned and it > seems to advice that We don't have wildcard names in the compatible > string and use wildcard names that will cause issue. and the compatible > "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k > spi controller hardware upgraded or changed the I will use > "loongson,ls2k-spi-version" as a compatible, such as, > "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. Versions? Why? They received a lot of comments in the past, let me just paste to avoid repeating the same: https://lore.kernel.org/all/20220926231238.GA3132756-robh@kernel.org/ (and many more discussions on devicetree mailing list) > >>> >>>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>>> you were talking about other, future products? >>> >>> Actually, in 2k500 has one special type spi was only one cs and their's >>> register definition was different from common type spi thus this driver >>> doesn't support but this driver can support another common type spi in >>> 2k500. for this special type spi I will add support as needed in the >>> future. >> >> Bindings are for hardware, not driver. What does your driver support or >> does not, matters less. > > > okay, I got it, and the loongson spi bindings was for loongson spi > controller hardware. if the spi controller hardware not changed in > different ls2k SoC and the spi compatible should be same thus loongson > spi compatible seems to be adhere to the bindings aggrement. Specific compatible - yes. Unspecific - not, because you disregard the clear message in the guideline. Best regards, Krzysztof
在 2023/6/1 下午11:30, Krzysztof Kozlowski 写道: > On 01/06/2023 11:51, zhuyinbo wrote: >>>> Yes, it is make sense as it can reduce the workload of the community. >>>> For the Loongson platform, the versions of spi peripherals are almost >>>> the same, except for a few or individual SoCs. And we have also >>>> discussed compatible internally, and we tend to define it this way. >>> >>> So you have chosen different path than what's clearly recommended by >>> community, existing experience and documentation: >>> >>> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 >>> >>> Family names are not accepted as specific compatibles. Whenever they >>> were accepted, it lead to problems. All the time. >> >> >> Thank you for your documentation and advice and the Loongson platform >> have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other >> series SoC, which loongson-2 seems to be the family name you mentioned >> and the "loongson,ls2k-spi" should be a speific compatible name. >> >>> >>> https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ >>> https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ >>> https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ >>> https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ >>> and many many more discussions. >>> >>> You should choose carefully, because we will keep NAK-ing adding >>> properties to circumvent missing compatibles. >> >> >> I have read the documention and patch link that you mentioned and it >> seems to advice that We don't have wildcard names in the compatible >> string and use wildcard names that will cause issue. and the compatible >> "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k >> spi controller hardware upgraded or changed the I will use >> "loongson,ls2k-spi-version" as a compatible, such as, >> "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. > > Versions? Why? They received a lot of comments in the past, let me just > paste to avoid repeating the same: > > https://lore.kernel.org/all/20220926231238.GA3132756-robh@kernel.org/ > > (and many more discussions on devicetree mailing list) > I didn't notice the following words earlier about compatible in documention and I will use "loongson,ls2k1000-spi" as ls2k1000 SoC spi compatible, which is a very specific compatible. "For sub-blocks/components of bigger device (e.g. SoC blocks) use rather device-based compatible (e.g. SoC-based compatible), instead of custom versioning of that component.For example use "vendor,soc1234-i2c" instead of "vendor,i2c-v2". >> >>>> >>>>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>>>> you were talking about other, future products? >>>> >>>> Actually, in 2k500 has one special type spi was only one cs and their's >>>> register definition was different from common type spi thus this driver >>>> doesn't support but this driver can support another common type spi in >>>> 2k500. for this special type spi I will add support as needed in the >>>> future. >>> >>> Bindings are for hardware, not driver. What does your driver support or >>> does not, matters less. >> >> >> okay, I got it, and the loongson spi bindings was for loongson spi >> controller hardware. if the spi controller hardware not changed in >> different ls2k SoC and the spi compatible should be same thus loongson >> spi compatible seems to be adhere to the bindings aggrement. > > Specific compatible - yes. Unspecific - not, because you disregard the > clear message in the guideline. okay, I got it. Thanks.
diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml new file mode 100644 index 000000000000..d0be6e5378d7 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Loongson SPI controller + +maintainers: + - Yinbo Zhu <zhuyinbo@loongson.cn> + +allOf: + - $ref: /schemas/spi/spi-controller.yaml# + +properties: + compatible: + enum: + - loongson,ls2k-spi + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + +required: + - compatible + - reg + - clocks + +unevaluatedProperties: false + +examples: + - | + spi0: spi@1fff0220{ + compatible = "loongson,ls2k-spi"; + reg = <0x1fff0220 0x10>; + clocks = <&clk 17>; + #address-cells = <1>; + #size-cells = <0>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index fea4317faf75..e49c04c53c99 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12201,6 +12201,12 @@ F: Documentation/devicetree/bindings/clock/loongson,ls2k-clk.yaml F: drivers/clk/clk-loongson2.c F: include/dt-bindings/clock/loongson,ls2k-clk.h +LOONGSON SPI DRIVER +M: Yinbo Zhu <zhuyinbo@loongson.cn> +L: linux-spi@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml + LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) M: Sathya Prakash <sathya.prakash@broadcom.com> M: Sreekanth Reddy <sreekanth.reddy@broadcom.com>