

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

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 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>
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 P8H61-M LX MAINBOARD
M:	Tristan Corrick <tristan@corrick.kiwi>
S:	Maintained
F:	src/mainboard/asus/p8h61-m_lx/

ASUS P8H61-M LX3 R2.0 MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asus/p8h61-m_lx3_r2_0/

ASUS P8H61-M PRO MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asus/p8h61-m_pro/

ASUS P8Z77-M PRO MAINBOARD
M:	Vlado Cibic <vladocb@protonmail.com>
S:	Maintained
F:	src/mainboard/asus/p8z77-m_pro/

ASUS P8Z77-V LX2 MAINBOARD
M:	Angel Pons <th3fanbus@gmail.com>
S:	Maintained
F:	src/mainboard/asus/p8z77-v_lx2/



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-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 PANTHER MAINBOARD
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
S:	Supported
F:	src/mainboard/google/panther/

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/



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/



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/



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



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/



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 MC_xxxx MAINBOARDS
M:	Werner Zeh <werner.zeh@siemens.com>
S:	Maintained
F:	src/mainboard/siemens/mc_apl1/



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

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

################################################################################
# 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:	Vanessa Eusebio <vanessa.f.eusebio@intel.com>
M:	David Guckian <david.guckian@intel.com>
S:	Odd Fixes
F:	src/mainboard/intel/harcuvar/
F:	src/soc/intel/denverton_ns/
F:	src/vendorcode/intel/fsp/fsp2_0/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
################################################################################

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

ORPHANED ARM SOCS
S:	Orphaned
F:	src/cpu/armltd/
F:	src/cpu/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
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
F:	src/include/cbfs.h
F:	src/commonlib/bsd/include/commonlib/bsd/cbfs_serialized.h
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

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
