Message ID | 20230526062626.1180-1-bbhushan2@marvell.com |
---|---|
State | New |
Headers | show |
Series | [1/2,v8] dt-bindings: watchdog: marvell GTI system watchdog driver | expand |
Hi Conor, Please see inline > -----Original Message----- > From: Conor Dooley <conor@kernel.org> > Sent: Saturday, May 27, 2023 1:07 AM > To: Bharat Bhushan <bbhushan2@marvell.com> > Cc: wim@linux-watchdog.org; linux@roeck-us.net; robh+dt@kernel.org; > krzysztof.kozlowski+dt@linaro.org; linux-watchdog@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Sunil Kovvuri > Goutham <sgoutham@marvell.com> > Subject: [EXT] Re: [PATCH 1/2 v8] dt-bindings: watchdog: marvell GTI system > watchdog driver > > External Email > > ---------------------------------------------------------------------- > Yo Bharat, > > On Fri, May 26, 2023 at 11:56:25AM +0530, Bharat Bhushan wrote: > > Add binding documentation for the Marvell GTI system watchdog driver. > > > > Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com> > > --- > > v8: > > - Compatible name as per soc name > > I am sorry, but I do not understand this. I mean to say replaced soc family name from compatible with actual soc names > > > > > .../watchdog/marvell,octeontx2-wdt.yaml | 73 +++++++++++++++++++ > > 1 file changed, 73 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yaml > > > > diff --git > > a/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yam > > l > > b/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yam > > l > > new file mode 100644 > > index 000000000000..3c642359d960 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt > > +++ .yaml > > @@ -0,0 +1,73 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: > > +http://devicetree.org/schemas/watchdog/marvell,octeontx2-wdt.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Marvell Global Timer (GTI) system watchdog > > + > > +allOf: > > + - $ref: watchdog.yaml# > > From v7: > Put allOf after maintainers:. Thanks for pointing, I am sorry, missed almost all comments on v7. Will resolve this and below as well in next version > > > + > > +maintainers: > > + - Bharat Bhushan <bbhushan2@marvell.com> > > + > > +properties: > > + compatible: > > + enum: > > + - marvell,cn9670-wdt > > + - marvell,cn9880-wdt > > + - marvell,cnf9535-wdt > > + - marvell,cn10624-wdt > > + - marvell,cn10308-wdt > > + - marvell,cnf10518-wdt > > static const struct of_device_id gti_wdt_of_match[] = { > { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, > { .compatible = "marvell,cn9880-wdt", .data = &match_data_octeontx2}, > { .compatible = "marvell,cnf9535-wdt", .data = &match_data_octeontx2}, > { .compatible = "marvell,cn10624-wdt", .data = &match_data_cn10k}, > { .compatible = "marvell,cn10308-wdt", .data = &match_data_cn10k}, > { .compatible = "marvell,cnf10518-wdt", .data = &match_data_cn10k}, > > This is a fat hint that you should be using fallback compatibles here. > You even had a fallback setup in your last revision, but you seem to have > removed it alongside the removal of the wildcards. Why did you do that? Not sure I understand this comment, Compatible in last version was as below: + properties: + compatible: + oneOf: + - const: marvell,octeontx2-wdt + - items: + - enum: + - marvell,octeontx2-95xx-wdt + - marvell,octeontx2-96xx-wdt + - marvell,octeontx2-98xx-wdt + - const: marvell,octeontx2-wdt + - const: marvell,cn10k-wdt + - items: + - enum: + - marvell,cn10kx-wdt + - marvell,cnf10kx-wdt + - const: marvell,cn10k-wdt By fallback do you mean " const: marvell,cn10k-wdt" and " const: marvell,octeontx2-wdt" ? If yes I removed because "octeontx2" and "cn10k" are soc family name and no a specific soc. Thanks -Bharat > > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + clocks: > > + minItems: 1 > > From v7: > maxItems instead. You see it is different than above properties? > > > + > > + clock-names: > > + minItems: 1 > > From v7: > Need to define names. > > Cheers, > Conor.
On Sat, May 27, 2023 at 02:53:25PM +0000, Bharat Bhushan wrote: > From: Conor Dooley <conor@kernel.org> > > On Fri, May 26, 2023 at 11:56:25AM +0530, Bharat Bhushan wrote: > > > +properties: > > > + compatible: > > > + enum: > > > + - marvell,cn9670-wdt > > > + - marvell,cn9880-wdt > > > + - marvell,cnf9535-wdt > > > + - marvell,cn10624-wdt > > > + - marvell,cn10308-wdt > > > + - marvell,cnf10518-wdt > > > > static const struct of_device_id gti_wdt_of_match[] = { > > { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, > > { .compatible = "marvell,cn9880-wdt", .data = &match_data_octeontx2}, > > { .compatible = "marvell,cnf9535-wdt", .data = &match_data_octeontx2}, > > { .compatible = "marvell,cn10624-wdt", .data = &match_data_cn10k}, > > { .compatible = "marvell,cn10308-wdt", .data = &match_data_cn10k}, > > { .compatible = "marvell,cnf10518-wdt", .data = &match_data_cn10k}, > > > > This is a fat hint that you should be using fallback compatibles here. > > You even had a fallback setup in your last revision, but you seem to have > > removed it alongside the removal of the wildcards. Why did you do that? > > Not sure I understand this comment, Compatible in last version was as below: > > + properties: > + compatible: > + oneOf: > + - const: marvell,octeontx2-wdt > + - items: > + - enum: > + - marvell,octeontx2-95xx-wdt > + - marvell,octeontx2-96xx-wdt > + - marvell,octeontx2-98xx-wdt > + - const: marvell,octeontx2-wdt > + - const: marvell,cn10k-wdt > + - items: > + - enum: > + - marvell,cn10kx-wdt > + - marvell,cnf10kx-wdt > + - const: marvell,cn10k-wdt > > By fallback do you mean " const: marvell,cn10k-wdt" and > "const: marvell,octeontx2-wdt" ? If yes I removed because "octeontx2" > and "cn10k" are soc family name and no a specific soc. No, I meant that you should permit compatible = "marvell,cn9880-wdt", "marvell,cn9670-wdt"; and compatible = "marvell,cnf9535-wdt", "marvell,cn9670-wdt"; and compatible = "marvell,cn9670-wdt"; so the driver only needs to contain { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, instead of { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, { .compatible = "marvell,cn9880-wdt", .data = &match_data_octeontx2}, { .compatible = "marvell,cnf9535-wdt", .data = &match_data_octeontx2}, Note that using fallback compatibles is separate from using wildcards, and I was not suggesting that you go back to wildcards ;) Cheers, Conor.
diff --git a/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yaml b/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yaml new file mode 100644 index 000000000000..3c642359d960 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/watchdog/marvell,octeontx2-wdt.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Marvell Global Timer (GTI) system watchdog + +allOf: + - $ref: watchdog.yaml# + +maintainers: + - Bharat Bhushan <bbhushan2@marvell.com> + +properties: + compatible: + enum: + - marvell,cn9670-wdt + - marvell,cn9880-wdt + - marvell,cnf9535-wdt + - marvell,cn10624-wdt + - marvell,cn10308-wdt + - marvell,cnf10518-wdt + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + + clock-names: + minItems: 1 + + marvell,wdt-timer-index: + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 63 + description: + An SoC have many timers (up to 64), firmware can reserve one or more timer + for some other use case and configures one of the global timer as watchdog + timer. Firmware will update this field with the timer number configured + as watchdog timer. + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + soc { + #address-cells = <2>; + #size-cells = <2>; + + watchdog@802000040000 { + compatible = "marvell,cn9670-wdt"; + reg = <0x00008020 0x00040000 0x00000000 0x00020000>; + interrupts = <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>; + clocks = <&sclk>; + clock-names = "ref_clk"; + marvell,wdt-timer-index = <63>; + }; + }; + +...
Add binding documentation for the Marvell GTI system watchdog driver. Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com> --- v8: - Compatible name as per soc name .../watchdog/marvell,octeontx2-wdt.yaml | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/marvell,octeontx2-wdt.yaml