|
@@ -127,7 +127,11 @@ static unsigned long hx4700_pin_config[] __initdata = {
|
|
|
GPIO19_SSP2_SCLK,
|
|
|
GPIO86_SSP2_RXD,
|
|
|
GPIO87_SSP2_TXD,
|
|
|
- GPIO88_GPIO,
|
|
|
+ GPIO88_GPIO | MFP_LPM_DRIVE_HIGH, /* TSC2046_CS */
|
|
|
+
|
|
|
+ /* BQ24022 Regulator */
|
|
|
+ GPIO72_GPIO | MFP_LPM_KEEP_OUTPUT, /* BQ24022_nCHARGE_EN */
|
|
|
+ GPIO96_GPIO | MFP_LPM_KEEP_OUTPUT, /* BQ24022_ISET2 */
|
|
|
|
|
|
/* HX4700 specific input GPIOs */
|
|
|
GPIO12_GPIO | WAKEUP_ON_EDGE_RISE, /* ASIC3_IRQ */
|
|
@@ -135,6 +139,10 @@ static unsigned long hx4700_pin_config[] __initdata = {
|
|
|
GPIO14_GPIO, /* nWLAN_IRQ */
|
|
|
|
|
|
/* HX4700 specific output GPIOs */
|
|
|
+ GPIO61_GPIO | MFP_LPM_DRIVE_HIGH, /* W3220_nRESET */
|
|
|
+ GPIO71_GPIO | MFP_LPM_DRIVE_HIGH, /* ASIC3_nRESET */
|
|
|
+ GPIO81_GPIO | MFP_LPM_DRIVE_HIGH, /* CPU_GP_nRESET */
|
|
|
+ GPIO116_GPIO | MFP_LPM_DRIVE_HIGH, /* CPU_HW_nRESET */
|
|
|
GPIO102_GPIO | MFP_LPM_DRIVE_LOW, /* SYNAPTICS_POWER_ON */
|
|
|
|
|
|
GPIO10_GPIO, /* GSM_IRQ */
|
|
@@ -872,14 +880,19 @@ static struct gpio global_gpios[] = {
|
|
|
{ GPIO110_HX4700_LCD_LVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_LVDD" },
|
|
|
{ GPIO111_HX4700_LCD_AVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_AVDD" },
|
|
|
{ GPIO32_HX4700_RS232_ON, GPIOF_OUT_INIT_HIGH, "RS232_ON" },
|
|
|
+ { GPIO61_HX4700_W3220_nRESET, GPIOF_OUT_INIT_HIGH, "W3220_nRESET" },
|
|
|
{ GPIO71_HX4700_ASIC3_nRESET, GPIOF_OUT_INIT_HIGH, "ASIC3_nRESET" },
|
|
|
+ { GPIO81_HX4700_CPU_GP_nRESET, GPIOF_OUT_INIT_HIGH, "CPU_GP_nRESET" },
|
|
|
{ GPIO82_HX4700_EUART_RESET, GPIOF_OUT_INIT_HIGH, "EUART_RESET" },
|
|
|
+ { GPIO116_HX4700_CPU_HW_nRESET, GPIOF_OUT_INIT_HIGH, "CPU_HW_nRESET" },
|
|
|
};
|
|
|
|
|
|
static void __init hx4700_init(void)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
+ PCFR = PCFR_GPR_EN | PCFR_OPDE;
|
|
|
+
|
|
|
pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config));
|
|
|
gpio_set_wake(GPIO12_HX4700_ASIC3_IRQ, 1);
|
|
|
ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios));
|