linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Gatien CHEVALLIER <gatien.chevallier@foss.st.com>,
	alexandre.torgue@foss.st.com, robh+dt@kernel.org,
	Oleksii_Moisieiev@epam.com, linus.walleij@linaro.org,
	gregkh@linuxfoundation.org
Cc: linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, loic.pallardy@st.com,
	devicetree@vger.kernel.org, mark.rutland@arm.com, arnd@arndb.de
Subject: Re: [RFC PATCH 2/7] dt-bindings: bus: add STM32 System Bus
Date: Thu, 22 Dec 2022 14:55:50 +0100	[thread overview]
Message-ID: <e2974f65-fe56-2ac2-5b03-bc8ffe14b554@kernel.org> (raw)
In-Reply-To: <f785a9f9-a931-a4b0-5d97-d9e8ce24065a@foss.st.com>

On 22/12/2022 14:39, Gatien CHEVALLIER wrote:
> Hello,
> 
> On 12/22/22 11:24, Krzysztof Kozlowski wrote:
>> On 21/12/2022 18:30, Gatien Chevallier wrote:
>>> Document STM32 System Bus. This bus is intended to control firewall
>>> access for the peripherals connected to it.
>>>
>>> Signed-off-by: Loic PALLARDY <loic.pallardy@st.com>
>>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
>>
>> Please use scripts/get_maintainers.pl to get a list of necessary people
>> and lists to CC.  It might happen, that command when run on an older
>> kernel, gives you outdated entries.  Therefore please be sure you base
>> your patches on recent Linux kernel
> As it is based on Oleksii's patchset and older threads:
> [1]: 
> https://lore.kernel.org/all/20190318100605.29120-1-benjamin.gaignard@st.com/
> [2]: 
> https://lore.kernel.org/all/20200701132523.32533-1-benjamin.gaignard@st.com/
> 
> I wanted to include people that have already been included or 
> participated in these.
> 
> I'm sorry I did miss/added some (extra) people. I will double-check for 
> next patchset version.

Include people pointed by maintainers, they are not "extra". They are
basic/required. It's worth to include additionally people from original
feature-domain work, but as extra, not replacing get_maintainers!

> 
>>
>>> ---
>>>   .../devicetree/bindings/bus/st,sys-bus.yaml   | 88 +++++++++++++++++++
>>>   1 file changed, 88 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/bus/st,sys-bus.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/bus/st,sys-bus.yaml b/Documentation/devicetree/bindings/bus/st,sys-bus.yaml
>>> new file mode 100644
>>> index 000000000000..9c0e86612695
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/bus/st,sys-bus.yaml
>>> @@ -0,0 +1,88 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/bus/stm32,sys-bus.yaml
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title:  STM32 System Bus
>>
>> Only one space.
>>
> 
> Ack. I already pushed a V2, that is now outdated with your review, where 
> this error is fixed.
> 
>>> +
>>> +description: |
>>> +  The STM32 System Bus is an internal bus to which some internal peripherals
>>> +  are connected. STM32 System Bus integrates a firewall controlling access to each
>>> +  device. This bus prevents non-accessible devices to be probed.
>>> +
>>> +  To see which peripherals are securable, please check the SoC reference manual.
>>> +
>>> +maintainers:
>>> +  - Gatien Chevallier <gatien.chevallier@foss.st.com>
>>> +
>>> +allOf:
>>> +  - $ref: /schemas/feature-controllers/feature-domain-controller.yaml#
>>> +
>>> +properties:
>>> +  compatible:
>>> +    enum:
>>> +      - st,stm32mp13-sys-bus
>>> +      - st,stm32mp15-sys-bus
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  "#address-cells":
>>> +    const: 1
>>> +
>>> +  "#size-cells":
>>> +    const: 1
>>> +
>>> +  '#feature-domain-cells':
>>
>> Use consistent quotes, either ' or "
> 
> Ack, will change in V3.
> 
>>
>>> +    minItems: 1
>>
>> No. Cells must be const. This does not match cells at all...
>>
> 
> Ack, will change to const in V3. What do imply by saying it does not 
> match? 

cells do not have items, it's not an array but a number.

> Note that I've changed it to "minimum" in V2.

No, it must be const.



> 
>>> +
>>> +  ranges: true
>>> +
>>> +  feature-domain-controller: true
>>> +
>>> +patternProperties:
>>> +  "^.*@[0-9a-f]+$":
>>> +    description: Devices attached to system bus
>>> +    type: object
>>> +    properties:
>>> +      feature-domains:
>>> +        $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains
>>
>> maxItems
> 
> I don't think setting a max here is relevant as there can be numerous 
> feature-domains referenced.

