root/include/dt-bindings/pinctrl/dm814x.h

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * This header provides constants specific to DM814X pinctrl bindings.
   4  */
   5 
   6 #ifndef _DT_BINDINGS_PINCTRL_DM814X_H
   7 #define _DT_BINDINGS_PINCTRL_DM814X_H
   8 
   9 #include <dt-bindings/pinctrl/omap.h>
  10 
  11 #undef INPUT_EN
  12 #undef PULL_UP
  13 #undef PULL_ENA
  14 
  15 /*
  16  * Note that dm814x silicon revision 2.1 and older require input enabled
  17  * (bit 18 set) for all 3.3V I/Os to avoid cumulative hardware damage. For
  18  * more info, see errata advisory 2.1.87. We leave bit 18 out of
  19  * function-mask in dm814x.h and rely on the bootloader for it.
  20  */
  21 #define INPUT_EN                (1 << 18)
  22 #define PULL_UP                 (1 << 17)
  23 #define PULL_DISABLE            (1 << 16)
  24 
  25 /* update macro depending on INPUT_EN and PULL_ENA */
  26 #undef PIN_OUTPUT
  27 #undef PIN_OUTPUT_PULLUP
  28 #undef PIN_OUTPUT_PULLDOWN
  29 #undef PIN_INPUT
  30 #undef PIN_INPUT_PULLUP
  31 #undef PIN_INPUT_PULLDOWN
  32 
  33 #define PIN_OUTPUT              (PULL_DISABLE)
  34 #define PIN_OUTPUT_PULLUP       (PULL_UP)
  35 #define PIN_OUTPUT_PULLDOWN     0
  36 #define PIN_INPUT               (INPUT_EN | PULL_DISABLE)
  37 #define PIN_INPUT_PULLUP        (INPUT_EN | PULL_UP)
  38 #define PIN_INPUT_PULLDOWN      (INPUT_EN)
  39 
  40 /* undef non-existing modes */
  41 #undef PIN_OFF_NONE
  42 #undef PIN_OFF_OUTPUT_HIGH
  43 #undef PIN_OFF_OUTPUT_LOW
  44 #undef PIN_OFF_INPUT_PULLUP
  45 #undef PIN_OFF_INPUT_PULLDOWN
  46 #undef PIN_OFF_WAKEUPENABLE
  47 
  48 #endif
  49 

/* [<][>][^][v][top][bottom][index][help] */