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(); }
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(); }
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); }
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); }
/* 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 }
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); }
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); }
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(); }
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(); }
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(); }
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 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); }