Then pick some high, reasonable number with minItems: 1.

> 
> Maybe a min?
> 
>>
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +  - "#address-cells"
>>> +  - "#size-cells"
>>> +  - feature-domain-controller
>>> +  - '#feature-domain-cells'
>>> +  - ranges
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> +  - |
>>> +    // In this example,
>>> +    // - the foo1 device refers to etzpc as his domain controller.
>>> +    // - same goes for foo2.
>>> +    // Access rights are verified before creating devices.
>>> +
>>> +    etzpc: etzpc@5c007000 {
>>
>> Node names should be generic.
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>>
> 
> Ack, will change to "etzpc: bus@5c007000" in V3
> 
>>> +        compatible = "st,stm32mp15-sys-bus";
>>> +        reg = <0x5c007000 0x400>;
>>> +        #address-cells = <1>;
>>> +        #size-cells = <1>;
>>> +        ranges;
>>> +        feature-domain-controller;
>>> +        #feature-domain-cells = <1>;
>>> +
>>> +        foo1: foo@1000000 {
>>
>> Node names should be generic.
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> 
> Here, if I use real peripherals, I have an issue with the dependency to 
> YAML files. The feature-domains property is not defined in their 
> bindings. Therefore, the dt_binding_check fails on peripherals whose 
> YAML declare "additionalProperties: false" because the link to the 
> feature domain controller bindings does not exist.

Then your patchset is not complete and not correct, right? The binding
for the real example which you have in real world, should also allow it
in such
Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-12-22 14:11 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-21 17:30 [RFC PATCH 0/7] Introduce STM32 system bus Gatien Chevallier
2022-12-21 17:30 ` [RFC PATCH 1/7] dt-bindings: Document common device controller bindings Gatien Chevallier
2022-12-22 10:22   ` Krzysztof Kozlowski
2022-12-22 13:01     ` Gatien CHEVALLIER
2022-12-22 13:51       ` Krzysztof Kozlowski
2022-12-21 17:30 ` [RFC PATCH 2/7] dt-bindings: bus: add STM32 System Bus Gatien Chevallier
2022-12-21 20:09   ` Rob Herring
2022-12-22 10:24   ` Krzysztof Kozlowski
2022-12-22 13:39     ` Gatien CHEVALLIER
2022-12-22 13:55       ` Krzysztof Kozlowski [this message]
2022-12-21 17:30 ` [RFC PATCH 3/7] dt-bindings: bus: add STM32MP15 ETZPC firewall bus bindings Gatien Chevallier
2022-12-22 10:26   ` Krzysztof Kozlowski
2022-12-22 13:51     ` Gatien CHEVALLIER
2022-12-22 13:57       ` Krzysztof Kozlowski
2023-01-04 13:43         ` Gatien CHEVALLIER
2023-01-05 21:53           ` Krzysztof Kozlowski
2023-01-09 11:54             ` Gatien CHEVALLIER
2023-01-11 12:32               ` Krzysztof Kozlowski
2023-01-16 14:06                 ` Gatien CHEVALLIER
2022-12-21 17:30 ` [RFC PATCH 4/7] dt-bindings: bus: add STM32MP13 " Gatien Chevallier
2022-12-22 10:26   ` Krzysztof Kozlowski
2022-12-22 13:53     ` Gatien CHEVALLIER
2022-12-21 17:30 ` [RFC PATCH 5/7] bus: stm32_sys_bus: add support for STM32MP15 and STM32MP13 system bus Gatien Chevallier
2022-12-22 10:28   ` Krzysztof Kozlowski
2022-12-22 14:30     ` Gatien CHEVALLIER
2022-12-22 15:19       ` Krzysztof Kozlowski
2022-12-21 17:30 ` [RFC PATCH 6/7] ARM: dts: stm32: add ETZPC as a system bus for STM32MP15x boards Gatien Chevallier
2022-12-22 10:30   ` Krzysztof Kozlowski
2022-12-22 14:42     ` Gatien CHEVALLIER
2022-12-22 15:21       ` Krzysztof Kozlowski
2022-12-22 15:57         ` Gatien CHEVALLIER
2022-12-22 16:00           ` Krzysztof Kozlowski
2022-12-21 17:30 ` [RFC PATCH 7/7] ARM: dts: stm32: add ETZPC as a system bus for STM32MP13x boards Gatien Chevallier

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=e2974f65-fe56-2ac2-5b03-bc8ffe14b554@kernel.org \
    --to=krzk@kernel.org \
    --cc=Oleksii_Moisieiev@epam.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=gatien.chevallier@foss.st.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=loic.pallardy@st.com \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).