

		    List of upstream coreboot maintainers
		     and how to submit coreboot changes

This represents the list of maintainers that work on the upstream coreboot
code base (on coreboot.org).  Maintainers are assigned to topics and when
applicable to subtrees of the source tree. You'll find some subtrees that
don't have a maintainer. If you are looking for reviewers for such a sub-
tree, it's often a good choice to look at the git history to see who worked
on it last.

Please try to follow the guidelines below.  This will make things
easier on the maintainers.  Not all of these guidelines matter for every
trivial patch so apply some common sense.

1.	Always _test_ your changes, however small, on at least 1 or
	2 people, preferably many more.

2.	Try to release a few ALPHA test versions to gerrit. Announce
	them onto the coreboot mailing list and IRC channel and await
	results. This is especially important on coreboot core changes,
	but also for device drivers, because often that's the only way
	you will find things like the fact revision 3 chipset needs
	a magic fix you didn't know about, or some clown changed the
	chips on a board and not its name.  (Don't laugh!)

3.	Make sure your changes compile correctly in multiple
	configurations. In particular check that changes work for all
	boards in the tree (use abuild!)

4.	When you are happy with a change make it generally available for
	testing in gerrit and await feedback.

5.	Make your patch available through coreboot's gerrit code review
	system, and add the relevant maintainer from this list as a code
	reviewer. Be prepared to get your changes sent back with seemingly
	silly requests about formatting and variable names.  These aren't
	as silly as they seem. One job the maintainers do is to keep
	things looking the same.  Sometimes this means that the clever
	hack in your mainboard or chipset to get around a problem actually
	needs to become a generalized coreboot feature ready for next time.

	PLEASE check your patch with the automated style checker
	(util/lint/checkpatch.pl) to catch trival style violations.
	See https://www.coreboot.org/Coding_Style for guidance here.

	PLEASE add the maintainers that are generated by
	util/scripts/get_maintainer.pl as reviewers.  The results returned
	by the script will be best if you have git installed and are
	making your changes in a branch derived from coreboot.org's latest
	git tree.

	PLEASE try to include any credit lines you want added with the
	patch. It avoids people being missed off by mistake and makes
	it easier to know who wants adding and who doesn't.

	PLEASE document known bugs. If it doesn't work for everything
	or does something very odd once a month document it.

	PLEASE remember that submissions must be made under the terms
	of the OSDL certificate of contribution and should include a
	Signed-off-by: line.  The current version of this "Developer's
	Certificate of Origin" (DCO) is listed at
	https://www.coreboot.org/Development_Guidelines#Sign-off_Procedure.

6.	Make sure you have the right to send any changes you make. If you
	do changes at work you may find your employer owns the patch
	not you.

7.	Happy hacking.

Descriptions of section entries:

	M: Maintainer: FullName <address@domain>
	   Must be registered to Gerrit (https://review.coreboot.org/).
	   Should have experience with upstream coreboot development.
	R: Designated reviewer: FullName <address@domain>
	   These reviewers should be CCed on patches.
	L: Mailing list that is relevant to this area
	W: Web-page with status/info
	Q: Patchwork web based patch tracking system site
	T: SCM tree type and location.
	   Type is one of: git, hg, quilt, stgit, topgit
	S: Status, one of the following:
	   Supported:	Someone is continuously paid to look after this and
			a reaction to review requests can be expected
			within a few days, a month at most.
	   Maintained:	Someone actually looks after it and a reaction to
			review requests can usually be expected within a
			few weeks.
	   Odd Fixes:	It has a maintainer but they don't have time to do
			much other than throw the odd patch in. See below..
	   Orphan:	No current maintainer [but maybe you could take the
			role as you write your new code].
	   Obsolete:	Old code. Something tagged obsolete generally means
			it has been replaced by a better system and you
			should be using that.
	F: Files and directories with wildcard patterns.
	   A trailing slash includes all files and subdirectory files.
	   F:	drivers/net/	all files in and below drivers/net
	   F:	drivers/net/*	all files in drivers/net, but not below
	   F:	*/net/*		all files in "any top level directory"/net
	   One pattern per line.  Multiple F: lines acceptable.
	N: Files and directories with regex patterns.
	   N:	[^a-z]tegra	all files whose path contains the word tegra
	   One pattern per line.  Multiple N: lines acceptable.
	   scripts/get_maintainer.pl has different behavior for files that
	   match F: pattern and matches of N: patterns.  By default,
	   get_maintainer will not look at git log history when an F: pattern
	   match occurs.  When an N: match occurs, git log history is used
	   to also notify the people that have git commit signatures.
	X: Files and directories that are NOT maintained, same rules as F:
	   Files exclusions are tested before file matches.
	   Can be useful for excluding a specific subdirectory, for instance:
	   F:	net/
	   X:	net/ipv6/
	   matches all files in and below net excluding net/ipv6/
	K: Keyword perl extended regex pattern to match content in a
	   patch or file.  For instance:
	   K: of_get_profile
	      matches patches or files that contain "of_get_profile"
	   K: \b(printk|pr_(info|err))\b
	      matches patches or files that contain one or more of the words
	      printk, pr_info or pr_err
	   One regex pattern per line.  Multiple K: lines acceptable.

Note: For the hard of thinking, this list is meant to remain in alphabetical
order. If you could add yourselves to it in alphabetical order that would be
so much easier [Ed]

Maintainers List (try to look for most precise areas first)

		-----------------------------------

################################################################################
# Mainboards
################################################################################

AMD family 17h and 19h reference boards
M:	Marshall Dawson <marshalldawson3rd@gmail.com>
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
S:	Maintained
F:	src/mainboard/amd/majolica/
F:	src/mainboard/amd/mandolin/

APPLE MAINBOARDS
M:	Evgeny Zinoviev <me@ch1p.io>
S:	Maintained
F:	src/mainboard/apple/



ASROCK B85M PRO4 MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asrock/b85m_pro4/

ASROCK G41C-GS MAINBOARD & VARIANTS
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asrock/g41c-gs/

ASROCK H81M-HDS MAINBOARD
M:	Tristan Corrick <tristan@corrick.kiwi>
S:	Maintained
F:	src/mainboard/asrock/h81m-hds/



ASUS AM1I-A MAINBOARD
M:	Mike Banon <mikebdp2@gmail.com>
S:	Maintained
F:	src/mainboard/asus/am1i-a/

ASUS H61 SERIES MAINBOARDS
M:	Angel Pons <th3fanbus@gmail.com>
M:	Tristan Corrick <tristan@corrick.kiwi>
S:	Maintained
F:	src/mainboard/asus/h61-series/

ASUS MAXIMUS IV GENE-Z MAINBOARD
M:	Tristan Corrick <tristan@corrick.kiwi>
S:	Maintained
F:	src/mainboard/asus/maximus_iv_gene-z/

ASUS P5QC PRO MAINBOARD & VARIANTS
M:	Angel Pons <th3fanbus@gmail.com>
R:	Stefan Ott <coreboot@desire.ch>
S:	Maintained
F:	src/mainboard/asus/p5qc/

ASUS P5QPL-AM MAINBOARD & VARIANTS
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asus/p5qpl-am/

ASUS P8Z77 SERIES MAINBOARDS
M:	Angel Pons <th3fanbus@gmail.com>
M:	Vlado Cibic <vladocb@protonmail.com>
S:	Maintained
F:	src/mainboard/asus/p8z77-series/



CLEVO MAINBOARDS
M:	Felix Singer <felixsinger@posteo.net>
M:	Michael Niewöhner <foss@mniewoehner.de>
S:	Supported
F:	src/mainboard/clevo/



FACEBOOK FBG1701 MAINBOARD
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Wim Vervoorn <wvervoorn@eltan.com>
S:	Maintained
F:	src/mainboard/facebook/fbg1701/

FACEBOOK MONOLITH MAINBOARD
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Wim Vervoorn <wvervoorn@eltan.com>
S:	Maintained
F:	src/mainboard/facebook/monolith/



GETAC P470 MAINBOARD
M:	Patrick Georgi <patrick@georgi.software>
S:	Maintained
F:	src/mainboard/getac/p470/



GIGABYTE GA-D510UD MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/gigabyte/ga-d510ud/

GIGABYTE GA-G41M-ES2L MAINBOARD
M:	Damien Zammit <damien@zamaudio.com>
S:	Odd Fixes
F:	src/mainboard/gigabyte/ga-g41m-es2l/

GIGABYTE GA-H61M SERIES MAINBOARDS
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/gigabyte/ga-h61m-series/


GOOGLE BRYA MAINBOARDS
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/mainboard/google/brya/

GOOGLE HATCH MAINBOARDS
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/mainboard/google/hatch/

GOOGLE PANTHER MAINBOARD
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
S:	Supported
F:	src/mainboard/google/panther/

GOOGLE VOLTEER MAINBOARDS
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/mainboard/google/volteer/

GOOGLE MAINBOARDS (Intel-based, legacy/inactive)
M:	Matt DeVillier <MrChromebox@gmail.com>
S:	Maintained
F:	src/mainboard/google/auron/
F:	src/mainboard/google/beltino/
F:	src/mainboard/google/butterfly/
F:	src/mainboard/google/cyan/
F:	src/mainboard/google/glados/
F:	src/mainboard/google/jecht/
F:	src/mainboard/google/link/
F:	src/mainboard/google/parrot/
F:	src/mainboard/google/slippy/
F:	src/mainboard/google/stout/



HP 280 G2 MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/hp/280_g2/



INTEL D510MO MAINBOARD
M:	Damien Zammit <damien@zamaudio.com>
S:	Odd Fixes
F:	src/mainboard/intel/d510mo/

INTEL STRAGO MAINBOARD
M:	Hannah Williams <hannah.williams@intel.com>
S:	Supported
F:	/src/mainboard/intel/strago/



KONTRON BSL6 MAINBOARD
M:	Felix Singer <felixsinger@posteo.net>
M:	Nico Huber <nico.h@gmx.de>
S:	Supported
F:	src/mainboard/kontron/bsl6/

KONTRON MAL10 MAINBOARD
M:	Maxim Polyakov <max.senia.poliak@gmail.com>
M:	Nico Huber <nico.h@gmx.de>
M:	Felix Singer <felixsinger@posteo.net>
S:	Supported
F:	src/mainboard/kontron/mal10/



LENOVO MAINBOARDS
M:	Alexander Couzens <lynxis@fe80.eu>
M:	Patrick Rudolph <siro@das-labor.org>
S:	Maintained
F:	src/mainboard/lenovo/

LENOVO G505S MAINBOARD
M:	Mike Banon <mikebdp2@gmail.com>
S:	Maintained
F:	src/mainboard/lenovo/g505s/

LENOVO X200 MAINBOARD
R:	Stefan Ott <coreboot@desire.ch>
S:	Maintained
F:	src/mainboard/lenovo/x200/

LENOVO X201 MAINBOARD
R:	Stefan Ott <coreboot@desire.ch>
S:	Maintained
F:	src/mainboard/lenovo/x201/


LIBRETREND LT1000 MAINBOARD
M:	Piotr Król <piotr.krol@3mdeb.com>
M:	Michał Żygowski <michal.zygowski@3mdeb.com>
S:	Maintained
F:	src/mainboard/libretrend/lt1000/



MSI H81M-P33 MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/msi/h81m-p33/



OCP DELTALAKE MAINBOARD
M:	Jonathan Zhang <jonzhang@fb.com>
M:	Reddy Chagam <anjaneya.chagam@intel.com>
M:	Johnny Lin <Johnny_Lin@wiwynn.com>
M:	Morgan Jang <Morgan_Jang@wiwynn.com>
M:	Ryback Hung <<Ryback.Hung@quantatw.com>
M:	Bryant Ou <Bryant.Ou@quantatw.com>
S:	Supported
F:	src/mainboard/ocp/deltalake/

OCP TIOGAPASS MAINBOARD
M:	Jonathan Zhang <jonzhang@fb.com>
M:	Reddy Chagam <anjaneya.chagam@intel.com>
M:	Johnny Lin <Johnny_Lin@wiwynn.com>
M:	Morgan Jang <Morgan_Jang@wiwynn.com>
M:	Ryback Hung <<Ryback.Hung@quantatw.com>
M:	Bryant Ou <Bryant.Ou@quantatw.com>
S:	Maintained
F:	src/mainboard/ocp/tiogapass/



OPENCELLULAR MAINBOARDS
M:	Christian Walter <christian.walter@9elements.com>
M:	Patrick Rudolph <patrick.rudolph@9elements.com>
S:	Supported
F:	src/mainboard/opencellular/elgon/



PC ENGINES ALL MAINBOARDS
M:	Piotr Król <piotr.krol@3mdeb.com>
M:	Michał Żygowski <michal.zygowski@3mdeb.com>
S:	Supported
F:	src/mainboard/pcengines/



PORTWELL PQ-M107 MAINBOARD
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Wim Vervoorn <wvervoorn@eltan.com>
S:	Maintained
F:	src/mainboard/portwell/m107/



PROTECTLI ALL MAINBOARDS
M:	Piotr Król <piotr.krol@3mdeb.com>
M:	Michał Żygowski <michal.zygowski@3mdeb.com>
S:	Maintained
F:	src/mainboard/protectli/



PRODRIVE HERMES MAINBOARD
M:	Christian Walter <christian.walter@9elements.com>
M:	Patrick Rudolph <patrick.rudolph@9elements.com>
S:	Maintained
F:	src/mainboard/prodrive/hermes/



PURISM MAINBOARDS
M:	Matt DeVillier <matt.devillier@puri.sm>
S:	Supported
F:	src/mainboard/purism/



SAMSUNG CHROMEOS MAINBOARDS
M:	Matt DeVillier <MrChromebox@gmail.com>
S:	Maintained
F:	src/mainboard/samsung/lumpy/
F:	src/mainboard/samsung/stumpy/



SIEMENS CHILI MAINBAORD
M:	Felix Singer <felixsinger@posteo.net>
M:	Nico Huber <nico.h@gmx.de>
S:	Supported
F:	src/mainboard/siemens/chili/

SIEMENS MC_xxxx MAINBOARDS
M:	Werner Zeh <werner.zeh@siemens.com>
S:	Maintained
F:	src/mainboard/siemens/mc_apl1/



SYSTEM76 MAINBOARDS
M:	Jeremy Soller <jeremy@system76.com>
S:	Maintained
F:	src/mainboard/system76/



SUPERMICRO X10SLM+-F MAINBOARD
M:	Tristan Corrick <tristan@corrick.kiwi>
S:	Maintained
F:	src/mainboard/supermicro/x10slm-f/

SUPERMICRO X11-LGA1151-SERIES
M:	Michael Niewöhner <foss@mniewoehner.de>
S:	Maintained
F:	src/mainboard/supermicro/x11-lga1151-series/

################################################################################
# Architectures
################################################################################

ARM ARCHITECTURE
M:	Julius Werner <jwerner@chromium.org>
S:	Supported
F:	src/arch/arm/
F:	src/arch/arm64/
F:	src/soc/nvidia/
F:	src/soc/rockchip/
F:	util/nvidia/
F:	util/rockchip/

PPC64 ARCHITECTURE
M:	Ronald Minnich <rminnich@gmail.com>
M:	Timothy Pearson <tpearson@raptorengineeringinc.com>
S:	Maintained
F:	src/arch/ppc64/
F:	src/cpu/qemu-power8/
F:	src/mainboard/emulation/qemu-power8/

RISC-V ARCHITECTURE
M:	Ronald Minnich <rminnich@gmail.com>
R:	Philipp Hug <philipp@hug.cx>
S:	Maintained
F:	src/arch/riscv/
F:	src/soc/sifive/
F:	src/soc/ucb/
F:	src/mainboard/emulation/*-riscv/
F:	src/mainboard/sifive/
F:	util/riscv/

X86 ARCHITECTURE
F:	src/arch/x86/
F:	src/cpu/x86/
F:	src/drivers/pc80/
F:	src/include/pc80/
F:	src/include/cpu/x86/

################################################################################
# Embedded Controllers
################################################################################

CHROME EC
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/ec/google/chromeec/

LENOVO EC
M:	Alexander Couzens <lynxis@fe80.eu>
S:	Maintained
F:	src/ec/lenovo/

SYSTEM76 EC
M:	Jeremy Soller <jeremy@system76.com>
S:	Maintained
F:	src/ec/system76/

################################################################################
# Northbridges
################################################################################

INTEL HASWELL NORTHBRIDGE
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/northbridge/intel/haswell/

INTEL PINEVIEW CHIPSET
M:	Damien Zammit <damien@zamaudio.com>
M:	Angel Pons <th3fanbus@gmail.com>
S:	Odd Fixes
F:	src/northbridge/intel/pineview/

INTEL SANDYBRIDGE NORTHBRIDGE
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/northbridge/intel/sandybridge/

INTEL X4X CHIPSET
M:	Damien Zammit <damien@zamaudio.com>
M:	Angel Pons <th3fanbus@gmail.com>
S:	Odd Fixes
F:	src/northbridge/intel/x4x/

################################################################################
# Platforms
################################################################################

AMD SUPPORT
F:	src/vendorcode/amd/
F:	src/cpu/amd/
F:	src/northbridge/amd/
F:	src/southbridge/amd/
F:	src/include/cpu/amd/

INTEL SUPPORT
M:	Patrick Rudolph <siro@das-labor.org>
S:	Maintained
F:	src/vendorcode/intel/
F:	src/cpu/intel/
F:	src/northbridge/intel/
F:	src/southbridge/intel/
F:	src/soc/intel/
F:	src/drivers/intel/
F:	src/include/cpu/intel/

INTEL FSP DENVERTON-NS SOC & HARCUVAR CRB
M:	Suresh Bellampalli <suresh.bellampalli@intel.com>
M:	Vanessa Eusebio <vanessa.f.eusebio@intel.com>
M:	Michal Motyl <michalx.motyl@intel.com>
M:	Mariusz Szafranski <mariuszx.szafranski@intel.com>
S:	Maintained
F:	src/mainboard/intel/harcuvar/
F:	src/soc/intel/denverton_ns/

INTEL FSP 1.1
M:	Lee Leahy <leroy.p.leahy@intel.com>
M:	Huang Jin <huang.jin@intel.com>
M:	York Yang <york.yang@intel.com>
S:	Supported
F:	src/drivers/intel/fsp1_1/

INTEL FSP 2.0
M:	Andrey Petrov <andrey.petrov@gmail.com>
S:	Maintained
F:	src/drivers/intel/fsp2_0/

################################################################################
# Systems on a Chip
################################################################################

AMD Cezanne
M:	Marshall Dawson <marshalldawson3rd@gmail.com>
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
S:	Maintained
F:	src/soc/amd/cezanne/

AMD common SoC code
M:	Marshall Dawson <marshalldawson3rd@gmail.com>
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
S:	Maintained
F:	src/soc/amd/common/

AMD Picasso
M:	Marshall Dawson <marshalldawson3rd@gmail.com>
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
S:	Maintained
F:	src/soc/amd/picasso/
F:	src/vendorcode/amd/fsp/picasso/

INTEL ALDERLAKE SOC
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/soc/intel/alderlake/

INTEL APOLLOLAKE_SOC
M:	Andrey Petrov <andrey.petrov@gmail.com>
S:	Maintained
F:	src/soc/intel/apollolake/

INTEL BRASWELL SOC
M:	Piotr Król <piotr.krol@3mdeb.com>
M:	Michał Żygowski <michal.zygowski@3mdeb.com>
M:	Frans Hendriks <fhendriks@eltan.com>
S:	Maintained
F:	/src/soc/intel/braswell/
F:	/src/vendorcode/intel/fsp/fsp1_1/braswell/

INTEL TIGERLAKE SOC
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Maintained
F:	src/soc/intel/tigerlake/

INTEL Xeon Sacalable Processor Family
M:	Jonathan Zhang <jonzhang@fb.com>
M:	Reddy Chagam <anjaneya.chagam@intel.com>
M:	Johnny Lin <Johnny_Lin@wiwynn.com>
M:	Morgan Jang <Morgan_Jang@wiwynn.com>
M:	Ryback Hung <<Ryback.Hung@quantatw.com>
M:	Bryant Ou <Bryant.Ou@quantatw.com>
S:	Supported
F:	src/soc/intel/xeon_sp/
F:	src/vendorcode/intel/fsp/fsp2_0/skylake_sp/
F:	src/vendorcode/intel/fsp/fsp2_0/copperlake_sp/

MEDIATEK SOCS
M:	Hung-Te Lin <hungte@chromium.org>
S:	Supported
F:	src/soc/mediatek/

MEDIATEK MT8192
M:	Xi Chen <xixi.chen@mediatek.com>
S:	Maintained
F:	src/soc/mediatek/mt8192/
F:	src/vendorcode/mediatek/mt8192/

ORPHANED ARM SOCS
S:	Orphaned
F:	src/cpu/armltd/
F:	src/soc/ti/
F:	src/soc/qualcomm/
F:	src/soc/samsung/
F:	util/exynos/
F:	util/ipqheader/

################################################################################
# Payloads
################################################################################

NVRAM
F:	util/nvramtool/
F:	payloads/nvramcui/

LIBPAYLOAD
F:	payloads/libpayload/

COREINFO PAYLOAD
F:	payloads/coreinfo/

EXTERNAL PAYLOADS INTEGRATION
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
M:	Martin Roth <gaumless@gmail.com>
F:	payloads/external/

LINUXBOOT PAYLOAD INTEGRATION
M:	Christian Walter <christian.walter@9elements.com>
M:	Marcello Sylvester Bauer <info@marcellobauer.com>
S:	Supported
F:	payloads/external/LinuxBoot/

################################################################################
# Utilities
################################################################################

ABUILD
M:	Patrick Georgi <patrick@georgi-clan.de>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	util/abuild/

BOARD STATUS
F:	util/board_status/

BUILD SYSTEM
M:	Patrick Georgi <patrick@georgi-clan.de>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	Makefile
F:	*.inc
F:	src/include/kconfig.h
F:	util/kconfig/
F:	util/sconfig/
F:	util/xcompile/
F:	util/genbuild_h/

TOOLCHAIN
F:	util/crossgcc/

DOCKER
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	util/docker/

GIT
F:	.git*
F:	/util/gitconfig

LINT SCRIPTS
M:	Patrick Georgi <patrick@georgi-clan.de>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	util/lint/

IFDTOOL
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
F:	util/ifdtool/

INTELTOOL
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
F:	util/inteltool/

INTELMETOOL
M:	Christian Walter <christian.walter@9elements.com>
F:	util/intelmetool/

ME_CLEANER
M:	Nicola Corna <nicola@corna.info>
W:	https://github.com/corna/me_cleaner
S:	Maintained
F:	util/me_cleaner/

################################################################################
# Miscellaneous
################################################################################

ASPEED AST2050 DRIVER & COMMON CODE
M:	Timothy Pearson <tpearson@raptorengineeringinc.com>
S:	Supported
F:	src/drivers/aspeed/common/
F:	src/drivers/aspeed/ast2050/

ACPI
M:	Lance Zhao <lance.zhao@gmail.com>
M:	Tim Wawrzynczak <twawrzynczak@chromium.org>
S:	Supported
F:	src/acpi/
F:	src/arch/x86/acpi/
F:	util/acpi/

LZ4 COMPRESSION
M:	Julius Werner <jwerner@chromium.org>
S:	Supported
F:	src/commonlib/lz4*
F:	payloads/libpayload/liblz4/
F:	util/cbfstool/lz4/

BINARY OBJECTS
F:	3rdparty/blobs/

VERIFIED BOOT
F:	3rdparty/vboot/
F:	src/vendorcode/google/chromeos/
F:	src/include/tpm.h
F:	src/include/tpm_lite/

RESOURCE ALLOCATOR
F:	src/device/*
F:	src/include/device/
F:	src/include/cpu/cpu.h

OPTION ROM EXECUTION & X86EMU
F:	src/device/oprom/

CBFS
M:	Julius Werner <jwerner@chromium.org>
F:	src/include/cbfs*
F:	src/commonlib/bsd/include/commonlib/bsd/cbfs*
F:	src/commonlib/bsd/cbfs*
F:	src/lib/cbfs.c

CBFSTOOL
F:	util/cbfstool/

CBMEM
F:	src/include/cbmem.h
F:	src/include/cbmem_id.h
F:	util/cbmem/

CONSOLE
F:	src/console/
F:	src/include/console/
F:	src/drivers/uart/

VERIFIED BOOT 2
M:	Aaron Durbin <adurbin@chromium.org>
F:	src/security/vboot/

TPM SUPPORT
M:	Christian Walter <christian.walter@9elements.com>
S:	Supported
F:	src/drivers/*/tpm/
F:	src/security/tpm/

SUPERIOS & SUPERIOTOOL
M:	Felix Held <felix-coreboot@felixheld.de>
S:	Maintained
F:	src/superio/
F:	util/superiotool/

MEMLAYOUT
M:	Julius Werner <jwerner@chromium.org>
S:	Supported
F:	*/memlayout.h
F:	*.ld

ELTAN VENDORCODE
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Wim Vervoorn <wvervoorn@eltan.com>
S:	Maintained
F:	src/vendorcode/eltan/

TESTS
M:	Jakub Czapiga <jacz@semihalf.com>
S:	Maintained
F:	tests/

MISSING: TIMERS / DELAYS

MISSING: TIMESTAMPS

MISSING: FMAP

MISSING: GPIO

MISSING: SMP

MISSING: DMP / QEMU-X86

MISSING: ELOG

MISSING: SPI

# *** Infrastructure Owners ***
# This is intended to let people know who they should contact for issues with various infrastructure pieces.
# Hardware
#	Owners: Stefan, Patrick
#	Backups:

# Web Server
#	Owners: Stefan, Patrick
#	Backups:

# Website
#	Owners: Martin
#	Backups: Patrick, Stefan

# Documentation Website
#	Owners: Patrick
#	Backups:

CODE OF CONDUCT
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
M:	Patrick Georgi <patrick@coreboot.org>
M:	Ronald Minnich <rminnich@coreboot.org>
M:	Martin Roth <martin@coreboot.org>
S:	Maintained
F:	Documentation/community/code_of_conduct.md

# Wiki
#	Owners: Stefan, Patrick
#	Backups:

# Gerrit
#	Owners: Stefan, Patrick
#	Backups: Martin

# Jenkins
#	Owners: Patrick, Martin
#	Backups:

# Bug Tracker
#	Owners: Lynxis,
#	Backups: Martin,

# Mailing List
#	Owners: Stefan, Patrick
#	Backups: Martin,

# Software Freedom Conservancy
#	Main contact: Martin
#	“Official” contact: Stefan
