#include <common.h> #include <malloc.h> #include "key_map.h" #ifdef CONFIG_SC8810 #include <asm/arch/sc8810_keypad.h> #else #error "no keypad definition file included" #endif #include <asm/arch/mfp.h> #include <boot_mode.h> struct key_map_info * sprd_key_map = 0; static unsigned long keypad_func_cfg[] = { MFP_CFG_X(KEYOUT0, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT1, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT2, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT3, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT4, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT5, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT6, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYOUT7, AF0, DS1, F_PULL_NONE, S_PULL_NONE, IO_OE), MFP_CFG_X(KEYIN0, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN1, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN2, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN3, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN4, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN5, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN6, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), MFP_CFG_X(KEYIN7, AF0, DS1, F_PULL_UP, S_PULL_UP, IO_IE), };
extern void ADI_init (void); extern int LDO_Init(void); #define PIN_CTL_REG 0x8C000000 static void chip_init(void) { //ANA_REG_SET(ANA_ADIE_CHIP_ID,0); /* setup pins configration when LDO shutdown*/ //__raw_writel(0x1fff00, PIN_CTL_REG); *(volatile unsigned int *)PIN_CTL_REG = 0x1fff00; } #ifdef CONFIG_GENERIC_MMC static unsigned long sdio_func_cfg[] = { MFP_CFG_X(SD0_CLK, AF0, DS3, F_PULL_NONE, S_PULL_NONE, IO_Z), MFP_CFG_X(SD_CMD, AF0, DS0, F_PULL_UP, S_PULL_NONE, IO_Z), MFP_CFG_X(SD_D0, AF0, DS0, F_PULL_UP, S_PULL_NONE, IO_Z), MFP_CFG_X(SD_D1, AF0, DS0, F_PULL_DOWN, S_PULL_NONE, IO_Z), MFP_CFG_X(SD_D2, AF0, DS0, F_PULL_DOWN, S_PULL_NONE, IO_Z), MFP_CFG_X(SD_D3, AF0, DS0, F_PULL_DOWN, S_PULL_NONE, IO_Z), }; static unsigned long sdcard_detect_gpio_cfg = MFP_CFG_X(RFCTL11, AF3, DS1, F_PULL_UP,S_PULL_NONE, IO_Z); void sprd_config_sdio_pins(void) { sprd_mfp_config(sdio_func_cfg, ARRAY_SIZE(sdio_func_cfg)); sprd_mfp_config(&sdcard_detect_gpio_cfg, 1); }