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)
* Greg Chadwick (gregac)
* Cindy Chen (cindychip)
* Timothy Chen (tjaychen)
* Sam Elliott (lenary)
* Srikrishna Iyer (sriyerg)
* Scott Johnson (sjgitty)
* Udi Jonnalagadda (udinator)
* Garret Kelly (gkelly)
* Eunchan Kim (eunchan)
* Miguel Osorio (moidx)
* Dominic Rizzo (domrizz0)
* Tom Roberts (tomroberts-lowrisc)
* Michael Schaffner (msfschaffner)
* Silvestrs Timofejevs (silvestrst)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Philipp Wagner (imphil)
* Tobias Wölfel (towoe)
* Weicai Yang (weicaiyang)
* Miguel Young (mcy)
