All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lubomir Rintel <lkundrak@v3.sk>
To: Rob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Marc Zyngier <maz@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mark Brown <broonie@kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Daniel Mack <daniel@zonque.org>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Robert Jarzmik <robert.jarzmik@free.fr>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-media@vger.kernel.org, linux-mmc@vger.kernel.org,
	linux-rtc@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-spi@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH 23/28] dt-bindings: interrupt-controller: Convert mrvl,intc to json-schema
Date: Sun, 17 May 2020 21:11:28 +0200	[thread overview]
Message-ID: <20200517191128.GC1695525@furthur.local> (raw)
In-Reply-To: <20200327194207.GA1996@bogus>

On Fri, Mar 27, 2020 at 01:42:07PM -0600, Rob Herring wrote:
> On Tue, Mar 17, 2020 at 10:39:17AM +0100, Lubomir Rintel wrote:
> > Convert the mrvl,intc binding to DT schema format using json-schema.
> > 
> > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
> > ---
> >  .../interrupt-controller/mrvl,intc.txt        |  64 --------
> >  .../interrupt-controller/mrvl,intc.yaml       | 144 ++++++++++++++++++
> >  2 files changed, 144 insertions(+), 64 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt b/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt
> > deleted file mode 100644
> > index a0ed02725a9d7..0000000000000
> > --- a/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt
> > +++ /dev/null
> > @@ -1,64 +0,0 @@
> > -* Marvell MMP Interrupt controller
> > -
> > -Required properties:
> > -- compatible : Should be
> > -               "mrvl,mmp-intc" on Marvel MMP,
> > -               "mrvl,mmp2-intc" along with "mrvl,mmp2-mux-intc" on MMP2 or
> > -               "marvell,mmp3-intc" with "mrvl,mmp2-mux-intc" on MMP3
> > -- reg : Address and length of the register set of the interrupt controller.
> > -  If the interrupt controller is intc, address and length means the range
> > -  of the whole interrupt controller. The "marvell,mmp3-intc" controller
> > -  also has a secondary range for the second CPU core.  If the interrupt
> > -  controller is mux-intc, address and length means one register. Since
> > -  address of mux-intc is in the range of intc. mux-intc is secondary
> > -  interrupt controller.
> > -- reg-names : Name of the register set of the interrupt controller. It's
> > -  only required in mux-intc interrupt controller.
> > -- interrupts : Should be the port interrupt shared by mux interrupts. It's
> > -  only required in mux-intc interrupt controller.
> > -- interrupt-controller : Identifies the node as an interrupt controller.
> > -- #interrupt-cells : Specifies the number of cells needed to encode an
> > -  interrupt source.
> > -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
> > -  controller.
> > -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
> > -  detection first.
> > -
> > -Example:
> > -	intc: interrupt-controller@d4282000 {
> > -		compatible = "mrvl,mmp2-intc";
> > -		interrupt-controller;
> > -		#interrupt-cells = <1>;
> > -		reg = <0xd4282000 0x1000>;
> > -		mrvl,intc-nr-irqs = <64>;
> > -	};
> > -
> > -	intcmux4@d4282150 {
> > -		compatible = "mrvl,mmp2-mux-intc";
> > -		interrupts = <4>;
> > -		interrupt-controller;
> > -		#interrupt-cells = <1>;
> > -		reg = <0x150 0x4>, <0x168 0x4>;
> > -		reg-names = "mux status", "mux mask";
> > -		mrvl,intc-nr-irqs = <2>;
> > -	};
> > -
> > -* Marvell Orion Interrupt controller
> > -
> > -Required properties
> > -- compatible :  Should be "marvell,orion-intc".
> > -- #interrupt-cells: Specifies the number of cells needed to encode an
> > -  interrupt source. Supported value is <1>.
> > -- interrupt-controller : Declare this node to be an interrupt controller.
> > -- reg : Interrupt mask address. A list of 4 byte ranges, one per controller.
> > -        One entry in the list represents 32 interrupts.
> > -
> > -Example:
> > -
> > -	intc: interrupt-controller {
> > -        	compatible = "marvell,orion-intc", "marvell,intc";
> > -		interrupt-controller;
> > -		#interrupt-cells = <1>;
> > -                reg = <0xfed20204 0x04>,
> > -		      <0xfed20214 0x04>;
> > -        };
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.yaml
> > new file mode 100644
> > index 0000000000000..f0644f7d7e1d2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.yaml
> > @@ -0,0 +1,144 @@
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/interrupt-controller/mrvl,intc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Marvell MMP/Orion Interrupt controller bindings
> > +
> > +maintainers:
> > +  - devicetree@vger.kernel.org
> > +
> > +allOf:
> > +  - $ref: /schemas/interrupt-controller.yaml#
> 
> Drop this. It is already applied based on matching on the node name.
> 
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          not:
> > +            contains:
> > +              const: marvell,orion-intc
> > +    then:
> > +      required:
> > +        - mrvl,intc-nr-irqs
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - mrvl,mmp-intc
> > +              - mrvl,mmp2-intc
> > +    then:
> > +      properties:
> > +        reg:
> > +          minItems: 1
> > +          maxItems: 1
> 
> Drop minItems, as just 'maxItems: 1' is enough.
> 
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - marvell,mmp3-intc
> > +              - mrvl,mmp2-mux-intc
> > +    then:
> > +      properties:
> > +        reg:
> > +          minItems: 2
> > +          maxItems: 2
> 
> Just 'minItems: 2'.
> 
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,orion-intc
> > +    then:
> > +      properties:
> > +        reg:
> > +          minItems: 1
> > +          maxItems: 2
> 
> Normally, for a compatible this would not vary...
> 
> In any case, move this to the main section and drop this if.
> 
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: mrvl,mmp2-mux-intc
> > +    then:
> > +      properties:
> > +        interrupts:
> > +          minItems: 1
> > +          maxItems: 1
> 
> Just 'maxItems'
> 
> > +        reg-names:
> > +          minItems: 2
> > +          maxItems: 2
> 
> These are redundant as 'items' size implies this.
> 
> > +          items:
> > +            - const: 'mux status'
> > +            - const: 'mux mask'
> 
> Move this to the main section.
> 
> > +      required:
> > +        - interrupts
> > +    else:
> > +      properties:
> > +        interrupts: false
> > +
> > +properties:
> > +  '#interrupt-cells':
> > +    const: 1
> > +
> > +  compatible:
> > +    enum:
> > +      - mrvl,mmp-intc
> > +      - mrvl,mmp2-intc
> > +      - marvell,mmp3-intc
> > +      - marvell,orion-intc
> > +      - mrvl,mmp2-mux-intc
> > +
> > +  reg: true
> > +
> > +  reg-names: true
> > +
> > +  interrupts: true
> > +
> > +  interrupt-controller: true
> > +
> > +  mrvl,intc-nr-irqs:
> > +    description: |
> > +      Specifies the number of interrupts in the interrupt controller.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> 
> Is there a max number?

