arm64: dts: ti: k3-pinctrl: Introduce deep sleep macros
authorSiddharth Vadapalli <s-vadapalli@ti.com>
Thu, 5 Dec 2024 12:01:28 +0000 (17:31 +0530)
committerNishanth Menon <nm@ti.com>
Thu, 26 Dec 2024 18:01:23 +0000 (12:01 -0600)
The behavior of pins in deep sleep mode can be configured by programming
the corresponding bits in the respective Pad Configuration register. Add
macros to support this.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Link: https://lore.kernel.org/r/20241205120134.754664-2-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-pinctrl.h

index 22b8d73cfd3264735ddf91874e60a0c5fc7ade5b..cac7cccc111212eba520454396c8cc5c9fcba9b1 100644 (file)
 #define PULLTYPESEL_SHIFT      (17)
 #define RXACTIVE_SHIFT         (18)
 #define DEBOUNCE_SHIFT         (11)
+#define FORCE_DS_EN_SHIFT      (15)
+#define DS_EN_SHIFT            (24)
+#define DS_OUT_DIS_SHIFT       (25)
+#define DS_OUT_VAL_SHIFT       (26)
+#define DS_PULLUD_EN_SHIFT     (27)
+#define DS_PULLTYPE_SEL_SHIFT  (28)
 
 #define PULL_DISABLE           (1 << PULLUDEN_SHIFT)
 #define PULL_ENABLE            (0 << PULLUDEN_SHIFT)
 #define PIN_DEBOUNCE_CONF5     (5 << DEBOUNCE_SHIFT)
 #define PIN_DEBOUNCE_CONF6     (6 << DEBOUNCE_SHIFT)
 
+#define PIN_DS_FORCE_DISABLE           (0 << FORCE_DS_EN_SHIFT)
+#define PIN_DS_FORCE_ENABLE            (1 << FORCE_DS_EN_SHIFT)
+#define PIN_DS_IO_OVERRIDE_DISABLE     (0 << DS_IO_OVERRIDE_EN_SHIFT)
+#define PIN_DS_IO_OVERRIDE_ENABLE      (1 << DS_IO_OVERRIDE_EN_SHIFT)
+#define PIN_DS_OUT_ENABLE              (0 << DS_OUT_DIS_SHIFT)
+#define PIN_DS_OUT_DISABLE             (1 << DS_OUT_DIS_SHIFT)
+#define PIN_DS_OUT_VALUE_ZERO          (0 << DS_OUT_VAL_SHIFT)
+#define PIN_DS_OUT_VALUE_ONE           (1 << DS_OUT_VAL_SHIFT)
+#define PIN_DS_PULLUD_ENABLE           (0 << DS_PULLUD_EN_SHIFT)
+#define PIN_DS_PULLUD_DISABLE          (1 << DS_PULLUD_EN_SHIFT)
+#define PIN_DS_PULL_DOWN               (0 << DS_PULLTYPE_SEL_SHIFT)
+#define PIN_DS_PULL_UP                 (1 << DS_PULLTYPE_SEL_SHIFT)
+
 /* Default mux configuration for gpio-ranges to use with pinctrl */
 #define PIN_GPIO_RANGE_IOPAD   (PIN_INPUT | 7)