/*
 *  arch/arm/mach-comcerto/include/mach/comcerto-2000/gpio.h
 *
 *  Copyright (C) 2012 Mindspeed Technologies, Inc.
 *
 * 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
 */

#ifndef __COMCERTO_GPIO_H__
#define __COMCERTO_GPIO_H__

/***** GPIO  *****/
#define COMCERTO_GPIO_OUTPUT_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x00)
#define COMCERTO_GPIO_OE_REG			APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x04)
#define COMCERTO_GPIO_INT_CFG_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x08)
#define COMCERTO_GPIO_INPUT_REG			APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x10)
#define COMCERTO_GPIO_APB_WS			APB_VADDR(OMCERTO_APB_GPIO_BASE + 0x14)
#define COMCERTO_GPIO_SYSTEM_CONFIG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1C)
#define COMCERTO_GPIO_TDM_MUX			APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x28)
#define COMCERTO_GPIO_MISC_CTRL			APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x34)
#define COMCERTO_GPIO_DDR_AXI_CTRL		APB_VADDR(OMCERTO_APB_GPIO_BASE + 0x38)
#define COMCERTO_GPIO_DDRC_STATUS		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x3C)
#define COMCERTO_GPIO_BOOTSTRAP_STATUS		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x40)
#define COMCERTO_GPIO_BOOTSTRAP_OVERRIDE	APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x44)


#define COMCERTO_GPIO_DEVICE_ID_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x50)
#define COMCERTO_GPIO_PIN_SELECT_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x58)
#define COMCERTO_GPIO_PIN_SELECT_REG1		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x5C)
#define COMCERTO_GPIO_MISC_PIN_SELECT		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x60)

#define COMCERTO_GPIO_FABRIC_CTRL_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x6C)
#define COMCERTO_GPIO_A9_AUTH_CTRL_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x70)
#define COMCERTO_GPIO_A9_ACP_CONF_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x74)
#define COMCERTO_GPIO_PCIE_CLK_OUT_CTRL_REG	APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x80)
#define COMCERTO_GPIO_INTR_CLR_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x98)
#define COMCERTO_GPIO_INTR_SET_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x9C)
#define COMCERTO_GPIO_INTR_MASK_REG		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xA0)
#define COMCERTO_GPIO_CSS_DECT_SYS_CFG0		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xB0)
#define COMCERTO_GPIO_CSS_DECT_SYS_CFG1		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xB4)
#define COMCERTO_GPIO_CSS_DECT_CTRL		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xB8)
#define COMCERTO_GPIO_63_32_PIN_OUTPUT		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xD0)
#define COMCERTO_GPIO_63_32_PIN_OUTPUT_EN	APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xD4)
#define COMCERTO_GPIO_63_32_PIN_INPUT		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xD8)
#define COMCERTO_GPIO_63_32_PIN_SELECT		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0xDC)

#define	COMCERTO_GPIO_PAD_CONFIG0		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x100)
#define	COMCERTO_GPIO_PAD_CONFIG1		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x104)
#define	COMCERTO_GPIO_PAD_CONFIG2		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x108)
#define	COMCERTO_GPIO_PAD_CONFIG3		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x10C)
#define	COMCERTO_GPIO_PAD_CONFIG4		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x110)
#define	COMCERTO_GPIO_PAD_CONFIG5		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x114)
#define	COMCERTO_GPIO_PAD_CONFIG6		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x118)
#define	COMCERTO_GPIO_PAD_CONFIG7		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x11C)
#define	COMCERTO_GPIO_PAD_CONFIG8		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x120)
#define	COMCERTO_GPIO_PAD_CONFIG9		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x124)
#define	COMCERTO_GPIO_PAD_CONFIG10		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x128)
#define	COMCERTO_GPIO_PAD_CONFIG11		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x12C)
#define	COMCERTO_GPIO_PAD_CONFIG12		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x130)
#define	COMCERTO_GPIO_PAD_CONFIG13		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x134)
#define	COMCERTO_GPIO_PAD_CONFIG14		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x138)

#define COMCERTO_GPIO_PMU_INTR_CLR		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x160)
#define COMCERTO_GPIO_PMU_INTR_SET		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x164)
#define COMCERTO_GPIO_PMU_INTR_MASK0		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x168)
#define COMCERTO_GPIO_PMU_INTR_MASK1		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x16C)

