Masahiro Yamada | 57ad8ee | 2014-10-23 22:26:09 +0900 | [diff] [blame] | 1 | config DM |
| 2 | bool "Enable Driver Model" |
Masahiro Yamada | 57ad8ee | 2014-10-23 22:26:09 +0900 | [diff] [blame] | 3 | help |
Simon Glass | d8b771d | 2015-02-05 21:41:35 -0700 | [diff] [blame] | 4 | This config option enables Driver Model. This brings in the core |
| 5 | support, including scanning of platform data on start-up. If |
| 6 | CONFIG_OF_CONTROL is enabled, the device tree will be scanned also |
| 7 | when available. |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 8 | |
| 9 | config SPL_DM |
| 10 | bool "Enable Driver Model for SPL" |
| 11 | depends on DM && SPL |
| 12 | help |
| 13 | Enable driver model in SPL. You will need to provide a |
| 14 | suitable malloc() implementation. If you are not using the |
| 15 | full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START, |
| 16 | consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you |
| 17 | must provide CONFIG_SYS_MALLOC_F_LEN to set the size. |
| 18 | In most cases driver model will only allocate a few uclasses |
| 19 | and devices in SPL, so 1KB should be enable. See |
| 20 | CONFIG_SYS_MALLOC_F_LEN for more details on how to enable it. |
| 21 | |
| 22 | config DM_WARN |
| 23 | bool "Enable warnings in driver model" |
Masahiro Yamada | cfc2f7d | 2015-02-24 22:26:21 +0900 | [diff] [blame] | 24 | depends on DM |
| 25 | default y |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 26 | help |
| 27 | The dm_warn() function can use up quite a bit of space for its |
| 28 | strings. By default this is disabled for SPL builds to save space. |
| 29 | This will cause dm_warn() to be compiled out - it will do nothing |
| 30 | when called. |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 31 | |
| 32 | config DM_DEVICE_REMOVE |
| 33 | bool "Support device removal" |
Masahiro Yamada | cfc2f7d | 2015-02-24 22:26:21 +0900 | [diff] [blame] | 34 | depends on DM |
| 35 | default y |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 36 | help |
| 37 | We can save some code space by dropping support for removing a |
| 38 | device. This is not normally required in SPL, so by default this |
| 39 | option is disabled for SPL. |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 40 | |
Hans de Goede | 246ba26 | 2015-07-01 20:52:59 +0200 | [diff] [blame] | 41 | Note that this may have undesirable results in the USB subsystem as |
| 42 | it causes unplugged devices to linger around in the dm-tree, and it |
| 43 | causes USB host controllers to not be stopped when booting the OS. |
| 44 | |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 45 | config DM_STDIO |
| 46 | bool "Support stdio registration" |
Masahiro Yamada | cfc2f7d | 2015-02-24 22:26:21 +0900 | [diff] [blame] | 47 | depends on DM |
| 48 | default y |
Simon Glass | 93e414d | 2015-02-05 21:41:36 -0700 | [diff] [blame] | 49 | help |
| 50 | Normally serial drivers register with stdio so that they can be used |
| 51 | as normal output devices. In SPL we don't normally use stdio, so |
| 52 | we can omit this feature. |
Simon Glass | 1bd3deb | 2015-02-27 22:06:30 -0700 | [diff] [blame] | 53 | |
| 54 | config DM_SEQ_ALIAS |
| 55 | bool "Support numbered aliases in device tree" |
| 56 | depends on DM |
| 57 | default y |
| 58 | help |
| 59 | Most boards will have a '/aliases' node containing the path to |
| 60 | numbered devices (e.g. serial0 = &serial0). This feature can be |
| 61 | disabled if it is not required, to save code space in SPL. |
Simon Glass | 8e5efa0 | 2015-07-17 09:22:07 -0600 | [diff] [blame] | 62 | |
| 63 | config REGMAP |
| 64 | bool "Support register maps" |
| 65 | depends on DM |
| 66 | help |
| 67 | Hardware peripherals tend to have one or more sets of registers |
| 68 | which can be accessed to control the hardware. A register map |
| 69 | models this with a simple read/write interface. It can in principle |
| 70 | support any bus type (I2C, SPI) but so far this only supports |
| 71 | direct memory access. |
| 72 | |
| 73 | config SYSCON |
| 74 | bool "Support system controllers" |
| 75 | depends on REGMAP |
| 76 | help |
| 77 | Many SoCs have a number of system controllers which are dealt with |
| 78 | as a group by a single driver. Some common functionality is provided |
| 79 | by this uclass, including accessing registers via regmap and |
| 80 | assigning a unique number to each. |
Masahiro Yamada | 8b15b16 | 2015-07-25 21:52:35 +0900 | [diff] [blame] | 81 | |
Masahiro Yamada | 029bfca | 2015-07-25 21:52:37 +0900 | [diff] [blame] | 82 | config DEVRES |
| 83 | bool "Managed device resources" |
| 84 | depends on DM |
| 85 | help |
| 86 | This option enables the Managed device resources core support. |
| 87 | Device resources managed by the devres framework are automatically |
| 88 | released whether initialization fails half-way or the device gets |
| 89 | detached. |
| 90 | |
| 91 | If this option is disabled, devres functions fall back to |
| 92 | non-managed variants. For example, devres_alloc() to kzalloc(), |
| 93 | devm_kmalloc() to kmalloc(), etc. |
| 94 | |
Masahiro Yamada | 8b15b16 | 2015-07-25 21:52:35 +0900 | [diff] [blame] | 95 | config DEBUG_DEVRES |
Masahiro Yamada | f929c0b | 2015-07-25 21:52:38 +0900 | [diff] [blame] | 96 | bool "Managed device resources debugging functions" |
Masahiro Yamada | 029bfca | 2015-07-25 21:52:37 +0900 | [diff] [blame] | 97 | depends on DEVRES |
Masahiro Yamada | 8b15b16 | 2015-07-25 21:52:35 +0900 | [diff] [blame] | 98 | help |
| 99 | If this option is enabled, devres debug messages are printed. |
Masahiro Yamada | f929c0b | 2015-07-25 21:52:38 +0900 | [diff] [blame] | 100 | Also, a function is available to dump a list of device resources. |
Masahiro Yamada | 8b15b16 | 2015-07-25 21:52:35 +0900 | [diff] [blame] | 101 | Select this if you are having a problem with devres or want to |
| 102 | debug resource management for a managed device. |
| 103 | |
| 104 | If you are unsure about this, Say N here. |