clk: ti: add custom API for memory access
authorDario Binacchi <dariobin@libero.it>
Sat, 1 May 2021 15:05:22 +0000 (17:05 +0200)
committerLokesh Vutla <lokeshvutla@ti.com>
Wed, 12 May 2021 10:57:57 +0000 (16:27 +0530)
commitb1aef0384fcce4ae9cb8485c0df0cdc64bc0cf83
treee836f50770bcc5a6b4c72c7d12ad18c9dd1882a1
parentb107761b817c421fb8eadee739656e1db38686c3
clk: ti: add custom API for memory access

As pointed by [1] and [2], commit
d64b9cdcd4 ("fdt: translate address if #size-cells = <0>") is wrong:
- It makes every 'reg' DT property translatable. It changes the address
  translation so that for an I2C 'reg' address you'll get back as reg
  the I2C controller address + reg value.
- The quirk must be fixed with platform code.

The clk_ti_get_reg_addr() is the platform code able to make the correct
address translation for the AM33xx clocks registers. Its implementation
was inspired by the Linux Kernel code.

[1] https://patchwork.ozlabs.org/project/uboot/patch/1614324949-61314-1-git-send-email-bmeng.cn@gmail.com/
[2] https://lore.kernel.org/linux-clk/20210402192054.7934-1-dariobin@libero.it/T/

Signed-off-by: Dario Binacchi <dariobin@libero.it>
drivers/clk/ti/clk.c
drivers/clk/ti/clk.h