diff options
Diffstat (limited to 'arch/arm/mach-at91/board-snapper9260.c')
| -rw-r--r-- | arch/arm/mach-at91/board-snapper9260.c | 74 | 
1 files changed, 38 insertions, 36 deletions
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c index 0a99b3cedd7..1b870e6def0 100644 --- a/arch/arm/mach-at91/board-snapper9260.c +++ b/arch/arm/mach-at91/board-snapper9260.c @@ -4,7 +4,7 @@   *  Copyright (C) 2010 Bluewater System Ltd   *   * Author: Andre Renaud <andre@bluewatersys.com> - * Author: Ryan Mallon  <ryan@bluewatersys.com> + * Author: Ryan Mallon   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by @@ -26,51 +26,42 @@  #include <linux/gpio.h>  #include <linux/platform_device.h>  #include <linux/spi/spi.h> -#include <linux/i2c/pca953x.h> +#include <linux/platform_data/pca953x.h>  #include <asm/mach-types.h>  #include <asm/mach/arch.h>  #include <mach/hardware.h> -#include <mach/board.h>  #include <mach/at91sam9_smc.h> +#include "at91_aic.h" +#include "board.h"  #include "sam9_smc.h"  #include "generic.h" +#include "gpio.h"  #define SNAPPER9260_IO_EXP_GPIO(x)	(NR_BUILTIN_GPIO + (x)) -static void __init snapper9260_map_io(void) +static void __init snapper9260_init_early(void)  { -	at91sam9260_initialize(18432000); - -	/* Debug on ttyS0 */ -	at91_register_uart(0, 0, 0); -	at91_set_serial_console(0); - -	at91_register_uart(AT91SAM9260_ID_US0, 1, -			   ATMEL_UART_CTS | ATMEL_UART_RTS); -	at91_register_uart(AT91SAM9260_ID_US1, 2, -			   ATMEL_UART_CTS | ATMEL_UART_RTS); -	at91_register_uart(AT91SAM9260_ID_US2, 3, 0); -} - -static void __init snapper9260_init_irq(void) -{ -	at91sam9260_init_interrupts(NULL); +	at91_initialize(18432000);  }  static struct at91_usbh_data __initdata snapper9260_usbh_data = {  	.ports		= 2, +	.vbus_pin	= {-EINVAL, -EINVAL}, +	.overcurrent_pin= {-EINVAL, -EINVAL},  };  static struct at91_udc_data __initdata snapper9260_udc_data = {  	.vbus_pin		= SNAPPER9260_IO_EXP_GPIO(5),  	.vbus_active_low	= 1,  	.vbus_polled		= 1, +	.pullup_pin		= -EINVAL,  }; -static struct at91_eth_data snapper9260_macb_data = { +static struct macb_platform_data snapper9260_macb_data = { +	.phy_irq_pin	= -EINVAL,  	.is_rmii	= 1,  }; @@ -102,19 +93,16 @@ static struct mtd_partition __initdata snapper9260_nand_partitions[] = {  	},  }; -static struct mtd_partition * __init -snapper9260_nand_partition_info(int size, int *num_partitions) -{ -	*num_partitions = ARRAY_SIZE(snapper9260_nand_partitions); -	return snapper9260_nand_partitions; -} -  static struct atmel_nand_data __initdata snapper9260_nand_data = {  	.ale		= 21,  	.cle		= 22,  	.rdy_pin	= AT91_PIN_PC13, -	.partition_info	= snapper9260_nand_partition_info, +	.parts		= snapper9260_nand_partitions, +	.num_parts	= ARRAY_SIZE(snapper9260_nand_partitions),  	.bus_width_16	= 0, +	.enable_pin	= -EINVAL, +	.det_pin	= -EINVAL, +	.ecc_mode	= NAND_ECC_SOFT,  };  static struct sam9_smc_config __initdata snapper9260_nand_smc_config = { @@ -150,16 +138,17 @@ static struct i2c_board_info __initdata snapper9260_i2c_devices[] = {  		/* Audio codec */  		I2C_BOARD_INFO("tlv320aic23", 0x1a),  	}, -	{ +}; + +static struct i2c_board_info __initdata snapper9260_i2c_isl1208 = {  		/* RTC */  		I2C_BOARD_INFO("isl1208", 0x6f), -	},  };  static void __init snapper9260_add_device_nand(void)  {  	at91_set_A_periph(AT91_PIN_PC14, 0); -	sam9_smc_configure(3, &snapper9260_nand_smc_config); +	sam9_smc_configure(0, 3, &snapper9260_nand_smc_config);  	at91_add_device_nand(&snapper9260_nand_data);  } @@ -167,6 +156,18 @@ static void __init snapper9260_board_init(void)  {  	at91_add_device_i2c(snapper9260_i2c_devices,  			    ARRAY_SIZE(snapper9260_i2c_devices)); + +	snapper9260_i2c_isl1208.irq = gpio_to_irq(AT91_PIN_PA31); +	i2c_register_board_info(0, &snapper9260_i2c_isl1208, 1); + +	/* Debug on ttyS0 */ +	at91_register_uart(0, 0, 0); + +	at91_register_uart(AT91SAM9260_ID_US0, 1, +			   ATMEL_UART_CTS | ATMEL_UART_RTS); +	at91_register_uart(AT91SAM9260_ID_US1, 2, +			   ATMEL_UART_CTS | ATMEL_UART_RTS); +	at91_register_uart(AT91SAM9260_ID_US2, 3, 0);  	at91_add_device_serial();  	at91_add_device_usbh(&snapper9260_usbh_data);  	at91_add_device_udc(&snapper9260_udc_data); @@ -177,10 +178,11 @@ static void __init snapper9260_board_init(void)  }  MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module") -	.boot_params	= AT91_SDRAM_BASE + 0x100, -	.timer		= &at91sam926x_timer, -	.map_io		= snapper9260_map_io, -	.init_irq	= snapper9260_init_irq, +	.init_time	= at91sam926x_pit_init, +	.map_io		= at91_map_io, +	.handle_irq	= at91_aic_handle_irq, +	.init_early	= snapper9260_init_early, +	.init_irq	= at91_init_irq_default,  	.init_machine	= snapper9260_board_init,  MACHINE_END  | 
