summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payloads/libpayload/Kconfig283
-rw-r--r--payloads/libpayload/drivers/storage/Kconfig59
-rw-r--r--payloads/libpayload/drivers/timer/Kconfig129
-rw-r--r--payloads/libpayload/drivers/usb/Kconfig129
4 files changed, 320 insertions, 280 deletions
diff --git a/payloads/libpayload/Kconfig b/payloads/libpayload/Kconfig
index 276eb302c7..51826ea9af 100644
--- a/payloads/libpayload/Kconfig
+++ b/payloads/libpayload/Kconfig
@@ -354,286 +354,9 @@ config SPEAKER
depends on ARCH_X86
default y
-config STORAGE
- bool "Support for storage devices"
- default y
- help
- Select this option if you want support for storage devices (like
- hard drives, memory sticks or optical drives).
-
-config STORAGE_64BIT_LBA
- bool "Use 64-bit integers to address sectors"
- depends on STORAGE
- default n
- help
- If this is selected, sectors will be addressed by an 64-bit integer.
- Select this to support LBA-48 for ATA drives.
-
-config STORAGE_ATA
- bool "Support ATA drives (i.e. hard drives)"
- depends on STORAGE
- default y
- help
- Select this option if you want support for ATA storage devices
- (i.e. hard drives).
-
-config STORAGE_ATAPI
- bool "Support ATAPI drives (i.e. optical drives)"
- depends on STORAGE
- default y
- select STORAGE_ATA
- help
- Select this option if you want support for ATAPI storage devices
- (i.e. optical drives like CD or DVD drives).
-
-config STORAGE_AHCI
- bool "Support for AHCI host controllers"
- depends on STORAGE && (STORAGE_ATA || STORAGE_ATAPI) && PCI
- default y
- help
- Select this option if you want support for SATA controllers in
- AHCI mode.
-
-config STORAGE_AHCI_ONLY_TESTED
- bool "Only enable tested controllers"
- depends on STORAGE_AHCI
- default y
- help
- If this option is selected only AHCI controllers which are known
- to work will be used.
-
-config TIMER_RDTSC
- bool
- default y
- depends on ARCH_X86
-
-choice
- prompt "Timer driver"
- default TIMER_NONE
- depends on !ARCH_X86
-
-config TIMER_NONE
- bool "None"
- help
- The timer driver is provided by the payload itself.
-
-config TIMER_MCT
- bool "Exynos MCT"
-
-config TIMER_TEGRA_1US
- bool "Tegra 1us"
-
-config TIMER_IPQ806X
- bool "Timer for ipq806x platforms"
-
-config TIMER_ARMADA38X
- bool "Timer for armada38x platforms"
- help
- This is the timer driver for marvell armada38x
- platforms.
-
-config TIMER_IPQ40XX
- bool "Timer for ipq40xx platforms"
- help
- This is the timer driver for QCA IPQ40xx based
- platforms.
-
-config TIMER_RK
- bool "Timer for Rockchip"
-
-config TIMER_BG4CD
- bool "Marvell BG4CD"
-
-config TIMER_CYGNUS
- bool "Timer for Cygnus"
-
-config TIMER_IMG_PISTACHIO
- bool "Timer for IMG Pistachio"
-
-config TIMER_MTK
- bool "Timer for MediaTek MT8173"
-
-endchoice
-
-config TIMER_MCT_HZ
- int "Exynos MCT frequency"
- depends on TIMER_MCT
- default 24000000
-
-config TIMER_MCT_ADDRESS
- hex "Exynos MCT base address"
- depends on TIMER_MCT
- default 0x101c0000
-
-config TIMER_RK_ADDRESS
- hex "Rockchip timer base address"
- depends on TIMER_RK
- default 0xff810020
-
-config TIMER_TEGRA_1US_ADDRESS
- hex "Tegra u1s timer base address"
- depends on TIMER_TEGRA_1US
- default 0x60005010
-
-config IPQ806X_TIMER_FREQ
- int "Hardware timer frequency"
- default 32000
- depends on TIMER_IPQ806X
- help
- IPQ hardware presently provides a single timer running at 32KHz, a
- finer granulariry timer is available but is not yet enabled.
-
-config IPQ806X_TIMER_REG
- hex "Timer register address"
- default 0x0200A008
- depends on TIMER_IPQ806X
- help
- Address of the register to read a free running timer value.
-
-config ARMADA38X_TIMER_FREQ
- int "Hardware timer frequency"
- depends on TIMER_ARMADA38X
- default 25000000
-
-config ARMADA38X_TIMER_REG
- hex "Timer register address"
- default 0xF1020314
- depends on TIMER_ARMADA38X
-
-config IPROC_PERIPH_GLB_TIM_REG_BASE
- hex "Cygnus timer base address"
- depends on TIMER_CYGNUS
- default 0x19020200
-
-config TIMER_MTK_HZ
- int "MediaTek GPT frequency"
- depends on TIMER_MTK
- default 13000000
- help
- Clock frequency of MediaTek General Purpose Timer.
-
-config TIMER_MTK_ADDRESS
- hex "MTK GPT register address"
- depends on TIMER_MTK
- default 0x10008048
- help
- Address of GPT4's counter register to read the FREERUN-mode timer value.
-
-config USB
- bool "USB Support"
- default y
-
-config USB_UHCI
- bool "Support for USB UHCI controllers"
- depends on USB && ARCH_X86
- default y
- help
- Select this option if you are going to use USB 1.1 on an Intel based
- system.
-
-config USB_OHCI
- bool "Support for USB OHCI controllers"
- depends on USB
- default y
- help
- Select this option if you are going to use USB 1.1 on a non-Intel based
- system.
-
-config USB_EHCI
- bool "Support for USB EHCI controllers"
- depends on USB
- default y
- help
- Select this option if you want to use USB 2.0
-
-config USB_XHCI
- bool "Support for USB xHCI controllers"
- depends on USB
- default y
- help
- Select this option if you want to use USB 3.0
-
-config USB_XHCI_MTK_QUIRK
- bool "Support for USB xHCI controllers on MTK SoC"
- depends on USB_XHCI
- help
- Select this option if you want to use USB 3.0 on MTK platform.
-
-config USB_DWC2
- bool "Support for USB DesignWare HCD controllers"
- depends on USB
- help
- Select this option if you want to use DesignWare USB 2.0 host controller
-
-config USB_HID
- bool "Support for USB keyboards"
- depends on USB
- default y
- help
- Select this option if you want to use devices complying to the
- USB HID (Human Interface Device) standard. Such devices are for
- example keyboards and mice. Currently only keyboards are supported.
- Say Y here unless you know exactly what you are doing.
-
-config USB_HUB
- bool "Support for USB hubs"
- depends on USB
- default y
- help
- Select this option if you want to compile in support for USB hubs.
- Say Y here unless you know exactly what you are doing.
-
-config USB_EHCI_HOSTPC_ROOT_HUB_TT
- bool "Support for USB EHCI ROOT HUB that has TT"
- depends on USB_EHCI
- default n
- help
- Select this option if USB EHCI root hub supports TT (Transaction
- Translator).
- To support this TT feature we read port-speed from non-standard
- register HOSTPC (offset 84h of Operational Register base).
-
-config USB_MSC
- bool "Support for USB storage"
- depends on USB
- default y
- help
- Select this option if you want to compile in support for USB mass
- storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
- Say Y here unless you know exactly what you are doing.
-
-config USB_GEN_HUB
- bool
- default n if (!USB_HUB && !USB_XHCI)
- default y if (USB_HUB || USB_XHCI)
-config USB_PCI
- bool "Auto-scan PCI bus for USB host controllers"
- depends on USB
- default y if ARCH_X86
- default n
-
-config UDC
- bool "USB device mode support"
- default n
- help
- Select this option to add support for running as
- a USB device.
-
-config UDC_CI
- bool "ChipIdea driver for USB device mode"
- depends on UDC
- default n
- help
- Select this option to add the driver for ChipIdea
- USB device controller.
-
-config UDC_DWC2
- bool "Designware driver for USB device mode"
- depends on UDC
- default n
- help
- Select this option to add the driver for Designware
- USB device controller.
+source "drivers/timer/Kconfig"
+source "drivers/storage/Kconfig"
+source "drivers/usb/Kconfig"
endmenu
diff --git a/payloads/libpayload/drivers/storage/Kconfig b/payloads/libpayload/drivers/storage/Kconfig
new file mode 100644
index 0000000000..961144eab9
--- /dev/null
+++ b/payloads/libpayload/drivers/storage/Kconfig
@@ -0,0 +1,59 @@
+##
+## This file is part of the coreboot project.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+config STORAGE
+ bool "Support for storage devices"
+ default y
+ help
+ Select this option if you want support for storage devices (like
+ hard drives, memory sticks or optical drives).
+
+config STORAGE_64BIT_LBA
+ bool "Use 64-bit integers to address sectors"
+ depends on STORAGE
+ default n
+ help
+ If this is selected, sectors will be addressed by an 64-bit integer.
+ Select this to support LBA-48 for ATA drives.
+
+config STORAGE_ATA
+ bool "Support ATA drives (i.e. hard drives)"
+ depends on STORAGE
+ default y
+ help
+ Select this option if you want support for ATA storage devices
+ (i.e. hard drives).
+
+config STORAGE_ATAPI
+ bool "Support ATAPI drives (i.e. optical drives)"
+ depends on STORAGE
+ default y
+ select STORAGE_ATA
+ help
+ Select this option if you want support for ATAPI storage devices
+ (i.e. optical drives like CD or DVD drives).
+
+config STORAGE_AHCI
+ bool "Support for AHCI host controllers"
+ depends on STORAGE && (STORAGE_ATA || STORAGE_ATAPI) && PCI
+ default y
+ help
+ Select this option if you want support for SATA controllers in
+ AHCI mode.
+
+config STORAGE_AHCI_ONLY_TESTED
+ bool "Only enable tested controllers"
+ depends on STORAGE_AHCI
+ default y
+ help
+ If this option is selected only AHCI controllers which are known
+ to work will be used.
diff --git a/payloads/libpayload/drivers/timer/Kconfig b/payloads/libpayload/drivers/timer/Kconfig
new file mode 100644
index 0000000000..8f047fa63c
--- /dev/null
+++ b/payloads/libpayload/drivers/timer/Kconfig
@@ -0,0 +1,129 @@
+##
+## This file is part of the coreboot project.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+config TIMER_RDTSC
+ bool
+ default y
+ depends on ARCH_X86
+
+choice
+ prompt "Timer driver"
+ default TIMER_NONE
+ depends on !ARCH_X86
+
+config TIMER_NONE
+ bool "None"
+ help
+ The timer driver is provided by the payload itself.
+
+config TIMER_MCT
+ bool "Exynos MCT"
+
+config TIMER_TEGRA_1US
+ bool "Tegra 1us"
+
+config TIMER_IPQ806X
+ bool "Timer for ipq806x platforms"
+
+config TIMER_ARMADA38X
+ bool "Timer for armada38x platforms"
+ help
+ This is the timer driver for marvell armada38x
+ platforms.
+
+config TIMER_IPQ40XX
+ bool "Timer for ipq40xx platforms"
+ help
+ This is the timer driver for QCA IPQ40xx based
+ platforms.
+
+config TIMER_RK
+ bool "Timer for Rockchip"
+
+config TIMER_BG4CD
+ bool "Marvell BG4CD"
+
+config TIMER_CYGNUS
+ bool "Timer for Cygnus"
+
+config TIMER_IMG_PISTACHIO
+ bool "Timer for IMG Pistachio"
+
+config TIMER_MTK
+ bool "Timer for MediaTek MT8173"
+
+endchoice
+
+config TIMER_MCT_HZ
+ int "Exynos MCT frequency"
+ depends on TIMER_MCT
+ default 24000000
+
+config TIMER_MCT_ADDRESS
+ hex "Exynos MCT base address"
+ depends on TIMER_MCT
+ default 0x101c0000
+
+config TIMER_RK_ADDRESS
+ hex "Rockchip timer base address"
+ depends on TIMER_RK
+ default 0xff810020
+
+config TIMER_TEGRA_1US_ADDRESS
+ hex "Tegra u1s timer base address"
+ depends on TIMER_TEGRA_1US
+ default 0x60005010
+
+config IPQ806X_TIMER_FREQ
+ int "Hardware timer frequency"
+ default 32000
+ depends on TIMER_IPQ806X
+ help
+ IPQ hardware presently provides a single timer running at 32KHz, a
+ finer granulariry timer is available but is not yet enabled.
+
+config IPQ806X_TIMER_REG
+ hex "Timer register address"
+ default 0x0200A008
+ depends on TIMER_IPQ806X
+ help
+ Address of the register to read a free running timer value.
+
+config ARMADA38X_TIMER_FREQ
+ int "Hardware timer frequency"
+ depends on TIMER_ARMADA38X
+ default 25000000
+
+config ARMADA38X_TIMER_REG
+ hex "Timer register address"
+ default 0xF1020314
+ depends on TIMER_ARMADA38X
+
+config IPROC_PERIPH_GLB_TIM_REG_BASE
+ hex "Cygnus timer base address"
+ depends on TIMER_CYGNUS
+ default 0x19020200
+
+config TIMER_MTK_HZ
+ int "MediaTek GPT frequency"
+ depends on TIMER_MTK
+ default 13000000
+ help
+ Clock frequency of MediaTek General Purpose Timer.
+
+config TIMER_MTK_ADDRESS
+ hex "MTK GPT register address"
+ depends on TIMER_MTK
+ default 0x10008048
+ help
+ Address of GPT4's counter register to read the FREERUN-mode timer value.
+
diff --git a/payloads/libpayload/drivers/usb/Kconfig b/payloads/libpayload/drivers/usb/Kconfig
new file mode 100644
index 0000000000..e1b68f7d39
--- /dev/null
+++ b/payloads/libpayload/drivers/usb/Kconfig
@@ -0,0 +1,129 @@
+##
+## This file is part of the coreboot project.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+
+config USB
+ bool "USB Support"
+ default y
+
+config USB_UHCI
+ bool "Support for USB UHCI controllers"
+ depends on USB && ARCH_X86
+ default y
+ help
+ Select this option if you are going to use USB 1.1 on an Intel based
+ system.
+
+config USB_OHCI
+ bool "Support for USB OHCI controllers"
+ depends on USB
+ default y
+ help
+ Select this option if you are going to use USB 1.1 on a non-Intel based
+ system.
+
+config USB_EHCI
+ bool "Support for USB EHCI controllers"
+ depends on USB
+ default y
+ help
+ Select this option if you want to use USB 2.0
+
+config USB_XHCI
+ bool "Support for USB xHCI controllers"
+ depends on USB
+ default y
+ help
+ Select this option if you want to use USB 3.0
+
+config USB_XHCI_MTK_QUIRK
+ bool "Support for USB xHCI controllers on MTK SoC"
+ depends on USB_XHCI
+ help
+ Select this option if you want to use USB 3.0 on MTK platform.
+
+config USB_DWC2
+ bool "Support for USB DesignWare HCD controllers"
+ depends on USB
+ help
+ Select this option if you want to use DesignWare USB 2.0 host controller
+
+config USB_HID
+ bool "Support for USB keyboards"
+ depends on USB
+ default y
+ help
+ Select this option if you want to use devices complying to the
+ USB HID (Human Interface Device) standard. Such devices are for
+ example keyboards and mice. Currently only keyboards are supported.
+ Say Y here unless you know exactly what you are doing.
+
+config USB_HUB
+ bool "Support for USB hubs"
+ depends on USB
+ default y
+ help
+ Select this option if you want to compile in support for USB hubs.
+ Say Y here unless you know exactly what you are doing.
+
+config USB_EHCI_HOSTPC_ROOT_HUB_TT
+ bool "Support for USB EHCI ROOT HUB that has TT"
+ depends on USB_EHCI
+ default n
+ help
+ Select this option if USB EHCI root hub supports TT (Transaction
+ Translator).
+ To support this TT feature we read port-speed from non-standard
+ register HOSTPC (offset 84h of Operational Register base).
+
+config USB_MSC
+ bool "Support for USB storage"
+ depends on USB
+ default y
+ help
+ Select this option if you want to compile in support for USB mass
+ storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
+ Say Y here unless you know exactly what you are doing.
+
+config USB_GEN_HUB
+ bool
+ default n if (!USB_HUB && !USB_XHCI)
+ default y if (USB_HUB || USB_XHCI)
+config USB_PCI
+ bool "Auto-scan PCI bus for USB host controllers"
+ depends on USB
+ default y if ARCH_X86
+ default n
+
+config UDC
+ bool "USB device mode support"
+ default n
+ help
+ Select this option to add support for running as
+ a USB device.
+
+config UDC_CI
+ bool "ChipIdea driver for USB device mode"
+ depends on UDC
+ default n
+ help
+ Select this option to add the driver for ChipIdea
+ USB device controller.
+
+config UDC_DWC2
+ bool "Designware driver for USB device mode"
+ depends on UDC
+ default n
+ help
+ Select this option to add the driver for Designware
+ USB device controller.
+