Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: sifive: describe sifive-blocks versioning

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>.

Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
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: Rob Herring <robh@kernel.org>

authored by

Paul Walmsley and committed by
Rob Herring
f08ff9c5 a188339c

+38
+38
Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
··· 1 + DT compatible string versioning for SiFive open-source IP blocks 2 + 3 + This document describes the version specification for DT "compatible" 4 + strings for open-source SiFive IP blocks. HDL for these IP blocks 5 + can be found in this public repository: 6 + 7 + https://github.com/sifive/sifive-blocks 8 + 9 + IP block-specific DT compatible strings are contained within the HDL, 10 + in the form "sifive,<ip-block-name><integer version number>". 11 + 12 + An example is "sifive,uart0" from: 13 + 14 + https://github.com/sifive/sifive-blocks/blob/v1.0/src/main/scala/devices/uart/UART.scala#L43 15 + 16 + Until these IP blocks (or IP integration) support version 17 + auto-discovery, the maintainers of these IP blocks intend to increment 18 + the suffixed number in the compatible string whenever the software 19 + interface to these IP blocks changes, or when the functionality of the 20 + underlying IP blocks changes in a way that software should be aware of. 21 + 22 + Driver developers can use compatible string "match" values such as 23 + "sifive,uart0" to indicate that their driver is compatible with the 24 + register interface and functionality associated with the relevant 25 + upstream sifive-blocks commits. It is expected that most drivers will 26 + match on these IP block-specific compatible strings. 27 + 28 + DT data authors, when writing data for a particular SoC, should 29 + continue to specify an SoC-specific compatible string value, such as 30 + "sifive,fu540-c000-uart". This way, if SoC-specific 31 + integration-specific bug fixes or workarounds are needed, the kernel 32 + or other system software can match on this string to apply them. The 33 + IP block-specific compatible string (such as "sifive,uart0") should 34 + then be specified as a subsequent value. 35 + 36 + An example of this style: 37 + 38 + compatible = "sifive,fu540-c000-uart", "sifive,uart0";