

		    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:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Fred Reitberger <reitbergerfred@gmail.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Maintained
F:	src/mainboard/amd/bilby/
F:	src/mainboard/amd/birman/
F:	src/mainboard/amd/chausie/
F:	src/mainboard/amd/majolica/
F:	src/mainboard/amd/mandolin/

AMD reference boards outside of family 17h and 19h
L:	amd_coreboot_org_changes@googlegroups.com
F:	src/mainboard/amd/gardenia/
F:	src/mainboard/amd/inagua/
F:	src/mainboard/amd/olivehill/
F:	src/mainboard/amd/pademelon/
F:	src/mainboard/amd/parmer/
F:	src/mainboard/amd/persimmon/
F:	src/mainboard/amd/south_station/
F:	src/mainboard/amd/thatcher/
F:	src/mainboard/amd/union_station/



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 A88XM-E MAINBOARD
M:	Mike Banon <mikebdp2@gmail.com>
S:	Maintained
F:	src/mainboard/asus/a88xm-e/

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:	Erik van den Bogaert <ebogaert@eltan.com>
S:	Maintained
F:	src/mainboard/facebook/fbg1701/

FACEBOOK MONOLITH MAINBOARD
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Erik van den Bogaert <ebogaert@eltan.com>
S:	Maintained
F:	src/mainboard/facebook/monolith/



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 REX MAINBOARDS
M:	Subrata Banik <subratabanik@google.com>
M:	Tarun Tuli <taruntuli@google.com>
M:	Kapil Porwal <kapilporwal@google.com>
S:	Maintained
F:	src/mainboard/google/rex/

GOOGLE BRYA MAINBOARDS
M:	Tarun Tuli <taruntuli@google.com>
S:	Maintained
F:	src/mainboard/google/brya/

GOOGLE HATCH MAINBOARDS
M:	Tarun Tuli <taruntuli@google.com>
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:	Nick Vaccaro <nvaccaro@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/

GOOGLE AMD-BASED MAINBOARDS
M:	Martin Roth <martin.roth@amd.corp-partner.google.com>
M:	Jason Nien <jason.nien@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Supported
F:	src/mainboard/google/kahlee/
F:	src/mainboard/google/zork/
F:	src/mainboard/google/guybrush/
F:	src/mainboard/google/skyrim/


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 HARCUVAR_CRB MAINBOARD
M:	Jeff Daly <jeffd@silicom-usa.com>
M:	Vanessa Eusebio <vanessa.f.eusebio@intel.com>
M:	Suresh Bellampalli <suresh.bellampalli@intel.com>
M:	Mariusz Szafranski <mariuszx.szafranski@intel.com>
S:	Maintained
F:	src/mainboard/intel/harcuvar/

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>
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/

MSI MS-7D25 MAINBOARDS
M:	Michał Żygowski <michal.zygowski@3mdeb.com>
M:	Michał Kopeć <michal.kopec@3mdeb.com>
S:	Maintained
F:	src/mainboard/msi/ms7d25/

OCP DELTALAKE MAINBOARD
M:	Arthur Heymans <arthur@aheymans.xyz>
M:	Christian Walter <christian.walter@9elements.com>
M:	Johnny Lin <Johnny_Lin@wiwynn.com>
M:	Jonathan Zhang <jonzhang@fb.com>
M:	Tim Chu <Tim.Chu@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:	Erik van den Bogaert <ebogaert@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 ATLAS MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
M:	Christian Walter <christian.walter@9elements.com>
M:	Lean Sheng Tan <sheng.tan@9elements.com>
S:	Maintained
F:	src/mainboard/prodrive/atlas/

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:	Jonathon Hall <jonathon.hall@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/
F:	src/mainboard/siemens/mc_ehl/



STAR LABS MAINBOARDS
M:	Sean Rhodes <sean@starlabs.systems>
S:	Maintained
F:	src/mainboard/starlabs/



SYSTEM76 MAINBOARDS
M:	Jeremy Soller <jeremy@system76.com>
M:	Tim Crawford <tcrawford@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:	Boris Mittelberg <bmbm@google.com>
M:	Caveh Jalali <caveh@chromium.org>
S:	Maintained
F:	src/ec/google/chromeec/

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

STARLABS EC
M:	Sean Rhodes <sean@starlabs.systems>
S:	Maintained
F:	src/ec/starlabs/

SYSTEM76 EC
M:	Jeremy Soller <jeremy@system76.com>
M:	Tim Crawford <tcrawford@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
L:	amd_coreboot_org_changes@googlegroups.com
F:	src/vendorcode/amd/
F:	src/cpu/amd/
F:	src/northbridge/amd/
F:	src/southbridge/amd/
F:	src/include/cpu/amd/