#define COMCERTO_GPIO_MEM_EMA_CONF0		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1A4)
#define COMCERTO_GPIO_MEM_EMA_CONF1		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1A8)
#define COMCERTO_GPIO_MEM_EMA_CONF2		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1A8)
#define COMCERTO_GPIO_MEM_EMA_CONF3		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1AC)
#define COMCERTO_GPIO_MEM_EMA_CONF4		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1B0)
#define COMCERTO_GPIO_MEM_EMA_CONF5		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1B4)
#define COMCERTO_GPIO_MEM_EMA_CONF6		APB_VADDR(COMCERTO_APB_GPIO_BASE + 0x1B8)

#define COMCERTO_GPIO_INTR_FALLING_EDGE		0x01
#define COMCERTO_GPIO_INTR_RISING_EDGE		0x02
#define COMCERTO_GPIO_INTR_ACTIVE_HIGH		0x03

#define GPIO_0		0x00000003
#define GPIO_1		0x0000000C
#define GPIO_2		0x00000030
#define GPIO_3		0x000000C0
#define GPIO_4		0x00000300
#define GPIO_5		0x00000C00
#define GPIO_6		0x00003000
#define GPIO_7		0x0000C000
#define GPIO_8		0x00030000
#define GPIO_9		0x000C0000
#define GPIO_10		0x00300000
#define GPIO_11		0x00C00000
#define GPIO_12		0x03000000
#define GPIO_13		0x0C000000
#define GPIO_14		0x30000000
#define GPIO_15		0xC0000000
#define GPIO_16		0x00000003
#define GPIO_17		0x0000000C
#define GPIO_18		0x00000030
#define GPIO_19		0x000000C0
#define GPIO_20		0x00000300
#define GPIO_21		0x00000C00
#define GPIO_22		0x00003000
#define GPIO_23		0x0000C000
#define GPIO_24		0x00030000
#define GPIO_25		0x000C0000
#define GPIO_26		0x00300000
#define GPIO_27		0x00C00000
#define GPIO_28		0x03000000
#define GPIO_29		0x0C000000
#define GPIO_30		0x30000000
#define GPIO_31		0xC0000000

#define GPIO_0_S	0x00000001
#define GPIO_1_S	0x00000002
#define GPIO_2_S	0x00000004

/* GPIO Pin Number and Description */
#define GPIO_PIN_NUM_0		0
#define GPIO_PIN_NUM_1		1
#define GPIO_PIN_NUM_2		2
#define GPIO_PIN_NUM_3		3
#define GPIO_PIN_NUM_4		4
#define GPIO_PIN_NUM_5		5

#define GPIO_PIN_DESC_0		"gpio-0"
#define GPIO_PIN_DESC_1		"gpio-1"
#define GPIO_PIN_DESC_2		"gpio-2"
#define GPIO_PIN_DESC_3		"gpio-3"
#define GPIO_PIN_DESC_4		"gpio-4"
#define GPIO_PIN_DESC_5		"gpio-5"

#define	GPIO_SET_0	0
#define	GPIO_SET_1	1


/* GPIO Pin Mask */
#define GPIO_PIN_0		(0x1 << 0)
#define GPIO_PIN_1		(0x1 << 1)
#define GPIO_PIN_2		(0x1 << 2)
#define GPIO_PIN_3		(0x1 << 3)
#define GPIO_PIN_4		(0x1 << 4)
#define GPIO_PIN_5		(0x1 << 5)
#define GPIO_PIN_6		(0x1 << 6)
#define GPIO_PIN_7		(0x1 << 7)
#define GPIO_PIN_8		(0x1 << 8)
#define GPIO_PIN_9		(0x1 << 9)
#define GPIO_PIN_10		(0x1 << 10)
#define GPIO_PIN_11		(0x1 << 11)
#define GPIO_PIN_12		(0x1 << 12)
#define GPIO_PIN_13		(0x1 << 13)
#define GPIO_PIN_14		(0x1 << 14)
#define GPIO_PIN_15		(0x1 << 15)
#define GPIO_PIN_16		(0x1 << 16)
#define GPIO_PIN_17		(0x1 << 17)
#define GPIO_PIN_18		(0x1 << 18)
#define GPIO_PIN_19		(0x1 << 19)
#define GPIO_PIN_20		(0x1 << 20)
#define GPIO_PIN_21		(0x1 << 21)
#define GPIO_PIN_22		(0x1 << 22)
#define GPIO_PIN_23		(0x1 << 23)
#define GPIO_PIN_24		(0x1 << 24)
#define GPIO_PIN_25		(0x1 << 25)
#define GPIO_PIN_26		(0x1 << 26)
#define GPIO_PIN_27		(0x1 << 27)
#define GPIO_PIN_28		(0x1 << 28)
#define GPIO_PIN_29		(0x1 << 29)
#define GPIO_PIN_30		(0x1 << 30)
#define GPIO_PIN_31		(0x1 << 31)

