clk: mmp2: Check for MMP3
authorLubomir Rintel <lkundrak@v3.sk>
Mon, 9 Mar 2020 19:42:44 +0000 (20:42 +0100)
committerStephen Boyd <sboyd@kernel.org>
Sat, 21 Mar 2020 01:19:32 +0000 (18:19 -0700)
The MMP3's are similar enough to MMP2, but there are differencies, such
are more clocks available on the newer model. We want to tell which
platform are we on.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Link: https://lkml.kernel.org/r/20200309194254.29009-8-lkundrak@v3.sk
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/mmp/clk-of-mmp2.c

index 251d8d0e78abb20bc88f6b6810947f00ca03f911..7594a8280b93a21717737b764767dfc22577532a 100644 (file)
 #define MPMU_UART_PLL  0x14
 #define MPMU_PLL2_CR   0x34
 
+enum mmp2_clk_model {
+       CLK_MODEL_MMP2,
+       CLK_MODEL_MMP3,
+};
+
 struct mmp2_clk_unit {
        struct mmp_clk_unit unit;
+       enum mmp2_clk_model model;
        void __iomem *mpmu_base;
        void __iomem *apmu_base;
        void __iomem *apbc_base;
@@ -326,6 +332,11 @@ static void __init mmp2_clk_init(struct device_node *np)
        if (!pxa_unit)
                return;
 
+       if (of_device_is_compatible(np, "marvell,mmp3-clock"))
+               pxa_unit->model = CLK_MODEL_MMP3;
+       else
+               pxa_unit->model = CLK_MODEL_MMP2;
+
        pxa_unit->mpmu_base = of_iomap(np, 0);
        if (!pxa_unit->mpmu_base) {
                pr_err("failed to map mpmu registers\n");
@@ -365,3 +376,4 @@ free_memory:
 }
 
 CLK_OF_DECLARE(mmp2_clk, "marvell,mmp2-clock", mmp2_clk_init);
+CLK_OF_DECLARE(mmp3_clk, "marvell,mmp3-clock", mmp2_clk_init);