Message ID | 20220308072125.38381-1-singh.kuldeep87k@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Mark Brown |
Headers | show |
Series | [v2,1/2] dt-bindings: spi: Update clocks property for ARM pl022 | expand |
On 08/03/2022 08:21, Kuldeep Singh wrote: > Add missing minItems property to clocks in ARM pl022 bindings. > > This helps in resolving below warnings: > clocks: [[4]] is too short > clock-names: ['apb_pclk'] is too short > > Signed-off-by: Kuldeep Singh <singh.kuldeep87k@gmail.com> > --- > v2: > - Keep actual warning and remove path to file > - Reword commit message a bit It still misses information whether it is actually correct from PL022 point of view to have just one clock. If the DTS are wrong, do not change the bindings to match such wrong DTS. If the DTS is correct, please explain why bindings are wrong. > > Documentation/devicetree/bindings/spi/spi-pl022.yaml | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/spi/spi-pl022.yaml b/Documentation/devicetree/bindings/spi/spi-pl022.yaml > index 6d633728fc2b..7d36e15db5b3 100644 > --- a/Documentation/devicetree/bindings/spi/spi-pl022.yaml > +++ b/Documentation/devicetree/bindings/spi/spi-pl022.yaml > @@ -34,6 +34,7 @@ properties: > maxItems: 1 > > clocks: > + minItems: 1 > maxItems: 2 This does not match clock-names which requires two clocks. It's not correct now. > > clock-names: Best regards, Krzysztof
On Tue, Mar 08, 2022 at 09:27:48AM +0100, Krzysztof Kozlowski wrote: > On 08/03/2022 08:21, Kuldeep Singh wrote: > > Add missing minItems property to clocks in ARM pl022 bindings. > > > > This helps in resolving below warnings: > > clocks: [[4]] is too short > > clock-names: ['apb_pclk'] is too short > > > > Signed-off-by: Kuldeep Singh <singh.kuldeep87k@gmail.com> > > --- > > v2: > > - Keep actual warning and remove path to file > > - Reword commit message a bit > > It still misses information whether it is actually correct from PL022 > point of view to have just one clock. > > If the DTS are wrong, do not change the bindings to match such wrong > DTS. If the DTS is correct, please explain why bindings are wrong. Thanks Krzysztof for pointing it out. So far I was wondering spiclk clock-name was the only culprit there and had different perception w.r.t number of clocks. Anyway, below reference is from pl022 point of view: https://documentation-service.arm.com/static/5e8e3bc7fd977155116a936d?token= https://developer.arm.com/documentation/ddi0194/h/functional-overview/primecell-ssp-operation/clock-ratios The reference no where mention that single clock can exist. So far Amd seattle and LG platforms don't comply with binding and define single clock which require updations. So now from bindings perspective, I am looking forward to keep only one notation of sspclk and will respin a patch. Kindly provide comments on the same. Regards Kuldeep > > > > Documentation/devicetree/bindings/spi/spi-pl022.yaml | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/devicetree/bindings/spi/spi-pl022.yaml b/Documentation/devicetree/bindings/spi/spi-pl022.yaml > > index 6d633728fc2b..7d36e15db5b3 100644 > > --- a/Documentation/devicetree/bindings/spi/spi-pl022.yaml > > +++ b/Documentation/devicetree/bindings/spi/spi-pl022.yaml > > @@ -34,6 +34,7 @@ properties: > > maxItems: 1 > > > > clocks: > > + minItems: 1 > > maxItems: 2 > > This does not match clock-names which requires two clocks. It's not > correct now. > > > > > clock-names: > > > Best regards, > Krzysztof
On Tue, Mar 08, 2022 at 12:51:24PM +0530, Kuldeep Singh wrote: > Add missing minItems property to clocks in ARM pl022 bindings. > > This helps in resolving below warnings: > clocks: [[4]] is too short > clock-names: ['apb_pclk'] is too short Again, the error is in the dts files, not the schema. There's 2 possible answers. First, both clock inputs use the same source clock. That's an easy fix. List the clock twice. Second, one clock is not described in DT or visible to s/w. It still has to be in the h/w and could be described as a 'fixed-clock'. A DT should either be all in with clocks or not use the clock binding IMO. Describing some clocks and not others is not a good solution. For example, let's look at bcm-cygnus as one of the single clock examples. The first thing I notice is there is a apb_pclk already defined. The pl330 uses it. The watchdog (also Primecell) lists the source clock twice. So what should pl022 be? IDK, ask the Broadcom folks. If they don't know, then list the source clock twice. That's effectively no change from what we have now. The other issue with allowing a single clock is then any new user can just repeat this mistake. Rob
On Thu, Mar 10, 2022 at 04:05:37PM -0600, Rob Herring wrote: > On Tue, Mar 08, 2022 at 12:51:24PM +0530, Kuldeep Singh wrote: > > Add missing minItems property to clocks in ARM pl022 bindings. > > > > This helps in resolving below warnings: > > clocks: [[4]] is too short > > clock-names: ['apb_pclk'] is too short > > Again, the error is in the dts files, not the schema. Rob, kindly note this series number is deprecated and I have sent v3 version some time back. Here's the link: https://lore.kernel.org/linux-spi/20220309171847.5345-1-singh.kuldeep87k@gmail.com/T/#u > > > There's 2 possible answers. First, both clock inputs use the same source > clock. That's an easy fix. List the clock twice. Second, one clock is > not described in DT or visible to s/w. It still has to be in the h/w and > could be described as a 'fixed-clock'. A DT should either be all in with > clocks or not use the clock binding IMO. Describing some clocks and not > others is not a good solution. > > For example, let's look at bcm-cygnus as one of the single clock > examples. The first thing I notice is there is a apb_pclk already > defined. The pl330 uses it. The watchdog (also Primecell) lists the > source clock twice. So what should pl022 be? IDK, ask the Broadcom > folks. If they don't know, then list the source clock twice. That's > effectively no change from what we have now. Yes, I took motivation from sp805 watchdog(primecell) while resolving DT conflicts. I found LG and amd seattle platform with single clock in DT for which I have sent patches. Link is below: https://lore.kernel.org/linux-devicetree/CAL_Jsq+k+ridWTkdy4xwTC7VxUTU8tu+Q2BA9kbQVA222PWvZw@mail.gmail.com/ Moreover, I observed that clocks and clock-names are not required properties for pl022. I am wondering reason behind the same when you first made changes. Any specific reason not adding them which I am not aware of or it just got missed? - Kuldeep
On Fri, Mar 11, 2022 at 08:25:02AM +0530, Kuldeep Singh wrote: > On Thu, Mar 10, 2022 at 04:05:37PM -0600, Rob Herring wrote: > > On Tue, Mar 08, 2022 at 12:51:24PM +0530, Kuldeep Singh wrote: > > > Add missing minItems property to clocks in ARM pl022 bindings. > > > > > > This helps in resolving below warnings: > > > clocks: [[4]] is too short > > > clock-names: ['apb_pclk'] is too short > > > > Again, the error is in the dts files, not the schema. > > Rob, kindly note this series number is deprecated and I have sent v3 > version some time back. Here's the link: > > https://lore.kernel.org/linux-spi/20220309171847.5345-1-singh.kuldeep87k@gmail.com/T/#u > > > > > > > There's 2 possible answers. First, both clock inputs use the same source > > clock. That's an easy fix. List the clock twice. Second, one clock is > > not described in DT or visible to s/w. It still has to be in the h/w and > > could be described as a 'fixed-clock'. A DT should either be all in with > > clocks or not use the clock binding IMO. Describing some clocks and not > > others is not a good solution. > > > > For example, let's look at bcm-cygnus as one of the single clock > > examples. The first thing I notice is there is a apb_pclk already > > defined. The pl330 uses it. The watchdog (also Primecell) lists the > > source clock twice. So what should pl022 be? IDK, ask the Broadcom > > folks. If they don't know, then list the source clock twice. That's > > effectively no change from what we have now. I just noticed not all platforms possessing single clock are raising 'dtbs_check' warning. For example, bcm-cygnus and lpc32xx passes check even though their DT clock entry has just "apb_pclk". Any reason why they pass successfully through checks? > > Yes, I took motivation from sp805 watchdog(primecell) while resolving DT > conflicts. I found LG and amd seattle platform with single clock in DT > for which I have sent patches. Link is below: > > https://lore.kernel.org/linux-devicetree/CAL_Jsq+k+ridWTkdy4xwTC7VxUTU8tu+Q2BA9kbQVA222PWvZw@mail.gmail.com/ > > Moreover, I observed that clocks and clock-names are not required > properties for pl022. I am wondering reason behind the same when you > first made changes. Any specific reason not adding them which I am not > aware of or it just got missed? > > - Kuldeep
diff --git a/Documentation/devicetree/bindings/spi/spi-pl022.yaml b/Documentation/devicetree/bindings/spi/spi-pl022.yaml index 6d633728fc2b..7d36e15db5b3 100644 --- a/Documentation/devicetree/bindings/spi/spi-pl022.yaml +++ b/Documentation/devicetree/bindings/spi/spi-pl022.yaml @@ -34,6 +34,7 @@ properties: maxItems: 1 clocks: + minItems: 1 maxItems: 2 clock-names:
Add missing minItems property to clocks in ARM pl022 bindings. This helps in resolving below warnings: clocks: [[4]] is too short clock-names: ['apb_pclk'] is too short Signed-off-by: Kuldeep Singh <singh.kuldeep87k@gmail.com> --- v2: - Keep actual warning and remove path to file - Reword commit message a bit Documentation/devicetree/bindings/spi/spi-pl022.yaml | 1 + 1 file changed, 1 insertion(+)