aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32/mach-at32ap/at32ap700x.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/avr32/mach-at32ap/at32ap700x.c')
-rw-r--r--arch/avr32/mach-at32ap/at32ap700x.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c
index 813b6844cdf6..0c6e02f80a31 100644
--- a/arch/avr32/mach-at32ap/at32ap700x.c
+++ b/arch/avr32/mach-at32ap/at32ap700x.c
@@ -813,7 +813,7 @@ static struct resource pio4_resource[] = {
813DEFINE_DEV(pio, 4); 813DEFINE_DEV(pio, 4);
814DEV_CLK(mck, pio4, pba, 14); 814DEV_CLK(mck, pio4, pba, 14);
815 815
816void __init at32_add_system_devices(void) 816static int __init system_device_init(void)
817{ 817{
818 platform_device_register(&at32_pm0_device); 818 platform_device_register(&at32_pm0_device);
819 platform_device_register(&at32_intc0_device); 819 platform_device_register(&at32_intc0_device);
@@ -832,7 +832,10 @@ void __init at32_add_system_devices(void)
832 platform_device_register(&pio2_device); 832 platform_device_register(&pio2_device);
833 platform_device_register(&pio3_device); 833 platform_device_register(&pio3_device);
834 platform_device_register(&pio4_device); 834 platform_device_register(&pio4_device);
835
836 return 0;
835} 837}
838core_initcall(system_device_init);
836 839
837/* -------------------------------------------------------------------- 840/* --------------------------------------------------------------------
838 * PSIF 841 * PSIF
@@ -1091,7 +1094,9 @@ at32_add_device_eth(unsigned int id, struct eth_platform_data *data)
1091 pin_mask |= (1 << 11); /* RXD2 */ 1094 pin_mask |= (1 << 11); /* RXD2 */
1092 pin_mask |= (1 << 12); /* RXD3 */ 1095 pin_mask |= (1 << 12); /* RXD3 */
1093 pin_mask |= (1 << 14); /* RXCK */ 1096 pin_mask |= (1 << 14); /* RXCK */
1097#ifndef CONFIG_BOARD_MIMC200
1094 pin_mask |= (1 << 18); /* SPD */ 1098 pin_mask |= (1 << 18); /* SPD */
1099#endif
1095 } 1100 }
1096 1101
1097 select_peripheral(PIOC, pin_mask, PERIPH_A, 0); 1102 select_peripheral(PIOC, pin_mask, PERIPH_A, 0);
@@ -1112,8 +1117,10 @@ at32_add_device_eth(unsigned int id, struct eth_platform_data *data)
1112 pin_mask |= (1 << 3); /* MDC */ 1117 pin_mask |= (1 << 3); /* MDC */
1113 pin_mask |= (1 << 2); /* MDIO */ 1118 pin_mask |= (1 << 2); /* MDIO */
1114 1119
1120#ifndef CONFIG_BOARD_MIMC200
1115 if (!data->is_rmii) 1121 if (!data->is_rmii)
1116 pin_mask |= (1 << 15); /* SPD */ 1122 pin_mask |= (1 << 15); /* SPD */
1123#endif
1117 1124
1118 select_peripheral(PIOD, pin_mask, PERIPH_B, 0); 1125 select_peripheral(PIOD, pin_mask, PERIPH_B, 0);
1119 1126
@@ -1470,7 +1477,7 @@ at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
1470 pin_mask = ATMEL_LCDC_PRI_24BIT | ATMEL_LCDC_PRI_CONTROL; 1477 pin_mask = ATMEL_LCDC_PRI_24BIT | ATMEL_LCDC_PRI_CONTROL;
1471 1478
1472 /* LCDC on port C */ 1479 /* LCDC on port C */
1473 portc_mask = (pin_mask & 0xfff80000) >> 19; 1480 portc_mask = pin_mask & 0xfff80000;
1474 select_peripheral(PIOC, portc_mask, PERIPH_A, 0); 1481 select_peripheral(PIOC, portc_mask, PERIPH_A, 0);
1475 1482
1476 /* LCDC on port D */ 1483 /* LCDC on port D */