1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * This header provides constants for pinctrl bindings for TI's K3 SoC 4*4882a593Smuzhiyun * family. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2018 Texas Instruments Incorporated - https://www.ti.com/ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #ifndef _DT_BINDINGS_PINCTRL_TI_K3_H 9*4882a593Smuzhiyun #define _DT_BINDINGS_PINCTRL_TI_K3_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #define PULLUDEN_SHIFT (16) 12*4882a593Smuzhiyun #define PULLTYPESEL_SHIFT (17) 13*4882a593Smuzhiyun #define RXACTIVE_SHIFT (18) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define PULL_DISABLE (1 << PULLUDEN_SHIFT) 16*4882a593Smuzhiyun #define PULL_ENABLE (0 << PULLUDEN_SHIFT) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #define PULL_UP (1 << PULLTYPESEL_SHIFT | PULL_ENABLE) 19*4882a593Smuzhiyun #define PULL_DOWN (0 << PULLTYPESEL_SHIFT | PULL_ENABLE) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #define INPUT_EN (1 << RXACTIVE_SHIFT) 22*4882a593Smuzhiyun #define INPUT_DISABLE (0 << RXACTIVE_SHIFT) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* Only these macros are expected be used directly in device tree files */ 25*4882a593Smuzhiyun #define PIN_OUTPUT (INPUT_DISABLE | PULL_DISABLE) 26*4882a593Smuzhiyun #define PIN_OUTPUT_PULLUP (INPUT_DISABLE | PULL_UP) 27*4882a593Smuzhiyun #define PIN_OUTPUT_PULLDOWN (INPUT_DISABLE | PULL_DOWN) 28*4882a593Smuzhiyun #define PIN_INPUT (INPUT_EN | PULL_DISABLE) 29*4882a593Smuzhiyun #define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP) 30*4882a593Smuzhiyun #define PIN_INPUT_PULLDOWN (INPUT_EN | PULL_DOWN) 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #define AM65X_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 33*4882a593Smuzhiyun #define AM65X_WKUP_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun #define J721E_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 36*4882a593Smuzhiyun #define J721E_WKUP_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun #endif 39