xref: /rk3399_rockchip-uboot/drivers/pinctrl/mvebu/pinctrl-mvebu.h (revision f2465934b46235287e07473fa4919035ba1a2b68)
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