uboot/drivers/core/Kconfig
<<
>>
Prefs
   1menu "Generic Driver Options"
   2
   3config DM
   4        bool "Enable Driver Model"
   5        help
   6          This config option enables Driver Model. This brings in the core
   7          support, including scanning of platform data on start-up. If
   8          CONFIG_OF_CONTROL is enabled, the device tree will be scanned also
   9          when available.
  10
  11config SPL_DM
  12        bool "Enable Driver Model for SPL"
  13        depends on DM && SPL
  14        help
  15          Enable driver model in SPL. You will need to provide a
  16          suitable malloc() implementation. If you are not using the
  17          full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
  18          consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
  19          must provide CONFIG_SYS_MALLOC_F_LEN to set the size.
  20          In most cases driver model will only allocate a few uclasses
  21          and devices in SPL, so 1KB should be enable. See
  22          CONFIG_SYS_MALLOC_F_LEN for more details on how to enable it.
  23
  24config DM_WARN
  25        bool "Enable warnings in driver model"
  26        depends on DM
  27        default y
  28        help
  29          The dm_warn() function can use up quite a bit of space for its
  30          strings. By default this is disabled for SPL builds to save space.
  31          This will cause dm_warn() to be compiled out - it will do nothing
  32          when called.
  33
  34config DM_DEVICE_REMOVE
  35        bool "Support device removal"
  36        depends on DM
  37        default y
  38        help
  39          We can save some code space by dropping support for removing a
  40          device. This is not normally required in SPL, so by default this
  41          option is disabled for SPL.
  42
  43          Note that this may have undesirable results in the USB subsystem as
  44          it causes unplugged devices to linger around in the dm-tree, and it
  45          causes USB host controllers to not be stopped when booting the OS.
  46
  47config DM_STDIO
  48        bool "Support stdio registration"
  49        depends on DM
  50        default y
  51        help
  52          Normally serial drivers register with stdio so that they can be used
  53          as normal output devices. In SPL we don't normally use stdio, so
  54          we can omit this feature.
  55
  56config DM_SEQ_ALIAS
  57        bool "Support numbered aliases in device tree"
  58        depends on DM
  59        default y
  60        help
  61          Most boards will have a '/aliases' node containing the path to
  62          numbered devices (e.g. serial0 = &serial0). This feature can be
  63          disabled if it is not required.
  64
  65config SPL_DM_SEQ_ALIAS
  66        bool "Support numbered aliases in device tree in SPL"
  67        depends on DM
  68        default n
  69        help
  70          Most boards will have a '/aliases' node containing the path to
  71          numbered devices (e.g. serial0 = &serial0). This feature can be
  72          disabled if it is not required, to save code space in SPL.
  73
  74config REGMAP
  75        bool "Support register maps"
  76        depends on DM
  77        help
  78          Hardware peripherals tend to have one or more sets of registers
  79          which can be accessed to control the hardware. A register map
  80          models this with a simple read/write interface. It can in principle
  81          support any bus type (I2C, SPI) but so far this only supports
  82          direct memory access.
  83
  84config SPL_REGMAP
  85        bool "Support register maps in SPL"
  86        depends on DM
  87        help
  88          Hardware peripherals tend to have one or more sets of registers
  89          which can be accessed to control the hardware. A register map
  90          models this with a simple read/write interface. It can in principle
  91          support any bus type (I2C, SPI) but so far this only supports
  92          direct memory access.
  93
  94config SYSCON
  95        bool "Support system controllers"
  96        depends on REGMAP
  97        help
  98          Many SoCs have a number of system controllers which are dealt with
  99          as a group by a single driver. Some common functionality is provided
 100          by this uclass, including accessing registers via regmap and
 101          assigning a unique number to each.
 102
 103config SPL_SYSCON
 104        bool "Support system controllers in SPL"
 105        depends on REGMAP
 106        help
 107          Many SoCs have a number of system controllers which are dealt with
 108          as a group by a single driver. Some common functionality is provided
 109          by this uclass, including accessing registers via regmap and
 110          assigning a unique number to each.
 111
 112config DEVRES
 113        bool "Managed device resources"
 114        depends on DM
 115        help
 116          This option enables the Managed device resources core support.
 117          Device resources managed by the devres framework are automatically
 118          released whether initialization fails half-way or the device gets
 119          detached.
 120
 121          If this option is disabled, devres functions fall back to
 122          non-managed variants.  For example, devres_alloc() to kzalloc(),
 123          devm_kmalloc() to kmalloc(), etc.
 124
 125config DEBUG_DEVRES
 126        bool "Managed device resources debugging functions"
 127        depends on DEVRES
 128        help
 129          If this option is enabled, devres debug messages are printed.
 130          Also, a function is available to dump a list of device resources.
 131          Select this if you are having a problem with devres or want to
 132          debug resource management for a managed device.
 133
 134          If you are unsure about this, Say N here.
 135
 136config SIMPLE_BUS
 137        bool "Support simple-bus driver"
 138        depends on DM && OF_CONTROL
 139        default y
 140        help
 141          Supports the 'simple-bus' driver, which is used on some systems.
 142
 143config SPL_SIMPLE_BUS
 144        bool "Support simple-bus driver in SPL"
 145        depends on SPL_DM && SPL_OF_CONTROL
 146        default y
 147        help
 148          Supports the 'simple-bus' driver, which is used on some systems
 149          in SPL.
 150
 151config OF_TRANSLATE
 152        bool "Translate addresses using fdt_translate_address"
 153        depends on DM && OF_CONTROL
 154        default y
 155        help
 156          If this option is enabled, the reg property will be translated
 157          using the fdt_translate_address() function. This is necessary
 158          on some platforms (e.g. MVEBU) using complex "ranges"
 159          properties in many nodes. As this translation is not handled
 160          correctly in the default simple_bus_translate() function.
 161
 162          If this option is not enabled, simple_bus_translate() will be
 163          used for the address translation. This function is faster and
 164          smaller in size than fdt_translate_address().
 165
 166config SPL_OF_TRANSLATE
 167        bool "Translate addresses using fdt_translate_address in SPL"
 168        depends on SPL_DM && SPL_OF_CONTROL
 169        default n
 170        help
 171          If this option is enabled, the reg property will be translated
 172          using the fdt_translate_address() function. This is necessary
 173          on some platforms (e.g. MVEBU) using complex "ranges"
 174          properties in many nodes. As this translation is not handled
 175          correctly in the default simple_bus_translate() function.
 176
 177          If this option is not enabled, simple_bus_translate() will be
 178          used for the address translation. This function is faster and
 179          smaller in size than fdt_translate_address().
 180
 181config OF_ISA_BUS
 182        bool
 183        depends on OF_TRANSLATE
 184        help
 185          Is this option is enabled then support for the ISA bus will
 186          be included for addresses read from DT. This is something that
 187          should be known to be required or not based upon the board
 188          being targetted, and whether or not it makes use of an ISA bus.
 189
 190          The bus is matched based upon its node name equalling "isa". The
 191          busses #address-cells should equal 2, with the first cell being
 192          used to hold flags & flag 0x1 indicating that the address range
 193          should be accessed using I/O port in/out accessors. The second
 194          cell holds the offset into ISA bus address space. The #size-cells
 195          property should equal 1, and of course holds the size of the
 196          address range used by a device.
 197
 198          If this option is not enabled then support for the ISA bus is
 199          not included and any such busses used in DT will be treated as
 200          typical simple-bus compatible busses. This will lead to
 201          mistranslation of device addresses, so ensure that this is
 202          enabled if your board does include an ISA bus.
 203
 204endmenu
 205