1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2016 Marvell International Ltd. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0 5*4882a593Smuzhiyun * https://spdx.org/licenses 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __PINCTRL_MVEBU_H_ 9*4882a593Smuzhiyun #define __PINCTRL_MVEBU_H_ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #define MVEBU_MAX_PINCTL_BANKS 4 12*4882a593Smuzhiyun #define MVEBU_MAX_PINS_PER_BANK 100 13*4882a593Smuzhiyun #define MVEBU_MAX_FUNC 0xF 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* 16*4882a593Smuzhiyun * struct mvebu_pin_bank_data: mvebu-pinctrl bank data 17*4882a593Smuzhiyun * @base_reg: controller base address for this bank 18*4882a593Smuzhiyun * @pin_cnt: number of pins included in this bank 19*4882a593Smuzhiyun * @max_func: maximum configurable function value for pins in this bank 20*4882a593Smuzhiyun * @reg_direction: 21*4882a593Smuzhiyun * @bank_name: the pin's bank name 22*4882a593Smuzhiyun */ 23*4882a593Smuzhiyun struct mvebu_pinctrl_priv { 24*4882a593Smuzhiyun void *base_reg; 25*4882a593Smuzhiyun uint pin_cnt; 26*4882a593Smuzhiyun uint max_func; 27*4882a593Smuzhiyun int reg_direction; 28*4882a593Smuzhiyun const char *bank_name; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif /* __PINCTRL_MVEBU_H_ */ 32