Core UART APB Linux Driver Support #469
-
Hello, I'm having trouble getting coreUARTapb UARTs in the fabric working in Linux. Looking at the user guide for the IP, it doesn't seem to match the 16550 standard and I don't see any obvious other tty/serial drivers that lines up with the registers described in the user guide. The Icicle kit reference design contains a coreUARTapb, but it is not implemented in the reference design Yocto device tree. Is coreUARTapb supported by the Linux drivers for the PolarFire SoC? Thank you |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
I am not aware of a coreUARTapb linux driver currently available. There are some 'baremetal' examples for the ICICLE-Kit that use the fabric UART to interface with MikroBus add-on cards. I have successfully implemented multiple instances of core16550uart in the MPFS fabric and added them to the device tree using the 'standard' 16550 driver that is included in our Yocto build. If you need fabric-based UARTs under linux, this is the expedient route. |
Beta Was this translation helpful? Give feedback.
-
Thank you - that is the way I was leaning, but wanted to make sure. I did search the IP catalog for my project for 16550, but didn't find anything. I found this one online (https://www.microchip.com/en-us/products/fpgas-and-plds/ip-core-tools/core16550) but it isn't compatible with PolarFire. Which core16550uart have you used, or would you be able to recommend one? Thank you! |
Beta Was this translation helpful? Give feedback.
-
I was able to take the .v files from a CORE16550 instance in a SmartFusion project and import them into a PolarFire SoC project manually. Some changes were required (primarily switching from the SmartFusion RAM block to PolarFire RAM block) but it seems to be working well now with the Linux ns16550a driver defined in the device tree. Thanks for the help! |
Beta Was this translation helpful? Give feedback.
I am not aware of a coreUARTapb linux driver currently available. There are some 'baremetal' examples for the ICICLE-Kit that use the fabric UART to interface with MikroBus add-on cards. I have successfully implemented multiple instances of core16550uart in the MPFS fabric and added them to the device tree using the 'standard' 16550 driver that is included in our Yocto build. If you need fabric-based UARTs under linux, this is the expedient route.