There's none in the original bindings document or enforced by the
driver.

> > +
> > +  mrvl,clr-mfp-irq:
> > +    description: |
> > +      Specifies the interrupt that needs to clear MFP edge detection first.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> 
> Constraints?

I don't know how should this be constrained and the original bindings
document is not helpful.

> > +
> > +required:
> > +  - '#interrupt-cells'
> > +  - compatible
> > +  - reg
> > +  - interrupt-controller
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    interrupt-controller@d4282000 {
> > +        compatible = "mrvl,mmp2-intc";
> > +        interrupt-controller;
> > +        #interrupt-cells = <1>;
> > +        reg = <0xd4282000 0x1000>;
> > +        mrvl,intc-nr-irqs = <64>;
> > +    };
> > +
> > +    interrupt-controller@d4282150 {
> > +        compatible = "mrvl,mmp2-mux-intc";
> > +        interrupts = <4>;
> > +        interrupt-controller;
> > +        #interrupt-cells = <1>;
> > +        reg = <0x150 0x4>, <0x168 0x4>;
> > +        reg-names = "mux status", "mux mask";
> > +        mrvl,intc-nr-irqs = <2>;
> > +    };
> > +  - |
> > +    interrupt-controller@fed20204 {
> > +        compatible = "marvell,orion-intc";
> > +        interrupt-controller;
> > +        #interrupt-cells = <1>;
> > +        reg = <0xfed20204 0x04>,
> > +              <0xfed20214 0x04>;
> > +    };
> > +
> > +...
> > -- 
> > 2.25.1
> > 

  reply	other threads:[~2020-05-17 19:11 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-17  9:38 [PATCH 00/28] DT: Improve validation for Marvell SoCs Lubomir Rintel
2020-03-17  9:38 ` Lubomir Rintel
2020-03-17  9:38 ` [PATCH 01/28] ARM: dts: kirkwood: Fix interrupt controller node name Lubomir Rintel
2020-03-17  9:38   ` Lubomir Rintel
2020-03-17 13:20   ` Andrew Lunn
2020-03-17 13:20     ` Andrew Lunn
2020-03-17  9:38 ` [PATCH 02/28] ARM: dts: dove: " Lubomir Rintel
2020-03-17  9:38   ` Lubomir Rintel
2020-03-17 13:20   ` Andrew Lunn
2020-03-17 13:20     ` Andrew Lunn
2020-03-17  9:38 ` [PATCH 03/28] ARM: dts: pxa168: Add missing address/size cells to i2c nodes Lubomir Rintel
2020-03-17  9:38   ` Lubomir Rintel
2020-03-17 13:21   ` Andrew Lunn
2020-03-17 13:21     ` Andrew Lunn
2020-03-17  9:38 ` [PATCH 04/28] ARM: dts: pxa168: Fix the gpio interrupt cell number Lubomir Rintel
2020-03-17  9:38   ` Lubomir Rintel
2020-03-17 13:27   ` Andrew Lunn
2020-03-17 13:27     ` Andrew Lunn
2020-03-17  9:38 ` [PATCH 05/28] ARM: dts: pxa3xx: Fix up encoding of the /gpio interrupts property Lubomir Rintel
2020-03-17  9:38   ` Lubomir Rintel
2020-03-17 13:28   ` Andrew Lunn
2020-03-17 13:28     ` Andrew Lunn
2020-03-21  7:36     ` Robert Jarzmik
2020-03-21  7:36       ` Robert Jarzmik
2020-03-21  7:36       ` Robert Jarzmik
2020-03-17  9:39 ` [PATCH 06/28] ARM: dts: pxa910: Fix the gpio interrupt cell number Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:29   ` Andrew Lunn
2020-03-17 13:29     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 07/28] ARM: dts: pxa*: Fix up encoding of the /rtc interrupts property Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:29   ` Andrew Lunn
2020-03-17 13:29     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 08/28] ARM: dts: mmp*: " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:30   ` Andrew Lunn
2020-03-17 13:30     ` Andrew Lunn
2020-03-17 13:30   ` Andrew Lunn
2020-03-17 13:30     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 09/28] ARM: dts: mmp3: fix L2 cache controller node name Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:31   ` Andrew Lunn
2020-03-17 13:31     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 10/28] ARM: dts: mmp3: fix USB & USB PHY node names Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:32   ` Andrew Lunn
2020-03-17 13:32     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 11/28] ARM: dts: berlin*: Fix up the SDHCI " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:34   ` Andrew Lunn
2020-03-17 13:34     ` Andrew Lunn
2020-03-17  9:39 ` [PATCH 12/28] spi: dt-bindings: spi-controller: Slaves have no address cells Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-19 16:51   ` Rob Herring
2020-03-19 16:51     ` Rob Herring
2020-03-17  9:39 ` [PATCH 13/28] dt-bindings: serial: move Marvell compatible string to 8250 binding doc Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:48   ` Andrew Lunn
2020-03-17 13:48     ` Andrew Lunn
2020-03-17 19:09     ` Lubomir Rintel
2020-03-17 19:09       ` Lubomir Rintel
2020-03-19 16:09     ` Rob Herring
2020-03-19 16:09       ` Rob Herring
2020-03-19 16:11   ` Rob Herring
2020-03-19 16:11     ` Rob Herring
2020-03-20  9:24     ` Lubomir Rintel
2020-03-20  9:24       ` Lubomir Rintel
2020-03-17  9:39 ` [PATCH 14/28] dt-bindings: arm: l2x0: Tauros 3 is PL310 compatible Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:03   ` Rob Herring
2020-03-27 19:03     ` Rob Herring
2020-03-27 19:04   ` Rob Herring
2020-03-27 19:04     ` Rob Herring
2020-03-17  9:39 ` [PATCH 15/28] dt-bindings: arm: mrvl: Add missing compatible strings Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 13:54   ` Andrew Lunn
2020-03-17 13:54     ` Andrew Lunn
2020-03-27 19:06   ` Rob Herring
2020-03-27 19:06     ` Rob Herring
2020-03-17  9:39 ` [PATCH 16/28] dt-bindings: Add "mrvl", a legacy vendor prefix for Marvell Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:06   ` Rob Herring
2020-03-27 19:06     ` Rob Herring
2020-03-17  9:39 ` [PATCH 17/28] dt-bindings: mmc: Fix up clk-phase-sd-hs in an example Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-17 10:04   ` Sergei Shtylyov
2020-03-17 10:04     ` Sergei Shtylyov
2020-03-27 19:08   ` Rob Herring
2020-03-27 19:08     ` Rob Herring
2020-03-17  9:39 ` [PATCH 18/28] dt-bindings: mmc: Fix node name " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-26 14:28   ` Ulf Hansson
2020-03-26 14:28     ` Ulf Hansson
2020-03-17  9:39 ` [PATCH 19/28] dt-bindings: mmc: Convert sdhci-pxa to json-schema Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-18 22:14   ` Rob Herring
2020-03-18 22:14     ` Rob Herring
2020-03-18 22:37   ` Rob Herring
2020-03-18 22:37     ` Rob Herring
2020-05-17 18:35     ` Lubomir Rintel
2020-03-17  9:39 ` [PATCH 20/28] dt-bindings: phy: Convert phy-mmp3-usb " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:09   ` Rob Herring
2020-03-27 19:09     ` Rob Herring
2020-03-17  9:39 ` [PATCH 21/28] dt-bindings: gpio: Convert mrvl-gpio " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 10:04   ` Linus Walleij
2020-03-27 10:04     ` Linus Walleij
2020-03-27 19:29     ` Rob Herring
2020-03-27 19:29       ` Rob Herring
2020-03-27 19:28   ` Rob Herring
2020-03-27 19:28     ` Rob Herring
2020-05-17 19:00     ` Lubomir Rintel
2020-03-17  9:39 ` [PATCH 22/28] dt-bindings: i2c: Convert i2c-pxa " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-06-03 20:41   ` Wolfram Sang
2020-03-17  9:39 ` [PATCH 23/28] dt-bindings: interrupt-controller: Convert mrvl,intc " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:42   ` Rob Herring
2020-03-27 19:42     ` Rob Herring
2020-05-17 19:11     ` Lubomir Rintel [this message]
2020-03-17  9:39 ` [PATCH 24/28] dt-bindings: media: Convert marvell,mmp2-ccic " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:46   ` Rob Herring
2020-03-27 19:46     ` Rob Herring
2020-05-17 19:21     ` Lubomir Rintel
2020-03-17  9:39 ` [PATCH 25/28] dt-bindings: rtc: Convert sa1100-rtc " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:49   ` Rob Herring
2020-03-27 19:49     ` Rob Herring
2020-05-17 19:25     ` Lubomir Rintel
2020-05-18 15:12       ` Rob Herring
2020-03-17  9:39 ` [PATCH 26/28] dt-bindings: spi: Convert spi-pxa2xx " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:52   ` Rob Herring
2020-03-27 19:52     ` Rob Herring
2020-05-17 19:30     ` Lubomir Rintel
2020-03-17  9:39 ` [PATCH 27/28] dt-bindings: timer: Convert mrvl,mmp-timer " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:53   ` Rob Herring
2020-03-27 19:53     ` Rob Herring
2020-03-17  9:39 ` [PATCH 28/28] dt-bindings: usb: Convert ehci-mv " Lubomir Rintel
2020-03-17  9:39   ` Lubomir Rintel
2020-03-27 19:55   ` Rob Herring
2020-03-27 19:55     ` Rob Herring
2020-05-17 19:34     ` Lubomir Rintel
2020-05-18 15:20       ` Rob Herring
2020-03-17 13:19 ` [PATCH 00/28] DT: Improve validation for Marvell SoCs Mark Brown
2020-03-17 13:19   ` Mark Brown
2020-03-17 13:46 ` Andrew Lunn
2020-03-17 13:46   ` Andrew Lunn
2020-03-17 13:55   ` Alexandre Belloni
2020-03-17 13:55     ` Alexandre Belloni
2020-03-17 13:59     ` Andrew Lunn
2020-03-17 13:59       ` Andrew Lunn

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=20200517191128.GC1695525@furthur.local \
    --to=lkundrak@v3.sk \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=bgolaszewski@baylibre.com \
    --cc=broonie@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=daniel@zonque.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.clement@bootlin.com \
    --cc=haojian.zhuang@gmail.com \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robert.jarzmik@free.fr \
    --cc=robh@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=ulf.hansson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.