示例#1
0
static void __init csb337_board_init(void)
{
	/* Ethernet */
	at91_add_device_eth(&csb337_eth_data);
	/* USB Host */
	at91_add_device_usbh();
	/* USB Device */
	at91_add_device_udc(&csb337_udc_data);
	/* Compact Flash */
	at91_set_gpio_direction(AT91_PIN_PB22, 1, 1);	/* IOIS16 */
	at91_add_device_cf(&csb337_cf_data);
	/* MMC */
	at91_add_device_mmc(&csb337_mmc_data);
}
示例#2
0
static void __init ek_board_init(void)
{
	/* Ethernet */
	at91_add_device_eth(&ek_eth_data);
	/* USB Host */
	at91_add_device_usbh();
	/* USB Device */
	at91_add_device_udc(&ek_udc_data);
	/* MMC */
	at91_set_gpio_direction(AT91_PIN_PB22, 0, 1);	/* this MMC card slot can optionally use SPI signaling (CS3). default: MMC */
	at91_add_device_mmc(&ek_mmc_data);
	/* VGA */
	ek_add_device_video();
}
static void __init kafa_board_init(void)
{
	/*        */
	at91_add_device_serial();
	/*          */
	at91_add_device_eth(&kafa_eth_data);
	/*          */
	at91_add_device_usbh(&kafa_usbh_data);
	/*            */
	at91_add_device_udc(&kafa_udc_data);
	/*     */
	at91_add_device_i2c(NULL, 0);
	/*     */
	at91_add_device_spi(NULL, 0);
}
示例#4
0
static void __init kafa_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&kafa_eth_data);
	/* USB Host */
	at91_add_device_usbh(&kafa_usbh_data);
	/* USB Device */
	at91_add_device_udc(&kafa_udc_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* SPI */
	at91_add_device_spi(NULL, 0);
}
示例#5
0
static void __init cpu9krea_board_init(void)
{
	/* NOR */
	cpu9krea_add_device_nor();
	/* Serial */
	/* DGBU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);

	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
	at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS |
		ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR |
		ATMEL_UART_DCD | ATMEL_UART_RI);

	/* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
	at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS |
		ATMEL_UART_RTS);

	/* USART2 on ttyS3. (Rx, Tx, RTS, CTS) */
	at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS |
		ATMEL_UART_RTS);

	/* USART3 on ttyS4. (Rx, Tx) */
	at91_register_uart(AT91SAM9260_ID_US3, 4, 0);

	/* USART4 on ttyS5. (Rx, Tx) */
	at91_register_uart(AT91SAM9260_ID_US4, 5, 0);

	/* USART5 on ttyS6. (Rx, Tx) */
	at91_register_uart(AT91SAM9260_ID_US5, 6, 0);
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&cpu9krea_usbh_data);
	/* USB Device */
	at91_add_device_udc(&cpu9krea_udc_data);
	/* NAND */
	cpu9krea_add_device_nand();
	/* Ethernet */
	at91_add_device_eth(&cpu9krea_macb_data);
	/* MMC */
	at91_add_device_mci(0, &cpu9krea_mci0_data);
	/* I2C */
	at91_add_device_i2c(cpu9krea_i2c_devices,
		ARRAY_SIZE(cpu9krea_i2c_devices));
	/* LEDs */
	at91_gpio_leds(cpu9krea_leds, ARRAY_SIZE(cpu9krea_leds));
	/* Push Buttons */
	cpu9krea_add_device_buttons();
}
static void __init pcontrol_g20_board_init(void)
{
	stamp9g20_board_init();
	at91_add_device_usbh(&usbh_data);
	at91_add_device_eth(&macb_data);
	at91_add_device_i2c(pcontrol_g20_i2c_devices,
		ARRAY_SIZE(pcontrol_g20_i2c_devices));
	add_device_pcontrol();
	at91_add_device_spi(pcontrol_g20_spi_devices,
		ARRAY_SIZE(pcontrol_g20_spi_devices));
	at91_add_device_udc(&pcontrol_g20_udc_data);
	at91_gpio_leds(pcontrol_g20_leds,
		ARRAY_SIZE(pcontrol_g20_leds));
	/* piggyback  A2 */
	at91_set_gpio_output(AT91_PIN_PB31, 1);
}
static void __init portuxg20_board_init(void)
{
	stamp9g20_board_init();
	/*          */
	at91_add_device_usbh(&usbh_data);
	/*            */
	at91_add_device_udc(&portuxg20_udc_data);
	/*          */
	at91_add_device_eth(&macb_data);
	/*     */
	at91_add_device_i2c(NULL, 0);
	/*     */
	at91_add_device_spi(portuxg20_spi_devices, ARRAY_SIZE(portuxg20_spi_devices));
	/*      */
	at91_gpio_leds(portuxg20_leds, ARRAY_SIZE(portuxg20_leds));
}
static void __init portuxg20_board_init(void)
{
	stamp9g20_board_init();
	/* USB Host */
	at91_add_device_usbh(&usbh_data);
	/* USB Device */
	at91_add_device_udc(&portuxg20_udc_data);
	/* Ethernet */
	at91_add_device_eth(&macb_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* SPI */
	at91_add_device_spi(portuxg20_spi_devices, ARRAY_SIZE(portuxg20_spi_devices));
	/* LEDs */
	at91_gpio_leds(portuxg20_leds, ARRAY_SIZE(portuxg20_leds));
}
static void __init gsia18s_board_init(void)
{
	stamp9g20_board_init();
	at91_add_device_usbh(&usbh_data);
	at91_add_device_udc(&udc_data);
	at91_add_device_eth(&macb_data);
	gsia18s_leds_init();
	gsia18s_pcf_leds_init();
	gsia18s_add_device_buttons();
	at91_add_device_i2c(gsia18s_i2c_devices,
				ARRAY_SIZE(gsia18s_i2c_devices));
	at91_add_device_cf(&gsia18s_cf1_data);
	at91_add_device_spi(gsia18s_spi_devices,
				ARRAY_SIZE(gsia18s_spi_devices));
	gsia18s_power_off_init();
}
示例#10
0
static void __init flexibity_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&flexibity_usbh_data);
	/* USB Device */
	at91_add_device_udc(&flexibity_udc_data);
	/* SPI */
	at91_add_device_spi(flexibity_spi_devices,
		ARRAY_SIZE(flexibity_spi_devices));
	/* MMC */
	at91_add_device_mmc(0, &flexibity_mmc_data);
	/* LEDs */
	at91_gpio_leds(flexibity_leds, ARRAY_SIZE(flexibity_leds));
}
示例#11
0
static void __init yl9200_board_init(void)
{
	/* Setup the LEDs D2=PB17 (timer), D3=PB16 (cpu) */
	at91_init_leds(AT91_PIN_PB16, AT91_PIN_PB17);

	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);

	/* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
	at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
			| ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
			| ATMEL_UART_RI);

	/* USART0 on ttyS2. (Rx & Tx only to JP3) */
	at91_register_uart(AT91RM9200_ID_US0, 2, 0);

	/* USART3 on ttyS3. (Rx, Tx, RTS - RS485 interface) */
	at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_RTS);
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&yl9200_eth_data);
	/* USB Host */
	at91_add_device_usbh(&yl9200_usbh_data);
	/* USB Device */
	at91_add_device_udc(&yl9200_udc_data);
	/* I2C */
	at91_add_device_i2c(yl9200_i2c_devices, ARRAY_SIZE(yl9200_i2c_devices));
	/* MMC */
	at91_add_device_mmc(0, &yl9200_mmc_data);
	/* NAND */
	at91_add_device_nand(&yl9200_nand_data);
	/* NOR Flash */
	platform_device_register(&yl9200_flash);
