[PATCH rtems] arm/xilinx: Fix zynq-uart interrupt receive
Kinsey Moore
kinsey.moore at oarcorp.com
Thu Aug 19 12:45:11 UTC 2021
On 8/18/2021 18:02, Chris Johns wrote:
> On 19/8/21 5:49 am, Kinsey Moore wrote:
>> On 8/18/2021 13:20, Chris Johns wrote:
>>> On 19/8/21 3:41 am, Kinsey Moore wrote:
>>>> This is functional on the ZynqMP board I currently have setup for testing and on
>>>> ZynqMP QEMU except for the data corruption/loss caused by the removal of the
>>>> post-baud-set null write.
>>> Thanks for the testing.
>>>
>>> I am not sure if you are saying both the ZyncMP hardware and qemu need the write
>>> or just qemu. The write may work but it does not make sense because at some
>>> point the software will print a character and achive the same thing?
>> QEMU works fine either way. The ZynqMP hardware is what has issues without the
>> null write.
> OK
>
>> The problem is that it's picky about which characters will actually fix the data
>> loss/corruption.
>> I've seen that both space and null will do it while letters and numbers won't.
>> Null was chosen specifically because it's not printable.
> It shows up on Zynq consoles I have running a a junk character.
>
>> Without this null print, I see garbage
>> output and it eventually starts printing text correctly.
> How many characters? It smells like a clock is hunting. I suggest you ask Joel
> to raise this with Xilinx to see if there is any known errata.
The number varies depending on the text being output. It continues
spewing bad characters until
it encounters a character that resets whatever internal mechanism is
causing this. I'll see if we can
get some information from Xilinx.
>
> Another suggestion is downloading the Xilinx SDK and looking over the bare metal
> console support to see what they do there.
The sticking point here seems to be baud rate manipulation and the TX/RX
reset that must occur.
The bare metal driver has code for this, but it is never called as far
as I can tell. I still haven't found
the startup sequence that initializes the UART, but I'll take another look.
Kinsey
More information about the devel
mailing list