* [PATCH] dt-bindings: sifive: describe sifive-blocks versioning
@ 2018-11-22 1:06 Paul Walmsley
2018-11-22 1:33 ` Atish Patra
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Paul Walmsley @ 2018-11-22 1:06 UTC (permalink / raw)
To: Rob Herring
Cc: Palmer Dabbelt, Megan Wachs, Wesley Terpstra, Mark Rutland,
devicetree, linux-riscv, linux-kernel, paul
For IP blocks that are generated from the public, open-source
sifive-blocks repository, describe the version numbering policy
that its maintainers intend to use, upon request from Rob
Herring <robh@kernel.org>.
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Megan Wachs <megan@sifive.com>
Cc: Wesley Terpstra <wesley@sifive.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
Hi Rob, please let me know if this document works with your
requirements, or if some changes are needed. - Paul
.../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
diff --git a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
new file mode 100644
index 000000000000..b899e5c6e00c
--- /dev/null
+++ b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
@@ -0,0 +1,38 @@
+DT compatible string versioning for SiFive open-source IP blocks
+
+This document describes the version specification for DT "compatible"
+strings for open-source SiFive IP blocks. HDL for these IP blocks
+can be found in this public repository:
+
+https://github.com/sifive/sifive-blocks
+
+IP block-specific DT compatible strings are contained within the HDL,
+in the form "sifive,<ip-block-name><integer version number>".
+
+An example is "sifive,uart0" from:
+
+https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43
+
+Until these IP blocks (or IP integration) support version
+autodiscovery, the maintainers of these IP blocks intend to increment
+the suffixed number in the compatible string whenever the software
+interface to these IP blocks changes, or when the functionality of the
+underlying IP blocks changes in a way that software should be aware of.
+
+Driver developers can use compatible string "match" values such as
+"sifive,uart0" to indicate that their driver is compatible with the
+register interface and functionality associated with the relevant
+upstream sifive-blocks commits. It is expected that most drivers will
+match on these IP block-specific compatible strings.
+
+DT data authors, when writing data for a particular SoC, should
+continue to specify an SoC-specific compatible string value, such as
+"sifive,fu540-c000-uart". This way, if SoC-specific
+integration-specific bug fixes or workarounds are needed, the kernel
+or other system software can match on this string to apply them. The
+IP block-specific compatible string (such as "sifive,uart0") should
+then be specified as a subsequent value.
+
+An example of this style:
+
+ compatible = "sifive,fu540-c000-uart", "sifive,uart0";
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:06 [PATCH] dt-bindings: sifive: describe sifive-blocks versioning Paul Walmsley @ 2018-11-22 1:33 ` Atish Patra 2018-11-26 19:02 ` Palmer Dabbelt ` (2 more replies) 2018-11-26 19:02 ` Palmer Dabbelt ` (2 subsequent siblings) 3 siblings, 3 replies; 13+ messages in thread From: Atish Patra @ 2018-11-22 1:33 UTC (permalink / raw) To: Paul Walmsley, Rob Herring, devicetree@vger.kernel.org Cc: Mark Rutland, paul@pwsan.com, Megan Wachs, Palmer Dabbelt, linux-kernel@vger.kernel.org, Wesley Terpstra, linux-riscv@lists.infradead.org On 11/21/18 5:07 PM, Paul Walmsley wrote: > > For IP blocks that are generated from the public, open-source > sifive-blocks repository, describe the version numbering policy > that its maintainers intend to use, upon request from Rob > Herring <robh@kernel.org>. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Megan Wachs <megan@sifive.com> > Cc: Wesley Terpstra <wesley@sifive.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: devicetree@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Paul Walmsley <paul@pwsan.com> > --- > > Hi Rob, please let me know if this document works with your > requirements, or if some changes are needed. - Paul > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > diff --git a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > new file mode 100644 > index 000000000000..b899e5c6e00c > --- /dev/null > +++ b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt It should be be under Documentation/devicetree/bindings/riscv/sifive/sifive-blocks-ip-versioning.txt ? > @@ -0,0 +1,38 @@ > +DT compatible string versioning for SiFive open-source IP blocks > + > +This document describes the version specification for DT "compatible" > +strings for open-source SiFive IP blocks. HDL for these IP blocks > +can be found in this public repository: > + > +https://github.com/sifive/sifive-blocks > + > +IP block-specific DT compatible strings are contained within the HDL, > +in the form "sifive,<ip-block-name><integer version number>". > + > +An example is "sifive,uart0" from: > + > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 > + > +Until these IP blocks (or IP integration) support version > +autodiscovery, the maintainers of these IP blocks intend to increment /s/autodiscovery/auto discovery > +the suffixed number in the compatible string whenever the software > +interface to these IP blocks changes, or when the functionality of the > +underlying IP blocks changes in a way that software should be aware of. > + > +Driver developers can use compatible string "match" values such as > +"sifive,uart0" to indicate that their driver is compatible with the > +register interface and functionality associated with the relevant > +upstream sifive-blocks commits. It is expected that most drivers will > +match on these IP block-specific compatible strings. > + > +DT data authors, when writing data for a particular SoC, should > +continue to specify an SoC-specific compatible string value, such as > +"sifive,fu540-c000-uart". This way, if SoC-specific > +integration-specific bug fixes or workarounds are needed, the kernel > +or other system software can match on this string to apply them. The > +IP block-specific compatible string (such as "sifive,uart0") should > +then be specified as a subsequent value. > + > +An example of this style: > + > + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; > Just for the sake of completion, should this document also specify what should be the style of any possible closed IP as well? Regards, Atish ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:33 ` Atish Patra @ 2018-11-26 19:02 ` Palmer Dabbelt 2018-12-06 2:00 ` Paul Walmsley 2018-12-06 2:30 ` Paul Walmsley 2 siblings, 0 replies; 13+ messages in thread From: Palmer Dabbelt @ 2018-11-26 19:02 UTC (permalink / raw) To: atish.patra Cc: Paul Walmsley, robh+dt, devicetree, mark.rutland, paul, Megan Wachs, linux-kernel, Wesley Terpstra, linux-riscv On Wed, 21 Nov 2018 17:33:02 PST (-0800), atish.patra@wdc.com wrote: > On 11/21/18 5:07 PM, Paul Walmsley wrote: >> >> For IP blocks that are generated from the public, open-source >> sifive-blocks repository, describe the version numbering policy >> that its maintainers intend to use, upon request from Rob >> Herring <robh@kernel.org>. >> >> Cc: Rob Herring <robh+dt@kernel.org> >> Cc: Palmer Dabbelt <palmer@sifive.com> >> Cc: Megan Wachs <megan@sifive.com> >> Cc: Wesley Terpstra <wesley@sifive.com> >> Cc: Mark Rutland <mark.rutland@arm.com> >> Cc: devicetree@vger.kernel.org >> Cc: linux-riscv@lists.infradead.org >> Cc: linux-kernel@vger.kernel.org >> Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> >> Signed-off-by: Paul Walmsley <paul@pwsan.com> >> --- >> >> Hi Rob, please let me know if this document works with your >> requirements, or if some changes are needed. - Paul >> >> .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ >> 1 file changed, 38 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt >> >> diff --git a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt >> new file mode 100644 >> index 000000000000..b899e5c6e00c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > It should be be under > Documentation/devicetree/bindings/riscv/sifive/sifive-blocks-ip-versioning.txt > ? > >> @@ -0,0 +1,38 @@ >> +DT compatible string versioning for SiFive open-source IP blocks >> + >> +This document describes the version specification for DT "compatible" >> +strings for open-source SiFive IP blocks. HDL for these IP blocks >> +can be found in this public repository: >> + >> +https://github.com/sifive/sifive-blocks >> + >> +IP block-specific DT compatible strings are contained within the HDL, >> +in the form "sifive,<ip-block-name><integer version number>". >> + >> +An example is "sifive,uart0" from: >> + >> +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 >> + >> +Until these IP blocks (or IP integration) support version >> +autodiscovery, the maintainers of these IP blocks intend to increment > > /s/autodiscovery/auto discovery > >> +the suffixed number in the compatible string whenever the software >> +interface to these IP blocks changes, or when the functionality of the >> +underlying IP blocks changes in a way that software should be aware of. >> + >> +Driver developers can use compatible string "match" values such as >> +"sifive,uart0" to indicate that their driver is compatible with the >> +register interface and functionality associated with the relevant >> +upstream sifive-blocks commits. It is expected that most drivers will >> +match on these IP block-specific compatible strings. >> + >> +DT data authors, when writing data for a particular SoC, should >> +continue to specify an SoC-specific compatible string value, such as >> +"sifive,fu540-c000-uart". This way, if SoC-specific >> +integration-specific bug fixes or workarounds are needed, the kernel >> +or other system software can match on this string to apply them. The >> +IP block-specific compatible string (such as "sifive,uart0") should >> +then be specified as a subsequent value. >> + >> +An example of this style: >> + >> + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; >> > > Just for the sake of completion, should this document also specify what > should be the style of any possible closed IP as well? Let's restrict ourselves to the open-source IP for now, as versioning the closed source stuff is a bit of a different problem -- when everyone can see the source it's easier because we can all agree on exactly what a version string means. For the closed source stuff we currently have just the chip-specific strings, as all that stuff is very chip specific (all sorts of special clocking constraints). Essentially you'll have to just trust us as to what's compatible with what -- FWIW, since this is mostly driven by the chip process we really just have to trust the hardware designers, so we're kind of in the same boat (though we can at least peek under the covers if we want to). Any versioning scheme here is doubly complicated because it's closed source and it's chip specific, so trying to match this up with the open source stuff seems like too much work. For now we can at least get everyone on the same page as to how we're versioning the open-source blocks, which is more important because anyone can build a chip with those so we need a well defined scheme. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:33 ` Atish Patra 2018-11-26 19:02 ` Palmer Dabbelt @ 2018-12-06 2:00 ` Paul Walmsley 2018-12-06 2:30 ` Paul Walmsley 2 siblings, 0 replies; 13+ messages in thread From: Paul Walmsley @ 2018-12-06 2:00 UTC (permalink / raw) To: Atish Patra, Rob Herring, devicetree@vger.kernel.org Cc: Mark Rutland, paul@pwsan.com, Megan Wachs, Palmer Dabbelt, linux-kernel@vger.kernel.org, Wesley Terpstra, linux-riscv@lists.infradead.org [-- Attachment #1: Type: text/plain, Size: 4036 bytes --] Hi Atish, On 11/21/18 5:33 PM, Atish Patra wrote: > On 11/21/18 5:07 PM, Paul Walmsley wrote: >> >> For IP blocks that are generated from the public, open-source >> sifive-blocks repository, describe the version numbering policy >> that its maintainers intend to use, upon request from Rob >> Herring <robh@kernel.org>. >> >> Cc: Rob Herring <robh+dt@kernel.org> >> Cc: Palmer Dabbelt <palmer@sifive.com> >> Cc: Megan Wachs <megan@sifive.com> >> Cc: Wesley Terpstra <wesley@sifive.com> >> Cc: Mark Rutland <mark.rutland@arm.com> >> Cc: devicetree@vger.kernel.org >> Cc: linux-riscv@lists.infradead.org >> Cc: linux-kernel@vger.kernel.org >> Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> >> Signed-off-by: Paul Walmsley <paul@pwsan.com> >> --- >> >> Hi Rob, please let me know if this document works with your >> requirements, or if some changes are needed. - Paul >> >> .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ >> 1 file changed, 38 insertions(+) >> create mode 100644 >> Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt >> >> diff --git >> a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt >> b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt >> >> new file mode 100644 >> index 000000000000..b899e5c6e00c >> --- /dev/null >> +++ >> b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > It should be be under > Documentation/devicetree/bindings/riscv/sifive/sifive-blocks-ip-versioning.txt > ? These IP blocks could be used with any CPU architecture - ARM, x86, MIPS, etc. - so it probably makes sense just to keep them under sifive/, rather than associating them with a specific CPU architecture. > >> @@ -0,0 +1,38 @@ >> +DT compatible string versioning for SiFive open-source IP blocks >> + >> +This document describes the version specification for DT "compatible" >> +strings for open-source SiFive IP blocks. HDL for these IP blocks >> +can be found in this public repository: >> + >> +https://github.com/sifive/sifive-blocks >> + >> +IP block-specific DT compatible strings are contained within the HDL, >> +in the form "sifive,<ip-block-name><integer version number>". >> + >> +An example is "sifive,uart0" from: >> + >> +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 >> >> + >> +Until these IP blocks (or IP integration) support version >> +autodiscovery, the maintainers of these IP blocks intend to increment > > /s/autodiscovery/auto discovery I've changed it to "auto-discovery" per your request. Let me know if it's not OK for you > >> +the suffixed number in the compatible string whenever the software >> +interface to these IP blocks changes, or when the functionality of the >> +underlying IP blocks changes in a way that software should be aware of. >> + >> +Driver developers can use compatible string "match" values such as >> +"sifive,uart0" to indicate that their driver is compatible with the >> +register interface and functionality associated with the relevant >> +upstream sifive-blocks commits. It is expected that most drivers will >> +match on these IP block-specific compatible strings. >> + >> +DT data authors, when writing data for a particular SoC, should >> +continue to specify an SoC-specific compatible string value, such as >> +"sifive,fu540-c000-uart". This way, if SoC-specific >> +integration-specific bug fixes or workarounds are needed, the kernel >> +or other system software can match on this string to apply them. The >> +IP block-specific compatible string (such as "sifive,uart0") should >> +then be specified as a subsequent value. >> + >> +An example of this style: >> + >> + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; >> > > Just for the sake of completion, should this document also specify > what should be the style of any possible closed IP as well? Let's handle those separately, as Palmer discussed. Thanks for the review, - Paul [-- Attachment #2: Type: text/html, Size: 7278 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:33 ` Atish Patra 2018-11-26 19:02 ` Palmer Dabbelt 2018-12-06 2:00 ` Paul Walmsley @ 2018-12-06 2:30 ` Paul Walmsley 2 siblings, 0 replies; 13+ messages in thread From: Paul Walmsley @ 2018-12-06 2:30 UTC (permalink / raw) To: Atish Patra Cc: Paul Walmsley, Rob Herring, devicetree@vger.kernel.org, Mark Rutland, paul@pwsan.com, Megan Wachs, Palmer Dabbelt, linux-kernel@vger.kernel.org, Wesley Terpstra, linux-riscv@lists.infradead.org Hi Atish, On Wed, 21 Nov 2018, Atish Patra wrote: > On 11/21/18 5:07 PM, Paul Walmsley wrote: > > > > For IP blocks that are generated from the public, open-source > > sifive-blocks repository, describe the version numbering policy > > that its maintainers intend to use, upon request from Rob > > Herring <robh@kernel.org>. > > > > Cc: Rob Herring <robh+dt@kernel.org> > > Cc: Palmer Dabbelt <palmer@sifive.com> > > Cc: Megan Wachs <megan@sifive.com> > > Cc: Wesley Terpstra <wesley@sifive.com> > > Cc: Mark Rutland <mark.rutland@arm.com> > > Cc: devicetree@vger.kernel.org > > Cc: linux-riscv@lists.infradead.org > > Cc: linux-kernel@vger.kernel.org > > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > > Signed-off-by: Paul Walmsley <paul@pwsan.com> > > --- > > > > Hi Rob, please let me know if this document works with your > > requirements, or if some changes are needed. - Paul > > > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > > 1 file changed, 38 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > > > diff --git > > a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > new file mode 100644 > > index 000000000000..b899e5c6e00c > > --- /dev/null > > +++ > > b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > It should be be under > Documentation/devicetree/bindings/riscv/sifive/sifive-blocks-ip-versioning.txt > ? These IP blocks could be used with any CPU architecture - ARM, x86, MIPS, etc. - so it probably makes sense just to keep them under sifive/, rather than associating them with a specific CPU architecture. > > @@ -0,0 +1,38 @@ > > +DT compatible string versioning for SiFive open-source IP blocks > > + > > +This document describes the version specification for DT "compatible" > > +strings for open-source SiFive IP blocks. HDL for these IP blocks > > +can be found in this public repository: > > + > > +https://github.com/sifive/sifive-blocks > > + > > +IP block-specific DT compatible strings are contained within the HDL, > > +in the form "sifive,<ip-block-name><integer version number>". > > + > > +An example is "sifive,uart0" from: > > + > > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 > > + > > +Until these IP blocks (or IP integration) support version > > +autodiscovery, the maintainers of these IP blocks intend to increment > > /s/autodiscovery/auto discovery I've changed it to "auto-discovery" per your request. Let me know if it's not OK for you > > +the suffixed number in the compatible string whenever the software > > +interface to these IP blocks changes, or when the functionality of the > > +underlying IP blocks changes in a way that software should be aware of. > > + > > +Driver developers can use compatible string "match" values such as > > +"sifive,uart0" to indicate that their driver is compatible with the > > +register interface and functionality associated with the relevant > > +upstream sifive-blocks commits. It is expected that most drivers will > > +match on these IP block-specific compatible strings. > > + > > +DT data authors, when writing data for a particular SoC, should > > +continue to specify an SoC-specific compatible string value, such as > > +"sifive,fu540-c000-uart". This way, if SoC-specific > > +integration-specific bug fixes or workarounds are needed, the kernel > > +or other system software can match on this string to apply them. The > > +IP block-specific compatible string (such as "sifive,uart0") should > > +then be specified as a subsequent value. > > + > > +An example of this style: > > + > > + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; > > > > Just for the sake of completion, should this document also specify what should > be the style of any possible closed IP as well? Let's handle those separately, as Palmer discussed. Thanks for the review, - Paul ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:06 [PATCH] dt-bindings: sifive: describe sifive-blocks versioning Paul Walmsley 2018-11-22 1:33 ` Atish Patra @ 2018-11-26 19:02 ` Palmer Dabbelt 2018-12-07 0:01 ` Rob Herring 2019-05-13 20:47 ` Rob Herring 3 siblings, 0 replies; 13+ messages in thread From: Palmer Dabbelt @ 2018-11-26 19:02 UTC (permalink / raw) To: Paul Walmsley Cc: robh+dt, devicetree, Megan Wachs, Wesley Terpstra, mark.rutland On Wed, 21 Nov 2018 17:06:56 PST (-0800), Paul Walmsley wrote: > > For IP blocks that are generated from the public, open-source > sifive-blocks repository, describe the version numbering policy > that its maintainers intend to use, upon request from Rob > Herring <robh@kernel.org>. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Megan Wachs <megan@sifive.com> > Cc: Wesley Terpstra <wesley@sifive.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: devicetree@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Paul Walmsley <paul@pwsan.com> > --- > > Hi Rob, please let me know if this document works with your > requirements, or if some changes are needed. - Paul > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > diff --git a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > new file mode 100644 > index 000000000000..b899e5c6e00c > --- /dev/null > +++ b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > @@ -0,0 +1,38 @@ > +DT compatible string versioning for SiFive open-source IP blocks > + > +This document describes the version specification for DT "compatible" > +strings for open-source SiFive IP blocks. HDL for these IP blocks > +can be found in this public repository: > + > +https://github.com/sifive/sifive-blocks > + > +IP block-specific DT compatible strings are contained within the HDL, > +in the form "sifive,<ip-block-name><integer version number>". > + > +An example is "sifive,uart0" from: > + > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 > + > +Until these IP blocks (or IP integration) support version > +autodiscovery, the maintainers of these IP blocks intend to increment > +the suffixed number in the compatible string whenever the software > +interface to these IP blocks changes, or when the functionality of the > +underlying IP blocks changes in a way that software should be aware of. > + > +Driver developers can use compatible string "match" values such as > +"sifive,uart0" to indicate that their driver is compatible with the > +register interface and functionality associated with the relevant > +upstream sifive-blocks commits. It is expected that most drivers will > +match on these IP block-specific compatible strings. > + > +DT data authors, when writing data for a particular SoC, should > +continue to specify an SoC-specific compatible string value, such as > +"sifive,fu540-c000-uart". This way, if SoC-specific > +integration-specific bug fixes or workarounds are needed, the kernel > +or other system software can match on this string to apply them. The > +IP block-specific compatible string (such as "sifive,uart0") should > +then be specified as a subsequent value. > + > +An example of this style: > + > + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; Reviewed-by: Palmer Dabbelt <palmer@sifive.com> ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:06 [PATCH] dt-bindings: sifive: describe sifive-blocks versioning Paul Walmsley 2018-11-22 1:33 ` Atish Patra 2018-11-26 19:02 ` Palmer Dabbelt @ 2018-12-07 0:01 ` Rob Herring 2018-12-07 0:45 ` Paul Walmsley 2019-05-13 20:47 ` Rob Herring 3 siblings, 1 reply; 13+ messages in thread From: Rob Herring @ 2018-12-07 0:01 UTC (permalink / raw) To: Paul Walmsley Cc: devicetree, Palmer Dabbelt, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel, paul On Wed, Nov 21, 2018 at 05:06:56PM -0800, Paul Walmsley wrote: > > For IP blocks that are generated from the public, open-source > sifive-blocks repository, describe the version numbering policy > that its maintainers intend to use, upon request from Rob > Herring <robh@kernel.org>. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Megan Wachs <megan@sifive.com> > Cc: Wesley Terpstra <wesley@sifive.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: devicetree@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Paul Walmsley <paul@pwsan.com> > --- > > Hi Rob, please let me know if this document works with your > requirements, or if some changes are needed. - Paul Looks pretty good to me. > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt Use the path that was suggested. > diff --git a/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > new file mode 100644 > index 000000000000..b899e5c6e00c > --- /dev/null > +++ b/Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > @@ -0,0 +1,38 @@ > +DT compatible string versioning for SiFive open-source IP blocks > + > +This document describes the version specification for DT "compatible" > +strings for open-source SiFive IP blocks. HDL for these IP blocks > +can be found in this public repository: > + > +https://github.com/sifive/sifive-blocks > + > +IP block-specific DT compatible strings are contained within the HDL, > +in the form "sifive,<ip-block-name><integer version number>". Really, my preference would be to add a '-v' in this: sifive,<ip-block-name>-v<integer version number> But given this ship has already sailed, I guess it is fine as is. > + > +An example is "sifive,uart0" from: > + > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 That's nice, but will be out of date as soon as someone adds or removes a line above it. Can you point to a tagged version? > + > +Until these IP blocks (or IP integration) support version > +autodiscovery, the maintainers of these IP blocks intend to increment > +the suffixed number in the compatible string whenever the software > +interface to these IP blocks changes, or when the functionality of the > +underlying IP blocks changes in a way that software should be aware of. > + > +Driver developers can use compatible string "match" values such as > +"sifive,uart0" to indicate that their driver is compatible with the > +register interface and functionality associated with the relevant > +upstream sifive-blocks commits. It is expected that most drivers will > +match on these IP block-specific compatible strings. > + > +DT data authors, when writing data for a particular SoC, should > +continue to specify an SoC-specific compatible string value, such as > +"sifive,fu540-c000-uart". This way, if SoC-specific > +integration-specific bug fixes or workarounds are needed, the kernel > +or other system software can match on this string to apply them. The > +IP block-specific compatible string (such as "sifive,uart0") should > +then be specified as a subsequent value. > + > +An example of this style: > + > + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; > -- > 2.19.1 > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-12-07 0:01 ` Rob Herring @ 2018-12-07 0:45 ` Paul Walmsley 2018-12-07 13:55 ` Rob Herring 0 siblings, 1 reply; 13+ messages in thread From: Paul Walmsley @ 2018-12-07 0:45 UTC (permalink / raw) To: Rob Herring Cc: Paul Walmsley, devicetree, Palmer Dabbelt, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel, paul On Thu, 6 Dec 2018, Rob Herring wrote: > On Wed, Nov 21, 2018 at 05:06:56PM -0800, Paul Walmsley wrote: > > > > For IP blocks that are generated from the public, open-source > > sifive-blocks repository, describe the version numbering policy > > that its maintainers intend to use, upon request from Rob > > Herring <robh@kernel.org>. > > > > Cc: Rob Herring <robh+dt@kernel.org> > > Cc: Palmer Dabbelt <palmer@sifive.com> > > Cc: Megan Wachs <megan@sifive.com> > > Cc: Wesley Terpstra <wesley@sifive.com> > > Cc: Mark Rutland <mark.rutland@arm.com> > > Cc: devicetree@vger.kernel.org > > Cc: linux-riscv@lists.infradead.org > > Cc: linux-kernel@vger.kernel.org > > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > > Signed-off-by: Paul Walmsley <paul@pwsan.com> > > --- > > > > Hi Rob, please let me know if this document works with your > > requirements, or if some changes are needed. - Paul > > Looks pretty good to me. > > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > > 1 file changed, 38 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > Use the path that was suggested. Could you remind me which one that is? > > + > > +An example is "sifive,uart0" from: > > + > > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 > > That's nice, but will be out of date as soon as someone adds or removes > a line above it. Can you point to a tagged version? Will do - Paul ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-12-07 0:45 ` Paul Walmsley @ 2018-12-07 13:55 ` Rob Herring 2018-12-07 14:31 ` Paul Walmsley 0 siblings, 1 reply; 13+ messages in thread From: Rob Herring @ 2018-12-07 13:55 UTC (permalink / raw) To: Paul Walmsley Cc: devicetree, Palmer Dabbelt, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel@vger.kernel.org, Paul Walmsley On Thu, Dec 6, 2018 at 6:46 PM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > > > On Thu, 6 Dec 2018, Rob Herring wrote: > > > On Wed, Nov 21, 2018 at 05:06:56PM -0800, Paul Walmsley wrote: > > > > > > For IP blocks that are generated from the public, open-source > > > sifive-blocks repository, describe the version numbering policy > > > that its maintainers intend to use, upon request from Rob > > > Herring <robh@kernel.org>. > > > > > > Cc: Rob Herring <robh+dt@kernel.org> > > > Cc: Palmer Dabbelt <palmer@sifive.com> > > > Cc: Megan Wachs <megan@sifive.com> > > > Cc: Wesley Terpstra <wesley@sifive.com> > > > Cc: Mark Rutland <mark.rutland@arm.com> > > > Cc: devicetree@vger.kernel.org > > > Cc: linux-riscv@lists.infradead.org > > > Cc: linux-kernel@vger.kernel.org > > > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > > > Signed-off-by: Paul Walmsley <paul@pwsan.com> > > > --- > > > > > > Hi Rob, please let me know if this document works with your > > > requirements, or if some changes are needed. - Paul > > > > Looks pretty good to me. > > > > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > > > 1 file changed, 38 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > > > Use the path that was suggested. > > Could you remind me which one that is? In this thread: bindings/riscv/sifive/ > > > + > > > +An example is "sifive,uart0" from: > > > + > > > +https://github.com/sifive/sifive-blocks/blob/master/src/main/scala/devices/uart/UART.scala#L43 > > > > That's nice, but will be out of date as soon as someone adds or removes > > a line above it. Can you point to a tagged version? > > Will do > > - Paul ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-12-07 13:55 ` Rob Herring @ 2018-12-07 14:31 ` Paul Walmsley 2018-12-07 15:19 ` Rob Herring 0 siblings, 1 reply; 13+ messages in thread From: Paul Walmsley @ 2018-12-07 14:31 UTC (permalink / raw) To: Rob Herring Cc: Paul Walmsley, devicetree, Palmer Dabbelt, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel@vger.kernel.org, Paul Walmsley On Fri, 7 Dec 2018, Rob Herring wrote: > On Thu, Dec 6, 2018 at 6:46 PM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > On Thu, 6 Dec 2018, Rob Herring wrote: > > > On Wed, Nov 21, 2018 at 05:06:56PM -0800, Paul Walmsley wrote: > > > > > > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > > > > 1 file changed, 38 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > > > > > Use the path that was suggested. > > > > Could you remind me which one that is? > > In this thread: bindings/riscv/sifive/ SiFive also produces ARM-based SoCs. Some of those ARM SoCs may use these IP blocks from sifive-blocks as well. As far as I know, there's nothing RISC-V-specific about most of these IP blocks. (As an example, there's nothing CPU architecture-specific about a UART.) I'm fine with putting these bindings under bindings/riscv/, if that's where you need them to go. But I'd like to understand the rationale better - could you describe that? thanks, - Paul ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-12-07 14:31 ` Paul Walmsley @ 2018-12-07 15:19 ` Rob Herring 0 siblings, 0 replies; 13+ messages in thread From: Rob Herring @ 2018-12-07 15:19 UTC (permalink / raw) To: paul.walmsley Cc: devicetree, palmer, megan, wesley, Mark Rutland, linux-riscv, Linux Kernel Mailing List, paul On Fri, Dec 7, 2018 at 8:31 AM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > > On Fri, 7 Dec 2018, Rob Herring wrote: > > > On Thu, Dec 6, 2018 at 6:46 PM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > > On Thu, 6 Dec 2018, Rob Herring wrote: > > > > On Wed, Nov 21, 2018 at 05:06:56PM -0800, Paul Walmsley wrote: > > > > > > > > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > > > > > 1 file changed, 38 insertions(+) > > > > > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt > > > > > > > > Use the path that was suggested. > > > > > > Could you remind me which one that is? > > > > In this thread: bindings/riscv/sifive/ > > SiFive also produces ARM-based SoCs. Some of those ARM SoCs may use these > IP blocks from sifive-blocks as well. As far as I know, there's nothing > RISC-V-specific about most of these IP blocks. (As an example, there's > nothing CPU architecture-specific about a UART.) Fair enough. As-is is fine. Rob ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2018-11-22 1:06 [PATCH] dt-bindings: sifive: describe sifive-blocks versioning Paul Walmsley ` (2 preceding siblings ...) 2018-12-07 0:01 ` Rob Herring @ 2019-05-13 20:47 ` Rob Herring 2019-05-13 21:07 ` Paul Walmsley 3 siblings, 1 reply; 13+ messages in thread From: Rob Herring @ 2019-05-13 20:47 UTC (permalink / raw) To: Paul Walmsley, Palmer Dabbelt Cc: devicetree, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel@vger.kernel.org, Paul Walmsley On Wed, Nov 21, 2018 at 7:06 PM Paul Walmsley <paul.walmsley@sifive.com> wrote: > > > For IP blocks that are generated from the public, open-source > sifive-blocks repository, describe the version numbering policy > that its maintainers intend to use, upon request from Rob > Herring <robh@kernel.org>. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Megan Wachs <megan@sifive.com> > Cc: Wesley Terpstra <wesley@sifive.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: devicetree@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Paul Walmsley <paul@pwsan.com> > --- > > Hi Rob, please let me know if this document works with your > requirements, or if some changes are needed. - Paul > > .../sifive/sifive-blocks-ip-versioning.txt | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt I just noticed this was never re-spun and applied. We now have bindings in tree referring to it though. Rob ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] dt-bindings: sifive: describe sifive-blocks versioning 2019-05-13 20:47 ` Rob Herring @ 2019-05-13 21:07 ` Paul Walmsley 0 siblings, 0 replies; 13+ messages in thread From: Paul Walmsley @ 2019-05-13 21:07 UTC (permalink / raw) To: Rob Herring Cc: Paul Walmsley, Palmer Dabbelt, devicetree, Megan Wachs, Wesley Terpstra, Mark Rutland, linux-riscv, linux-kernel@vger.kernel.org, Paul Walmsley On Mon, 13 May 2019, Rob Herring wrote: > I just noticed this was never re-spun and applied. We now have > bindings in tree referring to it though. Will send an updated version shortly. - Paul ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-05-13 21:07 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-11-22 1:06 [PATCH] dt-bindings: sifive: describe sifive-blocks versioning Paul Walmsley 2018-11-22 1:33 ` Atish Patra 2018-11-26 19:02 ` Palmer Dabbelt 2018-12-06 2:00 ` Paul Walmsley 2018-12-06 2:30 ` Paul Walmsley 2018-11-26 19:02 ` Palmer Dabbelt 2018-12-07 0:01 ` Rob Herring 2018-12-07 0:45 ` Paul Walmsley 2018-12-07 13:55 ` Rob Herring 2018-12-07 14:31 ` Paul Walmsley 2018-12-07 15:19 ` Rob Herring 2019-05-13 20:47 ` Rob Herring 2019-05-13 21:07 ` Paul Walmsley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox