diff options
Diffstat (limited to 'arch/blackfin/mach-bf518/boards/ezbrd.c')
-rw-r--r-- | arch/blackfin/mach-bf518/boards/ezbrd.c | 65 |
1 files changed, 62 insertions, 3 deletions
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c index 44d6d5299022..b894c8abe7ec 100644 --- a/arch/blackfin/mach-bf518/boards/ezbrd.c +++ b/arch/blackfin/mach-bf518/boards/ezbrd.c | |||
@@ -87,13 +87,55 @@ static struct platform_device rtc_device = { | |||
87 | #endif | 87 | #endif |
88 | 88 | ||
89 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 89 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
90 | #include <linux/bfin_mac.h> | ||
91 | static const unsigned short bfin_mac_peripherals[] = { | ||
92 | P_MII0_ETxD0, | ||
93 | P_MII0_ETxD1, | ||
94 | P_MII0_ETxEN, | ||
95 | P_MII0_ERxD0, | ||
96 | P_MII0_ERxD1, | ||
97 | P_MII0_TxCLK, | ||
98 | P_MII0_PHYINT, | ||
99 | P_MII0_CRS, | ||
100 | P_MII0_MDC, | ||
101 | P_MII0_MDIO, | ||
102 | 0 | ||
103 | }; | ||
104 | |||
105 | static struct bfin_phydev_platform_data bfin_phydev_data[] = { | ||
106 | { | ||
107 | .addr = 1, | ||
108 | .irq = IRQ_MAC_PHYINT, | ||
109 | }, | ||
110 | { | ||
111 | .addr = 2, | ||
112 | .irq = IRQ_MAC_PHYINT, | ||
113 | }, | ||
114 | { | ||
115 | .addr = 3, | ||
116 | .irq = IRQ_MAC_PHYINT, | ||
117 | }, | ||
118 | }; | ||
119 | |||
120 | static struct bfin_mii_bus_platform_data bfin_mii_bus_data = { | ||
121 | .phydev_number = 3, | ||
122 | .phydev_data = bfin_phydev_data, | ||
123 | .phy_mode = PHY_INTERFACE_MODE_MII, | ||
124 | .mac_peripherals = bfin_mac_peripherals, | ||
125 | }; | ||
126 | |||
90 | static struct platform_device bfin_mii_bus = { | 127 | static struct platform_device bfin_mii_bus = { |
91 | .name = "bfin_mii_bus", | 128 | .name = "bfin_mii_bus", |
129 | .dev = { | ||
130 | .platform_data = &bfin_mii_bus_data, | ||
131 | } | ||
92 | }; | 132 | }; |
93 | 133 | ||
94 | static struct platform_device bfin_mac_device = { | 134 | static struct platform_device bfin_mac_device = { |
95 | .name = "bfin_mac", | 135 | .name = "bfin_mac", |
96 | .dev.platform_data = &bfin_mii_bus, | 136 | .dev = { |
137 | .platform_data = &bfin_mii_bus, | ||
138 | } | ||
97 | }; | 139 | }; |
98 | 140 | ||
99 | #if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) | 141 | #if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) |
@@ -312,7 +354,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
312 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 354 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
313 | /* SPI (0) */ | 355 | /* SPI (0) */ |
314 | static struct bfin5xx_spi_master bfin_spi0_info = { | 356 | static struct bfin5xx_spi_master bfin_spi0_info = { |
315 | .num_chipselect = 5, | 357 | .num_chipselect = 6, |
316 | .enable_dma = 1, /* master has the ability to do dma transfer */ | 358 | .enable_dma = 1, /* master has the ability to do dma transfer */ |
317 | .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, | 359 | .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, |
318 | }; | 360 | }; |
@@ -347,7 +389,7 @@ static struct platform_device bfin_spi0_device = { | |||
347 | 389 | ||
348 | /* SPI (1) */ | 390 | /* SPI (1) */ |
349 | static struct bfin5xx_spi_master bfin_spi1_info = { | 391 | static struct bfin5xx_spi_master bfin_spi1_info = { |
350 | .num_chipselect = 5, | 392 | .num_chipselect = 6, |
351 | .enable_dma = 1, /* master has the ability to do dma transfer */ | 393 | .enable_dma = 1, /* master has the ability to do dma transfer */ |
352 | .pin_req = {P_SPI1_SCK, P_SPI1_MISO, P_SPI1_MOSI, 0}, | 394 | .pin_req = {P_SPI1_SCK, P_SPI1_MISO, P_SPI1_MOSI, 0}, |
353 | }; | 395 | }; |
@@ -525,6 +567,14 @@ static struct platform_device bfin_sir1_device = { | |||
525 | #endif | 567 | #endif |
526 | #endif | 568 | #endif |
527 | 569 | ||
570 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
571 | static struct platform_device bfin_i2s = { | ||
572 | .name = "bfin-i2s", | ||
573 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
574 | /* TODO: add platform data here */ | ||
575 | }; | ||
576 | #endif | ||
577 | |||
528 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 578 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
529 | static struct resource bfin_twi0_resource[] = { | 579 | static struct resource bfin_twi0_resource[] = { |
530 | [0] = { | 580 | [0] = { |
@@ -559,6 +609,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
559 | .irq = IRQ_PF8, | 609 | .irq = IRQ_PF8, |
560 | }, | 610 | }, |
561 | #endif | 611 | #endif |
612 | #if defined(CONFIG_SND_SOC_SSM2602) || defined(CONFIG_SND_SOC_SSM2602_MODULE) | ||
613 | { | ||
614 | I2C_BOARD_INFO("ssm2602", 0x1b), | ||
615 | }, | ||
616 | #endif | ||
562 | }; | 617 | }; |
563 | 618 | ||
564 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 619 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
@@ -736,6 +791,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
736 | &i2c_bfin_twi_device, | 791 | &i2c_bfin_twi_device, |
737 | #endif | 792 | #endif |
738 | 793 | ||
794 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
795 | &bfin_i2s, | ||
796 | #endif | ||
797 | |||
739 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 798 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
740 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | 799 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART |
741 | &bfin_sport0_uart_device, | 800 | &bfin_sport0_uart_device, |