misc: Fix always compiling MISC even for SPL/TPL
[platform/kernel/u-boot.git] / drivers / misc / Kconfig
index 3a254eb..85ae7f6 100644 (file)
@@ -16,6 +16,7 @@ config MISC
 config SPL_MISC
        bool "Enable Driver Model for Misc drivers in SPL"
        depends on SPL_DM
+       default MISC
        help
          Enable driver model for miscellaneous devices. This class is
          used only for those do not fit other more general classes. A
@@ -25,6 +26,17 @@ config SPL_MISC
 config TPL_MISC
        bool "Enable Driver Model for Misc drivers in TPL"
        depends on TPL_DM
+       default MISC
+       help
+         Enable driver model for miscellaneous devices. This class is
+         used only for those do not fit other more general classes. A
+         set of generic read, write and ioctl methods may be used to
+         access the device.
+
+config VPL_MISC
+       bool "Enable Driver Model for Misc drivers in VPL"
+       depends on VPL_DM
+       default MISC
        help
          Enable driver model for miscellaneous devices. This class is
          used only for those do not fit other more general classes. A
@@ -40,12 +52,21 @@ config ALTERA_SYSID
 
 config ATSHA204A
        bool "Support for Atmel ATSHA204A module"
+       select BITREVERSE
        depends on MISC
        help
           Enable support for I2C connected Atmel's ATSHA204A
           CryptoAuthentication module found for example on the Turris Omnia
           board.
 
+config GATEWORKS_SC
+       bool "Gateworks System Controller Support"
+       depends on MISC
+       help
+         Enable access for the Gateworks System Controller used on Gateworks
+         boards to provide a boot watchdog, power control, temperature monitor,
+         voltage ADCs, and EEPROM.
+
 config ROCKCHIP_EFUSE
         bool "Rockchip e-fuse support"
        depends on MISC
@@ -122,6 +143,16 @@ config TPL_CROS_EC
          control access to the battery and main PMIC depending on the
          device. You can use the 'crosec' command to access it.
 
+config VPL_CROS_EC
+       bool "Enable Chrome OS EC in VPL"
+       depends on VPL
+       help
+         Enable access to the Chrome OS EC in VPL. This is a separate
+         microcontroller typically available on a SPI bus on Chromebooks. It
+         provides access to the keyboard, some internal storage and may
+         control access to the battery and main PMIC depending on the
+         device. You can use the 'crosec' command to access it.
+
 config CROS_EC_I2C
        bool "Enable Chrome OS EC I2C driver"
        depends on CROS_EC
@@ -158,6 +189,15 @@ config TPL_CROS_EC_LPC
          through a legacy port interface, so on x86 machines the main
          function of the EC is power and thermal management.
 
+config VPL_CROS_EC_LPC
+       bool "Enable Chrome OS EC LPC driver in VPL"
+       depends on CROS_EC
+       help
+         Enable I2C access to the Chrome OS EC. This is used on x86
+         Chromebooks such as link and falco. The keyboard is provided
+         through a legacy port interface, so on x86 machines the main
+         function of the EC is power and thermal management.
+
 config CROS_EC_SANDBOX
        bool "Enable Chrome OS EC sandbox driver"
        depends on CROS_EC && SANDBOX
@@ -185,6 +225,15 @@ config TPL_CROS_EC_SANDBOX
          EC flash read/write/erase support and a few other things. It is
          enough to perform a Chrome OS verified boot on sandbox.
 
+config VPL_CROS_EC_SANDBOX
+       bool "Enable Chrome OS EC sandbox driver in VPL"
+       depends on VPL_CROS_EC && SANDBOX
+       help
+         Enable a sandbox emulation of the Chrome OS EC in VPL. This supports
+         keyboard (use the -l flag to enable the LCD), verified boot context,
+         EC flash read/write/erase support and a few other things. It is
+         enough to perform a Chrome OS verified boot on sandbox.
+
 config CROS_EC_SPI
        bool "Enable Chrome OS EC SPI driver"
        depends on CROS_EC
@@ -211,10 +260,9 @@ config FSL_SEC_MON
          like software violations or hardware security violations.
 
 config IRQ
