ARM: PXA: Z2: Zipit Z2 improvements series
Subsystems (3)
v2 cover ARM: PXA: Z2: Zipit Z2 improvements series
This series attempts to improve Zipit Z2 support.
Changes since v1:
- Removed OHCI and poweroff patches
- Removed commented out stuff from 1st patch
- Added patch to handle lid switch gracefully (it's switch, not button!)
PATCH v2 1/6 ARM: PXA: Z2: Use only power button as wake source
It's very easy to press some keypad key when Z2 is closed, so to prevent unexpected wakeups, use only 'Power' key to wake Z2 from sleep.
--- arch/arm/mach-pxa/z2.c | 32 +++++++++++++++++++++++--------- 1 files changed, 23 insertions(+), 9 deletions(-)
arch/arm/mach-pxa/z2.c +23 -9
@@ -91,13 +91,13 @@ static unsigned long z2_pin_config[] = {GPIO47_STUART_TXD ,/* Keypad */ -GPIO100_KP_MKIN_0 |WAKEUP_ON_LEVEL_HIGH , -GPIO101_KP_MKIN_1 |WAKEUP_ON_LEVEL_HIGH , -GPIO102_KP_MKIN_2 |WAKEUP_ON_LEVEL_HIGH , -GPIO34_KP_MKIN_3 |WAKEUP_ON_LEVEL_HIGH , -GPIO38_KP_MKIN_4 |WAKEUP_ON_LEVEL_HIGH , -GPIO16_KP_MKIN_5 |WAKEUP_ON_LEVEL_HIGH , -GPIO17_KP_MKIN_6 |WAKEUP_ON_LEVEL_HIGH , +GPIO100_KP_MKIN_0 , +GPIO101_KP_MKIN_1 , +GPIO102_KP_MKIN_2 , +GPIO34_KP_MKIN_3 , +GPIO38_KP_MKIN_4 , +GPIO16_KP_MKIN_5 , +GPIO17_KP_MKIN_6 ,GPIO103_KP_MKOUT_0 ,GPIO104_KP_MKOUT_1 , GPIO105_KP_MKOUT_2,
@@ -427,8 +427,22 @@ static inline void z2_mkp_init(void) {}******************************************************************************/ #if defined(CONFIG_KEYBOARD_GPIO ) || defined(CONFIG_KEYBOARD_GPIO_MODULE )static struct gpio_keys_button z2_pxa_buttons[] = { - {KEY_POWER ,GPIO1_ZIPITZ2_POWER_BUTTON ,0 ,"Power Button" }, - {KEY_CLOSE ,GPIO98_ZIPITZ2_LID_BUTTON ,0 ,"Lid Button" }, + { + .code =KEY_POWER , + .gpio =GPIO1_ZIPITZ2_POWER_BUTTON , + .active_low =0 , + .desc ="Power Button" , + .wakeup =1 , + .type =EV_KEY , + }, + { + .code =KEY_CLOSE , + .gpio =GPIO98_ZIPITZ2_LID_BUTTON , + .active_low =0 , + .desc ="Lid Button" , + .wakeup =0 + .type =EV_KEY , + }, }; static struct gpio_keys_platform_data z2_pxa_keys_data = {
Signature · 1 line
1.7.4.1
PATCH v2 2/6 ARM: PXA: Z2: Fix battery pdata
In reply to Vasily KhoruzhickFix coefficients to get actual voltage, and make voltage_max/voltage_min looks like values for LiIon battery.
--- arch/arm/mach-pxa/z2.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
arch/arm/mach-pxa/z2.c +3 -3
@@ -475,9 +475,9 @@ static struct z2_battery_info batt_chip_info = { .batt_I2C_addr = 0x55, .batt_I2C_reg = 2, .charge_gpio = GPIO0_ZIPITZ2_AC_DETECT, - .min_voltage = 2400000, - .max_voltage = 3700000, - .batt_div = 69, + .min_voltage = 3475000, + .max_voltage = 4190000, + .batt_div = 59, .batt_mult = 1000000, .batt_tech = POWER_SUPPLY_TECHNOLOGY_LION, .batt_name = "Z2",
Signature · 1 line
1.7.4.1
PATCH v2 3/6 ARM: PXA: Z2: Fix libertas init/tear down sequences
In reply to Vasily KhoruzhickGPIO15 seems to be not related to WiFi, so don't touch it.
--- arch/arm/mach-pxa/include/mach/z2.h | 3 +-- arch/arm/mach-pxa/z2.c | 31 ++++++++----------------------- 2 files changed, 9 insertions(+), 25 deletions(-)
arch/arm/mach-pxa/include/mach/z2.h +1 -2
@@ -25,8 +25,7 @@#define GPIO98_ZIPITZ2_LID_BUTTON 98/* Libertas GSPI8686 WiFi */ -#define GPIO14_ZIPITZ2_WIFI_RESET 14 -#define GPIO15_ZIPITZ2_WIFI_POWER 15 +#define GPIO14_ZIPITZ2_WIFI_POWER 14#define GPIO24_ZIPITZ2_WIFI_CS 24#define GPIO36_ZIPITZ2_WIFI_IRQ 36
arch/arm/mach-pxa/z2.c +8 -23
@@ -138,8 +138,7 @@ static unsigned long z2_pin_config[] = {GPIO1_GPIO ,/* Power button */ GPIO37_GPIO ,/* Headphone detect */ GPIO98_GPIO ,/* Lid switch */ -GPIO14_GPIO ,/* WiFi Reset */ -GPIO15_GPIO ,/* WiFi Power */ +GPIO14_GPIO ,/* WiFi Power */ GPIO24_GPIO ,/* WiFi CS */ GPIO36_GPIO ,/* WiFi IRQ */ GPIO88_GPIO, /* LCD CS */
@@ -511,26 +510,16 @@ static int z2_lbs_spi_setup(struct spi_device *spi) {int ret =0 ; - ret =gpio_request (GPIO15_ZIPITZ2_WIFI_POWER ,"WiFi Power" ); + ret =gpio_request (GPIO14_ZIPITZ2_WIFI_POWER ,"WiFi Power" );if (ret) goto err; - ret =gpio_direction_output (GPIO15_ZIPITZ2_WIFI_POWER ,1 ); + ret =gpio_direction_output (GPIO14_ZIPITZ2_WIFI_POWER ,1 );if (ret) goto err2; - ret =gpio_request (GPIO14_ZIPITZ2_WIFI_RESET ,"WiFi Reset" ); -if (ret) - goto err2; - - ret =gpio_direction_output (GPIO14_ZIPITZ2_WIFI_RESET ,0 ); -if (ret) - goto err3; - -/* Reset the card */ +/* Wait until card is powered on */ mdelay (180 ); -gpio_set_value (GPIO14_ZIPITZ2_WIFI_RESET ,1 ); -mdelay (20 ); spi->bits_per_word =16 ; spi->mode = SPI_MODE_2,
@@ -539,22 +528,18 @@ static int z2_lbs_spi_setup(struct spi_device *spi)return 0 ; -err3: -gpio_free (GPIO14_ZIPITZ2_WIFI_RESET ); err2: -gpio_free (GPIO15_ZIPITZ2_WIFI_POWER ); +gpio_free (GPIO14_ZIPITZ2_WIFI_POWER ); err:return ret; };static int z2_lbs_spi_teardown (struct spi_device *spi) { -gpio_set_value (GPIO14_ZIPITZ2_WIFI_RESET ,0 ); -gpio_set_value (GPIO15_ZIPITZ2_WIFI_POWER ,0 ); -gpio_free (GPIO14_ZIPITZ2_WIFI_RESET ); -gpio_free (GPIO15_ZIPITZ2_WIFI_POWER ); -return 0 ; +gpio_set_value (GPIO14_ZIPITZ2_WIFI_POWER ,0 ); +gpio_free (GPIO14_ZIPITZ2_WIFI_POWER ); +return 0 ; };static struct pxa2xx_spi_chip z2_lbs_chip_info = {
Signature · 1 line
1.7.4.1
PATCH v2 4/6 ARM: PXA: Z2: Keep kbd backlight disabled by default
In reply to Vasily KhoruzhickIt eats too much power, and anyway it's not usefull during boot process. Userspace can enable it later.
--- arch/arm/mach-pxa/z2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-pxa/z2.c +1 -1
@@ -203,7 +203,7 @@ static struct platform_pwm_backlight_data z2_backlight_data[] = {/* Keypad Backlight */ .pwm_id = 1, .max_brightness = 1023, - .dft_brightness = 512, + .dft_brightness = 0, .pwm_period_ns = 1260320, }, [1] = {
Signature · 1 line
1.7.4.1
PATCH v2 5/6 ARM: PXA: Z2: Add default triggers for LEDs
In reply to Vasily KhoruzhickSo user can see if there's any mmc activity and if device's charging.
--- arch/arm/mach-pxa/z2.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-pxa/z2.c +2 -2
@@ -308,12 +308,12 @@ struct gpio_led z2_gpio_leds[] = { .active_low = 1, }, { .name = "z2:green:charged", - .default_trigger = "none", + .default_trigger = "mmc0", .gpio = GPIO85_ZIPITZ2_LED_CHARGED, .active_low = 1, }, { .name = "z2:amber:charging", - .default_trigger = "none", + .default_trigger = "Z2-charging-or-full", .gpio = GPIO83_ZIPITZ2_LED_CHARGING, .active_low = 1, },
Signature · 1 line
1.7.4.1
PATCH v2 6/6 ARM: PXA: Z2: Use switch event for lid
In reply to Vasily KhoruzhickOtherwise userspace might be confused.
--- arch/arm/mach-pxa/z2.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
arch/arm/mach-pxa/z2.c +5 -5
@@ -435,12 +435,12 @@ static struct gpio_keys_button z2_pxa_buttons[] = { .type = EV_KEY, }, { - .code = KEY_CLOSE, + .code = SW_LID, .gpio = GPIO98_ZIPITZ2_LID_BUTTON, - .active_low = 0, - .desc = "Lid Button", - .wakeup = 0 - .type = EV_KEY, + .active_low = 1, + .desc = "Lid Switch", + .wakeup = 0, + .type = EV_SW, }, };
Signature · 1 line
1.7.4.1
v2 cover ARM: PXA: Z2: Zipit Z2 improvements series
In reply to Vasily KhoruzhickQuoted 6 lines · On Sunday 13 March 2011 16:19:16 Vasily Khoruzhick wrote:
This series attempts to improve Zipit Z2 support.
Changes since v1:
- Removed OHCI and poweroff patches
- Removed commented out stuff from 1st patch
- Added patch to handle lid switch gracefully (it's switch, not button!)
You can have my Acked-by: Marek Vasut <[email protected]> an all these 6 patches. I applied them on top of my devel-fix, will send Eric a pull rq later today.