mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.7 KiB
38 lines
1.7 KiB
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/v1.0/src/main/scala/devices/uart/UART.scala#L43 |
|
|
|
Until these IP blocks (or IP integration) support version |
|
auto-discovery, 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";
|
|
|