/*
* Copyright (C) 2017 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.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
Description:
*/

#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

/*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
