Support for observer-a#2493
Conversation
| description = "FRU ID EEPROM" | ||
| refdes = "U27" | ||
|
|
||
| # TODO is this the same part number as for the PSC? |
There was a problem hiding this comment.
After checking with Ian, it isn't the same part number – Observer is using MWOCP67-5500-B-RM.
We should delete all of the PSU stuff from the manifest for now, and leave a comment to the effect of
# TODO add rectifiers (once we have their SMBus spec)There was a problem hiding this comment.
That breaks PSU_PMBUS_DEVS in psc-seq-server/src/main.rs and I don't see an obvious clean way to fix it.
There was a problem hiding this comment.
It's not exactly clean, but I ripped all the pmbus stuff out of the psc-seq-server so that it compiles without the rectifier config in base.toml. That commit breaks the original PSC and should obviously not be merged, but hopefully it will let us test other features of psc-seq-server without using pmbus.
Co-authored-by: Matt Keeter <matt@oxide.computer>
|
@evan-oxide can you also add this to the set of boards built in CI? |
| // Enable the pullups. | ||
| #[rustfmt::skip] | ||
| p.GPIOG.pupdr.modify(|_, w| w | ||
| .pupdr0().pull_up() | ||
| .pupdr1().pull_up() | ||
| .pupdr2().pull_up()); |
There was a problem hiding this comment.
@mkeeter do we still need to do this now that we have external pull ups/downs on the board as appropriate? For context Evan, I think this may be vestigial from early Gimlet revs where we had pull-downs in place, but no option for an external pull-up. So we would DNI the pull-down and allow the internal pull-ups to charge the pin.
There was a problem hiding this comment.
Yeah, I think we can skip this part of pin configuration. The "how long to wait" is copy-pasted from board to board, so it could also be revisited (but I'm also fine leaving it be).
There was a problem hiding this comment.
Can we remove the wait entirely? It doesn't seem necessary if there are external pullups/downs. Maybe it could matter if the pin was previously configured as an output and driven in the opposite direction as the pullup...
There was a problem hiding this comment.
I removed the wait and the pullups.
Otherwise it doesn't compile now that we removed the rectifier pmbus config from base.toml. The PR should definitely not be merged with this commit, it will break the existing PSC.
labbott
left a comment
There was a problem hiding this comment.
If the EEs are satisfied with initial bring up I vote to merge so we aren't carrying a branch
| // board. On rev A, these pins are left floating; on later revisions, they | ||
| // are pulled either high or low. | ||
| // | ||
| // This code matches that in gimlet/src/main.rs; see detailed comments over | ||
| // there about how times were calculated. |
There was a problem hiding this comment.
Most of this comment is outdated now!
| i2c_config::pmbus::v54_psu4, | ||
| i2c_config::pmbus::v54_psu5, | ||
| // The Observer numbers its notification bits starting at 0 instead of 1 | ||
| #[cfg(target_board = "observer-a")] |
There was a problem hiding this comment.
There are a bunch of changes in this file which would break the PSC, so we can't merge as-is. Since we're using a new rectifier, it will probably be different enough to warrant a new server – want to make an observer-seq-server to float these changes while waiting for the SMBus specs?
This creates a draft
observerapp in preparation for bringup. Issue: #2409