at v3.14 69 lines 1.7 kB view raw
1/* 2 * max14577.h - Driver for the Maxim 14577 3 * 4 * Copyright (C) 2013 Samsung Electrnoics 5 * Chanwoo Choi <cw00.choi@samsung.com> 6 * Krzysztof Kozlowski <k.kozlowski@samsung.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * This driver is based on max8997.h 19 * 20 * MAX14577 has MUIC, Charger devices. 21 * The devices share the same I2C bus and interrupt line 22 * included in this mfd driver. 23 */ 24 25#ifndef __MAX14577_H__ 26#define __MAX14577_H__ 27 28#include <linux/mfd/max14577-private.h> 29#include <linux/regulator/consumer.h> 30 31/* 32 * MAX14577 Regulator 33 */ 34 35/* MAX14577 regulator IDs */ 36enum max14577_regulators { 37 MAX14577_SAFEOUT = 0, 38 MAX14577_CHARGER, 39 40 MAX14577_REG_MAX, 41}; 42 43struct max14577_regulator_platform_data { 44 int id; 45 struct regulator_init_data *initdata; 46 struct device_node *of_node; 47}; 48 49/* 50 * MAX14577 MFD platform data 51 */ 52struct max14577_platform_data { 53 /* IRQ */ 54 int irq_base; 55 56 /* current control GPIOs */ 57 int gpio_pogo_vbatt_en; 58 int gpio_pogo_vbus_en; 59 60 /* current control GPIO control function */ 61 int (*set_gpio_pogo_vbatt_en) (int gpio_val); 62 int (*set_gpio_pogo_vbus_en) (int gpio_val); 63 64 int (*set_gpio_pogo_cb) (int new_dev); 65 66 struct max14577_regulator_platform_data *regulators; 67}; 68 69#endif /* __MAX14577_H__ */