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),
#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),
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,
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), };