INTEL SUPPORT
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 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:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
M:	Fred Reitberger <reitbergerfred@gmail.com>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Maintained
F:	src/soc/amd/cezanne/
F:	src/vendorcode/amd/fsp/cezanne/

AMD common SoC code
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
M:	Fred Reitberger <reitbergerfred@gmail.com>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Maintained
F:	src/soc/amd/common/

AMD Picasso
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Fred Reitberger <reitbergerfred@gmail.com>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Maintained
F:	src/soc/amd/picasso/
F:	src/vendorcode/amd/fsp/picasso/

AMD Mendocino
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Raul E Rangel <rrangel@chromium.org>
M:	Fred Reitberger <reitbergerfred@gmail.com>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Supported
F:	src/soc/amd/mendocino/
F:	src/vendorcode/amd/fsp/mendocino/

AMD Morgana
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Fred Reitberger <reitbergerfred@gmail.com>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Supported
F:	src/soc/amd/morgana/
F:	src/vendorcode/amd/fsp/morgana/

AMD Stoneyridge
M:	Felix Held <felix-coreboot@felixheld.de>
M:	Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
L:	amd_coreboot_org_changes@googlegroups.com
S:	Odd Fixes
F:	src/soc/amd/stoneyridge/

INTEL METEORLAKE SOC
M:	Subrata Banik <subratabanik@google.com>
M:	Tarun Tuli <taruntuli@google.com>
M:	Kapil Porwal <kapilporwal@google.com>
S:	Maintained
F:	src/soc/intel/meteorlake/

INTEL ALDERLAKE SOC
M:	Subrata Banik <subratabanik@google.com>
M:	Tarun Tuli <taruntuli@google.com>
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 DENVERTON-NS SOC
M:	Jeff Daly <jeffd@silicom-usa.com>
M:	Vanessa Eusebio <vanessa.f.eusebio@intel.com>
M:	Suresh Bellampalli <suresh.bellampalli@intel.com>
M:	Mariusz Szafranski <mariuszx.szafranski@intel.com>
S:	Maintained
F:	src/soc/intel/denverton_ns/

INTEL ELKHARTLAKE SOC
M:	Lean Sheng Tan <sheng.tan@9elements.com>
M:	Werner Zeh <werner.zeh@siemens.com>
S:	Maintained
F:	src/soc/intel/elkhartlake/

INTEL TIGERLAKE SOC
M:	Subrata Banik <subratabanik@google.com>
M:	Tarun Tuli <taruntuli@google.com>
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:	Tim Chu <Tim.Chu@quantatw.com>
M:	Arthur Heymans <arthur@aheymans.xyz>
M:	Christian Walter <christian.walter@9elements.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:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	util/abuild/

BOARD STATUS
F:	util/board_status/

BUILD SYSTEM
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:	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/

INTELP2M
M:	Maxim Polyakov <max.senia.poliak@gmail.com>
S:	Maintained
F:	util/intelp2m/

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

LIVEISO
M:	Felix Singer <felixsinger@posteo.net>
S:	Supported
F:	util/liveiso/

################################################################################
# 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 <inforichland@gmail.com>
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
M:	Julius Werner <jwerner@chromium.org>
M:	Yu-Ping Wu <yupingso@google.com>
S:	Supported
F:	3rdparty/vboot/
F:	src/security/vboot/
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/

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:	Odd Fixes
F:	src/superio/
F:	util/superiotool/

SPD UTILITIES
M:	Reka Norman <rekanorman@chromium.org>
S:	Maintained
F:	util/spd_tools/
F:	util/spdtool/

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

ELTAN VENDORCODE
M:	Frans Hendriks <fhendriks@eltan.com>
M:	Erik van den Bogaert <ebogaert@eltan.com>
S:	Maintained
F:	src/vendorcode/eltan/

TAS5825M DRIVER
M:	Jeremy Soller <jeremy@system76.com>
M:	Tim Crawford <tcrawford@system76.com>
S:	Maintained
F:	src/drivers/i2c/tas5825m/

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

COREBOOT RELEASES
M:	Felix Singer <felixsinger@posteo.net>
M:	Jason Glenesk <jason.glenesk@gmail.com>
M:	Angel Pons <th3fanbus@gmail.com>
M:	Martin Roth <gaumless@gmail.com>
S:	Maintained
F:	Documentation/releases/
F:	util/release/

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:	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
