217 lines
12 KiB
C
217 lines
12 KiB
C
/*
|
|
*******************************************************************************
|
|
**
|
|
** \file BOARD_FPGA.h
|
|
**
|
|
** \brief System initialization.
|
|
**
|
|
** (C) Copyright 2012-2013 by Goke Microelectronics Shanghai Branch
|
|
**
|
|
** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
|
|
** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
|
|
** OMMISSIONS.
|
|
**
|
|
** \note
|
|
**
|
|
*******************************************************************************
|
|
*/
|
|
#ifndef GPIO_CFG_EVB_H
|
|
#define GPIO_CFG_EVB_H
|
|
#include "adi_types.h"
|
|
#include "adi_gpio.h"
|
|
|
|
#if 0 //MII
|
|
/* for gk7101s_fpga_gpio_151215*/
|
|
#define SYSTEM_GPIO_XREF_TABLE \
|
|
{ GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
|
|
{ GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
|
|
{ GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_UART0_RX }, \
|
|
{ GADI_GPIO_3 , GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
|
|
{ GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK }, \
|
|
{ GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA }, \
|
|
{ GADI_GPIO_6 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_7 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_8 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_9 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_10, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
|
|
{ GADI_GPIO_12, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_13, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_SDIO_CLK }, \
|
|
{ GADI_GPIO_15, GADI_GPIO_TYPE_INOUT_SD_CMD }, \
|
|
{ GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_SD_CD_N }, \
|
|
{ GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_SD_WP_N }, \
|
|
{ GADI_GPIO_18, GADI_GPIO_TYPE_INOUT_SD_DATA_0 }, \
|
|
{ GADI_GPIO_19, GADI_GPIO_TYPE_INOUT_SD_DATA_1 }, \
|
|
{ GADI_GPIO_20, GADI_GPIO_TYPE_INOUT_SD_DATA_2 }, \
|
|
{ GADI_GPIO_21, GADI_GPIO_TYPE_INOUT_SD_DATA_3 }, \
|
|
{ GADI_GPIO_22, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_23, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
|
|
{ GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
|
|
{ GADI_GPIO_26, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
|
|
{ GADI_GPIO_27, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_3 }, \
|
|
{ GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_ENET_CLK_RX }, \
|
|
{ GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_CLK_TX }, \
|
|
{ GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0}, \
|
|
{ GADI_GPIO_31, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1}, \
|
|
{ GADI_GPIO_32, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2}, \
|
|
{ GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3}, \
|
|
{ GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
|
|
{ GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
|
|
{ GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
|
|
{ GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
|
|
{ GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_CRS }, \
|
|
{ GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
|
|
{ GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
|
|
{ GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
|
|
{ GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/}
|
|
#elif 0 //peripherals
|
|
#define SYSTEM_GPIO_XREF_TABLE \
|
|
{ GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
|
|
{ GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
|
|
{ GADI_GPIO_2 , GADI_GPIO_TYPE_INOUT_SF_HOLD /*Sensor reset*/ }, \
|
|
{ GADI_GPIO_3 , GADI_GPIO_TYPE_INOUT_SF_WP }, \
|
|
{ GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
|
|
{ GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
|
|
{ GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
|
|
{ GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
|
|
{ GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
|
|
{ GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
|
|
{ GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
|
|
{ GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
|
|
{ GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
|
|
{ GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
|
|
{ GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
|
|
{ GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
|
|
{ GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC/*LCD_DISP*/}, \
|
|
{ GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
|
|
{ GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
|
|
{ GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2 }, \
|
|
{ GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_CS*/ }, \
|
|
{ GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_RST*/ }, \
|
|
{ GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
|
|
{ GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
|
|
{ GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_UART1_RX }, \
|
|
{ GADI_GPIO_25, GADI_GPIO_TYPE_OUTPUT_UART1_TX }, \
|
|
{ GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_SPI0_CS0 }, \
|
|
{ GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_SPI0_SCLK }, \
|
|
{ GADI_GPIO_28, GADI_GPIO_TYPE_OUTPUT_SPI0_SO }, \
|
|
{ GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_SPI0_SI }, \
|
|
{ GADI_GPIO_30, GADI_GPIO_TYPE_UNDEFINED}, \
|
|
{ GADI_GPIO_31, GADI_GPIO_TYPE_UNDEFINED}, \
|
|
{ GADI_GPIO_32, GADI_GPIO_TYPE_UNDEFINED}, \
|
|
{ GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3}, \
|
|
{ GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
|
|
{ GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
|
|
{ GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
|
|
{ GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
|
|
{ GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_CRS }, \
|
|
{ GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
|
|
{ GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
|
|
{ GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
|
|
{ GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/}
|
|
|
|
#elif 0 //GK7102C_FPGA_svn509_1704061946.bit RMII
|
|
#define SYSTEM_GPIO_XREF_TABLE \
|
|
{ GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
|
|
{ GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
|
|
{ GADI_GPIO_2 , GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/ }, \
|
|
{ GADI_GPIO_3 , GADI_GPIO_TYPE_INOUT_SF_WP }, \
|
|
{ GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
|
|
{ GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
|
|
{ GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
|
|
{ GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
|
|
{ GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
|
|
{ GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
|
|
{ GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
|
|
{ GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
|
|
{ GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
|
|
{ GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
|
|
{ GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
|
|
{ GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
|
|
{ GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC/*LCD_DISP*/ }, \
|
|
{ GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
|
|
{ GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
|
|
{ GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2 }, \
|
|
{ GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_CS*/ }, \
|
|
{ GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_RST*/ }, \
|
|
{ GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
|
|
{ GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
|
|
{ GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
|
|
{ GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
|
|
{ GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_SPI0_CS0 }, \
|
|
{ GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_SPI0_SCLK }, \
|
|
{ GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
|
|
{ GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
|
|
{ GADI_GPIO_31, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_32, GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3 }, \
|
|
{ GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
|
|
{ GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
|
|
{ GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
|
|
{ GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
|
|
{ GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
|
|
{ GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
|
|
{ GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
|
|
{ GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/ }
|
|
|
|
#elif 1 //GK7102C_FPGA_svn_1705242221.bit RMII
|
|
#define SYSTEM_GPIO_XREF_TABLE \
|
|
{ GADI_GPIO_0 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_1 , GADI_GPIO_TYPE_UNDEFINED }, \
|
|
{ GADI_GPIO_2 , GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/ }, \
|
|
{ GADI_GPIO_3 , GADI_GPIO_TYPE_OUTPUT_VD_CLOCK }, \
|
|
{ GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
|
|
{ GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
|
|
{ GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
|
|
{ GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
|
|
{ GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
|
|
{ GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
|
|
{ GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
|
|
{ GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_VD_DATA3 }, \
|
|
{ GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
|
|
{ GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
|
|
{ GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
|
|
{ GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
|
|
{ GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC }, \
|
|
{ GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
|
|
{ GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
|
|
{ GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_DISP*/ }, \
|
|
{ GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_VD_DATA1 }, \
|
|
{ GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*lcd_rst*/ }, \
|
|
{ GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
|
|
{ GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
|
|
{ GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
|
|
{ GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
|
|
{ GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_1 /*lcd_bl_en*/ }, \
|
|
{ GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_VD_DATA0 }, \
|
|
{ GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
|
|
{ GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
|
|
{ GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_VD_DATA2 }, \
|
|
{ GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
|
|
{ GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
|
|
{ GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
|
|
{ GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
|
|
{ GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
|
|
{ GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
|
|
{ GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
|
|
{ GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
|
|
{ GADI_GPIO_42, GADI_GPIO_TYPE_OUTPUT_VD_HVLD/*lcd_de*/}
|
|
|
|
#endif
|
|
|
|
#define SYSTEM_ETH_PHY_RESET_GPIO GADI_GPIO_35//not real pin
|
|
#define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_2 //GADI_GPIO_16
|
|
#define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_43//GADI_GPIO_18
|
|
#define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_53//GADI_GPIO_19
|
|
#define SYSTEM_GPIO_USB_HOST GADI_GPIO_63
|
|
|
|
|
|
#endif
|