
/*
 * 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_12	12
/*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	GPIOZ_11    11
#define	GPIOZ_12    12
#define	GPIOZ_13    13
#define	GPIOZ_14    14
#define	GPIOZ_15    15

#define	GPIOH_0    16
#define	GPIOH_1    17
#define	GPIOH_2    18
#define	GPIOH_3    19
#define	GPIOH_4    20
#define	GPIOH_5    21
#define	GPIOH_6    22
#define	GPIOH_7    23
#define	GPIOH_8    24
#define	GPIOH_9    25

#define	BOOT_0    26
#define	BOOT_1    27
#define	BOOT_2    28
#define	BOOT_3    29
#define	BOOT_4    30
#define	BOOT_5    31
#define	BOOT_6    32
#define	BOOT_7    33
#define	BOOT_8    34
#define	BOOT_9    35
#define	BOOT_10    36
#define	BOOT_11    37
#define	BOOT_12    38
#define	BOOT_13    39
#define	BOOT_14    40
#define	BOOT_15    41

#define	CARD_0    42
#define	CARD_1    43
#define	CARD_2    44
#define	CARD_3    45
#define	CARD_4    46
#define	CARD_5    47
#define	CARD_6    48

#define	GPIODV_0    49
#define	GPIODV_1    50
#define	GPIODV_2    51
#define	GPIODV_3    52
#define	GPIODV_4    53
#define	GPIODV_5    54
#define	GPIODV_6    55
#define	GPIODV_7    56
#define	GPIODV_8    57
#define	GPIODV_9    58
#define	GPIODV_10    59
#define	GPIODV_11    60
#define	GPIODV_12    61
#define	GPIODV_13    62
#define	GPIODV_14    63
#define	GPIODV_15    64
#define	GPIODV_16    65
#define	GPIODV_17    66
#define	GPIODV_18    67
#define	GPIODV_19    68
#define	GPIODV_20    69
#define	GPIODV_21    70
#define	GPIODV_22    71
#define	GPIODV_23    72
#define	GPIODV_24    73
#define	GPIODV_25    74
#define	GPIODV_26    75
#define	GPIODV_27    76
#define	GPIODV_28    77
#define	GPIODV_29    78

#define	GPIOX_0    79
#define	GPIOX_1    80
#define	GPIOX_2    81
#define	GPIOX_3    82
#define	GPIOX_4    83
#define	GPIOX_5    84
#define	GPIOX_6    85
#define	GPIOX_7    86
#define	GPIOX_8    87
#define	GPIOX_9    88
#define	GPIOX_10    89
#define	GPIOX_11    90
#define	GPIOX_12    91
#define	GPIOX_13    92
#define	GPIOX_14    93
#define	GPIOX_15    94
#define	GPIOX_16    95
#define	GPIOX_17    96
#define	GPIOX_18    97

#define	GPIOCLK_0    98
#define	GPIOCLK_1    99

#define	GPIO_TEST_N    100


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