Skip to content

Commit

Permalink
os/arch/arm/src/amebasmart: Fix UART data loss when wakeup from PG
Browse files Browse the repository at this point in the history
Issue is encountered where bytes are lost on UART wakeup source during resume from sleep

Test Requirements:
Please ensure PR #6482 is applied before testing

Analysis:
- UART FIFO is started but not drained during resume. When the peripheral is initialized again, it causes the FIFO to also be cleared and cause data loss
- Similarly if more than 64 bytes is passed in together, since there is no mechanism to drain the FIFO into RAM it will cause LSR overrun error

This fix drains the FIFO first at KM4, then again at CA32 until it fully wake, then normal Tizen ISR handler resume operation
- The drained buffer is also passed to application layer
- Watchdog is used to monitor UART1 until the FIFO is completely drained
  • Loading branch information
lhenry-realtek committed Nov 25, 2024
1 parent 8b183fc commit a08aee4
Show file tree
Hide file tree
Showing 6 changed files with 2,527 additions and 111,837 deletions.
Binary file removed build/tools/amebasmart/gnu_utility/km0_km4_app.bin
Binary file not shown.
179 changes: 0 additions & 179 deletions build/tools/amebasmart/gnu_utility/km0_km4_app_RELEASE_NOTE.txt

This file was deleted.

Loading

0 comments on commit a08aee4

Please sign in to comment.