public inbox for linux-arm-msm@vger.kernel.org
 help / color / mirror / Atom feed
From: Iskren Chernev <iskren.chernev@gmail.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Rob Herring <robh+dt@kernel.org>
Cc: phone-devel@vger.kernel.org,
	~postmarketos/upstreaming@lists.sr.ht,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	Andy Gross <agross@kernel.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 7/9] arm64: dts: qcom: sm6115: Add basic soc dtsi
Date: Sun, 11 Sep 2022 13:22:12 +0300	[thread overview]
Message-ID: <cdb756fc-6a4f-3853-9570-f02b8cb03990@gmail.com> (raw)
In-Reply-To: <7e5eb29f-913a-7540-c618-fb6c5a493d5d@linaro.org>



On 9/11/22 13:07, Krzysztof Kozlowski wrote:
> On 11/09/2022 11:09, Iskren Chernev wrote:
>>
>>
>> On 9/11/22 11:40, Krzysztof Kozlowski wrote:
>>> On 10/09/2022 16:32, Iskren Chernev wrote:
>>>> Add support for Qualcomm SM6115 SoC. This includes:
>>>> - GCC
>>>> - Pinctrl
>>>> - RPM (CC+PD)
>>>> - USB
>>>> - MMC
>>>> - UFS
>>>>
>>>> Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
>>>> ---
>>>> pending issues with dtschema:
>>>> - for some reason, using pinctrl phandles (in mmc) breaks the pinctrl
>>>>   schema (4 times)
>>>>       .output/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dtb: pinctrl@500000: sdc1-on-state: 'oneOf' conditional failed, one must be fixed:
>>>>             'pins' is a required property
>>>>             'clk', 'cmd', 'data', 'rclk' do not match any of the regexes: 'pinctrl-[0-9]+'
>>>>             [[26]] is not of type 'object'
>>>>             From schema: /home/iskren/src/pmos/linux-postmarketos/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-pinctrl.yaml
>>>
>>> It's the same as 06367559766b7c9bd96d2baef8bfc5a9bb451e25. I propose to
>>> fix it the same way. I can do a biger change for all pinctrls, so here
>>> you would need to add "-pins" prefix to entries (see patch
>>> 4fcdaf4b0320f93d0ccb4d36b795ed258fb07b27).
>>
>> OK, that makes sense. One thing that is a bit odd -- the current pattern
>> "(pinconf|-pins)$" matches anything that ends in pinconf OR -pins (so it could
>> be sth-pinconf).
>
> Yeah, I am fixing it to ^(pinconf|.*-pins)$
>
>> Also, if you only have a single block, isn't the idea to just
>> list it in the -states node.  I mean we either force everybody to nest with
>> a pinconf, or we allow -pins for nested stuff and directly in -state for the
>> non-nested. Just my 2c.
>
> I didn't get this one... We allow exactly this, don't we (in PMIC GPIOs)?

Currently the schema (you linked) has:

    patternProperties:
      '-state$':
        oneOf:
          - $ref: "#/$defs/qcom-pmic-gpio-state" // 1st case
          - patternProperties:                   // 2nd case
              "(pinconf|-pins)$":
                $ref: "#/$defs/qcom-pmic-gpio-state"
            additionalProperties: false

The idea being that you can have

    pinctrl@xxx {
        basic-state { // this matches the first state in oneOf
            pins: "gpio1";
            funciton: "normal";
        };

        nested-state {
            some-pins { // this matches the second state in oneOf
                pins: "gpio1";
                funciton: "normal";
            };
            other-pins {
                pins: "gpio2"
                funciton: "normal";
            };
        }

        // but also, matching second state in oneOf
        nested-basic-state {
            pinconf {
                pins: "gpio1";
                funciton: "normal";
            };
        };
    };

So I'm saying, we should either choose basic-state and nested-state, in which
case we don't need the "^pinconf$" variant, or we can have nested-state and
nested-basic-state, in which case we don't need the 1st case of the oneOf.

Otherwise people have to choose between basic-state and nested-basic-state,
which are equivalent in semantics.

On a tangent -- why specifying the .* regex of pinctrl subnodes has effect on
pinctrl references in other nodes. I.e I don't understand why this fix fixes
the issue (but it does).

> Best regards,
> Krzysztof

  reply	other threads:[~2022-09-11 10:22 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-10 14:32 [PATCH v3 0/9] Add support for sm6115,4250 and OnePlus Nord N100 Iskren Chernev
2022-09-10 14:32 ` [PATCH v3 1/9] dt-bindings: ufs: qcom: Add sm6115 binding Iskren Chernev
2022-09-11  8:21   ` Krzysztof Kozlowski
2022-09-10 14:32 ` [PATCH v3 2/9] dt-bindings: arm: cpus: Add kryo240 compatible Iskren Chernev
2022-09-10 14:32 ` [PATCH v3 3/9] dt-bindings: arm: qcom: Add compatible for oneplus,billie2 phone Iskren Chernev
2022-09-10 14:32 ` [PATCH v3 4/9] dt-bindings: usb: qcom,dwc3: Fix SM6115 clocks, irqs Iskren Chernev
2022-09-11 13:29   ` Krzysztof Kozlowski
2022-09-10 14:32 ` [PATCH v3 5/9] dt-bindings: mmc: sdhci-msm: Add pinctrl-1 property Iskren Chernev
2022-09-11 13:30   ` Krzysztof Kozlowski
2022-09-12 17:00   ` Bhupesh Sharma
2022-09-14 14:00   ` Ulf Hansson
2022-09-10 14:32 ` [PATCH v3 6/9] dt-bindings: phy: qcom,qmp-ufs: Fix SM6115 clocks, regs Iskren Chernev
2022-09-11 13:30   ` Krzysztof Kozlowski
2022-09-10 14:32 ` [PATCH v3 7/9] arm64: dts: qcom: sm6115: Add basic soc dtsi Iskren Chernev
2022-09-11  8:40   ` Krzysztof Kozlowski
2022-09-11  9:09     ` Iskren Chernev
2022-09-11 10:07       ` Krzysztof Kozlowski
2022-09-11 10:22         ` Iskren Chernev [this message]
2022-09-11 10:26           ` Krzysztof Kozlowski
2022-09-11 12:03             ` Iskren Chernev
2022-09-13 21:38   ` Bjorn Andersson
2022-09-10 14:32 ` [PATCH v3 8/9] arm64: dts: qcom: sm4250: Add " Iskren Chernev
2022-09-10 14:32 ` [PATCH v3 9/9] arm64: dts: qcom: sm4250: Add support for oneplus-billie2 Iskren Chernev
2022-09-13 21:30   ` Bjorn Andersson
2022-09-15 14:37     ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cdb756fc-6a4f-3853-9570-f02b8cb03990@gmail.com \
    --to=iskren.chernev@gmail.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@somainline.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phone-devel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox