• Damien Le Moal's avatar
    clk: Add RISC-V Canaan Kendryte K210 clock driver · c6ca7616
    Damien Le Moal authored
    Add a clock provider driver for the Canaan Kendryte K210 RISC-V SoC.
    This new driver with the compatible string "canaan,k210-clk" implements
    support for the full clock structure of the K210 SoC. Since it is
    required for the correct operation of the SoC, this driver is
    selected by default for compilation when the SOC_CANAAN option is
    selected.
    
    With this change, the k210-sysctl driver is turned into a simple
    platform driver which enables its power bus clock and triggers
    populating its child nodes. The sysctl driver retains the SOC early
    initialization code, but the implementation now relies on the new
    function k210_clk_early_init() provided by the new clk-k210 driver.
    
    The clock structure implemented and many of the coding ideas for the
    driver come from the work by Sean Anderson on the K210 support for the
    U-Boot project.
    
    Cc: Stephen Boyd <sboyd@kernel.org>
    Cc: Michael Turquette <mturquette@baylibre.com>
    Cc: linux-clk@vger.kernel.org
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    c6ca7616
k210-sysctl.c 1.85 KB