tegra_gpio_enable(TEGRA_GPIO_HP_DET);
	tegra_gpio_enable(TEGRA_GPIO_INT_MIC_EN);
	tegra_gpio_enable(TEGRA_GPIO_EXT_MIC_EN);
}

/* We are disabling this code for now. */
#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)	\
	{					\
		.gpio_nr	= _gpio,	\
		.is_input	= _is_input,	\
		.value		= _value,	\
	}

static struct gpio_init_pin_info init_gpio_mode_grouper_common[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD7, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PCC6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR0, false, 0),
};

static struct gpio_init_pin_info init_gpio_mode_grouper3g[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD7, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PCC6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR0, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PD2, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PC6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW3, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PP1, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX5, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PU5, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX7, false, 0),
Пример #2
0
#include <mach/pinmux-t12.h>

/* Pinmux changes to support UART over uSD adapter E2542 */
static __initdata struct tegra_pingroup_config loki_sdmmc3_uart_pinmux[] = {

	DEFAULT_PINMUX(SDMMC3_CMD,    UARTA,      NORMAL,   NORMAL,   INPUT),
	DEFAULT_PINMUX(SDMMC3_DAT1,   UARTA,      NORMAL,   NORMAL,   OUTPUT),
};

static __initdata struct tegra_pingroup_config loki_ffd_pinmux_common[] = { 
	GPIO_PINMUX_NON_OD(DP_HPD, PULL_DOWN, NORMAL, OUTPUT),
};

static struct gpio_init_pin_info init_gpio_mode_loki_ffd_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PFF0, false, 0),
};

static void __init loki_gpio_init_configure(void)
{
	int len;
	int i;
	struct gpio_init_pin_info *pins_info;

	len = ARRAY_SIZE(init_gpio_mode_loki_ffd_common);
	pins_info = init_gpio_mode_loki_ffd_common;

	for (i = 0; i < len; ++i) {
		tegra_gpio_init_configure(pins_info->gpio_nr,
			pins_info->is_input, pins_info->value);
		pins_info++;
	}


	tegra_drive_pinmux_config_table(m2601_drive_pinmux,
			ARRAY_SIZE(m2601_drive_pinmux));
	return 0;
}
#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value) \
	{						\
		.gpio_nr        = _gpio,        \
		.is_input       = _is_input,    \
		.value          = _value,       \
	}

static struct gpio_init_pin_info m2601_gpios_A00[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW4,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PEE2,	false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK6,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK5,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX6,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX7,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX4,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX5,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW2,	true,  0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV0,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV1,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO3,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO4,	true,  0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV2,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV3,	false, 1),
};
int p1852_pinmux_set_i2s4_master(void)
{
	tegra_pinmux_config_table(p1852_pinmux_i2s4_master,
					ARRAY_SIZE(p1852_pinmux_i2s4_master));
	return 0;
}
#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)	\
	{					\
		.gpio_nr	= _gpio,	\
		.is_input	= _is_input,	\
		.value		= _value,	\
	}

static struct gpio_init_pin_info p1852_sku8_gpios[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PT4,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PEE2,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PZ4,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PD2,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PD0,	true,  0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW3,	true,  0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK5,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX5,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX6,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PX7,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV0,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV1,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV6,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV7,	true,  0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PN4,	false, 1),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PN6,	false, 1),
Пример #5
0
	tegra_gpio_enable(TEGRA_GPIO_HP_DET);
	tegra_gpio_enable(TEGRA_GPIO_INT_MIC_EN);
	tegra_gpio_enable(TEGRA_GPIO_EXT_MIC_EN);
}

/* We are disabling this code for now. */
#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)	\
	{					\
		.gpio_nr	= _gpio,	\
		.is_input	= _is_input,	\
		.value		= _value,	\
	}

static struct gpio_init_pin_info init_gpio_mode_grouper_common[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD7, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PCC6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR0, false, 0),
};

static void __init grouper_gpio_init_configure(void)
{
	int len;
	int i;
	struct gpio_init_pin_info *pins_info;

	len = ARRAY_SIZE(init_gpio_mode_grouper_common);
	pins_info = init_gpio_mode_grouper_common;

	for (i = 0; i < len; ++i) {
		tegra_gpio_init_configure(pins_info->gpio_nr,
Пример #6
0
	tegra_gpio_enable(TEGRA_GPIO_HP_DET);
    tegra_gpio_enable(TEGRA_GPIO_AMIC_DET);
    tegra_gpio_enable(TEGRA_GPIO_LINEOUT_DET);
}

#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)	\
	{					\
		.gpio_nr	= _gpio,	\
		.is_input	= _is_input,	\
		.value		= _value,	\
	}


/* E1198-A02/E1291 specific  fab >= A03 */
static struct gpio_init_pin_info init_gpio_mode_e1291_a03[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD4, false, 0),
};

static void __init ast_gpio_init_configure(void)
{
	int len;
	int i;
	struct gpio_init_pin_info *pins_info;

    len = ARRAY_SIZE(init_gpio_mode_e1291_a03);
    pins_info = init_gpio_mode_e1291_a03;

	for (i = 0; i < len; ++i) {
		tegra_gpio_init_configure(pins_info->gpio_nr,
			pins_info->is_input, pins_info->value);
	for (i = 0; i < len; ++i) {
		tegra_gpio_init_configure(pins_info->gpio_nr,
			pins_info->is_input, pins_info->value);
		pins_info++;
	}
}

#ifdef CONFIG_PM_SLEEP
/* pinmux settings during low power mode for special purpose */
static struct tegra_pingroup_config tegranote7c_sleep_pinmux[] = { };

/* gpio settings during low power mode for special purpose */
static struct gpio_init_pin_info tegranote7c_sleep_gpio[] = {
    /* Config RT6154 to PSM mode to save modem power */
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PQ1, false, 0),
};
#endif

int __init tegranote7c_pinmux_init(void)
{
	tegranote7c_gpio_init_configure();

	tegra_drive_pinmux_config_table(tegranote7c_drive_pinmux,
					ARRAY_SIZE(tegranote7c_drive_pinmux));

	tegra_pinmux_config_table(tegranote7c_pinmux_common,
				  ARRAY_SIZE(tegranote7c_pinmux_common));
	tegra_pinmux_config_table(tegranote7c_unused_pins_lowpower,
				  ARRAY_SIZE(tegranote7c_unused_pins_lowpower));
	gpio_direction_input(TEGRA_GPIO_CDC_IRQ);

	tegra_gpio_enable(TEGRA_GPIO_HP_DET);
}

#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)	\
	{					\
		.gpio_nr	= _gpio,	\
		.is_input	= _is_input,	\
		.value		= _value,	\
	}


/* E1198-A01/E1291 specific  fab < A03 */
static struct gpio_init_pin_info init_gpio_mode_e1291_a02[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PH7, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PI4, false, 0),
};

/* E1198-A02/E1291 specific  fab = A03 */
static struct gpio_init_pin_info init_gpio_mode_e1291_a03[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD4, false, 0),
};

/* E1198-A02/E1291 specific  fab >= A04 */
static struct gpio_init_pin_info init_gpio_mode_e1291_a04[] = {
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD6, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD4, false, 0),
	GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR2, false, 0),
};