#if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
	/* SPI */
	at91_add_device_spi(yl9200_spi_devices, ARRAY_SIZE(yl9200_spi_devices));
	/* Touchscreen */
	yl9200_add_device_ts();
#endif
	/* LEDs. */
	at91_gpio_leds(yl9200_leds, ARRAY_SIZE(yl9200_leds));
	/* Push Buttons */
	yl9200_add_device_buttons();
	/* VGA */
	yl9200_add_device_video();
}
示例#12
0
static void __init gsia18s_board_init(void)
{
	/*
	 * USART0 on ttyS1 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI).
	 * Used for Internal Analog Modem.
	 */
	at91_register_uart(AT91SAM9260_ID_US0, 1,
				ATMEL_UART_CTS | ATMEL_UART_RTS |
				ATMEL_UART_DTR | ATMEL_UART_DSR |
				ATMEL_UART_DCD | ATMEL_UART_RI);
	/*
	 * USART1 on ttyS2 (Rx, Tx, CTS, RTS).
	 * Used for GPS or WiFi or Data stream.
	 */
	at91_register_uart(AT91SAM9260_ID_US1, 2,
				ATMEL_UART_CTS | ATMEL_UART_RTS);
	/*
	 * USART2 on ttyS3 (Rx, Tx, CTS, RTS).
	 * Used for External Modem.
	 */
	at91_register_uart(AT91SAM9260_ID_US2, 3,
				ATMEL_UART_CTS | ATMEL_UART_RTS);
	/*
	 * USART3 on ttyS4 (Rx, Tx, RTS).
	 * Used for RS-485.
	 */
	at91_register_uart(AT91SAM9260_ID_US3, 4, ATMEL_UART_RTS);

	/*
	 * USART4 on ttyS5 (Rx, Tx).
	 * Used for TRX433 Radio Module.
	 */
	at91_register_uart(AT91SAM9260_ID_US4, 5, 0);
	stamp9g20_board_init();
	at91_add_device_usbh(&usbh_data);
	at91_add_device_udc(&udc_data);
	at91_add_device_eth(&macb_data);
	gsia18s_leds_init();
	gsia18s_pcf_leds_init();
	gsia18s_add_device_buttons();
	at91_add_device_i2c(gsia18s_i2c_devices,
				ARRAY_SIZE(gsia18s_i2c_devices));
	at91_add_device_cf(&gsia18s_cf1_data);
	at91_add_device_spi(gsia18s_spi_devices,
				ARRAY_SIZE(gsia18s_spi_devices));
	gsia18s_power_off_init();
}
/*this is not called first , yl_9200_map_io is called first*/
static void __init yl_9200_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&yl_9200_eth_data);
	/* USB Host */
	at91_add_device_usbh(&yl_9200_usbh_data);
	/* USB Device */
	at91_add_device_udc(&yl_9200_udc_data);
	/* pullup_pin it is  actually active low, but this is not needed, driver sets it up */
	/*at91_set_multi_drive(yl_9200_udc_data.pullup_pin, 0);*/

	/* Compact Flash */
	/*at91_add_device_cf(&yl_9200_cf_data);*/

	/* I2C */
	at91_add_device_i2c(yl_9200_i2c_devices, ARRAY_SIZE(yl_9200_i2c_devices));
	/* SPI */
	/*TODO YL9200 we have 2 spi interfaces touch screen & CAN*/
	/* AT91_PIN_PA5, AT91_PIN_PA6 , are used on the  max 485 NOT SPI*/

	/*touch screen and CAN*/
	at91_add_device_spi(yl_9200_spi_devices, ARRAY_SIZE(yl_9200_spi_devices));

	/*Basically the  TS uses  PB11 & PB10 , PB11 is configured by the SPI system BP10 IS NOT USED!!*/
	/* we need this incase the board is running without a touch screen*/
	#if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
	at91_init_device_ts(); /*init the touch screen device*/
	#endif
	/* DataFlash card */
	at91_add_device_mmc(0, &yl_9200_mmc_data);
	/* NAND */
	at91_add_device_nand(&yl_9200_nand_data);
	/* NOR Flash */
	platform_device_register(&yl_9200_flash);
	/* LEDs. Note!! this does not include the led's we passed for the processor status */
	at91_gpio_leds(yl_9200_leds, ARRAY_SIZE(yl_9200_leds));
	/* VGA  */
	/*this is self registered by including the s1d13xxx chip in the kernel build*/
	yl_9200_add_device_video();
	/* Push Buttons */
	yl_9200_add_device_buttons();
	/*TODO fixup the Sounder */
