Skip to content

Commit 0e94851

Browse files
niwisphsauter
authored andcommitted
Replace apb_uart with obi_uart
Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch> Add CI Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch> Switch obi_uart to https Bender.yml: Upgrade OBI to v0.1.7 Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch>
1 parent 6c7dde3 commit 0e94851

32 files changed

Lines changed: 393 additions & 4803 deletions

.github/workflows/lint.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright 2025 ETH Zurich and University of Bologna.
2+
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Author: Nils Wistoff <nwistoff@iis.ee.ethz.ch>
6+
7+
name: lint
8+
9+
on: [ push, pull_request, workflow_dispatch ]
10+
11+
jobs:
12+
lint-license:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: lint license
16+
uses: pulp-platform/pulp-actions/lint-license@v2.4.3
17+
with:
18+
license: |
19+
Copyright (\d{4}(-\d{4})?\s)?(ETH Zurich and University of Bologna|lowRISC contributors).
20+
(Solderpad Hardware License, Version 0.51|Licensed under the Apache License, Version 2.0), see LICENSE for details.
21+
SPDX-License-Identifier: (SHL-0.51|Apache-2.0)
22+
23+
lint-sv:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v3
28+
- name: Run Verible
29+
uses: chipsalliance/verible-linter-action@main
30+
with:
31+
paths: src
32+
github_token: ${{ secrets.GITHUB_TOKEN }}
33+
fail_on_error: true
34+
reviewdog_reporter: github-check

Bender.yml

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
1+
# Copyright 2025 ETH Zurich and University of Bologna.
2+
# Solderpad Hardware License, Version 0.51, see LICENSE for details.
3+
# SPDX-License-Identifier: SHL-0.51
4+
15
package:
26
name: apb_uart
3-
authors: [
4-
"Sebastian Witt",
5-
"Jonathan Kimmitt"
6-
]
7+
authors:
8+
- "Nils Wistoff <nwistoff@iis.ee.ethz.ch>"
9+
- "Paul Scheffler <paulsc@iis.ee.ethz.ch>"
710

811
dependencies:
9-
apb: { git: "https://github.com/pulp-platform/apb", version: 0.2.1 }
10-
register_interface: { git: "https://github.com/pulp-platform/register_interface", version: 0.3.6 }
12+
apb: { git: "https://github.com/pulp-platform/apb.git", version: 0.2.4 }
13+
obi: { git: "https://github.com/pulp-platform/obi.git", version: 0.1.7 }
14+
obi_peripherals: { git: "https://github.com/pulp-platform/obi_peripherals.git", version: 0.1.0 }
15+
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.3.6 }
1116

1217
sources:
13-
- src/slib_clock_div.sv
14-
- src/slib_counter.sv
15-
- src/slib_edge_detect.sv
16-
- src/slib_fifo.sv
17-
- src/slib_input_filter.sv
18-
- src/slib_input_sync.sv
19-
- src/slib_mv_filter.sv
20-
- src/uart_baudgen.sv
21-
- src/uart_interrupt.sv
22-
- src/uart_receiver.sv
23-
- src/uart_transmitter.sv
2418
- src/apb_uart.sv
2519
- src/apb_uart_wrap.sv
2620
- src/reg_uart_wrap.sv

