1*b97ee269SEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-only */ 2c66ec88fSEmmanuel Vadot /* 3c66ec88fSEmmanuel Vadot * This header provides constants for hisilicon pinctrl bindings. 4c66ec88fSEmmanuel Vadot * 55956d97fSEmmanuel Vadot * Copyright (c) 2015 HiSilicon Limited. 6c66ec88fSEmmanuel Vadot * Copyright (c) 2015 Linaro Limited. 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_PINCTRL_HISI_H 10c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_PINCTRL_HISI_H 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot /* iomg bit definition */ 13c66ec88fSEmmanuel Vadot #define MUX_M0 0 14c66ec88fSEmmanuel Vadot #define MUX_M1 1 15c66ec88fSEmmanuel Vadot #define MUX_M2 2 16c66ec88fSEmmanuel Vadot #define MUX_M3 3 17c66ec88fSEmmanuel Vadot #define MUX_M4 4 18c66ec88fSEmmanuel Vadot #define MUX_M5 5 19c66ec88fSEmmanuel Vadot #define MUX_M6 6 20c66ec88fSEmmanuel Vadot #define MUX_M7 7 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot /* iocg bit definition */ 23c66ec88fSEmmanuel Vadot #define PULL_MASK (3) 24c66ec88fSEmmanuel Vadot #define PULL_DIS (0) 25c66ec88fSEmmanuel Vadot #define PULL_UP (1 << 0) 26c66ec88fSEmmanuel Vadot #define PULL_DOWN (1 << 1) 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot /* drive strength definition */ 29c66ec88fSEmmanuel Vadot #define DRIVE_MASK (7 << 4) 30c66ec88fSEmmanuel Vadot #define DRIVE1_02MA (0 << 4) 31c66ec88fSEmmanuel Vadot #define DRIVE1_04MA (1 << 4) 32c66ec88fSEmmanuel Vadot #define DRIVE1_08MA (2 << 4) 33c66ec88fSEmmanuel Vadot #define DRIVE1_10MA (3 << 4) 34c66ec88fSEmmanuel Vadot #define DRIVE2_02MA (0 << 4) 35c66ec88fSEmmanuel Vadot #define DRIVE2_04MA (1 << 4) 36c66ec88fSEmmanuel Vadot #define DRIVE2_08MA (2 << 4) 37c66ec88fSEmmanuel Vadot #define DRIVE2_10MA (3 << 4) 38c66ec88fSEmmanuel Vadot #define DRIVE3_04MA (0 << 4) 39c66ec88fSEmmanuel Vadot #define DRIVE3_08MA (1 << 4) 40c66ec88fSEmmanuel Vadot #define DRIVE3_12MA (2 << 4) 41c66ec88fSEmmanuel Vadot #define DRIVE3_16MA (3 << 4) 42c66ec88fSEmmanuel Vadot #define DRIVE3_20MA (4 << 4) 43c66ec88fSEmmanuel Vadot #define DRIVE3_24MA (5 << 4) 44c66ec88fSEmmanuel Vadot #define DRIVE3_32MA (6 << 4) 45c66ec88fSEmmanuel Vadot #define DRIVE3_40MA (7 << 4) 46c66ec88fSEmmanuel Vadot #define DRIVE4_02MA (0 << 4) 47c66ec88fSEmmanuel Vadot #define DRIVE4_04MA (2 << 4) 48c66ec88fSEmmanuel Vadot #define DRIVE4_08MA (4 << 4) 49c66ec88fSEmmanuel Vadot #define DRIVE4_10MA (6 << 4) 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot /* drive strength definition for hi3660 */ 52c66ec88fSEmmanuel Vadot #define DRIVE6_MASK (15 << 4) 53c66ec88fSEmmanuel Vadot #define DRIVE6_04MA (0 << 4) 54c66ec88fSEmmanuel Vadot #define DRIVE6_12MA (4 << 4) 55c66ec88fSEmmanuel Vadot #define DRIVE6_19MA (8 << 4) 56c66ec88fSEmmanuel Vadot #define DRIVE6_27MA (10 << 4) 57c66ec88fSEmmanuel Vadot #define DRIVE6_32MA (15 << 4) 58c66ec88fSEmmanuel Vadot #define DRIVE7_02MA (0 << 4) 59c66ec88fSEmmanuel Vadot #define DRIVE7_04MA (1 << 4) 60c66ec88fSEmmanuel Vadot #define DRIVE7_06MA (2 << 4) 61c66ec88fSEmmanuel Vadot #define DRIVE7_08MA (3 << 4) 62c66ec88fSEmmanuel Vadot #define DRIVE7_10MA (4 << 4) 63c66ec88fSEmmanuel Vadot #define DRIVE7_12MA (5 << 4) 64c66ec88fSEmmanuel Vadot #define DRIVE7_14MA (6 << 4) 65c66ec88fSEmmanuel Vadot #define DRIVE7_16MA (7 << 4) 66c66ec88fSEmmanuel Vadot #endif 67