//	yl_9200_add_device_sounder(yl_9200_sounder,ARRAY_SIZE(yl_9200_sounder));

}
static void __init ek_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&ek_usbh_data);
	/* USB Device */
	at91_add_device_udc(&ek_udc_data);
	/* SPI */
	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
	/* NAND */
	at91_add_device_nand(&ek_nand_data);
	/* Ethernet */
	at91_add_device_eth(&ek_macb_data);
	/* MMC */
	at91_add_device_mmc(0, &ek_mmc_data);
}
示例#15
0
static void __init dk_board_init(void)
{
	/* Setup the LEDs */
	at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2);

	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);

	/* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
	at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
			   | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
			   | ATMEL_UART_RI);
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&dk_eth_data);
	/* USB Host */
	at91_add_device_usbh(&dk_usbh_data);
	/* USB Device */
	at91_add_device_udc(&dk_udc_data);
	at91_set_multi_drive(dk_udc_data.pullup_pin, 1);	/* pullup_pin is connected to reset */
	/* Compact Flash */
	at91_add_device_cf(&dk_cf_data);
	/* I2C */
	at91_add_device_i2c(dk_i2c_devices, ARRAY_SIZE(dk_i2c_devices));
	/* SPI */
	at91_add_device_spi(dk_spi_devices, ARRAY_SIZE(dk_spi_devices));
