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