The purpose of this series is to add clock support for SAMA7G5. Along with this, clock drivers were switched to CCF and aligned with their corresponding versions present in Linux. Some changes were done for CCF, patches 1, 3, 4, 5 (I don't know if they were as is by intention of a fixes tag is needed in there).
Also patch 3/21 has been added to support clock re-reparenting (this is minimal support and hope it doesn't break anything if used). Thank you, Claudiu Beznea Changes in v3: - collected remaining Reviewed-by tags - rebase on top of latest master branch: e5df264e7aac ("Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell") to adapt patch 8/21 at changes from commit 702e57e113d8 ("treewide: convert devfdt_get_addr_ptr() to dev_read_addr_ptr()") Changes in v2: - use assert() in patch 1/21 - drop patch 2/22 from previous series - add sandbox tests for clock reparenting, device reparenting and critical clocks - adapt review comments - collected Reviewed-by tags Claudiu Beznea (21): clk: check hw and hw->dev before dereference it dm: core: add support for device re-parenting clk: bind clk to new parent device clk: do not disable clock if it is critical clk: get clock pointer before proceeding clk: at91: add pre-requisite headers for AT91 clock architecture clk: at91: pmc: add helpers for clock drivers clk: at91: move clock code to compat.c clk: at91: sckc: add driver compatible with ccf clk: at91: clk-main: add driver compatible with ccf clk: at91: sam9x60-pll: add driver compatible with ccf clk: at91: clk-master: add driver compatible with ccf clk: at91: clk-master: add support for sama7g5 clk: at91: clk-utmi: add driver compatible with ccf clk: at91: clk-utmi: add support for sama7g5 clk: at91: clk-programmable: add driver compatible with ccf clk: at91: clk-system: add driver compatible with ccf clk: at91: clk-peripheral: add driver compatible with ccf clk: at91: clk-generic: add driver compatible with ccf clk: at91: pmc: add generic clock ops clk: at91: sama7g5: add clock support drivers/clk/at91/Kconfig | 7 + drivers/clk/at91/Makefile | 15 +- drivers/clk/at91/clk-generated.c | 178 ----- drivers/clk/at91/clk-generic.c | 202 +++++ drivers/clk/at91/clk-h32mx.c | 56 -- drivers/clk/at91/clk-main.c | 381 +++++++++- drivers/clk/at91/clk-master.c | 331 ++++++++- drivers/clk/at91/clk-peripheral.c | 291 ++++++-- drivers/clk/at91/clk-plla.c | 54 -- drivers/clk/at91/clk-plladiv.c | 85 --- drivers/clk/at91/clk-programmable.c | 208 ++++++ drivers/clk/at91/clk-sam9x60-pll.c | 442 +++++++++++ drivers/clk/at91/clk-slow.c | 36 - drivers/clk/at91/clk-system.c | 143 ++-- drivers/clk/at91/clk-usb.c | 147 ---- drivers/clk/at91/clk-utmi.c | 234 ++++-- drivers/clk/at91/compat.c | 1023 +++++++++++++++++++++++++ drivers/clk/at91/pmc.c | 218 +++--- drivers/clk/at91/pmc.h | 140 +++- drivers/clk/at91/sama7g5.c | 1401 +++++++++++++++++++++++++++++++++++ drivers/clk/at91/sckc.c | 169 ++++- drivers/clk/clk-uclass.c | 51 +- drivers/clk/clk.c | 3 + drivers/core/device.c | 22 + include/dm/device-internal.h | 9 + include/dt-bindings/clk/at91.h | 22 + include/linux/clk/at91_pmc.h | 247 ++++++ test/dm/clk_ccf.c | 57 ++ test/dm/core.c | 160 ++++ 29 files changed, 5407 insertions(+), 925 deletions(-) delete mode 100644 drivers/clk/at91/clk-generated.c create mode 100644 drivers/clk/at91/clk-generic.c delete mode 100644 drivers/clk/at91/clk-h32mx.c delete mode 100644 drivers/clk/at91/clk-plla.c delete mode 100644 drivers/clk/at91/clk-plladiv.c create mode 100644 drivers/clk/at91/clk-programmable.c create mode 100644 drivers/clk/at91/clk-sam9x60-pll.c delete mode 100644 drivers/clk/at91/clk-slow.c delete mode 100644 drivers/clk/at91/clk-usb.c create mode 100644 drivers/clk/at91/compat.c create mode 100644 drivers/clk/at91/sama7g5.c create mode 100644 include/dt-bindings/clk/at91.h create mode 100644 include/linux/clk/at91_pmc.h -- 2.7.4