forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/pinctrl/mvebu/pinctrl-armada-cp110.c
....@@ -1,14 +1,10 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Marvell Armada CP110 pinctrl driver based on mvebu pinctrl core
34 *
45 * Copyright (C) 2017 Marvell
56 *
67 * Hanna Hawa <hannah@marvell.com>
7
- *
8
- * This program is free software; you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation; either version 2 of the License, or
11
- * (at your option) any later version.
128 */
139
1410 #include <linux/err.h>
....@@ -36,6 +32,7 @@
3632 V_ARMADA_7K = BIT(0),
3733 V_ARMADA_8K_CPM = BIT(1),
3834 V_ARMADA_8K_CPS = BIT(2),
35
+ V_CP115_STANDALONE = BIT(3),
3936 V_ARMADA_7K_8K_CPM = (V_ARMADA_7K | V_ARMADA_8K_CPM),
4037 V_ARMADA_7K_8K_CPS = (V_ARMADA_7K | V_ARMADA_8K_CPS),
4138 };
....@@ -601,7 +598,8 @@
601598 MPP_FUNCTION(7, "uart0", "rxd"),
602599 MPP_FUNCTION(8, "uart2", "rxd"),
603600 MPP_FUNCTION(9, "sata0", "present_act"),
604
- MPP_FUNCTION(10, "ge", "mdc")),
601
+ MPP_FUNCTION(10, "ge", "mdc"),
602
+ MPP_FUNCTION(14, "sdio", "ds")),
605603 };
606604
607605 static const struct of_device_id armada_cp110_pinctrl_of_match[] = {
....@@ -616,6 +614,10 @@
616614 {
617615 .compatible = "marvell,armada-8k-cps-pinctrl",
618616 .data = (void *) V_ARMADA_8K_CPS,
617
+ },
618
+ {
619
+ .compatible = "marvell,cp115-standalone-pinctrl",
620
+ .data = (void *) V_CP115_STANDALONE,
619621 },
620622 { },
621623 };
....@@ -658,16 +660,20 @@
658660
659661 switch (i) {
660662 case 0 ... 31:
661
- mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPS);
663
+ mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPS |
664
+ V_CP115_STANDALONE));
662665 break;
663666 case 32 ... 38:
664
- mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM);
667
+ mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM |
668
+ V_CP115_STANDALONE));
665669 break;
666670 case 39 ... 43:
667
- mvebu_pinctrl_assign_variant(m, V_ARMADA_8K_CPM);
671
+ mvebu_pinctrl_assign_variant(m, (V_ARMADA_8K_CPM |
672
+ V_CP115_STANDALONE));
668673 break;
669674 case 44 ... 62:
670
- mvebu_pinctrl_assign_variant(m, V_ARMADA_7K_8K_CPM);
675
+ mvebu_pinctrl_assign_variant(m, (V_ARMADA_7K_8K_CPM |
676
+ V_CP115_STANDALONE));
671677 break;
672678 }
673679 }