Grove Sensor Mezzanine UART Connection

Hi all

I’ve been using the Grove Sensor Mezzanine board with two different platforms: Ultra96 V1 and IMX7-96, both running Linux. On both the mezzanine works (to the limited extent that I have tested so far i.e. flashing an LED) but on both the UART connection doesn’t work. On the Ultra96 I get output (from U-boot and Linux) but I can’t input anything. And on the IMX7-96 I get nothing at all. Obviously the on-board UART connections work in both cases without the mezzanine (via the JTAG-Serial dongle in the case of the Ultra96 and a normal Prolific USB-UART adapter for the IMX7-96).

Has anyone tried this combination of hardware before? I’m wondering if I need to change something in the devicetree so that the UART is connected (and in U-Boot I guess).

Any ideas or experience greatly appreciated!

Hi Simon

It might be better to split this into two questions and post it on the imx7-96 and ultra96 sub-forums since the answer is likely to be different for each base board. The Grove mezzanine board is hard coded to work with LS-UART1 so, for each board, I guess the question is which UART is routed to LS-UART1 (so you can send the kernel messages to the appropriate tty and arrange for a getty to start up).

I’m afraid I can only really suggest you what the right question might be… I don’t know the answer for either board!

Hi @sg4036,

As @danielt said, this question needs to be split up as it covers two different boards. Anyway, I’ll try to answer here itself.

The undocumented feature of 96Boards CE boards is that the debug console is available via LS-UART1. So most of the serial mezzanines expose LS-UART1 for accessing the debug console (unlike UART mezzanine which exposes both LS-UART0 and LS-UART1). But some of the recent boards like Rock960, imx7-96, Hikey970 expose a dedicated debug port for the purpose of eliminating the dependency with mezzanines for debugging. However, those on-board debug ports doesn’t have the same UART ports wired up with LS-UART1, which is done in purpose to save one UART port for other use cases. So, if you have any 96Boards which doesn’t have any on-board debug port, then it is guarenteed (mostly) that the debug console is available via LS-UART1.

For imx7-96 (Meerkat96), UART6 is routed to the on-board debug connector J3 for the debug console and UART1 is routed to LS-UART1.

Finally, you can change the debug UART ports by modifying the devicetree of Linux kernel and devicetree/board file of u-boot.


Thanks to @Mani and @danielt for the responses, I will repost in the board forums. For the Ultra96 I suspect I will need to change something in the FPGA design to route the appropriate UART channel through to the correct pins (a couple of GPIO lines looking at the schematic).