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