diff options
Diffstat (limited to 'arch/arm/mach-pxa/raumfeld.c')
| -rw-r--r-- | arch/arm/mach-pxa/raumfeld.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index d130f77b6d11..2f37d43f51b6 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
| @@ -573,10 +573,10 @@ static struct pxafb_mode_info sharp_lq043t3dx02_mode = { | |||
| 573 | .xres = 480, | 573 | .xres = 480, |
| 574 | .yres = 272, | 574 | .yres = 272, |
| 575 | .bpp = 16, | 575 | .bpp = 16, |
| 576 | .hsync_len = 4, | 576 | .hsync_len = 41, |
| 577 | .left_margin = 2, | 577 | .left_margin = 2, |
| 578 | .right_margin = 1, | 578 | .right_margin = 1, |
| 579 | .vsync_len = 1, | 579 | .vsync_len = 10, |
| 580 | .upper_margin = 3, | 580 | .upper_margin = 3, |
| 581 | .lower_margin = 1, | 581 | .lower_margin = 1, |
| 582 | .sync = 0, | 582 | .sync = 0, |
| @@ -596,29 +596,31 @@ static void __init raumfeld_lcd_init(void) | |||
| 596 | { | 596 | { |
| 597 | int ret; | 597 | int ret; |
| 598 | 598 | ||
| 599 | pxa_set_fb_info(NULL, &raumfeld_sharp_lcd_info); | ||
| 600 | |||
| 601 | /* Earlier devices had the backlight regulator controlled | ||
| 602 | * via PWM, later versions use another controller for that */ | ||
| 603 | if ((system_rev & 0xff) < 2) { | ||
| 604 | mfp_cfg_t raumfeld_pwm_pin_config = GPIO17_PWM0_OUT; | ||
| 605 | pxa3xx_mfp_config(&raumfeld_pwm_pin_config, 1); | ||
| 606 | platform_device_register(&raumfeld_pwm_backlight_device); | ||
| 607 | } else | ||
| 608 | platform_device_register(&raumfeld_lt3593_device); | ||
| 609 | |||
| 610 | ret = gpio_request(GPIO_TFT_VA_EN, "display VA enable"); | 599 | ret = gpio_request(GPIO_TFT_VA_EN, "display VA enable"); |
| 611 | if (ret < 0) | 600 | if (ret < 0) |
| 612 | pr_warning("Unable to request GPIO_TFT_VA_EN\n"); | 601 | pr_warning("Unable to request GPIO_TFT_VA_EN\n"); |
| 613 | else | 602 | else |
| 614 | gpio_direction_output(GPIO_TFT_VA_EN, 1); | 603 | gpio_direction_output(GPIO_TFT_VA_EN, 1); |
| 615 | 604 | ||
| 605 | msleep(100); | ||
| 606 | |||
| 616 | ret = gpio_request(GPIO_DISPLAY_ENABLE, "display enable"); | 607 | ret = gpio_request(GPIO_DISPLAY_ENABLE, "display enable"); |
| 617 | if (ret < 0) | 608 | if (ret < 0) |
| 618 | pr_warning("Unable to request GPIO_DISPLAY_ENABLE\n"); | 609 | pr_warning("Unable to request GPIO_DISPLAY_ENABLE\n"); |
| 619 | else | 610 | else |
| 620 | gpio_direction_output(GPIO_DISPLAY_ENABLE, 1); | 611 | gpio_direction_output(GPIO_DISPLAY_ENABLE, 1); |
| 621 | 612 | ||
| 613 | /* Hardware revision 2 has the backlight regulator controlled | ||
| 614 | * by an LT3593, earlier and later devices use PWM for that. */ | ||
| 615 | if ((system_rev & 0xff) == 2) { | ||
| 616 | platform_device_register(&raumfeld_lt3593_device); | ||
| 617 | } else { | ||
| 618 | mfp_cfg_t raumfeld_pwm_pin_config = GPIO17_PWM0_OUT; | ||
| 619 | pxa3xx_mfp_config(&raumfeld_pwm_pin_config, 1); | ||
| 620 | platform_device_register(&raumfeld_pwm_backlight_device); | ||
| 621 | } | ||
| 622 | |||
| 623 | pxa_set_fb_info(NULL, &raumfeld_sharp_lcd_info); | ||
| 622 | platform_device_register(&pxa3xx_device_gcu); | 624 | platform_device_register(&pxa3xx_device_gcu); |
| 623 | } | 625 | } |
| 624 | 626 | ||
| @@ -657,10 +659,10 @@ static struct lis3lv02d_platform_data lis3_pdata = { | |||
| 657 | 659 | ||
| 658 | #define SPI_AK4104 \ | 660 | #define SPI_AK4104 \ |
| 659 | { \ | 661 | { \ |
| 660 | .modalias = "ak4104", \ | 662 | .modalias = "ak4104-codec", \ |
| 661 | .max_speed_hz = 10000, \ | 663 | .max_speed_hz = 10000, \ |
| 662 | .bus_num = 0, \ | 664 | .bus_num = 0, \ |
| 663 | .chip_select = 0, \ | 665 | .chip_select = 0, \ |
| 664 | .controller_data = (void *) GPIO_SPDIF_CS, \ | 666 | .controller_data = (void *) GPIO_SPDIF_CS, \ |
| 665 | } | 667 | } |
| 666 | 668 | ||
