static void __init csb337_board_init(void)
{
	/*        */
	at91_add_device_serial();
	/*          */
	at91_add_device_eth(&csb337_eth_data);
	/*          */
	at91_add_device_usbh(&csb337_usbh_data);
	/*            */
	at91_add_device_udc(&csb337_udc_data);
	/*     */
	at91_add_device_i2c(csb337_i2c_devices, ARRAY_SIZE(csb337_i2c_devices));
	/*               */
	at91_set_gpio_input(AT91_PIN_PB22, 1);		/*        */
	at91_add_device_cf(&csb337_cf_data);
	/*     */
	at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices));
	/*     */
	at91_add_device_mmc(0, &csb337_mmc_data);
	/*           */
	platform_device_register(&csb_flash);
	/*      */
	at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds));
	/*                    */
	csb300_add_device_buttons();
}
Пример #2
0
static void __init dk_board_init(void)
{
	/* Serial */
	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();
}
Пример #3
0
static void __init csb337_board_init(void)
{
	/* Serial */
	at91_add_device_serial();
	/* Ethernet */
	at91_add_device_eth(&csb337_eth_data);
	/* USB Host */
	at91_add_device_usbh(&csb337_usbh_data);
	/* USB Device */
	at91_add_device_udc(&csb337_udc_data);
	/* I2C */
	at91_add_device_i2c(csb337_i2c_devices, ARRAY_SIZE(csb337_i2c_devices));
	/* Compact Flash */
	at91_set_gpio_input(AT91_PIN_PB22, 1);		/* IOIS16 */
	at91_add_device_cf(&csb337_cf_data);
	/* SPI */
	at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices));
	/* MMC */
	at91_add_device_mmc(0, &csb337_mmc_data);
	/* NOR flash */
	platform_device_register(&csb_flash);
	/* LEDs */
	at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds));
	/* Switches on CSB300 */
	csb300_add_device_buttons();
}
static void __init afeb9260_board_init(void)
{
	/* Serial */
	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_mmc(0, &afeb9260_mmc_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);
}
Пример #5
0
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 */
	ek_add_device_nand();
	/* Ethernet */
	at91_add_device_eth(&ek_macb_data);
	/* MMC */
	at91_add_device_mmc(0, &ek_mmc_data);
	/* I2C */
	at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
	/* Compact Flash */
	at91_add_device_cf(&ek_cf_data);
	/* SSC (to AT73C213) */
	at73c213_set_clk(&at73c213_data);
	at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
	/* LEDs */
	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
	/* Push Buttons */
	ek_add_device_buttons();
	/* shutdown controller, wakeup button (5 msec low) */
	at91_sys_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
				| AT91_SHDW_RTTWKEN);
}
Пример #6
0
/*
static char tft_type = 's';

static int __init ek_tft_setup(char *str)
{
    tft_type = str[0];
    return 1;
}

__setup("tft=", ek_tft_setup);
*/
static void __init ek_board_init(void)
{/*
	int default_display = 0;
	switch (tft_type) {
    case 's': // small or production 
        default_display = 0;
        break;
    case 'm': // middle 
        default_display = 1;
        break;
    case 'b': // big 
    default:
        default_display = 2;
        break;
    }
    ek_fb_set_platdata(default_display);*/
	/* Serial */
	at91_add_device_serial();
	/* USB HS Host */
	at91_add_device_usbh_ohci(&ek_usbh_hs_data);
	at91_add_device_usbh_ehci(&ek_usbh_hs_data);
	/* USB HS Device */
	at91_add_device_usba(&ek_usba_udc_data);	
	/* MMC */
	#if 0
	at91_add_device_mci(0, &mci0_data);
	at91_add_device_mci(1, &mci1_data);
	#endif
	/* Ethernet */
	at91_add_device_eth(&ek_macb_data);
	#if 1
	/* DM9000 ethernet */
	ek_add_device_dm9000();
	#endif
	/* NAND */
	ek_add_device_nand();
	/* SPI */
	at91_add_device_spi(ek_spi0_devices, ARRAY_SIZE(ek_spi0_devices));
	/* I2C */
	at91_add_device_i2c(0, ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
	/* LCD Controller */
	//at91_add_device_lcdc(&ek_lcdc_data);
	/* Touch Screen */
	//at91_add_device_tsadcc(&ek_tsadcc_data);
	/* Push Buttons */
	ek_add_device_buttons();
	/* AC97 */
	//at91_add_device_ac97(&ek_ac97_data);
	/* LEDs */
	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
	at91_pwm_leds(ek_pwm_led, ARRAY_SIZE(ek_pwm_led));
	#if 0
	/* CF */
	at91_add_device_cf(&at91sam9g45ek_cf_data);
	#endif
}
Пример #7
0
static void __init csb437tl_board_init(void)
{
        /* activate the LED */
        at91_set_gpio_direction(LED, 0, 1);

#if (CONFIG_MACH_CSB437TL_REV == 4)
        /* power up vcc5 */
        at91_set_gpio_direction(AT91_PIN_PB0, 0, 1);
#endif

        /* power up USBH ports */
        /* TODO: let USBH controller manage USB power */
#if (CONFIG_MACH_CSB437TL_REV == 2)
        /* the P2 uses active-low USBHVCC switches */
        at91_set_gpio_direction(USBHVCC0, 0, 0);
        at91_set_gpio_direction(USBHVCC1, 0, 0);
#else
        at91_set_gpio_direction(USBHVCC0, 0, 1);
        at91_set_gpio_direction(USBHVCC1, 0, 1);
#endif
        
#if defined(CONFIG_FB)
        {
          struct clk *plla, *pck0;
          
          plla = clk_get(NULL, "plla");
          pck0 = clk_get(NULL, "pck0");
          if (plla && pck0) {
            clk_set_rate(plla, 48000000);
            clk_set_parent(pck0, plla);
            clk_set_rate(pck0, 24000000);
            at91_set_A_periph(AT91_PIN_PB27, 0);
          }
        }
#endif

	/* Ethernet */
	at91_add_device_eth(&csb437tl_eth_data);
	/* USB Host */
	at91_add_device_usbh();
	/* USB Device */
	at91_add_device_udc(&csb437tl_udc_data);
	/* Compact Flash */
	at91_set_gpio_direction(AT91_PIN_PB22, 1, 1);	/* IOIS16 */
	at91_add_device_cf(&csb437tl_cf_data);
	/* MMC */
	at91_add_device_mmc(&csb437tl_mmc_data);

#if defined(CONFIG_FB_VOYAGER_GX)
       platform_device_register(&at91_panel_dev);
#endif
       platform_device_register(&sm501_8051_dev);
       platform_device_register(&ac97_dev);

}
Пример #8
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);
}
Пример #9
0
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 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();
}
Пример #11
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();
}
Пример #12
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);
}
Пример #13
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);
}