
Dear Wenyou Yang,
Wenyou Yang wenyou.yang@atmel.com writes:
For the peripheral clock, provide the clock ops for the clock provider, such as spi0_clk. The .of_xlate is to get the clk->id, the .enable is to enable the spi0 peripheral clock, the .get_rate is to get the clock frequency.
The driver for periph32ck node is responsible for recursively binding its children as clk devices, not provide the clock ops.
So do the generated clock and system clock.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Acked-by: Stephen Warren swarren@nvidia.com
Changes in v3:
- Remove the unneeded wrapper functions.
- Fix typo, Invaild -> Invalid.
- Add Acked-by tag.
Changes in v2:
- For the periph32ck, periph64ck, gck, systemck nodes, they aren't the clock providers, are to house various actual clock providers, use UCLASS_MISC, instead of UCLASS_CLK.
- For *_of_xlate(), add argument check.
- Fix the implementation of the *_get_rate().
- Use documentation-wise variables for *_clk_probe().
- Remove the duplicated code, use the common functions.
drivers/clk/at91/Kconfig | 1 + drivers/clk/at91/clk-generated.c | 87 +++++++++++++++++++++++---------------- drivers/clk/at91/clk-peripheral.c | 72 ++++++++++++++++++++++---------- drivers/clk/at91/clk-system.c | 57 ++++++++++++++----------- drivers/clk/at91/pmc.c | 62 ++++++++++++++++++++++++---- drivers/clk/at91/pmc.h | 5 ++- 6 files changed, 195 insertions(+), 89 deletions(-)
applied to u-boot-atmel/master, thanks!
Best regards, Andreas Bießmann