aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorNobuhiro Iwamatsu <iwamatsu@nigauri.org>2012-12-22 21:34:37 -0500
committerArnd Bergmann <arnd@arndb.de>2013-02-28 12:57:11 -0500
commit50ab9554861a8e1473a16ca80cf481fa2ee0e8c9 (patch)
tree8285123c71185b67835b79ebc50b203cc9b2ea16 /arch/arm
parent92904699173d237c8e907ef7e4ef20a3dff577a4 (diff)
ARM: Kirkwood: Convert openblocks A6 board to pinctrl
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/kirkwood-openblocks_a6.dts116
-rw-r--r--arch/arm/mach-kirkwood/board-openblocks_a6.c44
2 files changed, 116 insertions, 44 deletions
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
index 49d3d74d4d38..ede7fe0d7a87 100644
--- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
+++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
@@ -75,6 +75,122 @@
75 reg = <0x30>; 75 reg = <0x30>;
76 }; 76 };
77 }; 77 };
78
79 pinctrl: pinctrl@10000 {
80 pinctrl-0 = < &pmx_nand &pmx_uart0
81 &pmx_uart1 &pmx_twsi1
82 &pmx_dip_sw0 &pmx_dip_sw1
83 &pmx_dip_sw2 &pmx_dip_sw3
84 &pmx_gpio_0 &pmx_gpio_1
85 &pmx_gpio_2 &pmx_gpio_3
86 &pmx_gpio_4 &pmx_gpio_5
87 &pmx_gpio_6 &pmx_gpio_7
88 &pmx_led_red &pmx_led_green
89 &pmx_led_yellow >;
90 pinctrl-names = "default";
91
92 pmx_uart0: pmx-uart0 {
93 marvell,pins = "mpp10", "mpp11", "mpp15",
94 "mpp16";
95 marvell,function = "uart0";
96 };
97
98 pmx_uart1: pmx-uart1 {
99 marvell,pins = "mpp13", "mpp14", "mpp8",
100 "mpp9";
101 marvell,function = "uart1";
102 };
103
104 pmx_sysrst: pmx-sysrst {
105 marvell,pins = "mpp6";
106 marvell,function = "sysrst";
107 };
108
109 pmx_dip_sw0: pmx-dip-sw0 {
110 marvell,pins = "mpp20";
111 marvell,function = "gpio";
112 };
113
114 pmx_dip_sw1: pmx-dip-sw1 {
115 marvell,pins = "mpp21";
116 marvell,function = "gpio";
117 };
118
119 pmx_dip_sw2: pmx-dip-sw2 {
120 marvell,pins = "mpp22";
121 marvell,function = "gpio";
122 };
123
124 pmx_dip_sw3: pmx-dip-sw3 {
125 marvell,pins = "mpp23";
126 marvell,function = "gpio";
127 };
128
129 pmx_gpio_0: pmx-gpio-0 {
130 marvell,pins = "mpp24";
131 marvell,function = "gpio";
132 };
133
134 pmx_gpio_1: pmx-gpio-1 {
135 marvell,pins = "mpp25";
136 marvell,function = "gpio";
137 };
138
139 pmx_gpio_2: pmx-gpio-2 {
140 marvell,pins = "mpp26";
141 marvell,function = "gpio";
142 };
143
144 pmx_gpio_3: pmx-gpio-3 {
145 marvell,pins = "mpp27";
146 marvell,function = "gpio";
147 };
148
149 pmx_gpio_4: pmx-gpio-4 {
150 marvell,pins = "mpp28";
151 marvell,function = "gpio";
152 };
153
154 pmx_gpio_5: pmx-gpio-5 {
155 marvell,pins = "mpp29";
156 marvell,function = "gpio";
157 };
158
159 pmx_gpio_6: pmx-gpio-6 {
160 marvell,pins = "mpp30";
161 marvell,function = "gpio";
162 };
163
164 pmx_gpio_7: pmx-gpio-7 {
165 marvell,pins = "mpp31";
166 marvell,function = "gpio";
167 };
168
169 pmx_gpio_init: pmx-init {
170 marvell,pins = "mpp38";
171 marvell,function = "gpio";
172 };
173
174 pmx_usb_oc: pmx-usb-oc {
175 marvell,pins = "mpp39";
176 marvell,function = "gpio";
177 };
178
179 pmx_led_red: pmx-led-red {
180 marvell,pins = "mpp41";
181 marvell,function = "gpio";
182 };
183
184 pmx_led_green: pmx-led-green {
185 marvell,pins = "mpp42";
186 marvell,function = "gpio";
187 };
188
189 pmx_led_yellow: pmx-led-yellow {
190 marvell,pins = "mpp43";
191 marvell,function = "gpio";
192 };
193 };
78 }; 194 };
79 195
80 gpio-leds { 196 gpio-leds {
diff --git a/arch/arm/mach-kirkwood/board-openblocks_a6.c b/arch/arm/mach-kirkwood/board-openblocks_a6.c
index 815fc6451d52..b11d8fdeca93 100644
--- a/arch/arm/mach-kirkwood/board-openblocks_a6.c
+++ b/arch/arm/mach-kirkwood/board-openblocks_a6.c
@@ -11,60 +11,16 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/mv643xx_eth.h> 13#include <linux/mv643xx_eth.h>
14#include <linux/clk.h>
15#include <linux/clk-private.h>
16#include "common.h" 14#include "common.h"
17#include "mpp.h"
18 15
19static struct mv643xx_eth_platform_data openblocks_ge00_data = { 16static struct mv643xx_eth_platform_data openblocks_ge00_data = {
20 .phy_addr = MV643XX_ETH_PHY_ADDR(0), 17 .phy_addr = MV643XX_ETH_PHY_ADDR(0),
21}; 18};
22 19
23static unsigned int openblocks_a6_mpp_config[] __initdata = {
24 MPP0_NF_IO2,
25 MPP1_NF_IO3,
26 MPP2_NF_IO4,
27 MPP3_NF_IO5,
28 MPP4_NF_IO6,
29 MPP5_NF_IO7,
30 MPP6_SYSRST_OUTn,
31 MPP8_UART1_RTS,
32 MPP9_UART1_CTS,
33 MPP10_UART0_TXD,
34 MPP11_UART0_RXD,
35 MPP13_UART1_TXD,
36 MPP14_UART1_RXD,
37 MPP15_UART0_RTS,
38 MPP16_UART0_CTS,
39 MPP18_NF_IO0,
40 MPP19_NF_IO1,
41 MPP20_GPIO, /* DIP SW0 */
42 MPP21_GPIO, /* DIP SW1 */
43 MPP22_GPIO, /* DIP SW2 */
44 MPP23_GPIO, /* DIP SW3 */
45 MPP24_GPIO, /* GPIO 0 */
46 MPP25_GPIO, /* GPIO 1 */
47 MPP26_GPIO, /* GPIO 2 */
48 MPP27_GPIO, /* GPIO 3 */
49 MPP28_GPIO, /* GPIO 4 */
50 MPP29_GPIO, /* GPIO 5 */
51 MPP30_GPIO, /* GPIO 6 */
52 MPP31_GPIO, /* GPIO 7 */
53 MPP36_TW1_SDA,
54 MPP37_TW1_SCK,
55 MPP38_GPIO, /* INIT */
56 MPP39_GPIO, /* USB OC */
57 MPP41_GPIO, /* LED: Red */
58 MPP42_GPIO, /* LED: Green */
59 MPP43_GPIO, /* LED: Yellow */
60 0,
61};
62
63void __init openblocks_a6_init(void) 20void __init openblocks_a6_init(void)
64{ 21{
65 /* 22 /*
66 * Basic setup. Needs to be called early. 23 * Basic setup. Needs to be called early.
67 */ 24 */
68 kirkwood_mpp_conf(openblocks_a6_mpp_config);
69 kirkwood_ge00_init(&openblocks_ge00_data); 25 kirkwood_ge00_init(&openblocks_ge00_data);
70} 26}