#ifdef CONFIG_MTD_AT91_DATAFLASH_CARD
	/* DataFlash card */
	at91_set_gpio_output(AT91_PIN_PB7, 0);
#else
	/* MMC */
	at91_set_gpio_output(AT91_PIN_PB7, 1);	/* this MMC card slot can optionally use SPI signaling (CS3). */
	at91_add_device_mmc(0, &dk_mmc_data);
#endif
	/* NAND */
	at91_add_device_nand(&dk_nand_data);
	/* NOR Flash */
	platform_device_register(&dk_flash);
	/* LEDs */
	at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
	/* VGA */
//	dk_add_device_video();
}
示例#16
0
static void __init csb637_board_init(void)
{
	/* LED(s) */
	at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds));
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&csb637_eth_data);
	/* USB Host */
	at91_add_device_usbh(&csb637_usbh_data);
	/* USB Device */
	at91_add_device_udc(&csb637_udc_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* SPI */
	at91_add_device_spi(NULL, 0);
	/* NOR flash */
	platform_device_register(&csb_flash);
}
示例#17
0
static void __init cpuat91_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* LEDs. */
	at91_gpio_leds(cpuat91_leds, ARRAY_SIZE(cpuat91_leds));
	/* Ethernet */
	at91_add_device_eth(&cpuat91_eth_data);
	/* USB Host */
	at91_add_device_usbh(&cpuat91_usbh_data);
	/* USB Device */
	at91_add_device_udc(&cpuat91_udc_data);
	/* MMC */
	at91_add_device_mmc(0, &cpuat91_mmc_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* Platform devices */
	platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
}
示例#18
0
static void __init kb9202_board_init(void)
{
	
	at91_add_device_serial();
	
	at91_add_device_eth(&kb9202_eth_data);
	
	at91_add_device_usbh(&kb9202_usbh_data);
	
	at91_add_device_udc(&kb9202_udc_data);
	
	at91_add_device_mmc(0, &kb9202_mmc_data);
	
	at91_add_device_i2c(NULL, 0);
	
	at91_add_device_spi(NULL, 0);
	
	at91_add_device_nand(&kb9202_nand_data);
}
static void __init cpuat91_board_init(void)
{
	
	at91_add_device_serial();
	
	at91_gpio_leds(cpuat91_leds, ARRAY_SIZE(cpuat91_leds));
	
	at91_add_device_eth(&cpuat91_eth_data);
	
	at91_add_device_usbh(&cpuat91_usbh_data);
	
	at91_add_device_udc(&cpuat91_udc_data);
	
	at91_add_device_mmc(0, &cpuat91_mmc_data);
	
	at91_add_device_i2c(NULL, 0);
	
	platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
}
示例#20
0
static void __init kb9202_board_init(void)
{
    /* Serial */
    at91_add_device_serial();
    /* Ethernet */
    at91_add_device_eth(&kb9202_eth_data);
    /* USB Host */
    at91_add_device_usbh(&kb9202_usbh_data);
    /* USB Device */
    at91_add_device_udc(&kb9202_udc_data);
    /* MMC */
    at91_add_device_mmc(0, &kb9202_mmc_data);
    /* I2C */
    at91_add_device_i2c(NULL, 0);
    /* SPI */
    at91_add_device_spi(NULL, 0);
    /* NAND */
    at91_add_device_nand(&kb9202_nand_data);
}
示例#21
0
static void __init flexibity_board_init(void)
{
	
	at91_add_device_serial();
	
	at91_add_device_usbh(&flexibity_usbh_data);
	
	at91_add_device_udc(&flexibity_udc_data);
	
	at91_add_device_i2c(flexibity_i2c_devices,
		ARRAY_SIZE(flexibity_i2c_devices));
	
	at91_add_device_spi(flexibity_spi_devices,
		ARRAY_SIZE(flexibity_spi_devices));
	
	at91_add_device_mmc(0, &flexibity_mmc_data);
	
	at91_gpio_leds(flexibity_leds, ARRAY_SIZE(flexibity_leds));
}
示例#22
0
static void __init carmeva_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&carmeva_eth_data);
	/* USB Host */
	at91_add_device_usbh(&carmeva_usbh_data);
	/* USB Device */
	at91_add_device_udc(&carmeva_udc_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* SPI */
	at91_add_device_spi(carmeva_spi_devices, ARRAY_SIZE(carmeva_spi_devices));
	/* Compact Flash */
//	at91_add_device_cf(&carmeva_cf_data);
	/* MMC */
	at91_add_device_mmc(0, &carmeva_mmc_data);
}
static void __init ek_board_init(void)
{
	/*        */
	at91_add_device_serial();
	/*          */
	at91_add_device_usbh(&ek_usbh_data);
	/*            */
	at91_add_device_udc(&ek_udc_data);
	/*     */
	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
	/*      */
	ek_add_device_nand();
	/*          */
	at91_add_device_eth(&ek_macb_data);
	/*     */
	at91_add_device_mmc(0, &ek_mmc_data);
	/*     */
	at91_add_device_i2c(NULL, 0);
}
示例#24
0
static void __init afeb9260_board_init(void)
{
	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);

	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
	at91_register_uart(AT91SAM9260_ID_US0, 1,
			     ATMEL_UART_CTS | ATMEL_UART_RTS
			   | ATMEL_UART_DTR | ATMEL_UART_DSR
			   | ATMEL_UART_DCD | ATMEL_UART_RI);

	/* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
	at91_register_uart(AT91SAM9260_ID_US1, 2,
			ATMEL_UART_CTS | ATMEL_UART_RTS);
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&afeb9260_usbh_data);
	/* USB Device */
	at91_add_device_udc(&afeb9260_udc_data);
	/* SPI */
	at91_add_device_spi(afeb9260_spi_devices,
			ARRAY_SIZE(afeb9260_spi_devices));
	/* NAND */
	at91_add_device_nand(&afeb9260_nand_data);
	/* Ethernet */
	at91_add_device_eth(&afeb9260_macb_data);

	/* Standard function's pin assignments are not
	 * appropriate for us and generic code provide
	 * no API to configure these pins any other way */
	at91_set_B_periph(AT91_PIN_PA10, 0);	/* ETX2 */
	at91_set_B_periph(AT91_PIN_PA11, 0);	/* ETX3 */
	/* MMC */
	at91_add_device_mci(0, &afeb9260_mci0_data);
	/* I2C */
	at91_add_device_i2c(afeb9260_i2c_devices,
			ARRAY_SIZE(afeb9260_i2c_devices));
	/* Audio */
	at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
	/* IDE */
	at91_add_device_cf(&afeb9260_cf_data);
}
static void __init ek_board_init(void)
{
	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);

	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
	at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
			   | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
			   | ATMEL_UART_RI);

	/* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
	at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&ek_usbh_data);
	/* USB Device */
	at91_add_device_udc(&ek_udc_data);
	/* SPI */
	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
	/* NAND */
	ek_add_device_nand();
	/* Ethernet */
	ek_add_device_macb();
	/* Regulators */
	ek_add_regulators();
	/* MMC */
	ek_add_device_mmc();
	/* I2C */
	at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
	/* LEDs */
	ek_add_device_gpio_leds();
	/* Push Buttons */
	ek_add_device_buttons();
	/* ADCs */
	at91_add_device_adc(&ek_adc_data);
	/* PCK0 provides MCLK to the WM8731 */
	at91_set_B_periph(AT91_PIN_PC1, 0);
	/* SSC (for WM8731) */
	at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
	ek_add_device_audio();
}
示例#26
0
static void __init eb9200_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&eb9200_eth_data);
	/* USB Host */
	at91_add_device_usbh(&eb9200_usbh_data);
	/* USB Device */
	at91_add_device_udc(&eb9200_udc_data);
	/* I2C */
	at91_add_device_i2c();
	/* Compact Flash */
	at91_add_device_cf(&eb9200_cf_data);
	/* SPI */
	at91_add_device_spi(NULL, 0);
	/* MMC */
	/* only supports 1 or 4 bit interface, not wired through to SPI */
	at91_add_device_mmc(&eb9200_mmc_data);
}
示例#27
0
static void __init bf_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&bf_eth_data);
	/* USB Host */
	at91_add_device_usbh(&bf_usbh_data);
	/* USB Device */
	at91_add_device_udc(&bf_udc_data);
	at91_set_multi_drive(bf_udc_data.pullup_pin, 1);	/* pullup_pin is connected to reset */
	/* I2C */
	at91_add_device_i2c(bf_i2c_devices,ARRAY_SIZE(bf_i2c_devices));
	/* SPI */
	at91_add_device_spi(bf_spi_devices, ARRAY_SIZE(bf_spi_devices));

	/* MMC */
	at91_set_gpio_output(AT91_PIN_PB7, 1);	/* this MMC card slot can optionally use SPI signaling (CS3). */
	at91_add_device_mmc(0, &bf_mmc_data);
}
示例#28
0
static void __init ek_board_init(void)
{
	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);
	at91_add_device_serial();

	if (cpu_is_at91sam9g10())
		ek_lcdc_data.lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB;

	/* USB Host */
	at91_add_device_usbh(&ek_usbh_data);
	/* USB Device */
	at91_add_device_udc(&ek_udc_data);
	/* I2C */
	at91_add_device_i2c(NULL, 0);
	/* NAND */
	ek_add_device_nand();
	/* DM9000 ethernet */
	ek_add_device_dm9000();

	/* spi0 and mmc/sd share the same PIO pins */