LICENSE

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
SOLDERPAD HARDWARE LICENSE version 0.51
2+
3+
This license is based closely on the Apache License Version 2.0, but is not
4+
approved or endorsed by the Apache Foundation. A copy of the non-modified
5+
Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
6+
7+
As this license is not currently OSI or FSF approved, the Licensor permits any
8+
Work licensed under this License, at the option of the Licensee, to be treated
9+
as licensed under the Apache License Version 2.0 (which is so approved).
10+
11+
This License is licensed under the terms of this License and in particular
12+
clause 7 below (Disclaimer of Warranties) applies in relation to its use.
13+
14+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
15+
16+
1. Definitions.
17+
18+
¡°License¡± shall mean the terms and conditions for use, reproduction, and
19+
distribution as defined by Sections 1 through 9 of this document.
20+
21+
¡°Licensor¡± shall mean the Rights owner or entity authorized by the Rights owner
22+
that is granting the License.
23+
24+
¡°Legal Entity¡± shall mean the union of the acting entity and all other entities
25+
that control, are controlled by, or are under common control with that entity.
26+
For the purposes of this definition, ¡°control¡± means (i) the power, direct or
27+
indirect, to cause the direction or management of such entity, whether by
28+
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
29+
outstanding shares, or (iii) beneficial ownership of such entity.
30+
31+
¡°You¡± (or ¡°Your¡±) shall mean an individual or Legal Entity exercising
32+
permissions granted by this License.
33+
34+
¡°Rights¡± means copyright and any similar right including design right (whether
35+
registered or unregistered), semiconductor topography (mask) rights and
36+
database rights (but excluding Patents and Trademarks).
37+
38+
¡°Source¡± form shall mean the preferred form for making modifications, including
39+
but not limited to source code, net lists, board layouts, CAD files,
40+
documentation source, and configuration files.
41+
42+
¡°Object¡± form shall mean any form resulting from mechanical transformation or
43+
translation of a Source form, including but not limited to compiled object
44+
code, generated documentation, the instantiation of a hardware design and
45+
conversions to other media types, including intermediate forms such as
46+
bytecodes, FPGA bitstreams, artwork and semiconductor topographies (mask
47+
works).
48+
49+
¡°Work¡± shall mean the work of authorship, whether in Source form or other
50+
Object form, made available under the License, as indicated by a Rights notice
51+
that is included in or attached to the work (an example is provided in the
52+
Appendix below).
53+
54+
¡°Derivative Works¡± shall mean any work, whether in Source or Object form, that
55+
is based on (or derived from) the Work and for which the editorial revisions,
56+
annotations, elaborations, or other modifications represent, as a whole, an
57+
original work of authorship. For the purposes of this License, Derivative Works
58+
shall not include works that remain separable from, or merely link (or bind by
59+
name) or physically connect to or interoperate with the interfaces of, the Work
60+
and Derivative Works thereof.
61+
62+
¡°Contribution¡± shall mean any design or work of authorship, including the
63+
original version of the Work and any modifications or additions to that Work or
64+
Derivative Works thereof, that is intentionally submitted to Licensor for
65+
inclusion in the Work by the Rights owner or by an individual or Legal Entity
66+
authorized to submit on behalf of the Rights owner. For the purposes of this
67+
definition, ¡°submitted¡± means any form of electronic, verbal, or written
68+
communication sent to the Licensor or its representatives, including but not
69+
limited to communication on electronic mailing lists, source code control
70+
systems, and issue tracking systems that are managed by, or on behalf of, the
71+
Licensor for the purpose of discussing and improving the Work, but excluding
72+
communication that is conspicuously marked or otherwise designated in writing
73+
by the Rights owner as ¡°Not a Contribution.¡±
74+
75+
¡°Contributor¡± shall mean Licensor and any individual or Legal Entity on behalf
76+
of whom a Contribution has been received by Licensor and subsequently
77+
incorporated within the Work.
78+
79+
2. Grant of License. Subject to the terms and conditions of this License, each
80+
Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
81+
no-charge, royalty-free, irrevocable license under the Rights to reproduce,
82+
prepare Derivative Works of, publicly display, publicly perform, sublicense,
83+
and distribute the Work and such Derivative Works in Source or Object form and
84+
do anything in relation to the Work as if the Rights did not exist.
85+
86+
3. Grant of Patent License. Subject to the terms and conditions of this
87+
License, each Contributor hereby grants to You a perpetual, worldwide,
88+
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
89+
section) patent license to make, have made, use, offer to sell, sell, import,
90+
and otherwise transfer the Work, where such license applies only to those
91+
patent claims licensable by such Contributor that are necessarily infringed by
92+
their Contribution(s) alone or by combination of their Contribution(s) with the
93+
Work to which such Contribution(s) was submitted. If You institute patent
94+
litigation against any entity (including a cross-claim or counterclaim in a
95+
lawsuit) alleging that the Work or a Contribution incorporated within the Work
96+
constitutes direct or contributory patent infringement, then any patent
97+
licenses granted to You under this License for that Work shall terminate as of
98+
the date such litigation is filed.
99+
100+
4. Redistribution. You may reproduce and distribute copies of the Work or
101+
Derivative Works thereof in any medium, with or without modifications, and in
102+
Source or Object form, provided that You meet the following conditions:
103+
104+
You must give any other recipients of the Work or Derivative Works a copy
105+
of this License; and
106+
107+
You must cause any modified files to carry prominent notices stating that
108+
You changed the files; and
109+
110+
You must retain, in the Source form of any Derivative Works that You
111+
distribute, all copyright, patent, trademark, and attribution notices from
112+
the Source form of the Work, excluding those notices that do not pertain to
113+
any part of the Derivative Works; and
114+
115+
If the Work includes a ¡°NOTICE¡± text file as part of its distribution, then
116+
any Derivative Works that You distribute must include a readable copy of
117+
the attribution notices contained within such NOTICE file, excluding those
118+
notices that do not pertain to any part of the Derivative Works, in at
119+
least one of the following places: within a NOTICE text file distributed as
120+
part of the Derivative Works; within the Source form or documentation, if
121+
provided along with the Derivative Works; or, within a display generated by
122+
the Derivative Works, if and wherever such third-party notices normally
123+
appear. The contents of the NOTICE file are for informational purposes only
124+
and do not modify the License. You may add Your own attribution notices
125+
within Derivative Works that You distribute, alongside or as an addendum to
126+
the NOTICE text from the Work, provided that such additional attribution
127+
notices cannot be construed as modifying the License. You may add Your own
128+
copyright statement to Your modifications and may provide additional or
129+
different license terms and conditions for use, reproduction, or
130+
distribution of Your modifications, or for any such Derivative Works as a
131+
whole, provided Your use, reproduction, and distribution of the Work
132+
otherwise complies with the conditions stated in this License.
133+
134+
5. Submission of Contributions. Unless You explicitly state otherwise, any
135+
Contribution intentionally submitted for inclusion in the Work by You to the
136+
Licensor shall be under the terms and conditions of this License, without any
137+
additional terms or conditions. Notwithstanding the above, nothing herein shall
138+
supersede or modify the terms of any separate license agreement you may have
139+
executed with Licensor regarding such Contributions.
140+
141+
6. Trademarks. This License does not grant permission to use the trade names,
142+
trademarks, service marks, or product names of the Licensor, except as required
143+
for reasonable and customary use in describing the origin of the Work and
144+
reproducing the content of the NOTICE file.
145+
146+
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
147+
writing, Licensor provides the Work (and each Contributor provides its
148+
Contributions) on an ¡°AS IS¡± BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
149+
KIND, either express or implied, including, without limitation, any warranties
150+
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
151+
PARTICULAR PURPOSE. You are solely responsible for determining the
152+
appropriateness of using or redistributing the Work and assume any risks
153+
associated with Your exercise of permissions under this License.
154+
155+
8. Limitation of Liability. In no event and under no legal theory, whether in
156+
tort (including negligence), contract, or otherwise, unless required by
157+
applicable law (such as deliberate and grossly negligent acts) or agreed to in
158+
writing, shall any Contributor be liable to You for damages, including any
159+
direct, indirect, special, incidental, or consequential damages of any
160+
character arising as a result of this License or out of the use or inability to
161+
use the Work (including but not limited to damages for loss of goodwill, work
162+
stoppage, computer failure or malfunction, or any and all other commercial
163+
damages or losses), even if such Contributor has been advised of the
164+
possibility of such damages.
165+
166+
9. Accepting Warranty or Additional Liability. While redistributing the Work or
167+
Derivative Works thereof, You may choose to offer, and charge a fee for,
168+
acceptance of support, warranty, indemnity, or other liability obligations
169+
and/or rights consistent with this License. However, in accepting such
170+
obligations, You may act only on Your own behalf and on Your sole
171+
responsibility, not on behalf of any other Contributor, and only if You agree
172+
to indemnify, defend, and hold each Contributor harmless for any liability
173+
incurred by, or claims asserted against, such Contributor by reason of your
174+
accepting any such warranty or additional liability.
175+
176+
END OF TERMS AND CONDITIONS

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# APB UART
2+
3+
This repository hosts [APB](https://github.com/pulp-platform/apb) and [Register Interface](https://github.com/pulp-platform/register_interface) wrappers for the [OBI UART](https://github.com/pulp-platform/obi_peripherals).
4+
5+
## License
6+
7+
This repository is licensed under the Solderpad Hardware License, Version 0.51 (see `LICENSE`).

0 commit comments

Comments
 (0)