As mentioned earlier, I would like more details about the implementation and possibility of manipulating the UART of the AM62x PRU by the Kernel drivers, without the need to use bare-metal.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
As mentioned earlier, I would like more details about the implementation and possibility of manipulating the UART of the AM62x PRU by the Kernel drivers, without the need to use bare-metal.
Hello Rafael,
The AM335x implementation of a Linux driver directly controlling the PRU UART is documented here:
https://software-dl.ti.com/processor-sdk-linux/esd/docs/07_03_00_005/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pruss-uart.html
The PRU subsystem hardware designer confirmed that the UART in the AM335x PRU-ICSS is exactly the same as the UART in the AM62x. From a register definition standpoint, that makes sense to me - I just double-checked the AM62x PRU_Hardware_UART code I shared on your other thread, and I AM setting every bit to the exact same setting as on AM335x (though it might look a bit different).
Since the UART is exactly the same, it should be pretty low effort to port to AM62x: you would need to make the kernel dts change, and then test it. You can refer to the AM335x dts code here:
arch/arm/boot/dts/am33xx-l4.dtsi
pruss_uart
Regards,
Nick
arch/arm/boot/dts/am335x-evmsk.dts includes example usage of pruss_uart.
Regards,
Nick