grouper_pinmux_audio_init(); return 0; } #define PIN_GPIO_LPM(_name, _gpio, _is_input, _value) \ { \ .name = _name, \ .gpio_nr = _gpio, \ .is_gpio = true, \ .is_input = _is_input, \ .value = _value, \ } struct gpio_init_pin_info pin_lpm_grouper_common[] = { PIN_GPIO_LPM("GMI_CS7", TEGRA_GPIO_PI6, 1, 0), }; static void set_unused_pin_gpio(struct gpio_init_pin_info *lpm_pin_info, int list_count) { int i; struct gpio_init_pin_info *pin_info; int ret; for (i = 0; i < list_count; ++i) { pin_info = (struct gpio_init_pin_info *)(lpm_pin_info + i); if (!pin_info->is_gpio) continue; ret = gpio_request(pin_info->gpio_nr, pin_info->name);
int gpio_nr; bool is_gpio; bool is_input; int value; /* Value if it is output*/ }; #define PIN_GPIO_LPM(_name, _gpio, _is_input, _value) \ { \ .name = _name, \ .gpio_nr = _gpio, \ .is_gpio = true, \ .is_input = _is_input, \ .value = _value, \ } static __initdata struct pin_info_low_power_mode enterprise_unused_gpio_pins[] = { PIN_GPIO_LPM("CLK2_OUT", TEGRA_GPIO_PW5, 0, 0), PIN_GPIO_LPM("CLK2_REQ", TEGRA_GPIO_PCC5, 0, 0), PIN_GPIO_LPM("CLK3_OUT", TEGRA_GPIO_PEE0, 0, 0), PIN_GPIO_LPM("CLK3_REQ", TEGRA_GPIO_PEE1, 0, 0), PIN_GPIO_LPM("CLK_32K_OUT", TEGRA_GPIO_PA0, 0, 0), PIN_GPIO_LPM("GPIO_PBB4", TEGRA_GPIO_PBB4, 0, 0), PIN_GPIO_LPM("GPIO_PBB5", TEGRA_GPIO_PBB5, 0, 0), PIN_GPIO_LPM("GPIO_PBB6", TEGRA_GPIO_PBB6, 0, 0), PIN_GPIO_LPM("GMI_AD0", TEGRA_GPIO_PG0, 0, 0), PIN_GPIO_LPM("GMI_AD1", TEGRA_GPIO_PG1, 0, 0), PIN_GPIO_LPM("GMI_AD2", TEGRA_GPIO_PG2, 0, 0), PIN_GPIO_LPM("GMI_AD3", TEGRA_GPIO_PG3, 0, 0), PIN_GPIO_LPM("GMI_AD4", TEGRA_GPIO_PG4, 0, 0), PIN_GPIO_LPM("GMI_AD5", TEGRA_GPIO_PG5, 0, 0), PIN_GPIO_LPM("GMI_AD6", TEGRA_GPIO_PG6, 0, 0), PIN_GPIO_LPM("GMI_AD7", TEGRA_GPIO_PG7, 0, 0),
.value = _value, \ } /* unused pin: add avalon-specific unused gpio pin here*/ struct gpio_init_pin_info pin_lpm_avalon[] = { }; /* unused pin: add sphinx-specific unused gpio pin here */ struct gpio_init_pin_info pin_lpm_sphinx[] = { }; /* unused pin: add titan-specific unused gpio pin here */ struct gpio_init_pin_info pin_lpm_titan[] = { PIN_GPIO_LPM("uu KB_ROW11", TEGRA_GPIO_PS3, 0, 1), }; static void set_unused_pin_gpio(struct gpio_init_pin_info *lpm_pin_info, int list_count) { int i; struct gpio_init_pin_info *pin_info; int ret; for (i = 0; i < list_count; ++i) { pin_info = (struct gpio_init_pin_info *)(lpm_pin_info + i); if (!pin_info->is_gpio) continue; ret = gpio_request(pin_info->gpio_nr, pin_info->name);
grouper_pinmux_audio_init(); return 0; } #define PIN_GPIO_LPM(_name, _gpio, _is_input, _value) \ { \ .name = _name, \ .gpio_nr = _gpio, \ .is_gpio = true, \ .is_input = _is_input, \ .value = _value, \ } struct gpio_init_pin_info pin_lpm_grouper_common[] = { PIN_GPIO_LPM("GMI_CS4_N", TEGRA_GPIO_PK2, 1, 0), PIN_GPIO_LPM("GMI_CS7", TEGRA_GPIO_PI6, 1, 0), PIN_GPIO_LPM("GMI_CS0", TEGRA_GPIO_PJ0, 1, 0), PIN_GPIO_LPM("GMI_CS1", TEGRA_GPIO_PJ2, 1, 0), }; static void set_unused_pin_gpio(struct gpio_init_pin_info *lpm_pin_info, int list_count) { int i; struct gpio_init_pin_info *pin_info; int ret; for (i = 0; i < list_count; ++i) { pin_info = (struct gpio_init_pin_info *)(lpm_pin_info + i); if (!pin_info->is_gpio)
cardhu_pinmux_audio_init(); return 0; } #define PIN_GPIO_LPM(_name, _gpio, _is_input, _value) \ { \ .name = _name, \ .gpio_nr = _gpio, \ .is_gpio = true, \ .is_input = _is_input, \ .value = _value, \ } struct gpio_init_pin_info pin_lpm_cardhu_common[] = { PIN_GPIO_LPM("GMI_CS3_N", TEGRA_GPIO_PK4, 0, 0), PIN_GPIO_LPM("GMI_CS4_N", TEGRA_GPIO_PK2, 1, 0), PIN_GPIO_LPM("GMI_CS7", TEGRA_GPIO_PI6, 1, 0), PIN_GPIO_LPM("GMI_CS0", TEGRA_GPIO_PJ0, 1, 0), PIN_GPIO_LPM("GMI_CS1", TEGRA_GPIO_PJ2, 1, 0), PIN_GPIO_LPM("GMI_WP_N", TEGRA_GPIO_PC7, 1, 0), }; /* E1198 without PM313 display board */ struct gpio_init_pin_info pin_lpm_cardhu_common_wo_pm313[] = { PIN_GPIO_LPM("GMI_AD9", TEGRA_GPIO_PH1, 0, 0), PIN_GPIO_LPM("GMI_AD11", TEGRA_GPIO_PH3, 0, 0), }; struct gpio_init_pin_info vddio_gmi_pins_pm269[] = { PIN_GPIO_LPM("GMI_CS3_N", TEGRA_GPIO_PK4, 0, 0),