#define GPIO_PIN_32		(0x1 << (32 - 32))
#define GPIO_PIN_33		(0x1 << (33 - 32))
#define GPIO_PIN_34		(0x1 << (34 - 32))
#define GPIO_PIN_35		(0x1 << (35 - 32))
#define GPIO_PIN_36		(0x1 << (36 - 32))
#define GPIO_PIN_37		(0x1 << (37 - 32))
#define GPIO_PIN_38		(0x1 << (38 - 32))
#define GPIO_PIN_39		(0x1 << (39 - 32))
#define GPIO_PIN_40		(0x1 << (40 - 32))
#define GPIO_PIN_41		(0x1 << (41 - 32))
#define GPIO_PIN_42		(0x1 << (42 - 32))
#define GPIO_PIN_43		(0x1 << (43 - 32))
#define GPIO_PIN_44		(0x1 << (44 - 32))
#define GPIO_PIN_45		(0x1 << (45 - 32))
#define GPIO_PIN_46		(0x1 << (46 - 32))
#define GPIO_PIN_47		(0x1 << (47 - 32))
#define GPIO_PIN_48		(0x1 << (48 - 32))
#define GPIO_PIN_49		(0x1 << (49 - 32))
#define GPIO_PIN_50		(0x1 << (50 - 32))
#define GPIO_PIN_51		(0x1 << (51 - 32))
#define GPIO_PIN_52		(0x1 << (52 - 32))
#define GPIO_PIN_53		(0x1 << (53 - 32))
#define GPIO_PIN_54		(0x1 << (54 - 32))
#define GPIO_PIN_55		(0x1 << (55 - 32))
#define GPIO_PIN_56		(0x1 << (56 - 32))
#define GPIO_PIN_57		(0x1 << (57 - 32))
#define GPIO_PIN_58		(0x1 << (58 - 32))
#define GPIO_PIN_59		(0x1 << (59 - 32))
#define GPIO_PIN_60		(0x1 << (60 - 32))
#define GPIO_PIN_61		(0x1 << (61 - 32))
#define GPIO_PIN_62		(0x1 << (62 - 32))
#define GPIO_PIN_63		(0x1 << (63 - 32))

/* GPIO Pin Select Pins */

#define GPIO4_PWM0		(0x1 << 8)
#define GPIO5_PWM1		(0x1 << 10)
#define GPIO6_PWM2		(0x1 << 12)
#define GPIO6_SATA0_ACT_LED 	(0x2 << 12)
#define GPIO7_PWM3		(0x1 << 14)
#define GPIO7_SATA0_CP_POD  	(0x2 << 14)
#define GPIO8_UART0_RX		(0x2 << 16)
#define GPIO9_UART0_TX		(0x2 << 18)
#define GPIO10_UART0_RTS_N	(0x2 << 20)
#define GPIO10_DECT0		(0x3 << 20)
#define GPIO11_UART0_CTS_N	(0x2 << 22)
#define GPIO11_DECT2		(0x3 << 22)
#define GPIO12_PWM4		(0x1 << 24)
#define GPIO12_PFE_UART_RX	(0x2 << 24)
#define GPIO12_DECT3		(0x3 << 24)
#define GPIO13_PWM5		(0x1 << 26)
#define GPIO13_PFE_UART_TX	(0x2 << 26)
#define GPIO13_DECT4		(0x3 << 26)
#define GPIO14_SATA1_ACT_LED	(0x1 << 28)
#define GPIO14_TIM_EVENT0	(0x2 << 28)
#define GPIO14_DECT5		(0x3 << 28)
#define GPIO15_SATA1_CP_POD 	(0x1 << 30)
#define GPIO15_TIM_EVENT1	(0x2 << 30)
#define GPIO15_RTCOSC		(0x3 << 30)
#define GPIO16_I2C_SCL		(0x0 << 0)
#define GPIO17_I2C_SDA		(0x0 << 2)
#define GPIO18_SPI_SS0_N	(0x0 << 4)
#define GPIO19_SPI_SS1_N	(0x0 << 6)
#define GPIO20_SPI2_SS1_N	(0x0 << 8)
#define GPIO21_SPI_SS2_N	(0x0 << 10)
#define GPIO22_SPI_SS3_N	(0x0 << 12)
#define GPIO23_EXP_CS2		(0x0 << 14)
#define GPIO24_EXP_CS3		(0x0 << 16)
#define GPIO25_EXP_ALE		(0x0 << 18)
#define GPIO26_EXP_RDY		(0x0 << 20)
#define GPIO27_TM_EXT_RESET	(0x0 << 22)
#define GPIO28_EXP_NAND_CS 	(0x0 << 24)
#define GPIO29_EXP_NAND_RDY	(0x0 << 26)
#define GPIO30_SPI_TXD		(0x0 << 28)
#define GPIO31_SPI_SCLK		(0x0 << 30)
#define GPIO32_SPI_RXD		(0x0 << 0)
#define GPIO33_SPI_2_RXD	(0x0 << 1)
#define GPIO34_SPI_2_SS0_N	(0x0 << 2)

