/*
 * This outlines the configuration (namely pins for SPI drivers)
 * of the GFMN100 "WindCharger" board.
 *
 * GFMN100 Contains:
 *
 * -- One mx25l25655e nonvolatile storage device
 * -- One lm95071 temperature sensor
 */

#ifndef __ATH79_DEV_GFMN100_H__
#define __ATH79_DEV_GFMN100_H__

#include <linux/spi/flash.h>

#define GFMN_GPIO_REG_OUT	AR71XX_GPIO_REG_OUT
#define GFMN_GPIO_REG_OE	AR71XX_GPIO_REG_OE

#define GFMN_GPIO_TCK		(1 << 0)
#define GFMN_GPIO_TDI		(1 << 1)
#define GFMN_GPIO_TDO		(1 << 2)
#define GFMN_GPIO_TMS		(1 << 3)
#define GFMN_GPIO_POE		(1 << 4)
#define GFMN_GPIO_SPI_CS	(1 << 5)
#define GFMN_GPIO_SPI_CLK	(1 << 6)
#define GFMN_GPIO_SPI_MOSI	(1 << 7)
#define GFMN_GPIO_SPI_MISO	(1 << 8)
#define GFMN_GPIO_UART_RX	(1 << 9)
#define GFMN_GPIO_UART_TX	(1 << 10)
#define GFMN_GPIO_LEDB		(1 << 11)
#define GFMN_GPIO_HWREV1	(1 << 12)
#define GFMN_GPIO_RESET_SW	(1 << 13)
#define GFMN_GPIO_TEMP_CS	(1 << 14)
#define GFMN_GPIO_GPIO15	(1 << 15)
#define GFMN_GPIO_LEDR		(1 << 16)
#define GFMN_GPIO_NOR_RESET	(1 << 17)

#define GFMN_GPIO_MUX_SYS_RST_L	1
#define GFMN_GPIO_MUX_SPI_CLK		8
#define GFMN_GPIO_MUX_SPI_CS_0		9
#define GFMN_GPIO_MUX_SPI_CS_1		10
#define GFMN_GPIO_MUX_SPI_CS_2		11
#define GFMN_GPIO_MUX_SPI_MOSI		12
#define GFMN_GPIO_MUX_UART_TX		22

#define GFMN_GPIO_REG_OUT_FUNC0 0x2c
#define GFMN_GPIO_REG_OUT_FUNC1 0x30
#define GFMN_GPIO_REG_OUT_FUNC2 0x34
#define GFMN_GPIO_REG_OUT_FUNC3 0x38
#define GFMN_GPIO_REG_OUT_FUNC4 0x3c

#define GFMN_GPIO_FUNC0_GPIO_0_SET(x)	((x) << 0)
#define GFMN_GPIO_FUNC0_GPIO_1_SET(x)	((x) << 8)
#define GFMN_GPIO_FUNC0_GPIO_2_SET(x)	((x) << 16)
#define GFMN_GPIO_FUNC0_GPIO_3_SET(x)	((x) << 24)
#define GFMN_GPIO_FUNC1_GPIO_4_SET(x)	((x) << 0)
#define GFMN_GPIO_FUNC1_GPIO_5_SET(x)	((x) << 8)
#define GFMN_GPIO_FUNC1_GPIO_6_SET(x)	((x) << 16)
#define GFMN_GPIO_FUNC1_GPIO_7_SET(x)	((x) << 24)
#define GFMN_GPIO_FUNC2_GPIO_8_SET(x)	((x) << 0)
#define GFMN_GPIO_FUNC2_GPIO_9_SET(x)	((x) << 8)
#define GFMN_GPIO_FUNC2_GPIO_10_SET(x)	((x) << 16)
#define GFMN_GPIO_FUNC2_GPIO_11_SET(x)	((x) << 24)
#define GFMN_GPIO_FUNC3_GPIO_12_SET(x)	((x) << 0)
#define GFMN_GPIO_FUNC3_GPIO_13_SET(x)	((x) << 8)
#define GFMN_GPIO_FUNC3_GPIO_14_SET(x)	((x) << 16)
#define GFMN_GPIO_FUNC3_GPIO_15_SET(x)	((x) << 24)
#define GFMN_GPIO_FUNC4_GPIO_16_SET(x)	((x) << 0)
#define GFMN_GPIO_FUNC4_GPIO_17_SET(x)	((x) << 8)

extern struct ath79_spi_platform_data ath79_spi_data;

void ath79_register_gfmn100(void) __init;

#endif  /* __ATH79_DEV_GFMN100_H__ */
