pinctrl: mvebu: add additional variant for standalone CP115
authorGrzegorz Jaszczyk <jaz@semihalf.com>
Mon, 5 Aug 2019 10:16:07 +0000 (12:16 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 27 Aug 2019 07:49:22 +0000 (09:49 +0200)
With CP115 standalone modules, all MPP configuration are
possible. Handle this new possibility thanks to the new
"marvell,cp115-standalone-pinctrl" compatible property.

Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
[<miquel.raynal@bootlin.com>: mention the new compatible in the
commit log]
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20190805101607.29811-4-miquel.raynal@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/mvebu/pinctrl-armada-cp110.c

index 85ade97..17491b2 100644 (file)
@@ -32,6 +32,7 @@ enum {
        V_ARMADA_7K = BIT(0),
        V_ARMADA_8K_CPM = BIT(1),
        V_ARMADA_8K_CPS = BIT(2),
+       V_CP115_STANDALONE = BIT(3),
        V_ARMADA_7K_8K_CPM = (V_ARMADA_7K | V_ARMADA_8K_CPM),
        V_ARMADA_7K_8K_CPS = (V_ARMADA_7K | V_ARMADA_8K_CPS),
 };
@@ -614,6 +615,10 @@ static const struct of_device_id armada_cp110_pinctrl_of_match[] = {
                .compatible     = "marvell,armada-8k-cps-pinctrl",
                .data           = (void *) V_ARMADA_8K_CPS,
        },
+       {
+               .compatible     = "marvell,cp115-standalone-pinctrl",
+               .data           = (void *) V_CP115_STANDALONE,
+       },
        { },
 };
 
@@ -655,16 +660,20 @@ static int armada_cp110_pinctrl_probe(struct platform_device *pdev)
 
                switch (i) {
                case 0 ... 31:
-                       mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPS);
+                       mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPS |
+                                                        V_CP115_STANDALONE));
                        break;
                case 32 ... 38:
-                       mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM);
+                       mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM |
+                                                        V_CP115_STANDALONE));
                        break;
                case 39 ... 43:
-                       mvebu_pinctrl_assign_variant(m, V_ARMADA_8K_CPM);
+                       mvebu_pinctrl_assign_variant(m, (V_ARMADA_8K_CPM |
+                                                        V_CP115_STANDALONE));
                        break;
                case 44 ... 62:
-                       mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM);
+                       mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM |
+                                                        V_CP115_STANDALONE));
                        break;
                }
        }