implement SFP0..3 LED indication (#231) #258

Merged
sb10q merged 1 commits from morgan/artiq-zynq:feature_SFPLED into release-7 2023-09-07 11:46:53 +08:00
  • add SFP0..3 LED indication at io_expander.rs

    • add virtual_led_mapping for hw version v1.1 and v1.0 in struct IoExpander
    • add csr::virtual_leds::status_read() to update SFP0..3 LED
  • add csr_devices.append("virtual_leds") for GenericMaster and GenericSatellite at kasli_soc.py

    • setup virtual_leds.get(i) for the respective drtio_transceiver.channels
  • add async task io_expanders_service() at runtime main.rs

  • add io_expander.service() after link up/down at satman main.rs

  • compilation check

    • run nix build <variant> -L for kasli-soc master, satellite & standalone and all need PR #257 to built successfully
  • functional check (with PR #257)

    • vertified SFP0..3 LED light up when Satellite Kasli (release-7) plug in the respective SFP port of Master Kasli-soc (This PR with correct hw_rev cfg)
    • vertified SFP0 LED light up when Master Kasli (release-7) plug in the SFP0 port of Satellite Kasli-soc (This PR with correct hw_rev cfg)
    • vertified SFP1..3 LED light up when Satellite Kasli (release-7) plug in the respective SFP port of Satellite Kasli-soc (This PR with correct hw_rev cfg)

Prerequisite

Checklist of backporting SFP0..3 LED indication

  • change write_rustc_cfg_file(soc, filename) to follow artiq repo (PR #254)
  • change io_expander not to borrow i2c indefinitely and create io_expander0..1 to store out_current data (PR #255)
  • update io_expander due to pin swap on Kasli-soc v1.1 #228 (PR #257)
  • implement SFP0..3 LED indication (This PR)
- add SFP0..3 LED indication at `io_expander.rs` - add `virtual_led_mapping` for hw version `v1.1` and `v1.0` in struct `IoExpander` - add `csr::virtual_leds::status_read()` to update SFP0..3 LED - add `csr_devices.append("virtual_leds")` for `GenericMaster` and `GenericSatellite` at `kasli_soc.py` - setup `virtual_leds.get(i)` for the respective `drtio_transceiver.channels` - add async task `io_expanders_service()` at runtime `main.rs` - add `io_expander.service()` after link up/down at satman `main.rs` - compilation check - run `nix build <variant> -L` for kasli-soc master, satellite & standalone and all need PR #257 to built successfully - functional check (with PR #257) - vertified SFP0..3 LED light up when `Satellite Kasli` (release-7) plug in the respective SFP port of `Master Kasli-soc` (This PR with correct `hw_rev` cfg) - vertified SFP0 LED light up when `Master Kasli` (release-7) plug in the SFP0 port of `Satellite Kasli-soc` (This PR with correct `hw_rev` cfg) - vertified SFP1..3 LED light up when `Satellite Kasli` (release-7) plug in the respective SFP port of `Satellite Kasli-soc` (This PR with correct `hw_rev` cfg) ## Prerequisite - #257 ## Checklist of backporting SFP0..3 LED indication - [X] change write_rustc_cfg_file(soc, filename) to follow artiq repo (PR #254) - [X] change io_expander not to borrow i2c indefinitely and create io_expander0..1 to store out_current data (PR #255) - [X] update io_expander due to pin swap on Kasli-soc v1.1 #228 (PR #257) - [x] implement SFP0..3 LED indication (This PR)
morgan added 1 commit 2023-09-04 15:34:37 +08:00
961bef53fc - io_expander.rs: add virtual_led_mapping in IoExpander
- io_expander.rs:  update SFP LED at .service()
- kasli_soc.py: add virtual_leds csr device
- kasli_soc.py: couple virtual_leds.get(i) with rx_ready status
- runtime main: add async task io_expanders_service()
- satman main: add io_expander service after link up/down

Don't start commit messages with "- ".

Don't start commit messages with "- ".

The first line should be a summary and then you can expand in the following lines.

Also there's a conflict after merging the "prerequisite" PR.

The first line should be a summary and then you can expand in the following lines. Also there's a conflict after merging the "prerequisite" PR.
morgan force-pushed feature_SFPLED from 961bef53fc to 8a84e90a17 2023-09-04 16:07:50 +08:00 Compare
morgan force-pushed feature_SFPLED from 8a84e90a17 to 00c5ee01b0 2023-09-04 16:08:45 +08:00 Compare
Poster
Owner

Updated commit message and manually rebased to release-7 to resolved the merge conflict.

Updated commit message and manually rebased to `release-7` to resolved the merge conflict.
sb10q merged commit 00c5ee01b0 into release-7 2023-09-07 11:46:53 +08:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/artiq-zynq#258
There is no content yet.