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.

AM5728: Using UART8

Part Number: AM5728

Dear All,

I'm trying to use UART8 (0x48422000) on AM57xx SoC.

RXD is connected to GPMC_A6 and TXD is connected to GPMC_A7.

The DTS definition of UART8 (generic - dra7.dtsi file):

uart8: serial@48422000 {
compatible = "ti,dra742-uart", "ti,omap4-uart";
reg = <0x48422000 0x100>;
interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "uart8";
clock-frequency = <48000000>;
status = "disabled";
};

Changes added by me:

&uart8 {
status = "okay";

pinctrl-names = "default";
pinctrl-0 = <&uart8_pins_default>;

interrupts-extended = <&crossbar_mpu GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
&dra7_pmx_core 0x058>;

dmas = <&sdma_xbar 146>, <&sdma_xbar 147>;
dma-names = "tx", "rx";
};

When I try to debug it with serial loopback I see that TXD is working, but I do not see sent characters (the signal is provided to RXD line - checked with oscilloscope).

cat /proc/interrupts shows OMAP_UART7 - and I'm able to see that TX buffer empty interrupt is serviced. The RX interrupt is not asserted.

For comparison I did the same setup with UART6 and it all works (cat /proc/interrupts shows 2 interrupts per sent character - tx empty and rx char available).

What am I missing?

Is there any register, which enables RX interrupt on L4PER2 uarts?

Note/Remark:

The L4PER2 UARTs seems like one not "enabled" by default - the IRQ_Crossbar interrupts are not mapped by default as well as DMA.

Thanks in advance for help,

Łukasz