rockchip: rk3066: add clock driver for rk3066 soc
authorPaweł Jarosz <paweljarosz3691@gmail.com>
Sat, 16 Apr 2022 15:09:39 +0000 (17:09 +0200)
committerKever Yang <kever.yang@rock-chips.com>
Mon, 18 Apr 2022 03:25:13 +0000 (11:25 +0800)
commit730a402450516667e51fab4c519ba16709d2251b
tree79f9cbea516306d62d0a89d51b10e7341bd8e029
parente6b0ed0e74099fcfa94263e849d8695992060e19
rockchip: rk3066: add clock driver for rk3066 soc

Add the clock driver for the rk3066 platform.

Derived from the rk3288 and rk3188 driver it
supports only a bare minimum to bring up the system
to reduce the TPL size for:
  SDRAM clock configuration.
  The boot devices NAND, EMMC, SDMMC, SPI.
  A UART for the debug messages (fixed) at 115200n8.
  A SARADC for the recovery button.
  A TIMER for the delays (fixed).

There's support for two possible frequencies,
the safe 600MHz which will work with default pmic settings and
will be set to get away from the 24MHz default and
the maximum of 1.416Ghz, which boards can set if they
were able to get pmic support for it.

After the clock tree is set during the TPL probe
there's no parent update support.

In OF_REAL mode the drivers ns16550.c and dw-apb-timer.c
obtain the (fixed) clk_get_rate from the clock driver
instead of platdata.

The rk3066 cru node has a number of assigned-clocks properties
that call the .set_rate() function. Add them to the list so that
they return a 0 instead of -ENOENT.

Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/include/asm/arch-rockchip/cru_rk3066.h [new file with mode: 0644]
drivers/clk/rockchip/Makefile
drivers/clk/rockchip/clk_rk3066.c [new file with mode: 0644]