Skip to content

Conversation

AlexJones0
Copy link

The UART's VAL register is currently not implemented, but since we assume that the UART is always reporting STATUS.RXIDLE, it makes sense that the VAL.RX field should always report sampling idle (high) bits instead of 0.

This will help with Earlgrey's ROM_EXT, which detects an incoming break condition on the UART via the VAL regsiter to determine when to enter Rescue mode via the Rescue 1.0 mechanism.

The UART's `VAL` register is currently not implemented, but since we
assume that the UART is always reporting `STATUS.RXIDLE`, it makes sense
that the `VAL.RX` field should always report sampling idle (high) bits
instead of 0.

This will help with booting ROM_EXT, which detects an incoming break
condition on the UART via the VAL regsiter to determine when to enter
Rescue mode via the Rescue 1.0 mechanism.

Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Copy link

@rivos-eblot rivos-eblot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"some software might poll the value of this register to determine break conditions"
quite ugly :-)

@AlexJones0
Copy link
Author

"some software might poll the value of this register to determine break conditions"
quite ugly :-)

Yes, unfortunately the ROM_EXT is one such suspect (1), (2). Luckily we don't actually need the oversampling support 😅

@AlexJones0 AlexJones0 merged commit 643462e into lowRISC:ot-earlgrey-9.2.0 Sep 3, 2025
8 checks passed
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.

4 participants