reset: rockchip: implement rk3588 lookup table
authorEugen Hristev <eugen.hristev@collabora.com>
Mon, 15 May 2023 10:55:04 +0000 (13:55 +0300)
committerKever Yang <kever.yang@rock-chips.com>
Wed, 17 May 2023 09:36:18 +0000 (17:36 +0800)
commitbb52f1c604d09b0c378addfa5c75c82efc219b03
treeaf0eb7040455d593aecce1fd8ce250afa45d868b
parent6891bdf711126425f33890ba23fb02ba84b9b698
reset: rockchip: implement rk3588 lookup table

The current DT bindings for the rk3588 clock use a different ID than the
one that is supposed to be written to the hardware registers.
Thus, we cannot use directly the id provided in the phandle, but rather
use a lookup table to correctly setup the hardware.

This approach has been implemented already in Linux, by commit :
f1c506d152ff ("clk: rockchip: add clock controller for the RK3588")

Hence, implement a similar approach using the lookup table, and adapt
the existing reset driver to work with SoCs using lookup table.
The file rst-rk3588.c has been copied as much as possible from Linux.

Adapt the clk rk3588 driver as well to bind the reset driver with the
lookup table.

Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
arch/arm/include/asm/arch-rockchip/clock.h
drivers/clk/rockchip/clk_rk3588.c
drivers/reset/Makefile
drivers/reset/reset-rockchip.c
drivers/reset/rst-rk3588.c [new file with mode: 0644]