diff options
-rw-r--r-- | payloads/libpayload/Kconfig | 283 | ||||
-rw-r--r-- | payloads/libpayload/drivers/storage/Kconfig | 59 | ||||
-rw-r--r-- | payloads/libpayload/drivers/timer/Kconfig | 129 | ||||
-rw-r--r-- | payloads/libpayload/drivers/usb/Kconfig | 129 |
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. + |