aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100/generic.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-03-25 18:56:30 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-03-25 18:57:10 -0400
commit7256ecc2b7b91b4212ccc5511cb12254bdf806d0 (patch)
tree1a39b3de03cfc92c5b5dedfb01174d17b49df18a /arch/arm/mach-sa1100/generic.c
parent18bbff9f679cd470db66402fdb9c577b34324183 (diff)
parent6ed3e2acc7995625625592abe8cd3383c34a471b (diff)
Merge branch 'sa11x0-mcp' into sa11x0
Conflicts: arch/arm/mach-sa1100/assabet.c arch/arm/mach-sa1100/collie.c arch/arm/mach-sa1100/generic.c arch/arm/mach-sa1100/lart.c arch/arm/mach-sa1100/shannon.c
Diffstat (limited to 'arch/arm/mach-sa1100/generic.c')
-rw-r--r--arch/arm/mach-sa1100/generic.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
index 0296d69622ac..97e9bdf7f297 100644
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -195,7 +195,8 @@ static struct platform_device sa11x0uart3_device = {
195 195
196static struct resource sa11x0mcp_resources[] = { 196static struct resource sa11x0mcp_resources[] = {
197 [0] = DEFINE_RES_MEM(__PREG(Ser4MCCR0), SZ_64K), 197 [0] = DEFINE_RES_MEM(__PREG(Ser4MCCR0), SZ_64K),
198 [1] = DEFINE_RES_IRQ(IRQ_Ser4MCP), 198 [1] = DEFINE_RES_MEM(__PREG(Ser4MCCR1), 4),
199 [2] = DEFINE_RES_IRQ(IRQ_Ser4MCP),
199}; 200};
200 201
201static u64 sa11x0mcp_dma_mask = 0xffffffffUL; 202static u64 sa11x0mcp_dma_mask = 0xffffffffUL;
@@ -211,6 +212,16 @@ static struct platform_device sa11x0mcp_device = {
211 .resource = sa11x0mcp_resources, 212 .resource = sa11x0mcp_resources,
212}; 213};
213 214
215void __init sa11x0_ppc_configure_mcp(void)
216{
217 /* Setup the PPC unit for the MCP */
218 PPDR &= ~PPC_RXD4;
219 PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM;
220 PSDR |= PPC_RXD4;
221 PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM);
222 PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM);
223}
224
214void sa11x0_register_mcp(struct mcp_plat_data *data) 225void sa11x0_register_mcp(struct mcp_plat_data *data)
215{ 226{
216 sa11x0_register_device(&sa11x0mcp_device, data); 227 sa11x0_register_device(&sa11x0mcp_device, data);