]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
plat-nomadik: new sleep mode pincfg macros
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 17 Apr 2012 08:29:49 +0000 (10:29 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 24 Apr 2012 07:36:04 +0000 (09:36 +0200)
This adds a few sleep mode pin config macros for sleep mode
for the Nomadik GPIO/pin controller.

Signed-off-by: Rickard Andersson <rickard.andersson@stericsson.com>
Signed-off-by: Rikard Olsson <rikard.p.olsson@stericsson.com>
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/plat-nomadik/include/plat/pincfg.h

index da6b1e35e171a2e51240c51e73b397f232b1b587..c015133a7ad3f940986b32ad3ff0f803111a18f9 100644 (file)
@@ -24,6 +24,7 @@
  *     bit 16..18 - SLPM pull up/down state
  *     bit 19..20 - SLPM direction
  *     bit 21..22 - SLPM Value (if output)
+ *     bit 23..25 - PDIS value (if input)
  *
  * to facilitate the definition, the following macros are provided
  *
@@ -67,6 +68,10 @@ typedef unsigned long pin_cfg_t;
 /* These two replace the above in DB8500v2+ */
 #define PIN_SLPM_WAKEUP_ENABLE (NMK_GPIO_SLPM_WAKEUP_ENABLE << PIN_SLPM_SHIFT)
 #define PIN_SLPM_WAKEUP_DISABLE        (NMK_GPIO_SLPM_WAKEUP_DISABLE << PIN_SLPM_SHIFT)
+#define PIN_SLPM_USE_MUX_SETTINGS_IN_SLEEP PIN_SLPM_WAKEUP_DISABLE
+
+#define PIN_SLPM_GPIO  PIN_SLPM_WAKEUP_ENABLE /* In SLPM, pin is a gpio */
+#define PIN_SLPM_ALTFUNC PIN_SLPM_WAKEUP_DISABLE /* In SLPM, pin is altfunc */
 
 #define PIN_DIR_SHIFT          14
 #define PIN_DIR_MASK           (0x1 << PIN_DIR_SHIFT)
@@ -105,6 +110,14 @@ typedef unsigned long pin_cfg_t;
 #define PIN_SLPM_VAL_LOW       ((1 + 0) << PIN_SLPM_VAL_SHIFT)
 #define PIN_SLPM_VAL_HIGH      ((1 + 1) << PIN_SLPM_VAL_SHIFT)
 
+#define PIN_SLPM_PDIS_SHIFT            23
+#define PIN_SLPM_PDIS_MASK             (0x3 << PIN_SLPM_PDIS_SHIFT)
+#define PIN_SLPM_PDIS(x)       \
+       (((x) & PIN_SLPM_PDIS_MASK) >> PIN_SLPM_PDIS_SHIFT)
+#define PIN_SLPM_PDIS_NO_CHANGE                (0 << PIN_SLPM_PDIS_SHIFT)
+#define PIN_SLPM_PDIS_DISABLED         (1 << PIN_SLPM_PDIS_SHIFT)
+#define PIN_SLPM_PDIS_ENABLED          (2 << PIN_SLPM_PDIS_SHIFT)
+
 #define PIN_LOWEMI_SHIFT       25
 #define PIN_LOWEMI_MASK                (0x1 << PIN_LOWEMI_SHIFT)
 #define PIN_LOWEMI(x)          (((x) & PIN_LOWEMI_MASK) >> PIN_LOWEMI_SHIFT)