]> git.dujemihanovic.xyz Git - u-boot.git/commit
serial: msm: calculate bit clock divider
authorCaleb Connolly <caleb.connolly@linaro.org>
Mon, 15 Apr 2024 15:03:40 +0000 (16:03 +0100)
committerCaleb Connolly <caleb.connolly@linaro.org>
Tue, 23 Apr 2024 11:29:16 +0000 (13:29 +0200)
commit69e9b3428bfee99ef3a5ece6e6c69a1ad1b39bd9
tree7a6452a49664a4ae7783fa56a98f46092d02505e
parent99e791746f318e308646b4831a0a9fc3ad9228c4
serial: msm: calculate bit clock divider

The driver currently requires the bit clock divider be hardcoded in
devicetree (or use the hardcoded default from apq8016).

The bit clock divider is used to derive the baud rate from the core
clock:

  baudrate = clk_rate / csr_div

clk_rate is the actual programmed core clock rate which is returned by
clk_set_rate(), and this UART driver only supports a baudrate of 115200.
We can therefore determine the appropriate value for UARTDM_CSR by
iterating over the possible values and finding the one where the
equation above holds true for a baudrate of 115200.

Implement this logic and drop the non-standard DT bindings for this
driver.

Tested on dragonboard410c.

Tested-by: Robert Marko <robert.marko@sartura.hr>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
doc/device-tree-bindings/serial/msm-serial.txt [deleted file]
drivers/serial/serial_msm.c