GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,264 @@
|
||||
menu "Generic Driver Options"
|
||||
|
||||
config DM
|
||||
bool "Enable Driver Model"
|
||||
help
|
||||
This config option enables Driver Model. This brings in the core
|
||||
support, including scanning of platform data on start-up. If
|
||||
CONFIG_OF_CONTROL is enabled, the device tree will be scanned also
|
||||
when available.
|
||||
|
||||
config SPL_DM
|
||||
bool "Enable Driver Model for SPL"
|
||||
depends on DM && SPL
|
||||
help
|
||||
Enable driver model in SPL. You will need to provide a
|
||||
suitable malloc() implementation. If you are not using the
|
||||
full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
|
||||
consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
|
||||
must provide CONFIG_SPL_SYS_MALLOC_F_LEN to set the size.
|
||||
In most cases driver model will only allocate a few uclasses
|
||||
and devices in SPL, so 1KB should be enable. See
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN for more details on how to enable it.
|
||||
|
||||
config TPL_DM
|
||||
bool "Enable Driver Model for TPL"
|
||||
depends on DM && TPL
|
||||
help
|
||||
Enable driver model in TPL. You will need to provide a
|
||||
suitable malloc() implementation. If you are not using the
|
||||
full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
|
||||
consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
|
||||
must provide CONFIG_SPL_SYS_MALLOC_F_LEN to set the size.
|
||||
In most cases driver model will only allocate a few uclasses
|
||||
and devices in SPL, so 1KB should be enough. See
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN for more details on how to enable it.
|
||||
Disable this for very small implementations.
|
||||
|
||||
config DM_WARN
|
||||
bool "Enable warnings in driver model"
|
||||
depends on DM
|
||||
default y
|
||||
help
|
||||
The dm_warn() function can use up quite a bit of space for its
|
||||
strings. By default this is disabled for SPL builds to save space.
|
||||
This will cause dm_warn() to be compiled out - it will do nothing
|
||||
when called.
|
||||
|
||||
config DM_DEBUG
|
||||
bool "Enable debug messages in driver model core"
|
||||
depends on DM
|
||||
help
|
||||
Say Y here if you want to compile in debug messages in DM core.
|
||||
|
||||
config DM_DEVICE_REMOVE
|
||||
bool "Support device removal"
|
||||
depends on DM
|
||||
default y
|
||||
help
|
||||
We can save some code space by dropping support for removing a
|
||||
device.
|
||||
|
||||
Note that this may have undesirable results in the USB subsystem as
|
||||
it causes unplugged devices to linger around in the dm-tree, and it
|
||||
causes USB host controllers to not be stopped when booting the OS.
|
||||
|
||||
config SPL_DM_DEVICE_REMOVE
|
||||
bool "Support device removal in SPL"
|
||||
depends on SPL_DM
|
||||
default n
|
||||
help
|
||||
We can save some code space by dropping support for removing a
|
||||
device. This is not normally required in SPL, so by default this
|
||||
option is disabled for SPL.
|
||||
|
||||
config DM_STDIO
|
||||
bool "Support stdio registration"
|
||||
depends on DM
|
||||
default y
|
||||
help
|
||||
Normally serial drivers register with stdio so that they can be used
|
||||
as normal output devices. In SPL we don't normally use stdio, so
|
||||
we can omit this feature.
|
||||
|
||||
config DM_SEQ_ALIAS
|
||||
bool "Support numbered aliases in device tree"
|
||||
depends on DM
|
||||
default y
|
||||
help
|
||||
Most boards will have a '/aliases' node containing the path to
|
||||
numbered devices (e.g. serial0 = &serial0). This feature can be
|
||||
disabled if it is not required.
|
||||
|
||||
config SPL_DM_SEQ_ALIAS
|
||||
bool "Support numbered aliases in device tree in SPL"
|
||||
depends on SPL_DM
|
||||
default n
|
||||
help
|
||||
Most boards will have a '/aliases' node containing the path to
|
||||
numbered devices (e.g. serial0 = &serial0). This feature can be
|
||||
disabled if it is not required, to save code space in SPL.
|
||||
|
||||
config REGMAP
|
||||
bool "Support register maps"
|
||||
depends on DM
|
||||
help
|
||||
Hardware peripherals tend to have one or more sets of registers
|
||||
which can be accessed to control the hardware. A register map
|
||||
models this with a simple read/write interface. It can in principle
|
||||
support any bus type (I2C, SPI) but so far this only supports
|
||||
direct memory access.
|
||||
|
||||
config SPL_REGMAP
|
||||
bool "Support register maps in SPL"
|
||||
depends on SPL_DM
|
||||
help
|
||||
Hardware peripherals tend to have one or more sets of registers
|
||||
which can be accessed to control the hardware. A register map
|
||||
models this with a simple read/write interface. It can in principle
|
||||
support any bus type (I2C, SPI) but so far this only supports
|
||||
direct memory access.
|
||||
|
||||
config TPL_REGMAP
|
||||
bool "Support register maps in TPL"
|
||||
depends on TPL_DM
|
||||
help
|
||||
Hardware peripherals tend to have one or more sets of registers
|
||||
which can be accessed to control the hardware. A register map
|
||||
models this with a simple read/write interface. It can in principle
|
||||
support any bus type (I2C, SPI) but so far this only supports
|
||||
direct memory access.
|
||||
|
||||
config SYSCON
|
||||
bool "Support system controllers"
|
||||
depends on REGMAP
|
||||
help
|
||||
Many SoCs have a number of system controllers which are dealt with
|
||||
as a group by a single driver. Some common functionality is provided
|
||||
by this uclass, including accessing registers via regmap and
|
||||
assigning a unique number to each.
|
||||
|
||||
config SPL_SYSCON
|
||||
bool "Support system controllers in SPL"
|
||||
depends on SPL_REGMAP
|
||||
help
|
||||
Many SoCs have a number of system controllers which are dealt with
|
||||
as a group by a single driver. Some common functionality is provided
|
||||
by this uclass, including accessing registers via regmap and
|
||||
assigning a unique number to each.
|
||||
|
||||
config TPL_SYSCON
|
||||
bool "Support system controllers in TPL"
|
||||
depends on TPL_REGMAP
|
||||
help
|
||||
Many SoCs have a number of system controllers which are dealt with
|
||||
as a group by a single driver. Some common functionality is provided
|
||||
by this uclass, including accessing registers via regmap and
|
||||
assigning a unique number to each.
|
||||
|
||||
config DEVRES
|
||||
bool "Managed device resources"
|
||||
depends on DM
|
||||
help
|
||||
This option enables the Managed device resources core support.
|
||||
Device resources managed by the devres framework are automatically
|
||||
released whether initialization fails half-way or the device gets
|
||||
detached.
|
||||
|
||||
If this option is disabled, devres functions fall back to
|
||||
non-managed variants. For example, devres_alloc() to kzalloc(),
|
||||
devm_kmalloc() to kmalloc(), etc.
|
||||
|
||||
config DEBUG_DEVRES
|
||||
bool "Managed device resources debugging functions"
|
||||
depends on DEVRES
|
||||
help
|
||||
If this option is enabled, devres debug messages are printed.
|
||||
Also, a function is available to dump a list of device resources.
|
||||
Select this if you are having a problem with devres or want to
|
||||
debug resource management for a managed device.
|
||||
|
||||
If you are unsure about this, Say N here.
|
||||
|
||||
config SIMPLE_BUS
|
||||
bool "Support simple-bus driver"
|
||||
depends on DM && OF_CONTROL
|
||||
default y
|
||||
help
|
||||
Supports the 'simple-bus' driver, which is used on some systems.
|
||||
|
||||
config SPL_SIMPLE_BUS
|
||||
bool "Support simple-bus driver in SPL"
|
||||
depends on SPL_DM && SPL_OF_CONTROL
|
||||
default y
|
||||
help
|
||||
Supports the 'simple-bus' driver, which is used on some systems
|
||||
in SPL.
|
||||
|
||||
config OF_TRANSLATE
|
||||
bool "Translate addresses using fdt_translate_address"
|
||||
depends on DM && OF_CONTROL
|
||||
default y
|
||||
help
|
||||
If this option is enabled, the reg property will be translated
|
||||
using the fdt_translate_address() function. This is necessary
|
||||
on some platforms (e.g. MVEBU) using complex "ranges"
|
||||
properties in many nodes. As this translation is not handled
|
||||
correctly in the default simple_bus_translate() function.
|
||||
|
||||
If this option is not enabled, simple_bus_translate() will be
|
||||
used for the address translation. This function is faster and
|
||||
smaller in size than fdt_translate_address().
|
||||
|
||||
config SPL_OF_TRANSLATE
|
||||
bool "Translate addresses using fdt_translate_address in SPL"
|
||||
depends on SPL_DM && SPL_OF_CONTROL
|
||||
default n
|
||||
help
|
||||
If this option is enabled, the reg property will be translated
|
||||
using the fdt_translate_address() function. This is necessary
|
||||
on some platforms (e.g. MVEBU) using complex "ranges"
|
||||
properties in many nodes. As this translation is not handled
|
||||
correctly in the default simple_bus_translate() function.
|
||||
|
||||
If this option is not enabled, simple_bus_translate() will be
|
||||
used for the address translation. This function is faster and
|
||||
smaller in size than fdt_translate_address().
|
||||
|
||||
config TRANSLATION_OFFSET
|
||||
bool "Platforms specific translation offset"
|
||||
depends on DM && OF_CONTROL
|
||||
help
|
||||
Some platforms need a special address translation. Those
|
||||
platforms (e.g. mvebu in SPL) can configure a translation
|
||||
offset by enabling this option and setting the translation_offset
|
||||
variable in the GD in their platform- / board-specific code.
|
||||
|
||||
config OF_ISA_BUS
|
||||
bool
|
||||
depends on OF_TRANSLATE
|
||||
help
|
||||
Is this option is enabled then support for the ISA bus will
|
||||
be included for addresses read from DT. This is something that
|
||||
should be known to be required or not based upon the board
|
||||
being targeted, and whether or not it makes use of an ISA bus.
|
||||
|
||||
The bus is matched based upon its node name equalling "isa". The
|
||||
busses #address-cells should equal 2, with the first cell being
|
||||
used to hold flags & flag 0x1 indicating that the address range
|
||||
should be accessed using I/O port in/out accessors. The second
|
||||
cell holds the offset into ISA bus address space. The #size-cells
|
||||
property should equal 1, and of course holds the size of the
|
||||
address range used by a device.
|
||||
|
||||
If this option is not enabled then support for the ISA bus is
|
||||
not included and any such busses used in DT will be treated as
|
||||
typical simple-bus compatible busses. This will lead to
|
||||
mistranslation of device addresses, so ensure that this is
|
||||
enabled if your board does include an ISA bus.
|
||||
|
||||
config DM_DEV_READ_INLINE
|
||||
bool
|
||||
default y if !OF_LIVE
|
||||
|
||||
endmenu
|
||||
Reference in New Issue
Block a user