1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0 */ 2656e6cc8SKonstantin Porotchkin /* 3656e6cc8SKonstantin Porotchkin * Copyright (C) 2016 Marvell International Ltd. 4656e6cc8SKonstantin Porotchkin * https://spdx.org/licenses 5656e6cc8SKonstantin Porotchkin */ 6656e6cc8SKonstantin Porotchkin 7656e6cc8SKonstantin Porotchkin #ifndef __PINCTRL_MVEBU_H_ 8656e6cc8SKonstantin Porotchkin #define __PINCTRL_MVEBU_H_ 9656e6cc8SKonstantin Porotchkin 10656e6cc8SKonstantin Porotchkin #define MVEBU_MAX_PINCTL_BANKS 4 11656e6cc8SKonstantin Porotchkin #define MVEBU_MAX_PINS_PER_BANK 100 12656e6cc8SKonstantin Porotchkin #define MVEBU_MAX_FUNC 0xF 13656e6cc8SKonstantin Porotchkin 14656e6cc8SKonstantin Porotchkin /* 15656e6cc8SKonstantin Porotchkin * struct mvebu_pin_bank_data: mvebu-pinctrl bank data 16656e6cc8SKonstantin Porotchkin * @base_reg: controller base address for this bank 17656e6cc8SKonstantin Porotchkin * @pin_cnt: number of pins included in this bank 18656e6cc8SKonstantin Porotchkin * @max_func: maximum configurable function value for pins in this bank 19656e6cc8SKonstantin Porotchkin * @reg_direction: 20656e6cc8SKonstantin Porotchkin * @bank_name: the pin's bank name 21656e6cc8SKonstantin Porotchkin */ 22656e6cc8SKonstantin Porotchkin struct mvebu_pinctrl_priv { 23656e6cc8SKonstantin Porotchkin void *base_reg; 24656e6cc8SKonstantin Porotchkin uint pin_cnt; 25656e6cc8SKonstantin Porotchkin uint max_func; 26656e6cc8SKonstantin Porotchkin int reg_direction; 27656e6cc8SKonstantin Porotchkin const char *bank_name; 28656e6cc8SKonstantin Porotchkin }; 29656e6cc8SKonstantin Porotchkin 30656e6cc8SKonstantin Porotchkin #endif /* __PINCTRL_MVEBU_H_ */ 31