Skip to content

Switch all platforms to the MctpSerial uart-service#6

Closed
dymk wants to merge 1 commit into
mainfrom
dymk/unify-ec-platforms-serial
Closed

Switch all platforms to the MctpSerial uart-service#6
dymk wants to merge 1 commit into
mainfrom
dymk/unify-ec-platforms-serial

Conversation

@dymk

@dymk dymk commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Summary

Every platform drove its uart-service through DefaultService::default_smbusespi (SMBus/eSPI framing). This switches all five — dev-imxrt, dev-mcxa, dev-mec, dev-npcx, dev-qemu — to MctpSerialService::default_mctp_serial, so the EC link speaks DSP0253 serial (MctpSerialMedium), the same framing the rest of the stack now uses, and retires the SMBus/eSPI path.

This is the EC step of unifying the EC link on DSP0253 serial:

  • odp-platform-commonec-test-lib/ec-test-cli → DSP0253 (#132, merged).
  • This PR — all EC platforms → default_mctp_serial, and bump the ec-test-cli pin to that merge.
  • Next — embedded-services: retire the now-unused uart_service::default_smbusespi.

What changed

  • platform/*/src/main.rs (all 5): uart_service::DefaultService::default_smbusespi(relay).unwrap()uart_service::MctpSerialService::default_mctp_serial(relay).expect("failed to init MctpSerial uart-service"), and the matching StaticCell type. The diff is identical across all five platforms.
  • .github/workflows/check.yml: EC_TEST_CLI_REV2034778 (the merged DSP0253 ec-test-cli), so the dev-qemu integration-test job exercises the unified wire format end to end.

Testing

  • cargo build --locked --release, cargo clippy --locked -- -D warnings, and cargo fmt --check pass for all five platforms.
  • Integration test: ran scripts/integration-test.sh (builds dev-qemu and drives it with the bumped ec-test-cli) locally — all thermal/battery/RTC commands round-trip over DSP0253, including the multi-packet battery get-bix response. SUCCESS: Integration test passed!

Note

dev-mec is switched here for consistency (and so it doesn't break when default_smbusespi is later removed), but note it is not currently part of the CI matrix in check.yml — its build/lint are not exercised by CI.

Every platform drove its uart-service through
`DefaultService::default_smbusespi` (SMBus/eSPI framing). Switch all
five to `MctpSerialService::default_mctp_serial` so the EC link speaks
DSP0253 serial (`MctpSerialMedium`) — the same framing the rest of the
stack now uses — and retire the SMBus/eSPI path.

`ec-test-cli` was updated to speak DSP0253 in odp-platform-common; bump
`EC_TEST_CLI_REV` to that revision so the dev-qemu integration test
exercises the unified wire format end to end.

Assisted-by: GitHub Copilot:claude-opus-4.8
@dymk dymk force-pushed the dymk/unify-ec-platforms-serial branch from a2941cd to d1ec9f0 Compare July 2, 2026 19:59
@dymk dymk closed this Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant