Hi, I'm developing a custom board using ls1028a.
I added lpuart to dtsi to use lpuart,
lpuart2: serial@2280000 {
compatible = "fsl,ls1028a-lpuart";
reg = <0x0 0x2280000 0x0 0x1000>;
interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clockgen 4 1>;
clock-names = "ipg";
little-endian;
status = "okay";
};
and added it to dts as follows.
&lpuart2 {
status = "okay";
};
After creating and checking the image file, ttyLP0 was created under /dev. But when I checked because there was no communication, I found the following log.
root@TinyLinux:~# dmesg | grep lpuart
[ 3.465382] fsl-lpuart 2280000.serial: DMA tx channel request failed, operating without tx DMA
[ 3.474030] fsl-lpuart 2280000.serial: DMA rx channel request failed, operating without rx DMA
[ 3.492118] fsl-lpuart 2290000.serial: DMA tx channel request failed, operating without tx DMA
[ 3.500765] fsl-lpuart 2290000.serial: DMA rx channel request failed, operating without rx DMA
I think it's a problem that doesn't have access to DMA, but it's hard to determine whether it's a hardware problem or a software problem.
For your information, the basic uart works properly.
I'd appreciate it if you could give me an answer.
Please provide U-Boot booting log showing the RCW.
Hi.
Here is..
Reset Configuration Word (RCW):
00000000: 3c004010 00000030 00000000 00000000
00000010: 00000000 018f0000 0030c000 00000000
00000020: 01e031a0 00002580 00000000 010db291
00000030: 00000000 00000010 00000000 00000000
00000040: 00000000 00000000 00000000 00000000
00000050: 00000000 00000000 00000000 00000000
00000060: 00000000 00000000 100e7012 00000000
00000070: bb580000 00000000
I changed
XSPI1_A_DATA74_PMUX[369:367] |
XSPI1_A_DATA30_PMUX[372:370] |
for using LPUART2 / 3
and some other gpio pins.The clock side did not change because there was no change in hardware.
Thank you.
Please provide complete U-Boot and Linux booting logs and log of the LPUART testing in Linux as ZIP archive attachment.
> I think it's a problem that doesn't have access to DMA, but it's hard
> to determine whether it's a hardware problem or a software problem.
No, it's not a problem, LPUART can operate without DMA. Read the message, in fact:
DMA tx channel request failed, **operating without tx DMA**
DMA rx channel request failed, **operating without rx DMA**
If you were to add DMA channels, you would use the "dmas" and "dma-names"
device tree properties. Read the documentation for more details:
https://elixir.bootlin.com/linux/v5.9/source/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
What logic level are you using for interfacing with the LPUART? 1.8V, right?
Does anything get output if you add console=/dev/ttyLP0,115200 to the kernel boot arguments?