diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-power.c')
-rw-r--r-- | arch/arm/mach-tegra/board-ventana-power.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-power.c b/arch/arm/mach-tegra/board-ventana-power.c index c3e644d1aa1d..7f85b91cfb25 100644 --- a/arch/arm/mach-tegra/board-ventana-power.c +++ b/arch/arm/mach-tegra/board-ventana-power.c @@ -23,6 +23,7 @@ #include <linux/mfd/tps6586x.h> #include <linux/gpio.h> #include <linux/io.h> +#include <linux/power/gpio-charger.h> #include <mach/iomap.h> #include <mach/irqs.h> @@ -261,6 +262,33 @@ int __init ventana_regulator_init(void) return 0; } +static char *ventana_battery[] = { + "battery", +}; + +static struct gpio_charger_platform_data ventana_charger_pdata = { + .name = "ac", + .type = POWER_SUPPLY_TYPE_MAINS, + .gpio = AC_PRESENT_GPIO, + .gpio_active_low = 1, + .supplied_to = ventana_battery, + .num_supplicants = ARRAY_SIZE(ventana_battery), +}; + +static struct platform_device ventana_charger_device = { + .name = "gpio-charger", + .dev = { + .platform_data = &ventana_charger_pdata, + }, +}; + +int __init ventana_charger_init(void) +{ + tegra_gpio_enable(AC_PRESENT_GPIO); + platform_device_register(&ventana_charger_device); + return 0; +} + static int __init ventana_pcie_init(void) { int ret; |