diff options
author | Patrice Chotard <patrice.chotard@stericsson.com> | 2012-09-20 07:55:27 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-09-28 03:12:52 -0400 |
commit | 4401e2989b5dc5e8e7dedc5a1dec710247f3bb35 (patch) | |
tree | a008b587b001ce7832af313677cfa1ce5fa204ae | |
parent | eb26cc9c71f81f44777bbf5ca1bd72aa76997786 (diff) |
ARM: ux500: 8500: update I2C sleep states pinctrl
This defines the proper sleep states for all the I2C pins of
the MOP500 DB8500 ASIC setting.
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-pins.c | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index 8bca81141dea..a267c6d30e37 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c | |||
@@ -30,7 +30,6 @@ static enum custom_pin_cfg_t pinsfor; | |||
30 | #define BIAS(a,b) static unsigned long a[] = { b } | 30 | #define BIAS(a,b) static unsigned long a[] = { b } |
31 | 31 | ||
32 | BIAS(pd, PIN_PULL_DOWN); | 32 | BIAS(pd, PIN_PULL_DOWN); |
33 | BIAS(slpm_gpio_nopull, PIN_SLPM_GPIO|PIN_SLPM_INPUT_NOPULL); | ||
34 | BIAS(in_nopull, PIN_INPUT_NOPULL); | 33 | BIAS(in_nopull, PIN_INPUT_NOPULL); |
35 | BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE); | 34 | BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE); |
36 | BIAS(in_pu, PIN_INPUT_PULLUP); | 35 | BIAS(in_pu, PIN_INPUT_PULLUP); |
@@ -55,12 +54,16 @@ BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH|PIN_SLPM_ | |||
55 | BIAS(slpm_out_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 54 | BIAS(slpm_out_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
56 | BIAS(slpm_out_lo_wkup, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE); | 55 | BIAS(slpm_out_lo_wkup, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE); |
57 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | 56 | BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); |
57 | BIAS(slpm_in_nopull_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_NOPULL|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED); | ||
58 | 58 | ||
59 | /* We use these to define hog settings that are always done on boot */ | 59 | /* We use these to define hog settings that are always done on boot */ |
60 | #define DB8500_MUX_HOG(group,func) \ | 60 | #define DB8500_MUX_HOG(group,func) \ |
61 | PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-db8500", group, func) | 61 | PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-db8500", group, func) |
62 | #define DB8500_PIN_HOG(pin,conf) \ | 62 | #define DB8500_PIN_HOG(pin,conf) \ |
63 | PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-db8500", pin, conf) | 63 | PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-db8500", pin, conf) |
64 | #define DB8500_PIN_SLEEP(pin, conf, dev) \ | ||
65 | PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ | ||
66 | pin, conf) | ||
64 | 67 | ||
65 | /* These are default states associated with device and changed runtime */ | 68 | /* These are default states associated with device and changed runtime */ |
66 | #define DB8500_MUX(group,func,dev) \ | 69 | #define DB8500_MUX(group,func,dev) \ |
@@ -160,19 +163,26 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = { | |||
160 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), | 163 | DB8500_MUX("lcdaclk_b_1", "lcda", "mcde-tvout"), |
161 | /* Mux in LCD VSI1 and pull it up for MCDE HDMI output */ | 164 | /* Mux in LCD VSI1 and pull it up for MCDE HDMI output */ |
162 | DB8500_MUX("lcdvsi1_a_1", "lcd", "av8100-hdmi"), | 165 | DB8500_MUX("lcdvsi1_a_1", "lcd", "av8100-hdmi"), |
163 | /* Mux in I2C blocks, put pins into GPIO in sleepmode no pull-up */ | 166 | /* Mux in i2c0 block, default state */ |
164 | DB8500_MUX("i2c0_a_1", "i2c0", "nmk-i2c.0"), | 167 | DB8500_MUX("i2c0_a_1", "i2c0", "nmk-i2c.0"), |
165 | DB8500_PIN("GPIO147_C15", slpm_gpio_nopull, "nmk-i2c.0"), | 168 | /* i2c0 sleep state */ |
166 | DB8500_PIN("GPIO148_B16", slpm_gpio_nopull, "nmk-i2c.0"), | 169 | DB8500_PIN_SLEEP("GPIO147_C15", slpm_in_nopull_wkup_pdis, "nmk-i2c.0"), /* SDA */ |
170 | DB8500_PIN_SLEEP("GPIO148_B16", slpm_in_nopull_wkup_pdis, "nmk-i2c.0"), /* SCL */ | ||
171 | /* Mux in i2c1 block, default state */ | ||
167 | DB8500_MUX("i2c1_b_2", "i2c1", "nmk-i2c.1"), | 172 | DB8500_MUX("i2c1_b_2", "i2c1", "nmk-i2c.1"), |
168 | DB8500_PIN("GPIO16_AD3", slpm_gpio_nopull, "nmk-i2c.1"), | 173 | /* i2c1 sleep state */ |
169 | DB8500_PIN("GPIO17_AD4", slpm_gpio_nopull, "nmk-i2c.1"), | 174 | DB8500_PIN_SLEEP("GPIO16_AD3", slpm_in_nopull_wkup_pdis, "nmk-i2c.1"), /* SDA */ |
175 | DB8500_PIN_SLEEP("GPIO17_AD4", slpm_in_nopull_wkup_pdis, "nmk-i2c.1"), /* SCL */ | ||
176 | /* Mux in i2c2 block, default state */ | ||
170 | DB8500_MUX("i2c2_b_2", "i2c2", "nmk-i2c.2"), | 177 | DB8500_MUX("i2c2_b_2", "i2c2", "nmk-i2c.2"), |
171 | DB8500_PIN("GPIO10_AF5", slpm_gpio_nopull, "nmk-i2c.2"), | 178 | /* i2c2 sleep state */ |
172 | DB8500_PIN("GPIO11_AG4", slpm_gpio_nopull, "nmk-i2c.2"), | 179 | DB8500_PIN_SLEEP("GPIO10_AF5", slpm_in_nopull_wkup_pdis, "nmk-i2c.2"), /* SDA */ |
180 | DB8500_PIN_SLEEP("GPIO11_AG4", slpm_in_nopull_wkup_pdis, "nmk-i2c.2"), /* SCL */ | ||
181 | /* Mux in i2c3 block, default state */ | ||
173 | DB8500_MUX("i2c3_c_2", "i2c3", "nmk-i2c.3"), | 182 | DB8500_MUX("i2c3_c_2", "i2c3", "nmk-i2c.3"), |
174 | DB8500_PIN("GPIO229_AG7", slpm_gpio_nopull, "nmk-i2c.3"), | 183 | /* i2c3 sleep state */ |
175 | DB8500_PIN("GPIO230_AF7", slpm_gpio_nopull, "nmk-i2c.3"), | 184 | DB8500_PIN_SLEEP("GPIO229_AG7", slpm_in_nopull_wkup_pdis, "nmk-i2c.3"), /* SDA */ |
185 | DB8500_PIN_SLEEP("GPIO230_AF7", slpm_in_nopull_wkup_pdis, "nmk-i2c.3"), /* SCL */ | ||
176 | /* Mux in SDI0 (here called MC0) used for removable MMC/SD/SDIO cards */ | 186 | /* Mux in SDI0 (here called MC0) used for removable MMC/SD/SDIO cards */ |
177 | DB8500_MUX("mc0_a_1", "mc0", "sdi0"), | 187 | DB8500_MUX("mc0_a_1", "mc0", "sdi0"), |
178 | DB8500_PIN("GPIO18_AC2", out_hi, "sdi0"), /* CMDDIR */ | 188 | DB8500_PIN("GPIO18_AC2", out_hi, "sdi0"), /* CMDDIR */ |