This file contains the list of individuals with write access to the OpenTitan
repository, who are responsible for the final approval and merge of
contributions. See doc/project/committers.md for more information.

Committers are listed alphabetically by surname in the format:
* Full Name (GitHubID)

Committer list:
* Alex Bradbury (asb)
* Mark Branstad (mwbranstad)
* Greg Chadwick (GregAC)
* Cindy Chen (cindychip)
* Timothy Chen (tjaychen)
* Jon Flatley (jon-flatley)
* Chris Frantz (cfrantz)
* Srikrishna Iyer (sriyerg)
* Eunchan Kim (eunchan)
* Martin Lueker-Boden (martin-lueker)
* Rasmus Madsen (rasmus-madsen)
* Guillermo Maturana (matutem)
* Felix Miller (felixmiller)
* Michael Munday (mundaym)
* Miguel Osorio (moidx)
* Dominic Rizzo (domrizz0)
* Michael Schaffner (msfschaffner)
* Rupert Swarbrick (rswarbrick)
* Silvestrs Timofejevs (silvestrst)
* Timothy Trippel (timothytrippel)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Weicai Yang (weicaiyang)
* Miguel Young (mcy)
