After I succesfully compiled my dts with UARTs 3 and 4 activated, I gave them both a try which led me to the UART3 not receiving anything. The rest of them work perfectly fine (from 0 to 4) and even transmitting through UART3 works fine, but it doesn't receive anything. Since UART3 admits 2 different pinmux I've tried changing it in the dts, recompiling and flashing but with the same result.
I'm working with a Colibri VF50, kernel 4.4.39-dirty (kudos to who puts the names)
How I tried was with Putty and "echo" from my host and "cat /dev/ttyLP3" in the Colibri. This worked for the rest of the UARTs
Here you may find my dts attached, where my pinmux are set (How do you write multiline code?)
Answer by alvaro.garcia · 2 days ago
Ok, I think this is the good one :')
First of all, I was using the Colibri Evaluation Board V3.1. After making an small serial echo program, I shorted Tx-Rx and finally the board started receiving! It got me wondering that, somehow, the USB Tx was not working at supposed.
After checking the voltages, it confirmed my suspicions: While with Tx and Rx shorted, the voltage was over 2.5V (TTL/CMOS), the USB was around 0.8V when connected to the board (3.3V while not connected).
After isolating the problem I tried in the Viola board, to find out that there it worked perfectly with both voltages over 2.5V. I haven't check the Colibri Evaluation Board schematic thoroughly but it seems that there is something in the DCD and the DSR pins that lowers the voltage (Low value load resistor?) making the CMOS not high enough to work.
I don't know if it's intended but at least it should be worth looking :)
TL;DR: RX is not working in UARTD (UART_A DCD and DSR) as supposed (at least with a 232-USB adapter) in the Colibri Evaluation Board. Try in the Viola Board (Iris doesn't have direct output for those pins).
Answer by alvaro.garcia · 6 days ago
It seems Putty was messing it up: After setting in my development machine a lower baudrate with stty, and set the same in the Colibri, the echos started working. Also Putty at at lower rate worked fine. Later on, I stty'd at 115200 in both machines, repeated the process and everything worked fine.
It looks like something was messed up with putty. Just remember to set the baudrate in the dev machine with stty and test with echo :)