Message ID | 20221118011714.70877-5-hal.feng@starfivetech.com |
---|---|
State | New |
Headers | show |
Series | Basic device tree support for StarFive JH7110 RISC-V SoC | expand |
On Fri, 18 Nov 2022 19:39:52 +0800, Conor Dooley wrote: > On Fri, Nov 18, 2022 at 11:37:50AM +0000, Conor Dooley wrote: > > On Fri, Nov 18, 2022 at 09:17:10AM +0800, Hal Feng wrote: > > > From: Emil Renner Berthing <kernel@esmil.dk> > > > > > > This cache controller is also used on the StarFive JH7110 SoC. > > > > "... and configured identically to that of the FU740"? > > Anyways, > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > Actually, after looking at the next patch - why can you not fall back to > the fu740 one since you appear to have the same configuration as it? Right, I will drop this patch and use "sifive,fu740-c000-ccache" as compatible in dts. Best regards, Hal
On 22/11/2022 09:07, Conor Dooley wrote: > On Tue, Nov 22, 2022 at 04:40:23PM +0800, Hal Feng wrote: >> On Fri, 18 Nov 2022 19:39:52 +0800, Conor Dooley wrote: >>> On Fri, Nov 18, 2022 at 11:37:50AM +0000, Conor Dooley wrote: >>>> On Fri, Nov 18, 2022 at 09:17:10AM +0800, Hal Feng wrote: >>>>> From: Emil Renner Berthing <kernel@esmil.dk> >>>>> >>>>> This cache controller is also used on the StarFive JH7110 SoC. >>>> >>>> "... and configured identically to that of the FU740"? >>>> Anyways, >>>> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> >>> >>> Actually, after looking at the next patch - why can you not fall back to >>> the fu740 one since you appear to have the same configuration as it? >> >> Right, I will drop this patch and use "sifive,fu740-c000-ccache" as >> compatible in dts. > > Uh, that's not quite what I was suggesting. Rather than using that one > in isolation, you can do the following in your dt: > "starfive,jh7110-ccache", "sifive,fu740-c000-ccache" > > And then in the driver we need to make no changes - unless down the line > we find some sort of issue that requires special handling etc. There's > no harm in having a "starfive,jh7110-ccache" IMO. Yeah, sifive,ccache0 is probably the generic one which would get this working.
On Tue, 22 Nov 2022 at 11:16, Hal Feng <hal.feng@starfivetech.com> wrote: > > On Tue, 22 Nov 2022 10:01:30 +0000, Conor Dooley wrote: > > On Tue, Nov 22, 2022 at 05:55:57PM +0800, Hal Feng wrote: > > > On Tue, 22 Nov 2022 09:07:26 +0000, Conor Dooley wrote: > > > > On Tue, Nov 22, 2022 at 04:40:23PM +0800, Hal Feng wrote: > > > > > On Fri, 18 Nov 2022 19:39:52 +0800, Conor Dooley wrote: > > > > > > On Fri, Nov 18, 2022 at 11:37:50AM +0000, Conor Dooley wrote: > > > > > > > On Fri, Nov 18, 2022 at 09:17:10AM +0800, Hal Feng wrote: > > > > > > > > From: Emil Renner Berthing <kernel@esmil.dk> > > > > > > > > > > > > > > > > This cache controller is also used on the StarFive JH7110 SoC. > > > > > > > > > > > > > > "... and configured identically to that of the FU740"? > > > > > > > Anyways, > > > > > > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > > > > > > > > > > > Actually, after looking at the next patch - why can you not fall back to > > > > > > the fu740 one since you appear to have the same configuration as it? > > > > > > > > > > Right, I will drop this patch and use "sifive,fu740-c000-ccache" as > > > > > compatible in dts. > > > > > > > > Uh, that's not quite what I was suggesting. Rather than using that one > > > > in isolation, you can do the following in your dt: > > > > "starfive,jh7110-ccache", "sifive,fu740-c000-ccache" > > > > > > > > And then in the driver we need to make no changes - unless down the line > > > > we find some sort of issue that requires special handling etc. There's > > > > no harm in having a "starfive,jh7110-ccache" IMO. > > > > > > Just like what microchip did as blow? > > below > > > > > > > Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml: > > > properties: > > > compatible: > > > oneOf: > > > - items: > > > - enum: > > > - sifive,ccache0 > > > - sifive,fu540-c000-ccache > > > - sifive,fu740-c000-ccache > > > - starfive,jh7110-ccache > > > - const: cache > > > - items: > > > - const: microchip,mpfs-ccache > > > - const: sifive,fu540-c000-ccache > > > - const: cache > > > > No, I don't think this is correct either. You'd do something like: > > > > > - items: > > > - const: starfive,jh7110-ccache > > > - const: sifive,fu740-c000-ccache For the record I don't think the line above should be there. The fu7400-c000 is a specific tapeout and pretending the JH7110 is that tapeout is not right. Especially when there is already the "sifive,ccache0" string for the generic IP. > > > - const: cache > > Yeah, this is what I mean. Thanks. > > Best regards, > Hal > > > > > And then the driver needs no changes. >
On Tue, 22 Nov 2022 11:35:28 +0100, Emil Renner Berthing wrote: > On Tue, 22 Nov 2022 at 11:16, Hal Feng <hal.feng@starfivetech.com> wrote: > > > > On Tue, 22 Nov 2022 10:01:30 +0000, Conor Dooley wrote: > > > On Tue, Nov 22, 2022 at 05:55:57PM +0800, Hal Feng wrote: > > > > On Tue, 22 Nov 2022 09:07:26 +0000, Conor Dooley wrote: > > > > > On Tue, Nov 22, 2022 at 04:40:23PM +0800, Hal Feng wrote: > > > > > > On Fri, 18 Nov 2022 19:39:52 +0800, Conor Dooley wrote: > > > > > > > On Fri, Nov 18, 2022 at 11:37:50AM +0000, Conor Dooley wrote: > > > > > > > > On Fri, Nov 18, 2022 at 09:17:10AM +0800, Hal Feng wrote: > > > > > > > > > From: Emil Renner Berthing <kernel@esmil.dk> > > > > > > > > > > > > > > > > > > This cache controller is also used on the StarFive JH7110 SoC. > > > > > > > > > > > > > > > > "... and configured identically to that of the FU740"? > > > > > > > > Anyways, > > > > > > > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > > > > > > > > > > > > > Actually, after looking at the next patch - why can you not fall back to > > > > > > > the fu740 one since you appear to have the same configuration as it? > > > > > > > > > > > > Right, I will drop this patch and use "sifive,fu740-c000-ccache" as > > > > > > compatible in dts. > > > > > > > > > > Uh, that's not quite what I was suggesting. Rather than using that one > > > > > in isolation, you can do the following in your dt: > > > > > "starfive,jh7110-ccache", "sifive,fu740-c000-ccache" > > > > > > > > > > And then in the driver we need to make no changes - unless down the line > > > > > we find some sort of issue that requires special handling etc. There's > > > > > no harm in having a "starfive,jh7110-ccache" IMO. > > > > > > > > Just like what microchip did as blow? > > > > below > > > > > > > > > > Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml: > > > > properties: > > > > compatible: > > > > oneOf: > > > > - items: > > > > - enum: > > > > - sifive,ccache0 > > > > - sifive,fu540-c000-ccache > > > > - sifive,fu740-c000-ccache > > > > - starfive,jh7110-ccache > > > > - const: cache > > > > - items: > > > > - const: microchip,mpfs-ccache > > > > - const: sifive,fu540-c000-ccache > > > > - const: cache > > > > > > No, I don't think this is correct either. You'd do something like: > > > > > > > - items: > > > > - const: starfive,jh7110-ccache > > > > - const: sifive,fu740-c000-ccache > > For the record I don't think the line above should be there. The > fu7400-c000 is a specific tapeout and pretending the JH7110 is that > tapeout is not right. Especially when there is already the > "sifive,ccache0" string for the generic IP. I will change this line to - const: sifive,ccache0 Thanks for your suggestion. > > > > > - const: cache > > > > Yeah, this is what I mean. Thanks. > > > > Best regards, > > Hal > > > > > > > > And then the driver needs no changes. > >
On Tue, Nov 22, 2022 at 11:35:28AM +0100, Emil Renner Berthing wrote: > On Tue, 22 Nov 2022 at 11:16, Hal Feng <hal.feng@starfivetech.com> wrote: > > > > On Tue, 22 Nov 2022 10:01:30 +0000, Conor Dooley wrote: > > > On Tue, Nov 22, 2022 at 05:55:57PM +0800, Hal Feng wrote: > > > > On Tue, 22 Nov 2022 09:07:26 +0000, Conor Dooley wrote: > > > > > On Tue, Nov 22, 2022 at 04:40:23PM +0800, Hal Feng wrote: > > > > > > On Fri, 18 Nov 2022 19:39:52 +0800, Conor Dooley wrote: > > > > > > > On Fri, Nov 18, 2022 at 11:37:50AM +0000, Conor Dooley wrote: > > > > > > > > On Fri, Nov 18, 2022 at 09:17:10AM +0800, Hal Feng wrote: > > > > > > > > > From: Emil Renner Berthing <kernel@esmil.dk> > > > > > > > > > > > > > > > > > > This cache controller is also used on the StarFive JH7110 SoC. > > > > > > > > > > > > > > > > "... and configured identically to that of the FU740"? > > > > > > > > Anyways, > > > > > > > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > > > > > > > > > > > > > Actually, after looking at the next patch - why can you not fall back to > > > > > > > the fu740 one since you appear to have the same configuration as it? > > > > > > > > > > > > Right, I will drop this patch and use "sifive,fu740-c000-ccache" as > > > > > > compatible in dts. > > > > > > > > > > Uh, that's not quite what I was suggesting. Rather than using that one > > > > > in isolation, you can do the following in your dt: > > > > > "starfive,jh7110-ccache", "sifive,fu740-c000-ccache" > > > > > > > > > > And then in the driver we need to make no changes - unless down the line > > > > > we find some sort of issue that requires special handling etc. There's > > > > > no harm in having a "starfive,jh7110-ccache" IMO. > > > > > > > > Just like what microchip did as blow? > > > > below > > > > > > > > > > Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml: > > > > properties: > > > > compatible: > > > > oneOf: > > > > - items: > > > > - enum: > > > > - sifive,ccache0 > > > > - sifive,fu540-c000-ccache > > > > - sifive,fu740-c000-ccache > > > > - starfive,jh7110-ccache > > > > - const: cache > > > > - items: > > > > - const: microchip,mpfs-ccache > > > > - const: sifive,fu540-c000-ccache > > > > - const: cache > > > > > > No, I don't think this is correct either. You'd do something like: > > > > > > > - items: > > > > - const: starfive,jh7110-ccache > > > > - const: sifive,fu740-c000-ccache > > For the record I don't think the line above should be there. The > fu7400-c000 is a specific tapeout and pretending the JH7110 is that > tapeout is not right. Especially when there is already the > "sifive,ccache0" string for the generic IP. All it really says is that this h/w will work with any client (OS) that understands 'sifive,fu740-c000-ccache'. Maybe 'sifive,ccache0' is sufficient too, IDK. Rob
diff --git a/Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml b/Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml index bf3f07421f7e..262d1d49ce25 100644 --- a/Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml +++ b/Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml @@ -25,6 +25,7 @@ select: - sifive,ccache0 - sifive,fu540-c000-ccache - sifive,fu740-c000-ccache + - starfive,jh7110-ccache required: - compatible @@ -37,6 +38,7 @@ properties: - sifive,ccache0 - sifive,fu540-c000-ccache - sifive,fu740-c000-ccache + - starfive,jh7110-ccache - const: cache - items: - const: microchip,mpfs-ccache @@ -86,6 +88,7 @@ allOf: enum: - sifive,fu740-c000-ccache - microchip,mpfs-ccache + - starfive,jh7110-ccache then: properties: @@ -105,7 +108,9 @@ allOf: properties: compatible: contains: - const: sifive,fu740-c000-ccache + enum: + - sifive,fu740-c000-ccache + - starfive,jh7110-ccache then: properties: