1{{$data := . -}}
2{{- define "colorcode" -}}
3{{- if eq . "n" }}<td style="background:red">N</td>{{else
4    if eq . "y" }}<td style="background:lime">Y</td>{{else
5    if eq . ""  }}<td>?</td>{{else
6                }}<td>{{.}}</td>{{end -}}
7{{end -}}
8<html>
9<head>
10 <meta charset="utf-8">
11 <title>status report for coreboot boards</title>
12</head>
13<body>
14<h1>Mainboards supported by coreboot</h1>
15
16<p>This page shows two representations of the same data:</p>
17
18<p>First a list of all mainboards supported by coreboot (current within
19one hour) ordered by category. For each mainboard the table shows the
20latest user-contributed report of a successful boot on the device.</p>
21
22<p>After that, the page provides a time-ordered list of these contributed
23reports, with the newest report first.</p>
24
25<p>Boards without such reports may boot or there may be some maintenance
26required. The reports contain the coreboot configuration and precise commit
27id, so it is possible to reproduce the build.</p>
28
29<p>We encourage developers and users to contribute reports so we know which
30devices are well-tested.  We have
31<a href='https://review.coreboot.org/plugins/gitiles/coreboot/+/HEAD/util/board_status/'>a tool in the coreboot repository</a>
32to make contributing easy.  The data resides in the
33<a href='https://review.coreboot.org/plugins/gitiles/board-status/'>board status repository</a>.
34Contributing requires an account on review.coreboot.org. After
35logging into the site with your preferred OpenID or GitHub/Google
36credentials, you can get a user name and password for git pushes on <a
37href="https://review.coreboot.org/settings/#HTTPCredentials">gerrit's
38settings screen</a>.</p>
39
40<p>Sometimes the same board is sold under different names, we've tried to
41list all known names but some names might be missing.</p>
42
43<p>If the board is not found in the coreboot's source code, there might
44be some form of support that is not ready yet for inclusion in coreboot,
45usually people willing to send their patches to coreboot goes through
46<a href='https://review.coreboot.org'>gerrit</a>, so looking there could find some
47code for boards that are not yet merged.</p>
48
49<h1>Vendor trees</h1>
50<p>Some vendors have their own coreboot trees/fork, for instance:
51<ul>
52 <li><a href='https://chromium.googlesource.com/chromiumos/third_party/coreboot/'>chrome/chromium's tree</a>
53</ul>
54</p>
55<h1>Motherboards supported in coreboot</h1>
56
57<table border="0" style="font-size: smaller">
58<tr bgcolor="#6699ff">
59<td>Vendor</td>
60<td>Mainboard</td>
61<td>Latest known good</td>
62<td>Northbridge</td>
63<td>Southbridge</td>
64<td>Super&nbsp;I/O</td>
65<td>CPU</td>
66<td>Socket</td>
67<td><span title="ROM chip package">ROM&nbsp;<sup>1</sup></span></td>
68<td><span title="ROM chip protocol">P&nbsp;<sup>2</sup></span></td>
69<td><span title="ROM chip socketed?">S&nbsp;<sup>3</sup></span></td>
70<td><span title="Board supported by flashrom?">F&nbsp;<sup>4</sup></span></td>
71<td><span title="Vendor Cooperation Score">VCS<sup>5</sup></span></td>
72</tr>
73{{range $category := .Categories -}}
74<tr bgcolor="#6699ff">
75<td colspan="13"><h4>{{index $data.CategoryNiceNames $category}}</h4></td>
76</tr>
77
78{{$color := "#eeeeee" -}}
79{{$oldVendor := "" -}}
80{{range $b := index $data.BoardsByCategory $category -}}
81{{if ne $oldVendor $b.VendorNice}}{{$oldVendor = $b.VendorNice -}}
82{{if eq $color "#dddddd"}}{{$color = "#eeeeee"}}{{else}}{{$color = "#dddddd"}}{{end -}}
83{{end -}}
84<tr bgcolor="{{$color}}">
85<td>{{if $b.BoardURL}}<a href='{{$b.BoardURL}}'>{{$b.VendorNice}}</a>{{else}}{{$b.VendorNice}}{{end}}
86{{if $b.Vendor2nd}} ({{$b.Vendor2nd}})
87{{end -}}
88</td><td><a href='https://www.coreboot.org/Board:{{$b.Vendor}}/{{$b.Board}}'>{{$b.BoardNice}}</a></td>
89{{if eq "" (index $data.VendorBoardDate $b.VendorBoard) -}}
90<td style="background:red">Unknown</td>
91{{- else -}}
92{{- $date := index $data.VendorBoardDate $b.VendorBoard -}}
93<td style="background:{{ $date.Color }}"><a href='#{{ $b.VendorBoard }}'>{{ $date }}</a></td>
94{{- end}}
95<td>{{$b.NorthbridgeNice}}</td>
96<td>{{$b.SouthbridgeNice}}</td>
97<td>{{$b.SuperIONice}}</td>
98<td>{{$b.CPUNice}}</td>
99<td>{{$b.SocketNice}}</td>
100<td>{{$b.ROMPackage}}</td>
101<td>{{$b.ROMProtocol}}</td>
102{{template "colorcode" $b.ROMSocketed}}
103{{template "colorcode" $b.FlashromSupport}}
104<td>{{$b.VendorCooperationScore}}
105</td></tr>
106{{end -}}
107{{end -}}
108</table>
109<small>
110<sup>1</sup> ROM chip package (PLCC, DIP32, DIP8, SOIC8).<br />
111<sup>2</sup> ROM chip protocol/type (parallel flash, LPC, FWH, SPI).<br />
112<sup>3</sup> ROM chip socketed (Y/N)?<br />
113<sup>4</sup> Board supported by [http://www.flashrom.org flashrom] (Y/N)?<br />
114<sup>5</sup> Vendor Cooperation Score.<br />
115<sup>6</sup> [http://www.flashrom.org flashrom] does not work when the vendor BIOS is booted, but it does work when the machine is booted with coreboot.<br />
116<sup>7</sup> Some boards have ROM sockets, others are soldered.<br />
117</small>
118{{range $t := .Timeframes -}}
119<h1>{{$t}}</h1>
120{{range $l := index $data.Logs $t -}}
121{{if $l.Reference}}<span id="{{$l.VendorBoard}}"></span>
122{{end -}}
123<a href='https://www.coreboot.org/Board:{{$l.VendorBoard}}'>{{$l.VendorBoard}}</a> at {{$l.TimeReadable}}
124<a href='https://review.coreboot.org/plugins/gitiles/coreboot/+/{{$l.Upstream}}'>upstream tree</a> (
125{{range $f := $l.Files -}}
126<a href='https://review.coreboot.org/plugins/gitiles/board-status/+/HEAD/{{$f.Path}}{{$f.Basename}}'>{{$f.Basename}}</a> {{/* */}}
127{{end -}}
128)<br />
129{{- end -}}
130{{end -}}
131{{/* */}}
132</body>
133</html>
134