summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/drivers')
-rw-r--r--payloads/libpayload/drivers/storage/Kconfig59
-rw-r--r--payloads/libpayload/drivers/timer/Kconfig129
-rw-r--r--payloads/libpayload/drivers/usb/Kconfig129
3 files changed, 317 insertions, 0 deletions
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.
+