1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-only */ 2*c66ec88fSEmmanuel Vadot /* 3*c66ec88fSEmmanuel Vadot * This header provides constants for most at91 pinctrl bindings. 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> 6*c66ec88fSEmmanuel Vadot */ 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot #ifndef __DT_BINDINGS_AT91_PINCTRL_H__ 9*c66ec88fSEmmanuel Vadot #define __DT_BINDINGS_AT91_PINCTRL_H__ 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_NONE (0 << 0) 12*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_PULL_UP (1 << 0) 13*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_MULTI_DRIVE (1 << 1) 14*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DEGLITCH (1 << 2) 15*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_PULL_DOWN (1 << 3) 16*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DIS_SCHMIT (1 << 4) 17*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_OUTPUT (1 << 7) 18*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_OUTPUT_VAL(x) ((x & 0x1) << 8) 19*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_SLEWRATE (1 << 9) 20*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DEBOUNCE (1 << 16) 21*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DEBOUNCE_VAL(x) (x << 17) 22*c66ec88fSEmmanuel Vadot 23*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_PULL_UP_DEGLITCH (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DEGLITCH) 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DRIVE_STRENGTH_DEFAULT (0x0 << 5) 26*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DRIVE_STRENGTH_LOW (0x1 << 5) 27*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DRIVE_STRENGTH_MED (0x2 << 5) 28*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_DRIVE_STRENGTH_HI (0x3 << 5) 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_SLEWRATE_ENA (0x0 << 9) 31*c66ec88fSEmmanuel Vadot #define AT91_PINCTRL_SLEWRATE_DIS (0x1 << 9) 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot #define AT91_PIOA 0 34*c66ec88fSEmmanuel Vadot #define AT91_PIOB 1 35*c66ec88fSEmmanuel Vadot #define AT91_PIOC 2 36*c66ec88fSEmmanuel Vadot #define AT91_PIOD 3 37*c66ec88fSEmmanuel Vadot #define AT91_PIOE 4 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot #define AT91_PERIPH_GPIO 0 40*c66ec88fSEmmanuel Vadot #define AT91_PERIPH_A 1 41*c66ec88fSEmmanuel Vadot #define AT91_PERIPH_B 2 42*c66ec88fSEmmanuel Vadot #define AT91_PERIPH_C 3 43*c66ec88fSEmmanuel Vadot #define AT91_PERIPH_D 4 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot #define ATMEL_PIO_DRVSTR_LO 1 46*c66ec88fSEmmanuel Vadot #define ATMEL_PIO_DRVSTR_ME 2 47*c66ec88fSEmmanuel Vadot #define ATMEL_PIO_DRVSTR_HI 3 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot #endif /* __DT_BINDINGS_AT91_PINCTRL_H__ */ 50