aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf518/boards/ezbrd.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-bf518/boards/ezbrd.c')
-rw-r--r--arch/blackfin/mach-bf518/boards/ezbrd.c65
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>
91static 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
105static 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
120static 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
90static struct platform_device bfin_mii_bus = { 127static 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
94static struct platform_device bfin_mac_device = { 134static 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) */
314static struct bfin5xx_spi_master bfin_spi0_info = { 356static 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) */
349static struct bfin5xx_spi_master bfin_spi1_info = { 391static 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)
571static 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)
529static struct resource bfin_twi0_resource[] = { 579static 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,