Beispiel #1
0
/* Intialize gpio set in midas board */
void midas_config_gpio_table(void)
{
	u32 i, gpio;

	printk(KERN_DEBUG "%s\n", __func__);

	for (i = 0; i < ARRAY_SIZE(gt3_init_gpios); i++) {
		gpio = gt3_init_gpios[i].num;
		if (gpio <= EXYNOS4212_GPV4(1)) {
			s3c_gpio_cfgpin(gpio, gt3_init_gpios[i].cfg);
			s3c_gpio_setpull(gpio, gt3_init_gpios[i].pud);

			if (gt3_init_gpios[i].val != S3C_GPIO_SETPIN_NONE)
				gpio_set_value(gpio, gt3_init_gpios[i].val);

			s5p_gpio_set_drvstr(gpio, gt3_init_gpios[i].drv);
		}
	}
#if defined(CONFIG_TARGET_TAB3_WIFI8) || defined(CONFIG_TARGET_TAB3_3G8) || \
		defined(CONFIG_TARGET_TAB3_LTE8)
	if (system_rev > 1) {
		s3c_gpio_cfgpin(EXYNOS4_GPX3(0), S3C_GPIO_INPUT);
		s3c_gpio_setpull(EXYNOS4_GPX3(0), S3C_GPIO_PULL_DOWN);	
	}
#endif

#if defined(CONFIG_TARGET_TAB3_WIFI8) || defined(CONFIG_TARGET_TAB3_3G8) || \
		defined(CONFIG_TARGET_TAB3_LTE8)
	if (system_rev > 5) {
		s3c_gpio_cfgpin(EXYNOS4_GPX1(4), S3C_GPIO_INPUT);
		s3c_gpio_setpull(EXYNOS4_GPX1(4), S3C_GPIO_PULL_DOWN);	
	}
#endif
}
/* Intialize gpio set in midas board */
void midas_config_gpio_table(void)
{
    u32 i, gpio;

    printk(KERN_DEBUG "%s\n", __func__);

    for (i = 0; i < ARRAY_SIZE(m0_init_gpios); i++) {
        gpio = m0_init_gpios[i].num;
        if (gpio <= EXYNOS4212_GPV4(1)) {
            s3c_gpio_cfgpin(gpio, m0_init_gpios[i].cfg);
            s3c_gpio_setpull(gpio, m0_init_gpios[i].pud);

            if (m0_init_gpios[i].val != S3C_GPIO_SETPIN_NONE)
                gpio_set_value(gpio, m0_init_gpios[i].val);

            s5p_gpio_set_drvstr(gpio, m0_init_gpios[i].drv);
        }
    }
}
    {EXYNOS4212_GPV2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV2(7), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},

    {EXYNOS4212_GPV3(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV3(7), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},

    {EXYNOS4212_GPV4(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
    {EXYNOS4212_GPV4(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
}; /* grande_sleep_gpio_table */

static void config_sleep_gpio_table(int array_size,
                                    unsigned int (*gpio_table)[3])
{
    u32 i, gpio;

    for (i = 0; i < array_size; i++) {
        gpio = gpio_table[i][0];
        s3c_gpio_slp_cfgpin(gpio, gpio_table[i][1]);
        s3c_gpio_slp_setpull_updown(gpio, gpio_table[i][2]);
    }
}
Beispiel #4
0
		},
	}, {
		.base   = (S5P_VA_GPIO4 + 0x80),
		.eint_offset = 0x0C,
		.group	= 31,
		.chip	= {
			.base	= EXYNOS4212_GPV3(0),
			.ngpio	= EXYNOS4212_GPIO_V3_NR,
			.label	= "GPV3",
		},
	}, {
		.base   = (S5P_VA_GPIO4 + 0xC0),
		.eint_offset = 0x10,
		.group	= 32,
		.chip	= {
			.base	= EXYNOS4212_GPV4(0),
			.ngpio	= EXYNOS4212_GPIO_V4_NR,
			.label	= "GPV4",
		},
	},
};

/* EXYNOS4 machine dependent GPIO help function */
int s3c_gpio_slp_cfgpin(unsigned int pin, unsigned int config)
{
	struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin);
	void __iomem *reg;
	unsigned long flags;
	int offset;
	u32 con;
	int shift;
Beispiel #5
0
    {EXYNOS4212_GPV2(5),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV2(6),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV2(7),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
#endif

    {EXYNOS4212_GPV3(0),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(1),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(2),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(3),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(4),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(5),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(6),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV3(7),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */

#ifdef CONFIG_EXYNOS_C2C
    {EXYNOS4212_GPV4(0),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* C2C_WKREQIN */
    {EXYNOS4212_GPV4(1),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* C2C_WKREQOUT */
#else
    {EXYNOS4212_GPV4(0),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
    {EXYNOS4212_GPV4(1),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
#endif

#ifdef CONFIG_EXYNOS_C2C
    {EXYNOS4_GPX1(0),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* AP2CP_WAKEUP */
    {EXYNOS4_GPX1(1),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* AP2CP_STATUS */
    {EXYNOS4_GPX1(2),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* CP2AP_WAKEUP */
    {EXYNOS4_GPX1(3),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* CP2AP_STATUS */
#endif
    {EXYNOS4_GPX1(4),  S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* QT_GPIO_RST */

    {EXYNOS4_GPX3(5),  S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* TP_INDICATOR */