blob: 998715696b4a7d65f7c29f02f1a9a340186ea9bf [file] [log] [blame]
Garret Kellyac03f712019-11-07 14:32:49 -05001<!DOCTYPE html>
2<html lang="en" class="no-js">
3
4{{ partial "head.html" . }}
5
6<body>
7 <svg style="width: 0; height: 0; position: absolute; opacity: 0;">
8 <defs>
9 <linearGradient id="a" x1="0%" x2="100%" y1="100%" y2="0%">
10 <stop offset="0%" stop-color="#4BC0C8" />
11 <stop offset="52.5%" stop-color="#C779D0" />
12 <stop offset="100%" stop-color="#FEAC5E" />
13 </linearGradient>
14 <path id="b" vector-effect="non-scaling-stroke"
15 d="M61 127v30h31v39c0 2-2 4-5 4h-5v15H3v-79h14v-5c0-2 2-4 5-4h39zm135 0c2 0 4 2 4 4v5h14v79h-79v-15h-4c-2 0-4-2-4-4v-39h30v-30h39zM57 161H38v19h19v-19zm122 0h-18v19h18v-19zm-35-87v69H75V74h69zm71-71v79h-15v5c0 3-2 5-4 5h-39V61h-30V22c0-3 2-5 4-5h5V3h79zM82 3v14h5c3 0 5 2 5 5v39H61v31H22c-3 0-5-2-5-5v-5H3V3h79zm79 54h19V38h-19v19zM57 57V38H38v19h19z" />
16 <path id="c" vector-effect="non-scaling-stroke"
17 d="M182 112v39h32c2 0 4 2 4 4v23c0 2-2 4-4 4h-32v32c0 2-2 4-4 4h-23c-2 0-4-2-4-4v-32h-39v-27c0-3 1-4 4-4h35v-35c0-3 1-4 4-4h27zm-119 0c2 0 4 1 4 3v36h35c3 0 4 1 4 3v28H67v32c0 2-2 4-4 4H40c-2 0-4-2-4-4v-32H4c-2 0-4-2-4-4v-23c0-2 2-4 4-4h32v-39h27zm77-34v62H78V78h62zM63 0c2 0 4 2 4 4v32h39v27c0 3-1 4-4 4H67v35c0 3-1 4-4 4H36V67H4c-2 0-4-2-4-4V40c0-2 2-4 4-4h32V4c0-2 2-4 4-4h23zm115 0c2 0 4 2 4 4v32h32c2 0 4 2 4 4v23c0 2-2 4-4 4h-32v39h-27c-2 0-4-1-4-3V67h-35c-3 0-4-1-4-3V36h39V4c0-2 2-4 4-4h23z" />
18 <path id="d" vector-effect="non-scaling-stroke"
19 d="M187 117v8h27c2 0 4 1 4 3v24c0 2-2 4-4 4h-27v31h-31v27c0 2-2 4-4 4h-24c-2 0-3-2-3-4v-27h-8v-27c0-2 2-4 4-4h35v-35c0-2 2-4 4-4h27zm-129 0c2 0 4 2 4 4v35h35c2 0 4 2 4 4v27h-8v27c0 2-1 4-3 4H66c-2 0-4-2-4-4v-27H31v-31H4c-2 0-4-2-4-4v-24c0-2 2-3 4-3h27v-8h27zm82-39v62H78V78h62zM90 0c2 0 3 2 3 4v27h8v27c0 2-2 4-4 4H62v35c0 2-2 4-4 4H31v-8H4c-2 0-4-1-4-3V66c0-2 2-4 4-4h27V31h31V4c0-2 2-4 4-4h24zm62 0c2 0 4 2 4 4v27h31v31h27c2 0 4 2 4 4v24c0 2-2 3-4 3h-27v8h-27c-2 0-4-2-4-4V62h-35c-2 0-4-2-4-4V31h8V4c0-2 1-4 3-4h24z" />
20 </defs>
21 </svg>
22
23 <a href="#main" class="skip-link">Skip to main content</a>
24
25 <header class="main-header">
26 <h1 class="logo">
27 <a href="/">
28 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1068 200" aria-hidden="true" focusable="false">
29 <g fill="#FFF" fill-rule="evenodd">
30 <path
31 d="M932.8 60.2v3.2c-6.6-5.9-15.4-9.3-26.4-9.3-20.5 0-38 15.2-41 38h24.4c1.5 0 2.8-.8 3.3-2.2 3.1-7.8 10.1-12.7 18.9-12.7 11 0 20.8 9 20.8 22 0 13.2-9.8 22-20.8 22-8.8 0-15.8-4.8-18.9-12.7a3.6 3.6 0 00-3.3-2.2h-24.5a41.6 41.6 0 0067.5 28.6v3.3c0 2 1.6 3.5 3.6 3.5h20c2 0 3.5-1.6 3.5-3.5v-78c0-2-1.6-3.5-3.5-3.5h-20c-2 0-3.6 1.6-3.6 3.5zm-524-4a40.6 40.6 0 00-33.2 15.4v-9.9c0-2-1.6-3.5-3.5-3.5h-5.8c-2 0-3.5 1.6-3.5 3.5v30.4h11c1.6 0 3-1 3.4-2.5A31.2 31.2 0 01438 100c0 19.9-14 32.4-31.2 32.4a31.2 31.2 0 01-30-23.4 3.6 3.6 0 00-3.5-2.7h-10.5V167c0 2 1.5 3.5 3.5 3.5h5.8c2 0 3.5-1.6 3.5-3.5v-38.5a40.6 40.6 0 0033.2 15.4 42 42 0 0041.7-43.9 42 42 0 00-41.7-43.8zm658 33.3v48.7c0 2-1.6 3.5-3.6 3.5h-19.8c-2 0-3.6-1.6-3.6-3.5v-43c0-10-5.9-16.7-14.5-16.7-10.7 0-17.6 7.3-17.6 23.7v36c0 2-1.6 3.5-3.6 3.5h-20c-2 0-3.5-1.6-3.5-3.5v-78c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v4.6a35 35 0 0126-10.7c19.9 0 33 14 33 35.4zM859 135.2c.5 1.6-.3 3.4-1.8 4.1-5.8 2.9-12.2 5-20.6 5-21.1 0-33.8-11.6-33.8-34V78.3h-12c-1.9 0-3.5-1.6-3.5-3.6V60.2c0-2 1.6-3.5 3.6-3.5h11.9V35c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v21.6h21.5c2 0 3.5 1.6 3.5 3.5v14.4c0 2-1.6 3.6-3.5 3.6h-21.5v29.5c0 8.8 4.2 12.3 11.3 12.3 2.6 0 6-.7 8.9-1.8 2-.7 4 .4 4.6 2.4l4.3 14.6zm-112.3 3v-78c0-2 1.6-3.5 3.6-3.5h20c2 0 3.5 1.6 3.5 3.5v78c0 2-1.6 3.5-3.5 3.5h-20c-2 0-3.6-1.6-3.6-3.5zM776 31.6c0 8.6-6.6 15-15.7 15-9.2 0-15.6-6.4-15.6-15 0-8.3 6.4-15.4 15.6-15.4 9.1 0 15.7 7.1 15.7 15.4zm-42.8 103.6c.5 1.6-.3 3.4-1.8 4.1-5.8 2.9-12.2 5-20.6 5-21.1 0-33.8-11.6-33.8-34V78.3h-12c-1.9 0-3.5-1.6-3.5-3.6V60.2c0-2 1.6-3.5 3.6-3.5H677V35c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v21.6h21.5c2 0 3.5 1.6 3.5 3.5v14.4c0 2-1.6 3.6-3.5 3.6H704v29.5c0 8.8 4.2 12.3 11.3 12.3 2.6 0 6-.7 8.9-1.8 2-.7 4 .4 4.6 2.4l4.3 14.6zm-85.9-43.5v46.5c0 2-1.5 3.5-3.5 3.5H638c-2 0-3.5-1.6-3.5-3.5V94c0-15.6-9.3-26-23.2-26-17.5 0-29 11.8-29 33.5v36.6c0 2-1.6 3.5-3.5 3.5H573c-2 0-3.6-1.6-3.6-3.5V61.7c0-2 1.6-3.5 3.6-3.5h5.8c2 0 3.5 1.6 3.5 3.5v10.4a35.9 35.9 0 0131.5-16c20.2 0 33.5 14.5 33.5 35.6zM479.1 93h58.1c-2.4-16.4-14-25.4-28-25.4A30 30 0 00479.2 93zm71.1 9.7h-71.6c1.2 18.8 15.4 30 29.8 30 11.1 0 21.2-4 27.3-15.5a3.6 3.6 0 014-1.9l4.6 1.1c2.2.6 3.3 3 2.3 5a40 40 0 01-38.2 22.6 42.2 42.2 0 01-42.3-43.7c0-26.8 20.1-44 43.2-44 22.5 0 40.1 16.7 41 41.6v4.8zM331 99.9a31.2 31.2 0 00-31.5-32.2c-17.2 0-31.8 13-31.8 32.2a31.5 31.5 0 0031.8 32.5A31.4 31.4 0 00331 99.9zm12.7 0a43.1 43.1 0 01-44.2 43.8 43 43 0 01-44.3-43.8 42.8 42.8 0 0144.3-43.6c24.6 0 44.2 18 44.2 43.6zM170.6 106.6v7.1h24.8c2 0 3.6 1.7 3.6 3.6v21.3c0 1.9-1.7 3.5-3.6 3.5h-24.8v28.5H142v24.8c0 2-1.6 3.6-3.5 3.6h-21.3a3.6 3.6 0 01-3.6-3.6v-24.8h-7v-24.9c0-1.9 1.6-3.6 3.5-3.6h32v-32c0-1.8 1.6-3.5 3.5-3.5h24.9zm-117.3 0c1.8 0 3.4 1.6 3.6 3.4v32.2h32c1.8 0 3.4 1.5 3.5 3.3V170.6h-7.1v24.8c0 2-1.7 3.6-3.6 3.6H60.4a3.6 3.6 0 01-3.5-3.6v-24.8H28.4V142H3.6a3.6 3.6 0 01-3.6-3.5v-21.3c0-2 1.7-3.6 3.6-3.6h24.8v-7h24.9zm74.6-35.5v56.8H71.1V71.1h56.8zM81.7 0c2 0 3.6 1.7 3.6 3.6v24.8h7v24.9c0 1.9-1.6 3.6-3.5 3.6h-32v32c0 1.8-1.6 3.5-3.5 3.5H28.4v-7.1H3.6A3.6 3.6 0 010 81.7V60.4C0 58.5 1.7 57 3.6 57h24.8V28.4H57V3.6c0-2 1.6-3.6 3.5-3.6h21.3zm56.9 0c1.9 0 3.5 1.7 3.5 3.6v24.8h28.5V57h24.8c2 0 3.6 1.6 3.6 3.5v21.3c0 2-1.7 3.6-3.6 3.6h-24.8v7h-24.9a3.7 3.7 0 01-3.6-3.3V56.8h-32a3.7 3.7 0 01-3.5-3.3V28.4h7.1V3.6c0-2 1.7-3.6 3.6-3.6h21.3z" />
32 </g>
33 </svg>
34 <span class="sr-only">opentitan.org</span>
35 </a>
36 </h1>
37
38 <nav id="main-nav" class="main-nav" aria-label="Main">
39 <ul id="menu" class="main-nav__list">
40 <li class="main-nav__item">
41 <a href="https://docs.opentitan.org">Documentation</a>
42 </li>
43 <li class="main-nav__item">
44 <a href="#partners">Partners</a>
45 </li>
46 <li class="main-nav__item">
47 <a href="{{ .Site.Params.github_repo }}">Source</a>
48 </li>
49 <li class="main-nav__item">
Rupert Swarbrickc6cd3d72020-12-08 10:55:56 +000050 <a href="{{ .Site.Params.one_year_url }}">Blog</a>
Garret Kellyac03f712019-11-07 14:32:49 -050051 </li>
52 <li class="main-nav__item user-toggle">
53 <button class="[ toggle-button ] [ js-mode-toggle ]" aria-label="Switch light and dark theme">
54 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
55 <path fill="currentColor"
56 d="M12 2a10 10 0 01.3 20H12a10 10 0 110-20zm0 2a8 8 0 100 16v-3a5 5 0 010-10V4zm0 4v8a4 4 0 100-8z"
57 fill-rule="evenodd" />
58 </svg>
59 </button>
60 </li>
61 </ul>
62 </nav>
63 </header>
64
65 <main id="main" role="main">
66 <section id="intro" class="intro">
67 <div class="intro__content">
68 <div class="intro__logo">
69 <svg class="ani-logo" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84 84">
70 <g fill="none" fill-rule="evenodd">
71 <rect class="center item" width="24" height="24" x="30" y="30" />
72 <path class="ul item" d="M19 19h27v10.5c0 .8-.7 1.5-1.5 1.5H31v13.5c0 .8-.7 1.5-1.5 1.5H19V19z" />
73 <path class="ll item" d="M19 65h27V54.5c0-.8-.7-1.5-1.5-1.5H31V39.5c0-.8-.7-1.5-1.5-1.5H19v27z" />
74 <path class="ur item" d="M65 19H38v10.5c0 .8.7 1.5 1.5 1.5H53v13.5c0 .8.7 1.5 1.5 1.5H65V19z" />
75 <path class="lr item" d="M65 65H38V54.5c0-.8.7-1.5 1.5-1.5H53V39.5c0-.8.7-1.5 1.5-1.5H65v27z" />
76 <path class="right item item--outer"
77 d="M82.5 48c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V48h13.5zm0-24c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V24h13.5z" />
78 <path class="left item item--outer"
79 d="M15 48v12H1.5C.7 60 0 59.3 0 58.5v-9c0-.8.7-1.5 1.5-1.5H15zm0-24v12H1.5C.7 36 0 35.3 0 34.5v-9c0-.8.7-1.5 1.5-1.5H15z" />
80 <path class="top item item--outer"
81 d="M34.5 0c.8 0 1.5.7 1.5 1.5V15H24V1.5c0-.8.7-1.5 1.5-1.5h9zm24 0c.8 0 1.5.7 1.5 1.5V15H48V1.5c0-.8.7-1.5 1.5-1.5h9z" />
82 <path class="bottom item item--outer"
83 d="M60 69v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12zm-24 0v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12z" />
84 </g>
85 </svg>
86 </div>
87 <p class="intro__body">
88 OpenTitan is the first open source project building a transparent, high-quality reference design and integration
89 guidelines for silicon root of trust (RoT) chips.
90 </p>
91 </div>
92 </section>
93
94 <section id="benefits" class="benefits light-bg">
95 <h2 class="sr-only">Benefits</h2>
96 <div class="benefit-list">
97 <div class="benefit">
98 <figure class="benefit__image" aria-hidden="true">
99 <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
100 <use fill="url(#a)" xlink:href="#b" fill-rule="evenodd" />
101 </svg>
102 <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
103 viewBox="-4 -4 224 224">
104 <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#b" opacity="0.3" />
105 </svg>
106 </figure>
107
108 <div class="benefit__content">
109 <h3 class="benefit__headline h2">Transparent</h3>
110 <p class="benefit__body bodytext bodytext--large">
Scott Johnson4e353842020-01-17 17:14:35 -0800111 Anyone can inspect, evaluate, and contribute to OpenTitan's design
Garret Kellyac03f712019-11-07 14:32:49 -0500112 and documentation to help build a more transparent, trustworthy
113 silicon RoT for all.
114 </p>
115 </div>
116 </div>
117 <div class="benefit">
118 <figure class="benefit__image" aria-hidden="true">
119 <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
120 <use fill="url(#a)" xlink:href="#c" />
121 </svg>
122 <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
123 viewBox="-4 -4 224 224">
124 <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#c" opacity="0.3" />
125 </svg>
126 </figure>
127 <div class="benefit__content">
128 <h3 class="benefit__headline h2">High quality</h3>
129 <p class="benefit__body bodytext bodytext--large">
Scott Johnson4e353842020-01-17 17:14:35 -0800130 OpenTitan's aim is to build and maintain a high-quality
Garret Kellyac03f712019-11-07 14:32:49 -0500131 logically-secure silicon design, including reference firmware,
132 verification collateral, and technical documentation.
133 </p>
134 </div>
135 </div>
136 <div class="benefit">
137 <figure class="benefit__image" aria-hidden="true">
138 <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
139 <use fill="url(#a)" xlink:href="#d" />
140 </svg>
141 <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
142 viewBox="-4 -4 224 224">
143 <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#d" opacity="0.3" />
144 </svg>
145 </figure>
146 <div class="benefit__content">
147 <h3 class="benefit__headline h2">Flexible</h3>
148 <p class="benefit__body bodytext bodytext--large">
149 Adopters can reduce costs and reach more customers by using a
150 vendor- and platform-agnostic silicon RoT design that can be
151 integrated into data center servers, storage devices, peripherals and
152 other hardware.
153 </p>
154 </div>
155 </div>
156 </div>
157 </section>
158
159 <section id="learn-more" class="cta">
160 <h2 class="sr-only">Learn more</h2>
161 <p class="cta__body quote">
162 OpenTitan helps to make the silicon root of trust (RoT) more transparent,
163 trustworthy, and ultimately, secure.
164 </p>
Rupert Swarbrickc6cd3d72020-12-08 10:55:56 +0000165 <a href="{{ .Site.Params.announce_url }}" class="btn" aria-label="Learn more about OpenTitan">Learn more</a>
Garret Kellyac03f712019-11-07 14:32:49 -0500166 </section>
167
168 <section id="features" class="features light-bg">
169 <h2 class="h2">Features</h2>
170 <ol class="feature-list">
171 <li class="feature-list__item">
172 <h3 class="h3 feature__headline">Independently managed</h3>
173 <p class="bodytext feature__body">
174 OpenTitan is stewarded by
175 <a href="{{ .Site.Params.partner_lowrisc }}">lowRISC</a>, a
176 not-for-profit company that uses collaborative engineering to
177 develop and maintain open source silicon designs and tools for the
178 long term.
179 </p>
180 </li>
181 <li class="feature-list__item">
182 <h3 class="h3 feature__headline">Open source</h3>
183 <p class="bodytext feature__body">
184 OpenTitan is an open source project with leading not-for-profit,
185 academic, and commercial organizations committed to its development
186 and expansion.
187 </p>
188 </li>
189 <li class="feature-list__item">
190 <h3 class="h3 feature__headline">Security through transparency</h3>
191 <p class="bodytext feature__body">
192 As an open source project, OpenTitan enables the larger community
193 to proactively audit, evaluate, and improve the security properties
194 of the design.
195 </p>
196 </li>
197 <li class="feature-list__item">
198 <h3 class="h3 feature__headline">High-quality IP</h3>
199 <p class="bodytext feature__body">
200 OpenTitan is developed by engineers and researchers from ETH
201 Zürich, G+D Mobile Security, Google, lowRISC, Nuvoton Technology,
202 and Western Digital. Our community brings ideas and expertise from
203 a variety of perspectives.
204 </p>
205 </li>
206 <li class="feature-list__item">
207 <h3 class="h3 feature__headline">Modern architecture</h3>
208 <p class="bodytext feature__body">
209 OpenTitan is designed to serve as the system root of trust by
210 actively mediating access to the first-stage boot firmware. It is
211 built upon the quality constructs and security principles used to
212 create
Rupert Swarbrickc6cd3d72020-12-08 10:55:56 +0000213 <a href="{{ .Site.Params.announce_url }}">Google's Titan chips</a>.
Garret Kellyac03f712019-11-07 14:32:49 -0500214 </p>
215 </li>
216 <li class="feature-list__item">
217 <h3 class="h3 feature__headline">Vendor- and platform-agnostic</h3>
218 <p class="bodytext feature__body">
219 Because it is not proprietary to a specific vendor or platform,
220 OpenTitan can be integrated with data center servers, peripherals,
221 storage devices, and other hardware, helping you reduce costs and reach more
222 customers.
223 </p>
224 </li>
225 </ol>
226 </section>
227
228 <section id="integrate" class="cta">
Garret Kellyee5a2be2020-09-16 13:03:33 -0400229 <h2 class="sr-only">Contribute to OpenTitan</h2>
Garret Kellyac03f712019-11-07 14:32:49 -0500230 <p class="cta__body quote">
Garret Kelly3ff647b2020-09-16 11:19:56 -0400231 Interested in contributing to the OpenTitan project?
Garret Kellyac03f712019-11-07 14:32:49 -0500232 </p>
Garret Kelly3ff647b2020-09-16 11:19:56 -0400233 <a href="mailto:{{ .Site.Params.get_involved_email }}" class="btn">Contact us</a>
Garret Kellyac03f712019-11-07 14:32:49 -0500234 </section>
235
236 <section id="partners" class="partners light-bg">
Garret Kelly2f6422f2020-07-20 15:59:01 -0400237 <h2 class="h2">Partners</h2>
Garret Kellyac03f712019-11-07 14:32:49 -0500238 <div class="partner-list">
239 <a href="{{ .Site.Params.partner_lowrisc }}" class="partner" target="_blank">
Garret Kelly6c712052019-11-25 14:36:30 -0500240 <img src="https://static.opentitan.org/img/partners/lowrisc.svg" alt="lowRISC">
Garret Kellyac03f712019-11-07 14:32:49 -0500241 </a>
242 <a href="{{ .Site.Params.partner_ethzurich }}" class="partner" target="_blank">
243 <img src="https://static.opentitan.org/img/partners/eth-zurich.svg" alt="ETH Zurich">
244 </a>
245 <a href="{{ .Site.Params.partner_gd }}" class="partner" target="_blank">
246 <img src="https://static.opentitan.org/img/partners/giesecke.png" alt="Giesecke + Devrient Creating Confidence">
247 </a>
248 <a href="{{ .Site.Params.partner_google }}" class="partner" target="_blank">
249 <img src="https://static.opentitan.org/img/partners/google.svg" alt="Google">
250 </a>
251 <a href="{{ .Site.Params.partner_nuvoton }}" class="partner" target="_blank">
252 <img src="https://static.opentitan.org/img/partners/nuvoton.svg" alt="nuvoTon">
253 </a>
254 <a href="{{ .Site.Params.partner_wd }}" class="partner" target="_blank">
255 <img src="https://static.opentitan.org/img/partners/western-digital.svg" alt="Western Digital">
256 </a>
Garret Kelly2f6422f2020-07-20 15:59:01 -0400257 <a href="{{ .Site.Params.partner_seagate }}" class="partner" target="_blank">
258 <img src="https://static.opentitan.org/img/partners/seagate.svg" alt="Seagate">
259 </a>
Alex Bradbury2fa887a2021-12-14 16:17:07 +0000260 <a href="{{ .Site.Params.partner_rivos }}" class="partner" target="_blank">
261 <img src="https://static.opentitan.org/img/partners/rivos.svg" alt="Rivos Inc.">
262 </a>
Garret Kellyac03f712019-11-07 14:32:49 -0500263 </div>
264
265 <div class="partner-quote">
266 <ul class="js-partner-quotes">
267 {{ range $.Site.Data.partner_quotes }}
268 <li class="partner-quote__item">
269 <blockquote>
270 <p class="quote quote--small js-quote-text">{{ .quote }}</p>
271 <footer class="js-quote-partner">
272 {{ .partner }}
273 </footer>
274 </blockquote>
275 </li>
276 {{ end }}
277 </ul>
278 </div>
279 </section>
280
281 <section id="join-the-project" class="cta">
282 <h2 class="sr-only">Join the Project</h2>
283 <p class="cta__body quote">
284 Interested in participating in the project?
285 </p>
286 <a href="mailto:{{ .Site.Params.get_involved_email }}" class="btn">Let us know</a>
287 </section>
288 </main>
289
290 <footer id="footer" class="footer">
291 <svg class="ani-logo" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84 84">
292 <g fill="none" fill-rule="evenodd">
293 <rect class="center item" width="24" height="24" x="30" y="30" />
294 <path class="ul item" d="M19 19h27v10.5c0 .8-.7 1.5-1.5 1.5H31v13.5c0 .8-.7 1.5-1.5 1.5H19V19z" />
295 <path class="ll item" d="M19 65h27V54.5c0-.8-.7-1.5-1.5-1.5H31V39.5c0-.8-.7-1.5-1.5-1.5H19v27z" />
296 <path class="ur item" d="M65 19H38v10.5c0 .8.7 1.5 1.5 1.5H53v13.5c0 .8.7 1.5 1.5 1.5H65V19z" />
297 <path class="lr item" d="M65 65H38V54.5c0-.8.7-1.5 1.5-1.5H53V39.5c0-.8.7-1.5 1.5-1.5H65v27z" />
298 <path class="right item item--outer"
299 d="M82.5 48c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V48h13.5zm0-24c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V24h13.5z" />
300 <path class="left item item--outer"
301 d="M15 48v12H1.5C.7 60 0 59.3 0 58.5v-9c0-.8.7-1.5 1.5-1.5H15zm0-24v12H1.5C.7 36 0 35.3 0 34.5v-9c0-.8.7-1.5 1.5-1.5H15z" />
302 <path class="top item item--outer"
303 d="M34.5 0c.8 0 1.5.7 1.5 1.5V15H24V1.5c0-.8.7-1.5 1.5-1.5h9zm24 0c.8 0 1.5.7 1.5 1.5V15H48V1.5c0-.8.7-1.5 1.5-1.5h9z" />
304 <path class="bottom item item--outer"
305 d="M60 69v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12zm-24 0v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12z" />
306 </g>
307 </svg>
308
309 <nav class="footer-nav" aria-label="Full">
310 <ul class="footer-nav__list">
311 <li class="footer-nav__item">
312 <a href="https://docs.opentitan.org">Documentation</a>
313 </li>
314 <li class="footer-nav__item">
315 <a href="#partners">Partners</a>
316 </li>
317 <li class="footer-nav__item">
318 <a href="{{ .Site.Params.github_repo }}">Source</a>
319 </li>
320 <li class="footer-nav__item">
Rupert Swarbrickc6cd3d72020-12-08 10:55:56 +0000321 <a href="{{ .Site.Params.one_year_url }}">Blog</a>
Garret Kellyac03f712019-11-07 14:32:49 -0500322 </li>
323 <li class="footer-nav__item footer-nav__item--icons">
324 <a href="{{ .Site.Params.github_repo }}" aria-label="View on Github">
325 <svg focusable="false" width="24" height="20" viewBox="0 0 24 20">
326 <path fill="currentColor" fill-rule="evenodd"
327 d="M11.4 1A9 9 0 002 10c0 4.2 2.7 7.7 6.5 9 .5 0 .7-.2.7-.5v-2.2s-2.7.5-3.3-1.2c0 0-.4-1-1-1.3 0 0-1-.6 0-.6 0 0 1 0 1.5 1 .8 1.4 2.2 1 2.8.7 0-.6.3-1 .6-1.2-2.1-.2-4.3-.5-4.3-4.1 0-1 .3-1.6.9-2.2C6.3 7 6 6 6.5 4.9c.8-.3 2.6 1 2.6 1a9.3 9.3 0 014.9 0s1.8-1.3 2.6-1c.6 1.2.2 2.2.1 2.5.6.6 1 1.2 1 2.2 0 3.6-2.2 3.9-4.4 4 .4.4.7 1 .7 1.8v3.1c0 .3.1.6.6.5a9.3 9.3 0 006.5-9c0-5-4.4-9-9.7-9z" />
328 </svg>
329 </a>
330 </li>
331 </ul>
332 </nav>
333
Philipp Wagnerad1ab432020-06-02 22:24:25 +0100334 <p>© 2019 &ndash; {{ now.Format "2006" }} lowRISC contributors, <a href="/privacy-policy/">Privacy
Garret Kellyac03f712019-11-07 14:32:49 -0500335 Policy</a>, <a href="/usage-policy/">Usage Policy</a>.</p>
336 <p>The text content on this website is licensed under a
337 <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons
338 Attribution 4.0 International License</a>, except where otherwise noted.</p>
339 <p>No license is granted for the OpenTitan logo or other trademarks. <a
340 href="/trademark-usage-policy/">Trademark Usage Policy</a>.</p>
341 </footer>
342
343 <script src="/js/tiny-slider.js"></script>
344
345 <script>
346 // Tiny Slider for Quotes
347 var slider = tns({
348 container: '.js-partner-quotes',
349 items: 1,
350 autoplay: false,
351 slideBy: 'page',
352 mouseDrag: true,
353 autoHeight: true,
354 nav: false,
355 swipeAngle: 30,
356 loop: false,
357 preventScrollOnTouch: 'auto',
358 controlsPosition: 'bottom',
359 controlsText: [
Scott Johnson4e353842020-01-17 17:14:35 -0800360 "<span class='sr-only'>prev</span><svg viewBox='0 0 40 40'><path fill='currentColor' fill-rule='evenodd' d='M16 20l9-6v12z' focusable='false'/></svg>",
Garret Kellyac03f712019-11-07 14:32:49 -0500361 "<span class='sr-only'>next</span><svg viewBox='0 0 40 40'><path fill='currentColor' fill-rule='evenodd' d='M24 20l-9-6v12z' focusable='false'/></svg>"]
362 });
363
364 if (document.fonts.ready) {
365 document.fonts.ready.then(() => {
366 slider.updateSliderHeight()
367 })
368 }
369 // Light and dark theme
370 document.documentElement.classList.remove('no-js');
371 const STORAGE_KEY = 'user-color-scheme';
372 const COLOR_MODE_KEY = '--color-mode';
373
374 const modeToggleButton = document.querySelector('.js-mode-toggle');
375
376 const getCSSCustomProp = propKey => {
377 let response = getComputedStyle(document.documentElement).getPropertyValue(propKey);
378
379 if (response.length) {
380 response = response.replace(/\"/g, '').trim();
381 }
382
383 return response;
384 };
385
386 const applySetting = passedSetting => {
387 let currentSetting = passedSetting || localStorage.getItem(STORAGE_KEY);
388
389 if (currentSetting) {
390 document.documentElement.setAttribute('data-user-color-scheme', currentSetting)
391 }
392 };
393
394 const toggleSetting = () => {
395 let currentSetting = localStorage.getItem(STORAGE_KEY);
396
397 switch (currentSetting) {
398 case null:
399 currentSetting = getCSSCustomProp(COLOR_MODE_KEY) === 'dark' ? 'light' : 'dark';
400 break;
401 case 'light':
402 currentSetting = 'dark';
403 break;
404 case 'dark':
405 currentSetting = 'light';
406 break;
407 }
408
409 localStorage.setItem(STORAGE_KEY, currentSetting);
410
411 return currentSetting;
412 };
413
414 modeToggleButton.addEventListener('click', evt => {
415 evt.preventDefault();
416
417 applySetting(toggleSetting());
418 });
419
420 applySetting();
421
422 // control animation on intro area
423 const intro = document.getElementById('intro');
424 intro.addEventListener('mouseenter', e => {
425 if (intro.classList.contains('animate')) {
426 return
427 }
428 else {
429 intro.classList.add('animate');
430 setTimeout(function () {
431 intro.classList.remove('animate');
432 }, 2200);
433 }
434 })
435
436 const partnerList = document.querySelector('.js-partner-quotes');
437 // fisher-yates shuffle
438 for (let i = partnerList.children.length; i >= 0; i--) {
439 partnerList.appendChild(partnerList.children[Math.random() * i | 0]);
440 }
441
442 </script>
443</body>
444
445</html>