static int __init atstk1004_init(void) { #ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_usart(1); #else at32_add_device_usart(0); #endif at32_add_device_usart(2); #ifndef CONFIG_BOARD_ATSTK100X_SW1_CUSTOM at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); #endif #ifdef CONFIG_BOARD_ATSTK100X_SPI1 at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_mci(0, &mci0_data); #endif at32_add_device_lcdc(0, &atstk1000_lcdc_data, fbmem_start, fbmem_size, ATMEL_LCDC_PRI_24BIT | ATMEL_LCDC_PRI_CONTROL); at32_add_device_usba(0, NULL); #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM at32_add_device_ssc(0, ATMEL_SSC_TX); #endif atstk1000_setup_j2_leds(); atstk1004_setup_extdac(); return 0; }
static int __init atstk1003_init(void) { /* * ATSTK1000 uses 32-bit SDRAM interface. Reserve the * SDRAM-specific pins so that nobody messes with them. */ at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL); #ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_usart(1); #else at32_add_device_usart(0); #endif at32_add_device_usart(2); #ifndef CONFIG_BOARD_ATSTK100X_SW1_CUSTOM at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); #endif #ifdef CONFIG_BOARD_ATSTK100X_SPI1 at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_mci(0, &mci0_data); #endif at32_add_device_usba(0, NULL); #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM at32_add_device_ssc(0, ATMEL_SSC_TX); #endif atstk1000_setup_j2_leds(); atstk1003_setup_extdac(); return 0; }
static int __init hammerhead_init(void) { /* * Hammerhead uses 32-bit SDRAM interface. Reserve the * SDRAM-specific pins so that nobody messes with them. */ at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL); at32_add_device_usart(0); /* Reserve PB29 (GCLK3). This pin is used as clock source * for ETH PHY (25MHz). GCLK3 setup is done by U-Boot. */ at32_reserve_pin(GPIO_PIOB_BASE, (1<<29)); /* * Hammerhead uses only one ethernet port, so we don't set * address of second port */ set_hw_addr(at32_add_device_eth(0, ð_data[0])); #ifdef CONFIG_BOARD_HAMMERHEAD_FPGA at32_add_device_hh_fpga(); #endif at32_add_device_mci(0, &mci0_data); #ifdef CONFIG_BOARD_HAMMERHEAD_USB at32_add_device_usba(0, NULL); #endif #ifdef CONFIG_BOARD_HAMMERHEAD_LCD at32_add_device_lcdc(0, &hammerhead_lcdc_data, fbmem_start, fbmem_size, ATMEL_LCDC_PRI_24BIT); #endif at32_select_gpio(i2c_gpio_data.sda_pin, AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); at32_select_gpio(i2c_gpio_data.scl_pin, AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); platform_device_register(&i2c_gpio_device); i2c_register_board_info(0, i2c_info, ARRAY_SIZE(i2c_info)); #ifdef CONFIG_BOARD_HAMMERHEAD_SND at32_add_device_ac97c(0, &ac97c_data, AC97C_BOTH); #endif /* Select the Touchscreen interrupt pin mode */ at32_select_periph(GPIO_PIOB_BASE, 0x08000000, GPIO_PERIPH_A, 0); return 0; }
static int __init atstk1003_init(void) { /* * ATSTK1000 uses 32-bit SDRAM interface. Reserve the * SDRAM-specific pins so that nobody messes with them. */ at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */ at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */ at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */ at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */ at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */ at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */ at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */ at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */ at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */ at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */ at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */ at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */ at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */ at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */ at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */ at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */ at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */ at32_add_system_devices(); #ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_usart(1); #else at32_add_device_usart(0); #endif at32_add_device_usart(2); #ifndef CONFIG_BOARD_ATSTK100X_SW1_CUSTOM at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); #endif #ifdef CONFIG_BOARD_ATSTK100X_SPI1 at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_mci(0); #endif at32_add_device_usba(0, NULL); #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM at32_add_device_ssc(0, ATMEL_SSC_TX); #endif atstk1000_setup_j2_leds(); atstk1003_setup_extdac(); return 0; }