summaryrefslogtreecommitdiffstats
path: root/drivers/clk/socfpga/stratix10-clk.h
diff options
context:
space:
mode:
authorDinh Nguyen <dinguyen@kernel.org>2021-02-12 08:30:59 -0600
committerStephen Boyd <sboyd@kernel.org>2021-02-12 13:04:58 -0800
commita0f9819cbe995245477a09d4ca168a24f8e76583 (patch)
treec68aff8439dcf14ef346c9e18348fa7728231f7b /drivers/clk/socfpga/stratix10-clk.h
parent2bea59d3888bbf1eeee29b8beddb264df4f97ff7 (diff)
downloadlinux-stable-a0f9819cbe995245477a09d4ca168a24f8e76583.tar.gz
linux-stable-a0f9819cbe995245477a09d4ca168a24f8e76583.tar.bz2
linux-stable-a0f9819cbe995245477a09d4ca168a24f8e76583.zip
clk: socfpga: agilex: add clock driver for eASIC N5X platform
Add support for Intel's eASIC N5X platform. The clock manager driver for the N5X is very similar to the Agilex platform, we can re-use most of the Agilex clock driver. This patch makes the necessary changes for the driver to differentiate between the Agilex and the N5X platforms. Signed-off-by: Dinh Nguyen <dinguyen@kernel.org> Link: https://lore.kernel.org/r/20210212143059.478554-2-dinguyen@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/socfpga/stratix10-clk.h')
-rw-r--r--drivers/clk/socfpga/stratix10-clk.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/clk/socfpga/stratix10-clk.h b/drivers/clk/socfpga/stratix10-clk.h
index f9d5d724c694..420deed677ce 100644
--- a/drivers/clk/socfpga/stratix10-clk.h
+++ b/drivers/clk/socfpga/stratix10-clk.h
@@ -30,6 +30,17 @@ struct stratix10_perip_c_clock {
unsigned long offset;
};
+struct n5x_perip_c_clock {
+ unsigned int id;
+ const char *name;
+ const char *parent_name;
+ const char *const *parent_names;
+ u8 num_parents;
+ unsigned long flags;
+ unsigned long offset;
+ unsigned long shift;
+};
+
struct stratix10_perip_cnt_clock {
unsigned int id;
const char *name;
@@ -64,8 +75,12 @@ struct clk *s10_register_pll(const struct stratix10_pll_clock *,
void __iomem *);
struct clk *agilex_register_pll(const struct stratix10_pll_clock *,
void __iomem *);
+struct clk *n5x_register_pll(const struct stratix10_pll_clock *clks,
+ void __iomem *reg);
struct clk *s10_register_periph(const struct stratix10_perip_c_clock *,
- void __iomem *);
+ void __iomem *reg);
+struct clk *n5x_register_periph(const struct n5x_perip_c_clock *clks,
+ void __iomem *reg);
struct clk *s10_register_cnt_periph(const struct stratix10_perip_cnt_clock *,
void __iomem *);
struct clk *s10_register_gate(const struct stratix10_gate_clock *,