.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * Marvell Armada CP110 pinctrl driver based on mvebu pinctrl core |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2017 Marvell |
---|
5 | 6 | * |
---|
6 | 7 | * 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. |
---|
12 | 8 | */ |
---|
13 | 9 | |
---|
14 | 10 | #include <linux/err.h> |
---|
.. | .. |
---|
36 | 32 | V_ARMADA_7K = BIT(0), |
---|
37 | 33 | V_ARMADA_8K_CPM = BIT(1), |
---|
38 | 34 | V_ARMADA_8K_CPS = BIT(2), |
---|
| 35 | + V_CP115_STANDALONE = BIT(3), |
---|
39 | 36 | V_ARMADA_7K_8K_CPM = (V_ARMADA_7K | V_ARMADA_8K_CPM), |
---|
40 | 37 | V_ARMADA_7K_8K_CPS = (V_ARMADA_7K | V_ARMADA_8K_CPS), |
---|
41 | 38 | }; |
---|
.. | .. |
---|
601 | 598 | MPP_FUNCTION(7, "uart0", "rxd"), |
---|
602 | 599 | MPP_FUNCTION(8, "uart2", "rxd"), |
---|
603 | 600 | MPP_FUNCTION(9, "sata0", "present_act"), |
---|
604 | | - MPP_FUNCTION(10, "ge", "mdc")), |
---|
| 601 | + MPP_FUNCTION(10, "ge", "mdc"), |
---|
| 602 | + MPP_FUNCTION(14, "sdio", "ds")), |
---|
605 | 603 | }; |
---|
606 | 604 | |
---|
607 | 605 | static const struct of_device_id armada_cp110_pinctrl_of_match[] = { |
---|
.. | .. |
---|
616 | 614 | { |
---|
617 | 615 | .compatible = "marvell,armada-8k-cps-pinctrl", |
---|
618 | 616 | .data = (void *) V_ARMADA_8K_CPS, |
---|
| 617 | + }, |
---|
| 618 | + { |
---|
| 619 | + .compatible = "marvell,cp115-standalone-pinctrl", |
---|
| 620 | + .data = (void *) V_CP115_STANDALONE, |
---|
619 | 621 | }, |
---|
620 | 622 | { }, |
---|
621 | 623 | }; |
---|
.. | .. |
---|
658 | 660 | |
---|
659 | 661 | switch (i) { |
---|
660 | 662 | 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)); |
---|
662 | 665 | break; |
---|
663 | 666 | 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)); |
---|
665 | 669 | break; |
---|
666 | 670 | 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)); |
---|
668 | 673 | break; |
---|
669 | 674 | 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)); |
---|
671 | 677 | break; |
---|
672 | 678 | } |
---|
673 | 679 | } |
---|