Lee Leahy (leroy.p.leahy(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15852
-gerrit
commit 2a90e84fabe33124d293257c235bf52310aab76f
Author: Lee Leahy <leroy.p.leahy(a)intel.com>
Date: Sun Jul 24 18:12:16 2016 -0700
drivers/intel/fsp2_0: Update the copyrights
Update the copyright dates in the FSP 2.0 files.
Add a copyright to Kconfig.
TEST=Build and run on Galileo Gen2
Change-Id: I0ad0c5650bde0e31d01a04bcc7d22a19273fe29b
Signed-off-by: Lee Leahy <leroy.p.leahy(a)intel.com>
---
src/drivers/intel/fsp2_0/Kconfig | 15 +++++++++++++++
src/drivers/intel/fsp2_0/Makefile.inc | 2 ++
src/drivers/intel/fsp2_0/hand_off_block.c | 2 +-
src/drivers/intel/fsp2_0/include/fsp/api.h | 2 +-
src/drivers/intel/fsp2_0/include/fsp/info_header.h | 2 +-
src/drivers/intel/fsp2_0/include/fsp/util.h | 2 +-
src/drivers/intel/fsp2_0/memory_init.c | 2 +-
src/drivers/intel/fsp2_0/notify.c | 2 +-
src/drivers/intel/fsp2_0/silicon_init.c | 2 +-
src/drivers/intel/fsp2_0/util.c | 2 +-
10 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index a669870..01ce75d 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -1,3 +1,18 @@
+#
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2015-2016 Intel Corp.
+#
+# 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 PLATFORM_USES_FSP2_0
bool
select UEFI_2_4_BINDING
diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc
index ff82390..4f36664 100644
--- a/src/drivers/intel/fsp2_0/Makefile.inc
+++ b/src/drivers/intel/fsp2_0/Makefile.inc
@@ -1,6 +1,8 @@
#
# This file is part of the coreboot project.
#
+# Copyright (C) 2015-2016 Intel Corp.
+#
# 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.
diff --git a/src/drivers/intel/fsp2_0/hand_off_block.c b/src/drivers/intel/fsp2_0/hand_off_block.c
index c9d5b8e..b7cb981 100644
--- a/src/drivers/intel/fsp2_0/hand_off_block.c
+++ b/src/drivers/intel/fsp2_0/hand_off_block.c
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/include/fsp/api.h b/src/drivers/intel/fsp2_0/include/fsp/api.h
index 48cc54f..bc55c50 100644
--- a/src/drivers/intel/fsp2_0/include/fsp/api.h
+++ b/src/drivers/intel/fsp2_0/include/fsp/api.h
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/include/fsp/info_header.h b/src/drivers/intel/fsp2_0/include/fsp/info_header.h
index 2d30614..f5db37d 100644
--- a/src/drivers/intel/fsp2_0/include/fsp/info_header.h
+++ b/src/drivers/intel/fsp2_0/include/fsp/info_header.h
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/include/fsp/util.h b/src/drivers/intel/fsp2_0/include/fsp/util.h
index 9f4d67a..01186f7 100644
--- a/src/drivers/intel/fsp2_0/include/fsp/util.h
+++ b/src/drivers/intel/fsp2_0/include/fsp/util.h
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 8afa6d7..5b93a30 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Andrey Petrov <andrey.petrov(a)intel.com> for Intel Corp.)
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
diff --git a/src/drivers/intel/fsp2_0/notify.c b/src/drivers/intel/fsp2_0/notify.c
index bd489d4..4e7e9c5 100644
--- a/src/drivers/intel/fsp2_0/notify.c
+++ b/src/drivers/intel/fsp2_0/notify.c
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Andrey Petrov <andrey.petrov(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/silicon_init.c b/src/drivers/intel/fsp2_0/silicon_init.c
index cc8c408..c069ff1 100644
--- a/src/drivers/intel/fsp2_0/silicon_init.c
+++ b/src/drivers/intel/fsp2_0/silicon_init.c
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Andrey Petrov <andrey.petrov(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/drivers/intel/fsp2_0/util.c b/src/drivers/intel/fsp2_0/util.c
index 1d3c744..108457d 100644
--- a/src/drivers/intel/fsp2_0/util.c
+++ b/src/drivers/intel/fsp2_0/util.c
@@ -1,7 +1,7 @@
/*
* This file is part of the coreboot project.
*
- * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2015-2016 Intel Corp.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
* (Written by Andrey Petrov <andrey.petrov(a)intel.com> for Intel Corp.)
*
HAOUAS Elyes (ehaouas(a)noos.fr) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15927
-gerrit
commit dbc978f89fb54af2b39e1415c27b539eef4e8382
Author: Elyes HAOUAS <ehaouas(a)noos.fr>
Date: Thu Jul 28 13:08:24 2016 +0200
Documentation: Capitalize RAM, ROM and ACPI
Change-Id: I06c1d0fe0e3d429e54d3777de679f9fc641f4eed
Signed-off-by: Elyes HAOUAS <ehaouas(a)noos.fr>
---
Documentation/CorebootBuildingGuide.tex | 2 +-
Documentation/Kconfig.tex | 6 +++---
Documentation/RFC/config.tex | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/CorebootBuildingGuide.tex b/Documentation/CorebootBuildingGuide.tex
index dac031a..eb4dfd2 100644
--- a/Documentation/CorebootBuildingGuide.tex
+++ b/Documentation/CorebootBuildingGuide.tex
@@ -70,7 +70,7 @@ base on the AMD platform.
\item 2013/12/20 Add Git, Gerrit, toolchains building.
\item 2009/04/19 replace LinuxBIOS with coreboot
\item 2004/06/02 url and language fixes from Ken Fuchs $<$kfuchs(a)winternet.com$>$
- \item 2004/02/10 acpi and option rom updates
+ \item 2004/02/10 ACPI and option ROM updates
\item 2003/11/18 initial release
\end{itemize}
diff --git a/Documentation/Kconfig.tex b/Documentation/Kconfig.tex
index 2b2bf7f..bac8f2b 100644
--- a/Documentation/Kconfig.tex
+++ b/Documentation/Kconfig.tex
@@ -13,7 +13,7 @@ Most Kconfig files set variables, which can be set as part of the Kconfig dialog
For variables set by the user, see src/console/Kconfig.
-For variables not set by the user, see src/mainboard/amd/serengeti\_cheetah/Kconfig. Users should never set such variables as the cache as ram base. These are highly mainboard dependent.
+For variables not set by the user, see src/mainboard/amd/serengeti\_cheetah/Kconfig. Users should never set such variables as the cache as RAM base. These are highly mainboard dependent.
Kconfig files use the source command to include subdirectories. In most cases, save for limited cases described below, subdirectories have Kconfig files. They are always sourced unconditionally.
@@ -28,8 +28,8 @@ We define the common rules for which variation to use below.
\subsection{object file specification}
There are several different types of objects specified in the tree. They are:
\begin{description}
-\item[obj]objects for the ram part of the code
-\item[driver]drivers for the ram part. Drivers are not represented in the device tree but do have a driver struct attached in the driver section.
+\item[obj]objects for the RAM part of the code
+\item[driver]drivers for the RAM part. Drivers are not represented in the device tree but do have a driver struct attached in the driver section.
\item[initobj]seperately-compiled code for the ROM section of coreboot
\end{description}
These items are specified via the -y syntax as well. Conditional object inclusion is done via the -\$(CONFIG\_VARIABLE) syntax.
diff --git a/Documentation/RFC/config.tex b/Documentation/RFC/config.tex
index 696ab7a..97fec9d 100644
--- a/Documentation/RFC/config.tex
+++ b/Documentation/RFC/config.tex
@@ -172,7 +172,7 @@ A sample file:
\begin{verbatim}
target x
-# over-ride the default rom size in the mainboard file
+# over-ride the default ROM size in the mainboard file
option CONFIG_ROM_SIZE=1024*1024
mainboard amd/solo
end
Antonello Dettori (dev(a)dettori.io) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15914
-gerrit
commit b7df908dc8900ec4690a645b1b28cdf5c6e50ab6
Author: Antonello Dettori <dev(a)dettori.io>
Date: Wed Jul 27 12:41:04 2016 +0200
libpayload: split "Drivers" config section in Kconfig
Move the configuration of the timer, storage and USB drivers from the
main Kconfig to three separate ones stored in the respective
directories.
This reduces the LOC of Kconfig and makes it more manageable.
Change-Id: I0786dbc1d5d8317c8ccb600f5de9ef4a8243d035
Signed-off-by: Antonello Dettori <dev(a)dettori.io>
---
payloads/libpayload/Kconfig | 283 +---------------------------
payloads/libpayload/drivers/storage/Kconfig | 59 ++++++
payloads/libpayload/drivers/timer/Kconfig | 129 +++++++++++++
payloads/libpayload/drivers/usb/Kconfig | 129 +++++++++++++
4 files changed, 320 insertions(+), 280 deletions(-)
diff --git a/payloads/libpayload/Kconfig b/payloads/libpayload/Kconfig
index 276eb30..51826ea 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 0000000..961144e
--- /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 0000000..8f047fa
--- /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 0000000..e1b68f7
--- /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.
+
HAOUAS Elyes (ehaouas(a)noos.fr) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15927
-gerrit
commit 0cc08a23a0a0f035d79f8ded75602a70c4c6bb88
Author: Elyes HAOUAS <ehaouas(a)noos.fr>
Date: Thu Jul 28 13:08:24 2016 +0200
Documentation: Capitalize RAM and ROM
Change-Id: I06c1d0fe0e3d429e54d3777de679f9fc641f4eed
Signed-off-by: Elyes HAOUAS <ehaouas(a)noos.fr>
---
Documentation/CorebootBuildingGuide.tex | 2 +-
Documentation/Kconfig.tex | 6 +++---
Documentation/RFC/config.tex | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/CorebootBuildingGuide.tex b/Documentation/CorebootBuildingGuide.tex
index dac031a..652fa05 100644
--- a/Documentation/CorebootBuildingGuide.tex
+++ b/Documentation/CorebootBuildingGuide.tex
@@ -70,7 +70,7 @@ base on the AMD platform.
\item 2013/12/20 Add Git, Gerrit, toolchains building.
\item 2009/04/19 replace LinuxBIOS with coreboot
\item 2004/06/02 url and language fixes from Ken Fuchs $<$kfuchs(a)winternet.com$>$
- \item 2004/02/10 acpi and option rom updates
+ \item 2004/02/10 acpi and option ROM updates
\item 2003/11/18 initial release
\end{itemize}
diff --git a/Documentation/Kconfig.tex b/Documentation/Kconfig.tex
index 2b2bf7f..bac8f2b 100644
--- a/Documentation/Kconfig.tex
+++ b/Documentation/Kconfig.tex
@@ -13,7 +13,7 @@ Most Kconfig files set variables, which can be set as part of the Kconfig dialog
For variables set by the user, see src/console/Kconfig.
-For variables not set by the user, see src/mainboard/amd/serengeti\_cheetah/Kconfig. Users should never set such variables as the cache as ram base. These are highly mainboard dependent.
+For variables not set by the user, see src/mainboard/amd/serengeti\_cheetah/Kconfig. Users should never set such variables as the cache as RAM base. These are highly mainboard dependent.
Kconfig files use the source command to include subdirectories. In most cases, save for limited cases described below, subdirectories have Kconfig files. They are always sourced unconditionally.
@@ -28,8 +28,8 @@ We define the common rules for which variation to use below.
\subsection{object file specification}
There are several different types of objects specified in the tree. They are:
\begin{description}
-\item[obj]objects for the ram part of the code
-\item[driver]drivers for the ram part. Drivers are not represented in the device tree but do have a driver struct attached in the driver section.
+\item[obj]objects for the RAM part of the code
+\item[driver]drivers for the RAM part. Drivers are not represented in the device tree but do have a driver struct attached in the driver section.
\item[initobj]seperately-compiled code for the ROM section of coreboot
\end{description}
These items are specified via the -y syntax as well. Conditional object inclusion is done via the -\$(CONFIG\_VARIABLE) syntax.
diff --git a/Documentation/RFC/config.tex b/Documentation/RFC/config.tex
index 696ab7a..97fec9d 100644
--- a/Documentation/RFC/config.tex
+++ b/Documentation/RFC/config.tex
@@ -172,7 +172,7 @@ A sample file:
\begin{verbatim}
target x
-# over-ride the default rom size in the mainboard file
+# over-ride the default ROM size in the mainboard file
option CONFIG_ROM_SIZE=1024*1024
mainboard amd/solo
end
Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15911
-gerrit
commit 32d9c61b49e34897b225aff5791b6770f151a598
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Wed Jul 27 06:56:36 2016 +0200
ACPI: Add code to include ATSR structure in DMAR table
When creating DMAR table one needs to report all PCI root ports in the
scope of a ATSR structure. Add code to create this ATS reporting
structure. In addition, a function to fix up the size of the ATSR
structure is added as this is a new type and using the function
acpi_dmar_drhd_fixup() can lead to confusion.
Change-Id: Idc3f6025f597048151f0fd5ea6be04843041e1ab
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/arch/x86/acpi.c | 20 ++++++++++++++++++++
src/arch/x86/include/arch/acpi.h | 12 ++++++++++++
2 files changed, 32 insertions(+)
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index 3661297..7d78f04 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -7,6 +7,7 @@
* Copyright (C) 2004 SUSE LINUX AG
* Copyright (C) 2005-2009 coresystems GmbH
* Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
+ * Copyright (C) 2016 Siemens AG
*
* ACPI FADT, FACS, and DSDT table support added by
* Nick Barker <nick.barker9(a)btinternet.com>, and those portions
@@ -433,12 +434,31 @@ unsigned long acpi_create_dmar_drhd(unsigned long current, u8 flags,
return drhd->length;
}
+unsigned long acpi_create_dmar_atsr(unsigned long current, u8 flags,
+ u16 segment)
+{
+ dmar_atsr_entry_t *atsr = (dmar_atsr_entry_t *)current;
+ memset(atsr, 0, sizeof(*atsr));
+ atsr->type = DMAR_ATSR;
+ atsr->length = sizeof(*atsr); /* will be fixed up later */
+ atsr->flags = flags;
+ atsr->segment = segment;
+
+ return atsr->length;
+}
+
void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current)
{
dmar_entry_t *drhd = (dmar_entry_t *)base;
drhd->length = current - base;
}
+void acpi_dmar_atsr_fixup(unsigned long base, unsigned long current)
+{
+ dmar_atsr_entry_t *atsr = (dmar_atsr_entry_t *)base;
+ atsr->length = current - base;
+}
+
static unsigned long acpi_create_dmar_drhd_ds(unsigned long current,
enum dev_scope_type type, u8 enumeration_id, u8 bus, u8 dev, u8 fn)
{
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index dfbffb3..b27dfff 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -5,6 +5,7 @@
* Copyright (C) 2004 Nick Barker
* Copyright (C) 2008-2009 coresystems GmbH
* Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
+ * Copyright (C) 2016 Siemens AG
* (Written by Stefan Reinauer <stepan(a)coresystems.de>)
*
* This program is free software; you can redistribute it and/or modify
@@ -285,6 +286,14 @@ typedef struct dmar_entry {
u64 bar;
} __attribute__ ((packed)) dmar_entry_t;
+typedef struct dmar_atsr_entry {
+ u16 type;
+ u16 length;
+ u8 flags;
+ u8 reserved;
+ u16 segment;
+} __attribute__ ((packed)) dmar_atsr_entry_t;
+
/* DMAR (DMA Remapping Reporting Structure) */
typedef struct acpi_dmar {
struct acpi_table_header header;
@@ -607,7 +616,10 @@ void acpi_create_dmar(acpi_dmar_t *dmar, enum dmar_flags flags,
unsigned long (*acpi_fill_dmar) (unsigned long));
unsigned long acpi_create_dmar_drhd(unsigned long current, u8 flags,
u16 segment, u32 bar);
+unsigned long acpi_create_dmar_atsr(unsigned long current, u8 flags,
+ u16 segment);
void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current);
+void acpi_dmar_atsr_fixup(unsigned long base, unsigned long current);
unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current,
u8 bus, u8 dev, u8 fn);
unsigned long acpi_create_dmar_drhd_ds_ioapic(unsigned long current,
Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15912
-gerrit
commit 8696717b321710a4b7962b2c1085d2fe8d6a1a05
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Wed Jul 27 07:07:20 2016 +0200
ACPI: Add code to create root port entry in DMAR table
PCI root ports need to be reported in DMAR table in the ATSR scope.
Add code to create an entry for a PCI root port using the type
"SCOPE_PCI_SUB".
Change-Id: Ie2c46db7292d9f1637ffe2e9cfaf6619372ddf13
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/arch/x86/acpi.c | 7 +++++++
src/arch/x86/include/arch/acpi.h | 2 ++
2 files changed, 9 insertions(+)
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index 7d78f04..5893461 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -477,6 +477,13 @@ static unsigned long acpi_create_dmar_drhd_ds(unsigned long current,
return ds->length;
}
+unsigned long acpi_create_dmar_drhd_ds_pci_br(unsigned long current, u8 bus,
+ u8 dev, u8 fn)
+{
+ return acpi_create_dmar_drhd_ds(current,
+ SCOPE_PCI_SUB, 0, bus, dev, fn);
+}
+
unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current, u8 bus,
u8 dev, u8 fn)
{
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index b27dfff..5d08369 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -620,6 +620,8 @@ unsigned long acpi_create_dmar_atsr(unsigned long current, u8 flags,
u16 segment);
void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current);
void acpi_dmar_atsr_fixup(unsigned long base, unsigned long current);
+unsigned long acpi_create_dmar_drhd_ds_pci_br(unsigned long current,
+ u8 bus, u8 dev, u8 fn);
unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current,
u8 bus, u8 dev, u8 fn);
unsigned long acpi_create_dmar_drhd_ds_ioapic(unsigned long current,