On 3/19/22 09:22, Florence Riker wrote:
Hello everyone, recently I'm trying to port the newest version of u boot to
my ipq4019 development board, and I found that the current serial driver
for Qualcomm ipq40xx socs at u-boot-2022.01/drivers/serial/serial_msm.c is
not compatible to ipq40xx despite they share the same compatible string in
the device tree:
[...] As you can see, for example: the working one's Transmit and Receive
register definition is at an address of base + 0x70 while the current one's
is at base + 0x100 and base + 0x140, so when the device is reading and
sending things using current driver, they are doing it with wrong address
and the serial won't work.
I think this should be somehow fixed.
Thanks.

Hi,

I can confirm similar problem for newer qcom SoC sdm660, where I also had to use 0x70 for TF register, and 0x08 for SR register to make things work, so I don't think this is ipq40xx specific problem. Linux's serial-msm UARTDM driver is also using these values (different from what's in U-Boot driver).

It's hard to know the exact reason without full documentation for hw, but is it possible that there are two (or more) modes of operation and several register sets inside msm uartdm?

I'm also using u-boot as chain-loaded boot loader, so I'm using uart as it was configured by previous stage boot loader. Maybe which registers to use depends on how the controller was initially configured?

---
Regards,
Alexey Minnekhanov

Reply via email to