The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/sifive/sifive-blocks-ip-versioning.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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";

Cache object: 92d2653f31ef2dc92193f67c71fcfadd


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.