aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf527/boards/ezbrd.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-bf527/boards/ezbrd.c')
-rw-r--r--arch/blackfin/mach-bf527/boards/ezbrd.c90
1 files changed, 80 insertions, 10 deletions
diff --git a/arch/blackfin/mach-bf527/boards/ezbrd.c b/arch/blackfin/mach-bf527/boards/ezbrd.c
index 36c87b6fbdec..0314bd3355eb 100644
--- a/arch/blackfin/mach-bf527/boards/ezbrd.c
+++ b/arch/blackfin/mach-bf527/boards/ezbrd.c
@@ -51,7 +51,7 @@
51/* 51/*
52 * Name the Board for the /proc/cpuinfo 52 * Name the Board for the /proc/cpuinfo
53 */ 53 */
54const char bfin_board_name[] = "BF526-EZBRD"; 54const char bfin_board_name[] = "ADI BF526-EZBRD";
55 55
56/* 56/*
57 * Driver needs to know address, irq and flag pin. 57 * Driver needs to know address, irq and flag pin.
@@ -81,8 +81,8 @@ static struct musb_hdrc_config musb_config = {
81 .dyn_fifo = 0, 81 .dyn_fifo = 0,
82 .soft_con = 1, 82 .soft_con = 1,
83 .dma = 1, 83 .dma = 1,
84 .num_eps = 7, 84 .num_eps = 8,
85 .dma_channels = 7, 85 .dma_channels = 8,
86 .gpio_vrsel = GPIO_PG13, 86 .gpio_vrsel = GPIO_PG13,
87}; 87};
88 88
@@ -288,6 +288,30 @@ static const struct ad7877_platform_data bfin_ad7877_ts_info = {
288}; 288};
289#endif 289#endif
290 290
291#if defined(CONFIG_TOUCHSCREEN_AD7879) || defined(CONFIG_TOUCHSCREEN_AD7879_MODULE)
292#include <linux/spi/ad7879.h>
293static const struct ad7879_platform_data bfin_ad7879_ts_info = {
294 .model = 7879, /* Model = AD7879 */
295 .x_plate_ohms = 620, /* 620 Ohm from the touch datasheet */
296 .pressure_max = 10000,
297 .pressure_min = 0,
298 .first_conversion_delay = 3, /* wait 512us before do a first conversion */
299 .acquisition_time = 1, /* 4us acquisition time per sample */
300 .median = 2, /* do 8 measurements */
301 .averaging = 1, /* take the average of 4 middle samples */
302 .pen_down_acc_interval = 255, /* 9.4 ms */
303 .gpio_output = 1, /* configure AUX/VBAT/GPIO as GPIO output */
304 .gpio_default = 1, /* During initialization set GPIO = HIGH */
305};
306#endif
307
308#if defined(CONFIG_TOUCHSCREEN_AD7879_SPI) || defined(CONFIG_TOUCHSCREEN_AD7879_SPI_MODULE)
309static struct bfin5xx_spi_chip spi_ad7879_chip_info = {
310 .enable_dma = 0,
311 .bits_per_word = 16,
312};
313#endif
314
291#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ 315#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \
292 && defined(CONFIG_SND_SOC_WM8731_SPI) 316 && defined(CONFIG_SND_SOC_WM8731_SPI)
293static struct bfin5xx_spi_chip spi_wm8731_chip_info = { 317static struct bfin5xx_spi_chip spi_wm8731_chip_info = {
@@ -386,6 +410,18 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
386 .controller_data = &spi_ad7877_chip_info, 410 .controller_data = &spi_ad7877_chip_info,
387 }, 411 },
388#endif 412#endif
413#if defined(CONFIG_TOUCHSCREEN_AD7879_SPI) || defined(CONFIG_TOUCHSCREEN_AD7879_SPI_MODULE)
414 {
415 .modalias = "ad7879",
416 .platform_data = &bfin_ad7879_ts_info,
417 .irq = IRQ_PG0,
418 .max_speed_hz = 5000000, /* max spi clock (SCK) speed in HZ */
419 .bus_num = 0,
420 .chip_select = 5,
421 .controller_data = &spi_ad7879_chip_info,
422 .mode = SPI_CPHA | SPI_CPOL,
423 },
424#endif
389#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ 425#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \
390 && defined(CONFIG_SND_SOC_WM8731_SPI) 426 && defined(CONFIG_SND_SOC_WM8731_SPI)
391 { 427 {
@@ -478,30 +514,59 @@ static struct platform_device bfin_uart_device = {
478#endif 514#endif
479 515
480#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) 516#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
481static struct resource bfin_sir_resources[] = {
482#ifdef CONFIG_BFIN_SIR0 517#ifdef CONFIG_BFIN_SIR0
518static struct resource bfin_sir0_resources[] = {
483 { 519 {
484 .start = 0xFFC00400, 520 .start = 0xFFC00400,
485 .end = 0xFFC004FF, 521 .end = 0xFFC004FF,
486 .flags = IORESOURCE_MEM, 522 .flags = IORESOURCE_MEM,
487 }, 523 },
524 {
525 .start = IRQ_UART0_RX,
526 .end = IRQ_UART0_RX+1,
527 .flags = IORESOURCE_IRQ,
528 },
529 {
530 .start = CH_UART0_RX,
531 .end = CH_UART0_RX+1,
532 .flags = IORESOURCE_DMA,
533 },
534};
535
536static struct platform_device bfin_sir0_device = {
537 .name = "bfin_sir",
538 .id = 0,
539 .num_resources = ARRAY_SIZE(bfin_sir0_resources),
540 .resource = bfin_sir0_resources,
541};
488#endif 542#endif
489#ifdef CONFIG_BFIN_SIR1 543#ifdef CONFIG_BFIN_SIR1
544static struct resource bfin_sir1_resources[] = {
490 { 545 {
491 .start = 0xFFC02000, 546 .start = 0xFFC02000,
492 .end = 0xFFC020FF, 547 .end = 0xFFC020FF,
493 .flags = IORESOURCE_MEM, 548 .flags = IORESOURCE_MEM,
494 }, 549 },
495#endif 550 {
551 .start = IRQ_UART1_RX,
552 .end = IRQ_UART1_RX+1,
553 .flags = IORESOURCE_IRQ,
554 },
555 {
556 .start = CH_UART1_RX,
557 .end = CH_UART1_RX+1,
558 .flags = IORESOURCE_DMA,
559 },
496}; 560};
497 561
498static struct platform_device bfin_sir_device = { 562static struct platform_device bfin_sir1_device = {
499 .name = "bfin_sir", 563 .name = "bfin_sir",
500 .id = 0, 564 .id = 1,
501 .num_resources = ARRAY_SIZE(bfin_sir_resources), 565 .num_resources = ARRAY_SIZE(bfin_sir1_resources),
502 .resource = bfin_sir_resources, 566 .resource = bfin_sir1_resources,
503}; 567};
504#endif 568#endif
569#endif
505 570
506#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 571#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
507static struct resource bfin_twi0_resource[] = { 572static struct resource bfin_twi0_resource[] = {
@@ -671,7 +736,12 @@ static struct platform_device *stamp_devices[] __initdata = {
671#endif 736#endif
672 737
673#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) 738#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
674 &bfin_sir_device, 739#ifdef CONFIG_BFIN_SIR0
740 &bfin_sir0_device,
741#endif
742#ifdef CONFIG_BFIN_SIR1
743 &bfin_sir1_device,
744#endif
675#endif 745#endif
676 746
677#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 747#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)