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