Skip to content

Commit c7f0b3e

Browse files
Adds a Medusa image (#1806)
The primary purpose of this PR is to sketch out an initial stab at an image for Medusa, our QSFP front IO test fixture (details on that in RFD 405). The Medusa-specific logic lives in `medusa-seq-server`. The current goal is just to support hardware bringup, and thus that sequencer just attempts to power on the front IO board and then program its FPGAs. It also checks the status of the various power rails on Medusa and exposes an interface to control those rails (on Sidecar this functionality is handled by the FPGA). An adjacent piece of work here is that Medusa does not have any fans to control and that broke the previous mold of "everything with `thermal` has fans". `thermal` logs `sensor` data _and_ wants to control fan speeds off that data. So the Medusa thermal BSP looks a bit odd compared to the others. Additionally, the `transceivers` task had a `thermal-control` feature flag added to gate the interactions with `thermal` (Sidecar will have this feature set, Medusa will not). Lastly, there's some ugliness that I did for the sake of expediency given my personal situation. Until I can actually land #1805, Medusa simply copies some code from Sidecar. Once this PR lands, I will extend #1805 to cleanup Medusa as well. Closes #1571 --------- Co-authored-by: Cliff L. Biffle <[email protected]>
1 parent 8dc8a4d commit c7f0b3e

File tree

35 files changed

+2592
-28
lines changed

35 files changed

+2592
-28
lines changed

Cargo.lock

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/medusa/Cargo.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[package]
2+
edition = "2021"
3+
readme = "README.md"
4+
name = "medusa"
5+
version = "0.1.0"
6+
7+
[features]
8+
dump = ["kern/dump"]
9+
10+
[dependencies]
11+
cortex-m = { workspace = true }
12+
cortex-m-rt = { workspace = true }
13+
cfg-if = { workspace = true }
14+
stm32h7 = { workspace = true, features = ["rt", "stm32h753"] }
15+
16+
drv-stm32h7-startup = { path = "../../drv/stm32h7-startup", features = ["h753"] }
17+
kern = { path = "../../sys/kern" }
18+
19+
[build-dependencies]
20+
build-util = {path = "../../build/util"}
21+
22+
# this lets you use `cargo fix`!
23+
[[bin]]
24+
name = "medusa"
25+
test = false
26+
doctest = false
27+
bench = false

app/medusa/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Medusa Service Processor (SP) firmware
2+
3+
The Medusa is a test fixture for the QSFP Front IO board.
4+
5+
This folder contains the firmware that runs on its service processor (SP).

0 commit comments

Comments
 (0)