Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 3552

Interfacing (DSI, CSI, I2C, etc.) • New uart driver.....

$
0
0
I''m writing a new UART driver and that seems to work reasonably well "as exprected"....

There is one little thing... So far I've left the orignal driver running separately. When I start my stuff, it will disable interrupts and then the normal dirver will not be seeing any incoming characters.

So when things started to work I happened to have a program running that would display the inciming characters and that suddenly stopped when I did "my thing" to disable the interrupts. Ok. Great.

But then... when I stopped the program reading through the normal driver, I stopped getting characters. I've dumped the whole UART register space and there is nothing out-of-the-ordinary in the differences. When it works the UART says it's waiting for the CPU to service it. Fine. That goes away when I close the cat /dev/ttyAMA0.

I'm currently working on a raspberry pi 3, so I'm using the BCM2711 arm peripherals datasheet. https://datasheets.raspberrypi.com/bcm2 ... herals.pdf

I've noticed that I write "1" to bit 10 of CR while writing this post. So I changed it to write zero as the datasheet demands.... That leads to: Datasheet is wrong: The bit is not "not implemented, it retains the value written.

I've checked the alternate functions. Those remain as exprected.

So... my question is: What does the regular PL011 driver enable on open en disable on close that makes the uart peripheral work? What am I missing?

It might be that the clock to the uart is disabled on close. The uart documentation speaks of the "clock manager" but I can't find any documentation for that. Is that expected?

Statistics: Posted by rew — Sun Aug 18, 2024 10:08 pm



Viewing all articles
Browse latest Browse all 3552

Trending Articles