lkml.org 
[lkml]   [2023]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    SubjectRe: [PATCH v5 2/7] dt-bindings: soc: starfive: Add StarFive syscon module
    From
    On 2023/6/14 2:31, Krzysztof Kozlowski wrote:
    > On 13/06/2023 14:58, Xingyu Wu wrote:
    >> From: William Qiu <william.qiu@starfivetech.com>
    >>
    >> Add documentation to describe StarFive System Controller Registers.
    >>
    >> Co-developed-by: Xingyu Wu <xingyu.wu@starfivetech.com>
    >> Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
    >> Signed-off-by: William Qiu <william.qiu@starfivetech.com>
    >> ---
    >> .../soc/starfive/starfive,jh7110-syscon.yaml | 62 +++++++++++++++++++
    >> MAINTAINERS | 7 +++
    >> 2 files changed, 69 insertions(+)
    >> create mode 100644 Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml
    >>
    >> diff --git a/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml b/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml
    >> new file mode 100644
    >> index 000000000000..a81190f8a54d
    >> --- /dev/null
    >> +++ b/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml
    >> @@ -0,0 +1,62 @@
    >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    >> +%YAML 1.2
    >> +---
    >> +$id: http://devicetree.org/schemas/soc/starfive/starfive,jh7110-syscon.yaml#
    >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
    >> +
    >> +title: StarFive JH7110 SoC system controller
    >> +
    >> +maintainers:
    >> + - William Qiu <william.qiu@starfivetech.com>
    >> +
    >> +description: |
    >> + The StarFive JH7110 SoC system controller provides register information such
    >> + as offset, mask and shift to configure related modules such as MMC and PCIe.
    >> +
    >> +properties:
    >> + compatible:
    >> + oneOf:
    >> + - items:
    >> + - const: starfive,jh7110-sys-syscon
    >> + - const: syscon
    >> + - const: simple-mfd
    >> + - items:
    >> + - enum:
    >> + - starfive,jh7110-aon-syscon
    >> + - starfive,jh7110-stg-syscon
    >> + - const: syscon
    >> +
    >> + reg:
    >> + maxItems: 1
    >> +
    >> + clock-controller:
    >> + $ref: /schemas/clock/starfive,jh7110-pll.yaml#
    >> + type: object
    >> +
    >> + "#power-domain-cells":
    >> + const: 1
    >> +
    >> +required:
    >> + - compatible
    >> + - reg
    >> +
    >> +allOf:
    >> + - if:
    >> + properties:
    >> + compatible:
    >> + contains:
    >> + const: starfive,jh7110-aon-syscon
    >> + then:
    >> + required:
    >> + - "#power-domain-cells"
    >
    > Where did you implement the results of the discussion that only some
    > devices can have power and clock controller?
    >
    > According to your code all of above - sys, aon and stg - have clock and
    > power controllers. If not, then the code is not correct, so please do
    > not respond with what is where (like you did last time) but actually
    > implement what you say.
    >

    Hi Krzysztof, I need to modify the code to implement it.
    If I drop the 'clock-controller' and '"#power-domain-cells"' in properites, and change to this:

    --- a/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml
    +++ b/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-syscon.yaml
    @@ -29,28 +29,33 @@ properties:
    reg:
    maxItems: 1

    - clock-controller:
    - $ref: /schemas/clock/starfive,jh7110-pll.yaml#
    - type: object
    -
    - "#power-domain-cells":
    - const: 1
    -
    required:
    - compatible
    - reg

    allOf:
    + - if:
    + properties:
    + compatible:
    + contains:
    + const: starfive,jh7110-sys-syscon
    + then:
    + properties:
    + clock-controller:
    + $ref: /schemas/clock/starfive,jh7110-pll.yaml#
    + type: object
    +
    - if:
    properties:
    compatible:
    contains:
    const: starfive,jh7110-aon-syscon
    then:
    - required:
    - - "#power-domain-cells"
    + properties:
    + "#power-domain-cells":
    + const: 1

    -additionalProperties: false
    +additionalProperties: true


    Would it be better to show that sys-syscon only has clock-controller and aon-syscon is power controller?

    Best regards,
    Xingyu Wu
    \
     
     \ /
      Last update: 2023-06-28 10:59    [W:4.359 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site