#define BOOT_SERDES1_CNF_SATA0	(1 << 11)
#define BOOT_SERDES2_CNF_SATA1  (1 << 12)

				/* 0000 0000 0000 0000 0000 0011 0000 0000 */
#define SPI_2_MUX_GPIO_1	(GPIO_4)
#define SPI_2_MUX_BUS_1		(GPIO20_SPI2_SS1_N)
#define SPI_2_MUX_GPIO_1_PIN	(GPIO_PIN_20)

				/* 0000 0000 0000 0000 0000 0000 0000 0110 */
#define SPI_2_MUX_GPIO_2	(GPIO_1_S | GPIO_2_S)
#define SPI_2_MUX_BUS_2		(GPIO34_SPI_2_SS0_N | GPIO33_SPI_2_RXD)
#define SPI_2_MUX_GPIO_2_PIN	(GPIO_PIN_34 | GPIO_PIN_33)

				/* 1111 0000 0000 0000 0011 1100 1111 0000 */
#define SPI_MUX_GPIO_1		(GPIO_30 | GPIO_31 | GPIO_18 | GPIO_19 | GPIO_21 | GPIO_22)
#define SPI_MUX_BUS_1		(GPIO31_SPI_SCLK | GPIO30_SPI_TXD | GPIO22_SPI_SS3_N | GPIO21_SPI_SS2_N \
					| GPIO19_SPI_SS1_N | GPIO18_SPI_SS0_N)
#define SPI_MUX_GPIO_1_PIN	(GPIO_PIN_30 | GPIO_PIN_31 | GPIO_PIN_18 | GPIO_PIN_19 | GPIO_PIN_21 | GPIO_PIN_22)

				/* 0000 0000 0000 0000 0000 0000 0000 0001 */
#define SPI_MUX_GPIO_2		(GPIO_0_S)
#define SPI_MUX_BUS_2		(GPIO32_SPI_RXD)
#define SPI_MUX_GPIO_2_PIN	(GPIO_PIN_32)

#define UART0_GPIO	(GPIO_8 | GPIO_9 | GPIO_10 | GPIO_11)
#define UART0_BUS	(GPIO8_UART0_RX | GPIO9_UART0_TX | GPIO10_UART0_RTS_N | GPIO11_UART0_CTS_N)
#define UART0_GPIO_PIN	(GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11)

#define PFE_UART_GPIO		(GPIO_12 | GPIO_13)
#define PFE_UART_BUS		(GPIO12_PFE_UART_RX | GPIO13_PFE_UART_TX)
#define PFE_UART_GPIO_PIN	(GPIO_PIN_12 | GPIO_PIN_13)

#define I2C_GPIO		(GPIO_16 | GPIO_17)
#define I2C_BUS			(GPIO16_I2C_SCL | GPIO17_I2C_SDA)
#define I2C_GPIO_PIN		(GPIO_PIN_16 | GPIO_PIN_17)

#define NAND_GPIO		(GPIO_28 | GPIO_29 )
#define NAND_BUS		(GPIO28_EXP_NAND_CS | GPIO29_EXP_NAND_RDY)
#define NAND_GPIO_PIN		(GPIO_PIN_28 | GPIO_PIN_29)

#define NOR_GPIO		(GPIO_25 | GPIO_26)
#define NOR_BUS			(GPIO25_EXP_ALE | GPIO26_EXP_RDY)
#define NOR_GPIO_PIN		(GPIO_PIN_25 | GPIO_PIN_26)

#define C2K_GPIO_NR_GPIOS	64

#define ARCH_NR_GPIOS		C2K_GPIO_NR_GPIOS

#ifndef __ASSEMBLY__
/* This is a temporary bit mask for avoiding usage of reserved gpio pins. */
struct c2k_gpio_pin_stat_info {
	uint32_t c2k_gpio_pins_0_31;
	uint32_t c2k_gpio_pins_32_63;
};

extern struct c2k_gpio_pin_stat_info c2k_gpio_pin_stat;
#endif

#endif