#if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
	/* SPI */
	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
	/* Touchscreen */
	ek_add_device_ts();
	/* SSC (to AT73C213) */
	at73c213_set_clk(&at73c213_data);
	at91_add_device_ssc(AT91SAM9261_ID_SSC1, ATMEL_SSC_TX);
#else
	/* MMC */
	at91_add_device_mci(0, &mci0_data);
#endif
	/* LCD Controller */
	at91_add_device_lcdc(&ek_lcdc_data);
	/* Push Buttons */
	ek_add_device_buttons();
	/* LEDs */
	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
}
static void __init flexibity_board_init(void)
{
	/* Serial */
	/* DBGU on ttyS0. (Rx & Tx only) */
	at91_register_uart(0, 0, 0);
	at91_add_device_serial();
	/* USB Host */
	at91_add_device_usbh(&flexibity_usbh_data);
	/* USB Device */
	at91_add_device_udc(&flexibity_udc_data);
	/* I2C */
	at91_add_device_i2c(flexibity_i2c_devices,
		ARRAY_SIZE(flexibity_i2c_devices));
	/* SPI */
	at91_add_device_spi(flexibity_spi_devices,
		ARRAY_SIZE(flexibity_spi_devices));
	/* MMC */
	at91_add_device_mci(0, &flexibity_mci0_data);
	/* LEDs */
	at91_gpio_leds(flexibity_leds, ARRAY_SIZE(flexibity_leds));
}
static void __init carmeva_board_init(void)
{
	/*        */
	at91_add_device_serial();
	/*          */
	at91_add_device_eth(&carmeva_eth_data);
	/*          */
	at91_add_device_usbh(&carmeva_usbh_data);
	/*            */
	at91_add_device_udc(&carmeva_udc_data);
	/*     */
	at91_add_device_i2c(NULL, 0);
	/*     */
	at91_add_device_spi(carmeva_spi_devices, ARRAY_SIZE(carmeva_spi_devices));
	/*               */
//                                      
	/*     */
	at91_add_device_mmc(0, &carmeva_mmc_data);
	/*      */
	at91_gpio_leds(carmeva_leds, ARRAY_SIZE(carmeva_leds));
}