1152f4898SPeter Griffin /*
2152f4898SPeter Griffin  * Copyright (C) 2015 Linaro
3152f4898SPeter Griffin  * Peter Griffin <peter.griffin@linaro.org>
4152f4898SPeter Griffin  *
5152f4898SPeter Griffin  * SPDX-License-Identifier:	GPL-2.0+
6152f4898SPeter Griffin  */
7152f4898SPeter Griffin 
8152f4898SPeter Griffin #ifndef _HI6220_GPIO_H_
9152f4898SPeter Griffin #define _HI6220_GPIO_H_
10152f4898SPeter Griffin 
11152f4898SPeter Griffin #define HI6220_GPIO_BASE(bank)	(((bank < 4) ? 0xf8011000 : \
12152f4898SPeter Griffin 				0xf7020000 - 0x4000) + (0x1000 * bank))
13152f4898SPeter Griffin 
14152f4898SPeter Griffin #define HI6220_GPIO_PER_BANK	8
15152f4898SPeter Griffin #define HI6220_GPIO_DIR		0x400
16152f4898SPeter Griffin 
17152f4898SPeter Griffin struct gpio_bank {
18152f4898SPeter Griffin 	u8 *base;	/* address of registers in physical memory */
19152f4898SPeter Griffin };
20152f4898SPeter Griffin 
21152f4898SPeter Griffin /* Information about a GPIO bank */
22152f4898SPeter Griffin struct hikey_gpio_platdata {
23152f4898SPeter Griffin 	int bank_index;
24*4e4ad6d1SPrabhakar Kushwaha 	ulong base;     /* address of registers in physical memory */
25152f4898SPeter Griffin };
26152f4898SPeter Griffin 
27152f4898SPeter Griffin #endif /* _HI6220_GPIO_H_ */
28