diff options
Diffstat (limited to 'arch/arm/mach-pxa/z2.c')
| -rw-r--r-- | arch/arm/mach-pxa/z2.c | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index aaf883754ef4..fbe9e02e2f9f 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c | |||
| @@ -91,13 +91,13 @@ static unsigned long z2_pin_config[] = { | |||
| 91 | GPIO47_STUART_TXD, | 91 | GPIO47_STUART_TXD, |
| 92 | 92 | ||
| 93 | /* Keypad */ | 93 | /* Keypad */ |
| 94 | GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH, | 94 | GPIO100_KP_MKIN_0, |
| 95 | GPIO101_KP_MKIN_1 | WAKEUP_ON_LEVEL_HIGH, | 95 | GPIO101_KP_MKIN_1, |
| 96 | GPIO102_KP_MKIN_2 | WAKEUP_ON_LEVEL_HIGH, | 96 | GPIO102_KP_MKIN_2, |
| 97 | GPIO34_KP_MKIN_3 | WAKEUP_ON_LEVEL_HIGH, | 97 | GPIO34_KP_MKIN_3, |
| 98 | GPIO38_KP_MKIN_4 | WAKEUP_ON_LEVEL_HIGH, | 98 | GPIO38_KP_MKIN_4, |
| 99 | GPIO16_KP_MKIN_5 | WAKEUP_ON_LEVEL_HIGH, | 99 | GPIO16_KP_MKIN_5, |
| 100 | GPIO17_KP_MKIN_6 | WAKEUP_ON_LEVEL_HIGH, | 100 | GPIO17_KP_MKIN_6, |
| 101 | GPIO103_KP_MKOUT_0, | 101 | GPIO103_KP_MKOUT_0, |
| 102 | GPIO104_KP_MKOUT_1, | 102 | GPIO104_KP_MKOUT_1, |
| 103 | GPIO105_KP_MKOUT_2, | 103 | GPIO105_KP_MKOUT_2, |
| @@ -138,8 +138,7 @@ static unsigned long z2_pin_config[] = { | |||
| 138 | GPIO1_GPIO, /* Power button */ | 138 | GPIO1_GPIO, /* Power button */ |
| 139 | GPIO37_GPIO, /* Headphone detect */ | 139 | GPIO37_GPIO, /* Headphone detect */ |
| 140 | GPIO98_GPIO, /* Lid switch */ | 140 | GPIO98_GPIO, /* Lid switch */ |
| 141 | GPIO14_GPIO, /* WiFi Reset */ | 141 | GPIO14_GPIO, /* WiFi Power */ |
| 142 | GPIO15_GPIO, /* WiFi Power */ | ||
| 143 | GPIO24_GPIO, /* WiFi CS */ | 142 | GPIO24_GPIO, /* WiFi CS */ |
| 144 | GPIO36_GPIO, /* WiFi IRQ */ | 143 | GPIO36_GPIO, /* WiFi IRQ */ |
| 145 | GPIO88_GPIO, /* LCD CS */ | 144 | GPIO88_GPIO, /* LCD CS */ |
| @@ -204,7 +203,7 @@ static struct platform_pwm_backlight_data z2_backlight_data[] = { | |||
| 204 | /* Keypad Backlight */ | 203 | /* Keypad Backlight */ |
| 205 | .pwm_id = 1, | 204 | .pwm_id = 1, |
| 206 | .max_brightness = 1023, | 205 | .max_brightness = 1023, |
| 207 | .dft_brightness = 512, | 206 | .dft_brightness = 0, |
| 208 | .pwm_period_ns = 1260320, | 207 | .pwm_period_ns = 1260320, |
| 209 | }, | 208 | }, |
| 210 | [1] = { | 209 | [1] = { |
| @@ -271,7 +270,7 @@ static struct pxafb_mach_info z2_lcd_screen = { | |||
| 271 | 270 | ||
| 272 | static void __init z2_lcd_init(void) | 271 | static void __init z2_lcd_init(void) |
| 273 | { | 272 | { |
| 274 | set_pxa_fb_info(&z2_lcd_screen); | 273 | pxa_set_fb_info(NULL, &z2_lcd_screen); |
| 275 | } | 274 | } |
| 276 | #else | 275 | #else |
| 277 | static inline void z2_lcd_init(void) {} | 276 | static inline void z2_lcd_init(void) {} |
| @@ -309,12 +308,12 @@ struct gpio_led z2_gpio_leds[] = { | |||
| 309 | .active_low = 1, | 308 | .active_low = 1, |
| 310 | }, { | 309 | }, { |
| 311 | .name = "z2:green:charged", | 310 | .name = "z2:green:charged", |
| 312 | .default_trigger = "none", | 311 | .default_trigger = "mmc0", |
| 313 | .gpio = GPIO85_ZIPITZ2_LED_CHARGED, | 312 | .gpio = GPIO85_ZIPITZ2_LED_CHARGED, |
| 314 | .active_low = 1, | 313 | .active_low = 1, |
| 315 | }, { | 314 | }, { |
| 316 | .name = "z2:amber:charging", | 315 | .name = "z2:amber:charging", |
| 317 | .default_trigger = "none", | 316 | .default_trigger = "Z2-charging-or-full", |
| 318 | .gpio = GPIO83_ZIPITZ2_LED_CHARGING, | 317 | .gpio = GPIO83_ZIPITZ2_LED_CHARGING, |
| 319 | .active_low = 1, | 318 | .active_low = 1, |
| 320 | }, | 319 | }, |
| @@ -427,8 +426,22 @@ static inline void z2_mkp_init(void) {} | |||
| 427 | ******************************************************************************/ | 426 | ******************************************************************************/ |
| 428 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 427 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
| 429 | static struct gpio_keys_button z2_pxa_buttons[] = { | 428 | static struct gpio_keys_button z2_pxa_buttons[] = { |
| 430 | {KEY_POWER, GPIO1_ZIPITZ2_POWER_BUTTON, 0, "Power Button" }, | 429 | { |
| 431 | {KEY_CLOSE, GPIO98_ZIPITZ2_LID_BUTTON, 0, "Lid Button" }, | 430 | .code = KEY_POWER, |
| 431 | .gpio = GPIO1_ZIPITZ2_POWER_BUTTON, | ||
| 432 | .active_low = 0, | ||
| 433 | .desc = "Power Button", | ||
| 434 | .wakeup = 1, | ||
| 435 | .type = EV_KEY, | ||
| 436 | }, | ||
| 437 | { | ||
| 438 | .code = SW_LID, | ||
| 439 | .gpio = GPIO98_ZIPITZ2_LID_BUTTON, | ||
| 440 | .active_low = 1, | ||
| 441 | .desc = "Lid Switch", | ||
| 442 | .wakeup = 0, | ||
| 443 | .type = EV_SW, | ||
| 444 | }, | ||
| 432 | }; | 445 | }; |
| 433 | 446 | ||
| 434 | static struct gpio_keys_platform_data z2_pxa_keys_data = { | 447 | static struct gpio_keys_platform_data z2_pxa_keys_data = { |
| @@ -461,9 +474,9 @@ static struct z2_battery_info batt_chip_info = { | |||
| 461 | .batt_I2C_addr = 0x55, | 474 | .batt_I2C_addr = 0x55, |
| 462 | .batt_I2C_reg = 2, | 475 | .batt_I2C_reg = 2, |
| 463 | .charge_gpio = GPIO0_ZIPITZ2_AC_DETECT, | 476 | .charge_gpio = GPIO0_ZIPITZ2_AC_DETECT, |
| 464 | .min_voltage = 2400000, | 477 | .min_voltage = 3475000, |
| 465 | .max_voltage = 3700000, | 478 | .max_voltage = 4190000, |
| 466 | .batt_div = 69, | 479 | .batt_div = 59, |
| 467 | .batt_mult = 1000000, | 480 | .batt_mult = 1000000, |
| 468 | .batt_tech = POWER_SUPPLY_TECHNOLOGY_LION, | 481 | .batt_tech = POWER_SUPPLY_TECHNOLOGY_LION, |
| 469 | .batt_name = "Z2", | 482 | .batt_name = "Z2", |
| @@ -497,26 +510,16 @@ static int z2_lbs_spi_setup(struct spi_device *spi) | |||
| 497 | { | 510 | { |
| 498 | int ret = 0; | 511 | int ret = 0; |
| 499 | 512 | ||
| 500 | ret = gpio_request(GPIO15_ZIPITZ2_WIFI_POWER, "WiFi Power"); | 513 | ret = gpio_request(GPIO14_ZIPITZ2_WIFI_POWER, "WiFi Power"); |
| 501 | if (ret) | 514 | if (ret) |
| 502 | goto err; | 515 | goto err; |
| 503 | 516 | ||
| 504 | ret = gpio_direction_output(GPIO15_ZIPITZ2_WIFI_POWER, 1); | 517 | ret = gpio_direction_output(GPIO14_ZIPITZ2_WIFI_POWER, 1); |
| 505 | if (ret) | 518 | if (ret) |
| 506 | goto err2; | 519 | goto err2; |
| 507 | 520 | ||
| 508 | ret = gpio_request(GPIO14_ZIPITZ2_WIFI_RESET, "WiFi Reset"); | 521 | /* Wait until card is powered on */ |
| 509 | if (ret) | ||
| 510 | goto err2; | ||
| 511 | |||
| 512 | ret = gpio_direction_output(GPIO14_ZIPITZ2_WIFI_RESET, 0); | ||
| 513 | if (ret) | ||
| 514 | goto err3; | ||
| 515 | |||
| 516 | /* Reset the card */ | ||
| 517 | mdelay(180); | 522 | mdelay(180); |
| 518 | gpio_set_value(GPIO14_ZIPITZ2_WIFI_RESET, 1); | ||
| 519 | mdelay(20); | ||
| 520 | 523 | ||
| 521 | spi->bits_per_word = 16; | 524 | spi->bits_per_word = 16; |
| 522 | spi->mode = SPI_MODE_2, | 525 | spi->mode = SPI_MODE_2, |
| @@ -525,22 +528,18 @@ static int z2_lbs_spi_setup(struct spi_device *spi) | |||
| 525 | 528 | ||
| 526 | return 0; | 529 | return 0; |
| 527 | 530 | ||
| 528 | err3: | ||
| 529 | gpio_free(GPIO14_ZIPITZ2_WIFI_RESET); | ||
| 530 | err2: | 531 | err2: |
| 531 | gpio_free(GPIO15_ZIPITZ2_WIFI_POWER); | 532 | gpio_free(GPIO14_ZIPITZ2_WIFI_POWER); |
| 532 | err: | 533 | err: |
| 533 | return ret; | 534 | return ret; |
| 534 | }; | 535 | }; |
| 535 | 536 | ||
| 536 | static int z2_lbs_spi_teardown(struct spi_device *spi) | 537 | static int z2_lbs_spi_teardown(struct spi_device *spi) |
| 537 | { | 538 | { |
| 538 | gpio_set_value(GPIO14_ZIPITZ2_WIFI_RESET, 0); | 539 | gpio_set_value(GPIO14_ZIPITZ2_WIFI_POWER, 0); |
| 539 | gpio_set_value(GPIO15_ZIPITZ2_WIFI_POWER, 0); | 540 | gpio_free(GPIO14_ZIPITZ2_WIFI_POWER); |
| 540 | gpio_free(GPIO14_ZIPITZ2_WIFI_RESET); | ||
| 541 | gpio_free(GPIO15_ZIPITZ2_WIFI_POWER); | ||
| 542 | return 0; | ||
| 543 | 541 | ||
| 542 | return 0; | ||
| 544 | }; | 543 | }; |
| 545 | 544 | ||
| 546 | static struct pxa2xx_spi_chip z2_lbs_chip_info = { | 545 | static struct pxa2xx_spi_chip z2_lbs_chip_info = { |
