summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-ventana-power.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-power.c')
-rw-r--r--arch/arm/mach-tegra/board-ventana-power.c28
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;