
/*
 * arch/arm/cpu/armv8/txl/firmware/scp_task/gpio-gxbb.h
 *
 * Copyright (C) 2015 Amlogic, Inc. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

#ifndef __ARCH_GXBB_GPIO_H__
#define __ARCH_GXBB_GPIO_H__
/*AO Bank*/
#define	GPIOAO_0    0
#define	GPIOAO_1    1
#define	GPIOAO_2    2
#define	GPIOAO_3    3
#define	GPIOAO_4    4
#define	GPIOAO_5    5
#define	GPIOAO_6    6
#define	GPIOAO_7    7
#define	GPIOAO_8    8
#define	GPIOAO_9    9
#define GPIOAO_10	10
#define GPIOAO_11	11
#define GPIOAO_12	12
#define GPIOAO_13	13
/*EE Bank*/
#define	GPIOZ_0    0
#define	GPIOZ_1    1
#define	GPIOZ_2    2
#define	GPIOZ_3    3
#define	GPIOZ_4    4
#define	GPIOZ_5    5
#define	GPIOZ_6    6
#define	GPIOZ_7    7
#define	GPIOZ_8    8
#define	GPIOZ_9    9
#define	GPIOZ_10    10
#define BOOT_0		11
#define BOOT_1		12
#define BOOT_2		13
#define BOOT_3		14
#define BOOT_4		15

#define BOOT_5		16
#define BOOT_6		17
#define BOOT_7		18
#define BOOT_8		19
#define BOOT_9		20
#define BOOT_10		21
#define BOOT_11		22
#define BOOT_12		23
#define BOOT_13		24
#define BOOT_14		25
#define GPIOA_0		26
#define GPIOA_1		27
#define GPIOA_2		28
#define GPIOA_3		29
#define GPIOA_4		30
#define GPIOA_5		31
#define GPIOA_6		32
#define GPIOA_7		33
#define GPIOA_8		34
#define GPIOA_9		35
#define GPIOA_10	36
#define GPIOA_11	37
#define GPIOA_12	38
#define GPIOA_13	39
#define GPIOA_14	40
#define GPIOA_15	41
#define GPIOA_16	42
#define GPIOA_17	43
#define GPIOA_18	44
#define GPIOA_19	45
#define GPIOA_20	46
#define GPIOX_0		47
#define GPIOX_1		48
#define GPIOX_2		49
#define GPIOX_3		50
#define GPIOX_4		51
#define GPIOX_5		52
#define GPIOX_6		53
#define GPIOX_7		54
#define GPIOX_8		55
#define GPIOX_9		56
#define GPIOX_10	57
#define GPIOX_11	58
#define GPIOX_12	59
#define GPIOX_13	60
#define GPIOX_14	61
#define GPIOX_15	62
#define GPIOX_16	63
#define GPIOX_17	64
#define GPIOX_18	65
#define GPIOX_19	66
#define GPIOX_20	67
#define GPIOX_21	68
#define GPIOX_22	69
#define GPIOY_0		70
#define GPIOY_1		71
#define GPIOY_2		72
#define GPIOY_3		73
#define GPIOY_4		74
#define GPIOY_5		75
#define GPIOY_6		76
#define GPIOY_7		77
#define GPIOY_8		78
#define GPIOY_9		79
#define GPIOY_10	80
#define GPIOY_11	81
#define GPIOY_12	82
#define GPIOY_13	83
#define GPIOY_14	84
#define GPIOY_15	85


#define	GPIO_TEST_N    86


/*AO REG */
#define AO 0x10
#define AO2 0x11
#endif