-       bool "Intel Interrupt controller"
-       depends on X86 || SANDBOX
+       bool "Interrupt controller"
        help
-         This enables support for Intel interrupt controllers, including ITSS.
+         This enables support for interrupt controllers, including ITSS.
          Some devices have extra features, such as Apollo Lake. The
          device has its own uclass since there are several operations
          involved.
@@ -234,6 +282,15 @@ config MXC_OCOTP
          Programmable memory pages that are stored on the some
          Freescale i.MX processors.
 
+config SPL_MXC_OCOTP
+       bool "Enable MXC OCOTP driver in SPL"
+       depends on SPL && (ARCH_IMX8M || ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP || ARCH_VF610)
+       default y
+       help
+         If you say Y here, you will get support for the One Time
+         Programmable memory pages, that are stored on some
+         Freescale i.MX processors, in SPL.
+
 config NUVOTON_NCT6102D
        bool "Enable Nuvoton NCT6102D Super I/O driver"
        help
@@ -378,6 +435,13 @@ config QFW_PIO
          Hidden option to enable PIO QEMU fw_cfg interface. This will be
          selected by the appropriate QEMU board.
 
+config QFW_MMIO
+       bool
+       depends on QFW
+       help
+         Hidden option to enable MMIO QEMU fw_cfg interface. This will be
+         selected by the appropriate QEMU board.
+
 config I2C_EEPROM
        bool "Enable driver for generic I2C-attached EEPROMs"
        depends on MISC
@@ -392,40 +456,16 @@ config SPL_I2C_EEPROM
          This option is an SPL-variant of the I2C_EEPROM option.
          See the help of I2C_EEPROM for details.
 
-if I2C_EEPROM
-
 config SYS_I2C_EEPROM_ADDR
        hex "Chip address of the EEPROM device"
+       depends on ID_EEPROM || I2C_EEPROM || SPL_I2C_EEPROM || CMD_EEPROM || ENV_IS_IN_EEPROM
        default 0
 
-config SYS_I2C_EEPROM_BUS
-       int "I2C bus of the EEPROM device."
-       default 0
-
-config SYS_EEPROM_SIZE
-       int "Size in bytes of the EEPROM device"
-       default 256
-
-config SYS_EEPROM_PAGE_WRITE_BITS
-       int "Number of bits used to address bytes in a single page"
-       default 0
-       help
-         The EEPROM page size is 2^SYS_EEPROM_PAGE_WRITE_BITS.
-         A 64 byte page, for example would require six bits.
-
-config SYS_EEPROM_PAGE_WRITE_DELAY_MS
-       int "Number of milliseconds to delay between page writes"
-       default 0
-
-config SYS_I2C_EEPROM_ADDR_LEN
-       int "Length in bytes of the EEPROM memory array address"
-       default 1
-       help
-         Note: This is NOT the chip address length!
+if I2C_EEPROM
 
 config SYS_I2C_EEPROM_ADDR_OVERFLOW
        hex "EEPROM Address Overflow"
-       default 0
+       default 0x0
        help
          EEPROM chips that implement "address overflow" are ones
          like Catalyst 24WC04/08/16 which has 9/10/11 bits of
@@ -462,6 +502,15 @@ config FS_LOADER
          The consumer driver would then use this loader to program whatever,
          ie. the FPGA device.
 
+config SPL_FS_LOADER
+       bool "Enable loader driver for file system"
+       help
+         This is file system generic loader which can be used to load
+         the file image from the storage into target such as memory.
+
+         The consumer driver would then use this loader to program whatever,
+         ie. the FPGA device.
+
 config GDSYS_SOC
        bool "Enable gdsys SOC driver"
        depends on MISC
@@ -509,4 +558,15 @@ config ESM_PMIC
          Support ESM (Error Signal Monitor) on PMIC devices. ESM is used
          typically to reboot the board in error condition.
 
+config FSL_IFC
+       bool
+
+config SL28CPLD
+       bool "Enable Kontron sl28cpld multi-function driver"
+       depends on DM_I2C
+       help
+         Support for the Kontron sl28cpld management controller. This is
+         the base driver which provides common access methods for the
+         sub-drivers.
+
 endmenu