|
@@ -290,10 +290,14 @@ static const struct berlin2_gate_data bg2q_gates[] __initconst = {
|
|
|
|
|
|
static void __init berlin2q_clock_setup(struct device_node *np)
|
|
static void __init berlin2q_clock_setup(struct device_node *np)
|
|
{
|
|
{
|
|
|
|
+ struct device_node *parent_np = of_get_parent(np);
|
|
const char *parent_names[9];
|
|
const char *parent_names[9];
|
|
struct clk *clk;
|
|
struct clk *clk;
|
|
int n;
|
|
int n;
|
|
|
|
|
|
|
|
+ if (of_device_is_compatible(parent_np, "syscon"))
|
|
|
|
+ np = parent_np;
|
|
|
|
+
|
|
gbase = of_iomap(np, 0);
|
|
gbase = of_iomap(np, 0);
|
|
if (!gbase) {
|
|
if (!gbase) {
|
|
pr_err("%s: Unable to map global base\n", np->full_name);
|
|
pr_err("%s: Unable to map global base\n", np->full_name);
|
|
@@ -386,3 +390,5 @@ bg2q_fail:
|
|
}
|
|
}
|
|
CLK_OF_DECLARE(berlin2q_clock, "marvell,berlin2q-chip-ctrl",
|
|
CLK_OF_DECLARE(berlin2q_clock, "marvell,berlin2q-chip-ctrl",
|
|
berlin2q_clock_setup);
|
|
berlin2q_clock_setup);
|
|
|
|
+CLK_OF_DECLARE(berlin2q_clk, "marvell,berlin2q-clk",
|
|
|
|
+ berlin2q_clock_setup);
|