|
@@ -650,3 +650,171 @@ static struct resource bfin_sport1_uart_resources[] = {
|
|
|
{
|
|
|
.start = IRQ_SPORT1_RX,
|
|
|
.end = IRQ_SPORT1_RX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT1_ERROR,
|
|
|
+ .end = IRQ_SPORT1_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static unsigned short bfin_sport1_peripherals[] = {
|
|
|
+ P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS,
|
|
|
+ P_SPORT1_DRPRI, P_SPORT1_RSCLK, 0
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_sport1_uart_device = {
|
|
|
+ .name = "bfin-sport-uart",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources),
|
|
|
+ .resource = bfin_sport1_uart_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_sport1_peripherals, /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_INPUT_BFIN_ROTARY) || defined(CONFIG_INPUT_BFIN_ROTARY_MODULE)
|
|
|
+#include <asm/bfin_rotary.h>
|
|
|
+
|
|
|
+static struct bfin_rotary_platform_data bfin_rotary_data = {
|
|
|
+ /*.rotary_up_key = KEY_UP,*/
|
|
|
+ /*.rotary_down_key = KEY_DOWN,*/
|
|
|
+ .rotary_rel_code = REL_WHEEL,
|
|
|
+ .rotary_button_key = KEY_ENTER,
|
|
|
+ .debounce = 10, /* 0..17 */
|
|
|
+ .mode = ROT_QUAD_ENC | ROT_DEBE,
|
|
|
+ .pm_wakeup = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource bfin_rotary_resources[] = {
|
|
|
+ {
|
|
|
+ .start = IRQ_CNT,
|
|
|
+ .end = IRQ_CNT,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_rotary_device = {
|
|
|
+ .name = "bfin-rotary",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_rotary_resources),
|
|
|
+ .resource = bfin_rotary_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_rotary_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+static const unsigned int cclk_vlev_datasheet[] = {
|
|
|
+ VRPAIR(VLEV_100, 400000000),
|
|
|
+ VRPAIR(VLEV_105, 426000000),
|
|
|
+ VRPAIR(VLEV_110, 500000000),
|
|
|
+ VRPAIR(VLEV_115, 533000000),
|
|
|
+ VRPAIR(VLEV_120, 600000000),
|
|
|
+};
|
|
|
+
|
|
|
+static struct bfin_dpmc_platform_data bfin_dmpc_vreg_data = {
|
|
|
+ .tuple_tab = cclk_vlev_datasheet,
|
|
|
+ .tabsize = ARRAY_SIZE(cclk_vlev_datasheet),
|
|
|
+ .vr_settling_time = 25 /* us */,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_dpmc = {
|
|
|
+ .name = "bfin dpmc",
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_dmpc_vreg_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device *stamp_devices[] __initdata = {
|
|
|
+
|
|
|
+ &bfin_dpmc,
|
|
|
+
|
|
|
+#if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE)
|
|
|
+ &bf5xx_nand_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
|
|
|
+ &rtc_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE)
|
|
|
+ &musb_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)
|
|
|
+ &bfin_mii_bus,
|
|
|
+ &bfin_mac_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SPI_BFIN5XX) || defined(CONFIG_SPI_BFIN5XX_MODULE)
|
|
|
+ &bfin_spi0_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_UART0
|
|
|
+ &bfin_uart0_device,
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_UART1
|
|
|
+ &bfin_uart1_device,
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_FB_BFIN_RA158Z) || defined(CONFIG_FB_BFIN_RA158Z_MODULE)
|
|
|
+ &bf52x_ra158z_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
|
|
|
+#ifdef CONFIG_BFIN_SIR0
|
|
|
+ &bfin_sir0_device,
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_BFIN_SIR1
|
|
|
+ &bfin_sir1_device,
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
|
|
|
+ &i2c_bfin_twi_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_SPORT0_UART
|
|
|
+ &bfin_sport0_uart_device,
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_SPORT1_UART
|
|
|
+ &bfin_sport1_uart_device,
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_INPUT_BFIN_ROTARY) || defined(CONFIG_INPUT_BFIN_ROTARY_MODULE)
|
|
|
+ &bfin_rotary_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
|
|
|
+ &ad7160eval_flash_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE)
|
|
|
+ &bfin_i2s,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE)
|
|
|
+ &bfin_tdm,
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
+static int __init ad7160eval_init(void)
|
|
|
+{
|
|
|
+ printk(KERN_INFO "%s(): registering device resources\n", __func__);
|
|
|
+ i2c_register_board_info(0, bfin_i2c_board_info,
|
|
|
+ ARRAY_SIZE(bfin_i2c_board_info));
|
|
|
+ platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices));
|
|
|
+ spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+arch_initcall(ad7160eval_init);
|
|
|
+
|