diff options
Diffstat (limited to 'ANDROID_3.4.5/include/linux/regulator')
17 files changed, 0 insertions, 1651 deletions
diff --git a/ANDROID_3.4.5/include/linux/regulator/ab8500.h b/ANDROID_3.4.5/include/linux/regulator/ab8500.h deleted file mode 100644 index 7bd73bbd..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/ab8500.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (C) ST-Ericsson SA 2010 - * - * License Terms: GNU General Public License v2 - * - * Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson - * Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson - */ - -#ifndef __LINUX_MFD_AB8500_REGULATOR_H -#define __LINUX_MFD_AB8500_REGULATOR_H - -/* AB8500 regulators */ -enum ab8500_regulator_id { - AB8500_LDO_AUX1, - AB8500_LDO_AUX2, - AB8500_LDO_AUX3, - AB8500_LDO_INTCORE, - AB8500_LDO_TVOUT, - AB8500_LDO_USB, - AB8500_LDO_AUDIO, - AB8500_LDO_ANAMIC1, - AB8500_LDO_ANAMIC2, - AB8500_LDO_DMIC, - AB8500_LDO_ANA, - AB8500_NUM_REGULATORS, -}; - -/* AB9450 regulators */ -enum ab9540_regulator_id { - AB9540_LDO_AUX1, - AB9540_LDO_AUX2, - AB9540_LDO_AUX3, - AB9540_LDO_AUX4, - AB9540_LDO_INTCORE, - AB9540_LDO_TVOUT, - AB9540_LDO_USB, - AB9540_LDO_AUDIO, - AB9540_LDO_ANAMIC1, - AB9540_LDO_ANAMIC2, - AB9540_LDO_DMIC, - AB9540_LDO_ANA, - AB9540_SYSCLKREQ_2, - AB9540_SYSCLKREQ_4, - AB9540_NUM_REGULATORS, -}; - -/* AB8500 and AB9540 register initialization */ -struct ab8500_regulator_reg_init { - int id; - u8 value; -}; - -#define INIT_REGULATOR_REGISTER(_id, _value) \ - { \ - .id = _id, \ - .value = _value, \ - } - -/* AB8500 registers */ -enum ab8500_regulator_reg { - AB8500_REGUREQUESTCTRL2, - AB8500_REGUREQUESTCTRL3, - AB8500_REGUREQUESTCTRL4, - AB8500_REGUSYSCLKREQ1HPVALID1, - AB8500_REGUSYSCLKREQ1HPVALID2, - AB8500_REGUHWHPREQ1VALID1, - AB8500_REGUHWHPREQ1VALID2, - AB8500_REGUHWHPREQ2VALID1, - AB8500_REGUHWHPREQ2VALID2, - AB8500_REGUSWHPREQVALID1, - AB8500_REGUSWHPREQVALID2, - AB8500_REGUSYSCLKREQVALID1, - AB8500_REGUSYSCLKREQVALID2, - AB8500_REGUMISC1, - AB8500_VAUDIOSUPPLY, - AB8500_REGUCTRL1VAMIC, - AB8500_VPLLVANAREGU, - AB8500_VREFDDR, - AB8500_EXTSUPPLYREGU, - AB8500_VAUX12REGU, - AB8500_VRF1VAUX3REGU, - AB8500_VAUX1SEL, - AB8500_VAUX2SEL, - AB8500_VRF1VAUX3SEL, - AB8500_REGUCTRL2SPARE, - AB8500_REGUCTRLDISCH, - AB8500_REGUCTRLDISCH2, - AB8500_VSMPS1SEL1, - AB8500_NUM_REGULATOR_REGISTERS, -}; - - -/* AB9540 registers */ -enum ab9540_regulator_reg { - AB9540_REGUREQUESTCTRL1, - AB9540_REGUREQUESTCTRL2, - AB9540_REGUREQUESTCTRL3, - AB9540_REGUREQUESTCTRL4, - AB9540_REGUSYSCLKREQ1HPVALID1, - AB9540_REGUSYSCLKREQ1HPVALID2, - AB9540_REGUHWHPREQ1VALID1, - AB9540_REGUHWHPREQ1VALID2, - AB9540_REGUHWHPREQ2VALID1, - AB9540_REGUHWHPREQ2VALID2, - AB9540_REGUSWHPREQVALID1, - AB9540_REGUSWHPREQVALID2, - AB9540_REGUSYSCLKREQVALID1, - AB9540_REGUSYSCLKREQVALID2, - AB9540_REGUVAUX4REQVALID, - AB9540_REGUMISC1, - AB9540_VAUDIOSUPPLY, - AB9540_REGUCTRL1VAMIC, - AB9540_VSMPS1REGU, - AB9540_VSMPS2REGU, - AB9540_VSMPS3REGU, /* NOTE! PRCMU register */ - AB9540_VPLLVANAREGU, - AB9540_EXTSUPPLYREGU, - AB9540_VAUX12REGU, - AB9540_VRF1VAUX3REGU, - AB9540_VSMPS1SEL1, - AB9540_VSMPS1SEL2, - AB9540_VSMPS1SEL3, - AB9540_VSMPS2SEL1, - AB9540_VSMPS2SEL2, - AB9540_VSMPS2SEL3, - AB9540_VSMPS3SEL1, /* NOTE! PRCMU register */ - AB9540_VSMPS3SEL2, /* NOTE! PRCMU register */ - AB9540_VAUX1SEL, - AB9540_VAUX2SEL, - AB9540_VRF1VAUX3SEL, - AB9540_REGUCTRL2SPARE, - AB9540_VAUX4REQCTRL, - AB9540_VAUX4REGU, - AB9540_VAUX4SEL, - AB9540_REGUCTRLDISCH, - AB9540_REGUCTRLDISCH2, - AB9540_REGUCTRLDISCH3, - AB9540_NUM_REGULATOR_REGISTERS, -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/consumer.h b/ANDROID_3.4.5/include/linux/regulator/consumer.h deleted file mode 100644 index 4ed1b30a..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/consumer.h +++ /dev/null @@ -1,349 +0,0 @@ -/* - * consumer.h -- SoC Regulator consumer support. - * - * Copyright (C) 2007, 2008 Wolfson Microelectronics PLC. - * - * Author: Liam Girdwood <lrg@slimlogic.co.uk> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Regulator Consumer Interface. - * - * A Power Management Regulator framework for SoC based devices. - * Features:- - * o Voltage and current level control. - * o Operating mode control. - * o Regulator status. - * o sysfs entries for showing client devices and status - * - * EXPERIMENTAL FEATURES: - * Dynamic Regulator operating Mode Switching (DRMS) - allows regulators - * to use most efficient operating mode depending upon voltage and load and - * is transparent to client drivers. - * - * e.g. Devices x,y,z share regulator r. Device x and y draw 20mA each during - * IO and 1mA at idle. Device z draws 100mA when under load and 5mA when - * idling. Regulator r has > 90% efficiency in NORMAL mode at loads > 100mA - * but this drops rapidly to 60% when below 100mA. Regulator r has > 90% - * efficiency in IDLE mode at loads < 10mA. Thus regulator r will operate - * in normal mode for loads > 10mA and in IDLE mode for load <= 10mA. - * - */ - -#ifndef __LINUX_REGULATOR_CONSUMER_H_ -#define __LINUX_REGULATOR_CONSUMER_H_ - -struct device; -struct notifier_block; - -/* - * Regulator operating modes. - * - * Regulators can run in a variety of different operating modes depending on - * output load. This allows further system power savings by selecting the - * best (and most efficient) regulator mode for a desired load. - * - * Most drivers will only care about NORMAL. The modes below are generic and - * will probably not match the naming convention of your regulator data sheet - * but should match the use cases in the datasheet. - * - * In order of power efficiency (least efficient at top). - * - * Mode Description - * FAST Regulator can handle fast changes in it's load. - * e.g. useful in CPU voltage & frequency scaling where - * load can quickly increase with CPU frequency increases. - * - * NORMAL Normal regulator power supply mode. Most drivers will - * use this mode. - * - * IDLE Regulator runs in a more efficient mode for light - * loads. Can be used for devices that have a low power - * requirement during periods of inactivity. This mode - * may be more noisy than NORMAL and may not be able - * to handle fast load switching. - * - * STANDBY Regulator runs in the most efficient mode for very - * light loads. Can be used by devices when they are - * in a sleep/standby state. This mode is likely to be - * the most noisy and may not be able to handle fast load - * switching. - * - * NOTE: Most regulators will only support a subset of these modes. Some - * will only just support NORMAL. - * - * These modes can be OR'ed together to make up a mask of valid register modes. - */ - -#define REGULATOR_MODE_FAST 0x1 -#define REGULATOR_MODE_NORMAL 0x2 -#define REGULATOR_MODE_IDLE 0x4 -#define REGULATOR_MODE_STANDBY 0x8 - -/* - * Regulator notifier events. - * - * UNDER_VOLTAGE Regulator output is under voltage. - * OVER_CURRENT Regulator output current is too high. - * REGULATION_OUT Regulator output is out of regulation. - * FAIL Regulator output has failed. - * OVER_TEMP Regulator over temp. - * FORCE_DISABLE Regulator forcibly shut down by software. - * VOLTAGE_CHANGE Regulator voltage changed. - * DISABLE Regulator was disabled. - * - * NOTE: These events can be OR'ed together when passed into handler. - */ - -#define REGULATOR_EVENT_UNDER_VOLTAGE 0x01 -#define REGULATOR_EVENT_OVER_CURRENT 0x02 -#define REGULATOR_EVENT_REGULATION_OUT 0x04 -#define REGULATOR_EVENT_FAIL 0x08 -#define REGULATOR_EVENT_OVER_TEMP 0x10 -#define REGULATOR_EVENT_FORCE_DISABLE 0x20 -#define REGULATOR_EVENT_VOLTAGE_CHANGE 0x40 -#define REGULATOR_EVENT_DISABLE 0x80 - -struct regulator; - -/** - * struct regulator_bulk_data - Data used for bulk regulator operations. - * - * @supply: The name of the supply. Initialised by the user before - * using the bulk regulator APIs. - * @consumer: The regulator consumer for the supply. This will be managed - * by the bulk API. - * - * The regulator APIs provide a series of regulator_bulk_() API calls as - * a convenience to consumers which require multiple supplies. This - * structure is used to manage data for these calls. - */ -struct regulator_bulk_data { - const char *supply; - struct regulator *consumer; - - /* private: Internal use */ - int ret; -}; - -#if defined(CONFIG_REGULATOR) - -/* regulator get and put */ -struct regulator *__must_check regulator_get(struct device *dev, - const char *id); -struct regulator *__must_check devm_regulator_get(struct device *dev, - const char *id); -struct regulator *__must_check regulator_get_exclusive(struct device *dev, - const char *id); -void regulator_put(struct regulator *regulator); -void devm_regulator_put(struct regulator *regulator); - -/* regulator output control and status */ -int regulator_enable(struct regulator *regulator); -int regulator_disable(struct regulator *regulator); -int regulator_force_disable(struct regulator *regulator); -int regulator_is_enabled(struct regulator *regulator); -int regulator_disable_deferred(struct regulator *regulator, int ms); - -int regulator_bulk_get(struct device *dev, int num_consumers, - struct regulator_bulk_data *consumers); -int devm_regulator_bulk_get(struct device *dev, int num_consumers, - struct regulator_bulk_data *consumers); -int regulator_bulk_enable(int num_consumers, - struct regulator_bulk_data *consumers); -int regulator_bulk_disable(int num_consumers, - struct regulator_bulk_data *consumers); -int regulator_bulk_force_disable(int num_consumers, - struct regulator_bulk_data *consumers); -void regulator_bulk_free(int num_consumers, - struct regulator_bulk_data *consumers); - -int regulator_count_voltages(struct regulator *regulator); -int regulator_list_voltage(struct regulator *regulator, unsigned selector); -int regulator_is_supported_voltage(struct regulator *regulator, - int min_uV, int max_uV); -int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV); -int regulator_set_voltage_time(struct regulator *regulator, - int old_uV, int new_uV); -int regulator_get_voltage(struct regulator *regulator); -int regulator_sync_voltage(struct regulator *regulator); -int regulator_set_current_limit(struct regulator *regulator, - int min_uA, int max_uA); -int regulator_get_current_limit(struct regulator *regulator); - -int regulator_set_mode(struct regulator *regulator, unsigned int mode); -unsigned int regulator_get_mode(struct regulator *regulator); -int regulator_set_optimum_mode(struct regulator *regulator, int load_uA); - -/* regulator notifier block */ -int regulator_register_notifier(struct regulator *regulator, - struct notifier_block *nb); -int regulator_unregister_notifier(struct regulator *regulator, - struct notifier_block *nb); - -/* driver data - core doesn't touch */ -void *regulator_get_drvdata(struct regulator *regulator); -void regulator_set_drvdata(struct regulator *regulator, void *data); - -#else - -/* - * Make sure client drivers will still build on systems with no software - * controllable voltage or current regulators. - */ -static inline struct regulator *__must_check regulator_get(struct device *dev, - const char *id) -{ - /* Nothing except the stubbed out regulator API should be - * looking at the value except to check if it is an error - * value. Drivers are free to handle NULL specifically by - * skipping all regulator API calls, but they don't have to. - * Drivers which don't, should make sure they properly handle - * corner cases of the API, such as regulator_get_voltage() - * returning 0. - */ - return NULL; -} - -static inline struct regulator *__must_check -devm_regulator_get(struct device *dev, const char *id) -{ - return NULL; -} - -static inline void regulator_put(struct regulator *regulator) -{ -} - -static inline void devm_regulator_put(struct regulator *regulator) -{ -} - -static inline int regulator_enable(struct regulator *regulator) -{ - return 0; -} - -static inline int regulator_disable(struct regulator *regulator) -{ - return 0; -} - -static inline int regulator_force_disable(struct regulator *regulator) -{ - return 0; -} - -static inline int regulator_disable_deferred(struct regulator *regulator, - int ms) -{ - return 0; -} - -static inline int regulator_is_enabled(struct regulator *regulator) -{ - return 1; -} - -static inline int regulator_bulk_get(struct device *dev, - int num_consumers, - struct regulator_bulk_data *consumers) -{ - return 0; -} - -static inline int devm_regulator_bulk_get(struct device *dev, int num_consumers, - struct regulator_bulk_data *consumers) -{ - return 0; -} - -static inline int regulator_bulk_enable(int num_consumers, - struct regulator_bulk_data *consumers) -{ - return 0; -} - -static inline int regulator_bulk_disable(int num_consumers, - struct regulator_bulk_data *consumers) -{ - return 0; -} - -static inline int regulator_bulk_force_disable(int num_consumers, - struct regulator_bulk_data *consumers) -{ - return 0; -} - -static inline void regulator_bulk_free(int num_consumers, - struct regulator_bulk_data *consumers) -{ -} - -static inline int regulator_set_voltage(struct regulator *regulator, - int min_uV, int max_uV) -{ - return 0; -} - -static inline int regulator_get_voltage(struct regulator *regulator) -{ - return 0; -} - -static inline int regulator_set_current_limit(struct regulator *regulator, - int min_uA, int max_uA) -{ - return 0; -} - -static inline int regulator_get_current_limit(struct regulator *regulator) -{ - return 0; -} - -static inline int regulator_set_mode(struct regulator *regulator, - unsigned int mode) -{ - return 0; -} - -static inline unsigned int regulator_get_mode(struct regulator *regulator) -{ - return REGULATOR_MODE_NORMAL; -} - -static inline int regulator_set_optimum_mode(struct regulator *regulator, - int load_uA) -{ - return REGULATOR_MODE_NORMAL; -} - -static inline int regulator_register_notifier(struct regulator *regulator, - struct notifier_block *nb) -{ - return 0; -} - -static inline int regulator_unregister_notifier(struct regulator *regulator, - struct notifier_block *nb) -{ - return 0; -} - -static inline void *regulator_get_drvdata(struct regulator *regulator) -{ - return NULL; -} - -static inline void regulator_set_drvdata(struct regulator *regulator, - void *data) -{ -} - -#endif - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/db8500-prcmu.h b/ANDROID_3.4.5/include/linux/regulator/db8500-prcmu.h deleted file mode 100644 index 61206231..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/db8500-prcmu.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) ST-Ericsson SA 2010 - * - * License Terms: GNU General Public License v2 - * - * Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson - * - * Interface to power domain regulators on DB8500 - */ - -#ifndef __REGULATOR_H__ -#define __REGULATOR_H__ - -/* Number of DB8500 regulators and regulator enumeration */ -enum db8500_regulator_id { - DB8500_REGULATOR_VAPE, - DB8500_REGULATOR_VARM, - DB8500_REGULATOR_VMODEM, - DB8500_REGULATOR_VPLL, - DB8500_REGULATOR_VSMPS1, - DB8500_REGULATOR_VSMPS2, - DB8500_REGULATOR_VSMPS3, - DB8500_REGULATOR_VRF1, - DB8500_REGULATOR_SWITCH_SVAMMDSP, - DB8500_REGULATOR_SWITCH_SVAMMDSPRET, - DB8500_REGULATOR_SWITCH_SVAPIPE, - DB8500_REGULATOR_SWITCH_SIAMMDSP, - DB8500_REGULATOR_SWITCH_SIAMMDSPRET, - DB8500_REGULATOR_SWITCH_SIAPIPE, - DB8500_REGULATOR_SWITCH_SGA, - DB8500_REGULATOR_SWITCH_B2R2_MCDE, - DB8500_REGULATOR_SWITCH_ESRAM12, - DB8500_REGULATOR_SWITCH_ESRAM12RET, - DB8500_REGULATOR_SWITCH_ESRAM34, - DB8500_REGULATOR_SWITCH_ESRAM34RET, - DB8500_NUM_REGULATORS -}; - -/* - * Exported interface for CPUIdle only. This function is called with all - * interrupts turned off. - */ -int power_state_active_is_enabled(void); - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/driver.h b/ANDROID_3.4.5/include/linux/regulator/driver.h deleted file mode 100644 index fa8b55b8..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/driver.h +++ /dev/null @@ -1,229 +0,0 @@ -/* - * driver.h -- SoC Regulator driver support. - * - * Copyright (C) 2007, 2008 Wolfson Microelectronics PLC. - * - * Author: Liam Girdwood <lrg@slimlogic.co.uk> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Regulator Driver Interface. - */ - -#ifndef __LINUX_REGULATOR_DRIVER_H_ -#define __LINUX_REGULATOR_DRIVER_H_ - -#include <linux/device.h> -#include <linux/notifier.h> -#include <linux/regulator/consumer.h> - -struct regulator_dev; -struct regulator_init_data; - -enum regulator_status { - REGULATOR_STATUS_OFF, - REGULATOR_STATUS_ON, - REGULATOR_STATUS_ERROR, - /* fast/normal/idle/standby are flavors of "on" */ - REGULATOR_STATUS_FAST, - REGULATOR_STATUS_NORMAL, - REGULATOR_STATUS_IDLE, - REGULATOR_STATUS_STANDBY, -}; - -/** - * struct regulator_ops - regulator operations. - * - * @enable: Configure the regulator as enabled. - * @disable: Configure the regulator as disabled. - * @is_enabled: Return 1 if the regulator is enabled, 0 if not. - * May also return negative errno. - * - * @set_voltage: Set the voltage for the regulator within the range specified. - * The driver should select the voltage closest to min_uV. - * @set_voltage_sel: Set the voltage for the regulator using the specified - * selector. - * @get_voltage: Return the currently configured voltage for the regulator. - * @get_voltage_sel: Return the currently configured voltage selector for the - * regulator. - * @list_voltage: Return one of the supported voltages, in microvolts; zero - * if the selector indicates a voltage that is unusable on this system; - * or negative errno. Selectors range from zero to one less than - * regulator_desc.n_voltages. Voltages may be reported in any order. - * - * @set_current_limit: Configure a limit for a current-limited regulator. - * @get_current_limit: Get the configured limit for a current-limited regulator. - * - * @set_mode: Set the configured operating mode for the regulator. - * @get_mode: Get the configured operating mode for the regulator. - * @get_status: Return actual (not as-configured) status of regulator, as a - * REGULATOR_STATUS value (or negative errno) - * @get_optimum_mode: Get the most efficient operating mode for the regulator - * when running with the specified parameters. - * - * @enable_time: Time taken for the regulator voltage output voltage to - * stabilise after being enabled, in microseconds. - * @set_voltage_time_sel: Time taken for the regulator voltage output voltage - * to stabilise after being set to a new value, in microseconds. - * The function provides the from and to voltage selector, the - * function should return the worst case. - * - * @set_suspend_voltage: Set the voltage for the regulator when the system - * is suspended. - * @set_suspend_enable: Mark the regulator as enabled when the system is - * suspended. - * @set_suspend_disable: Mark the regulator as disabled when the system is - * suspended. - * @set_suspend_mode: Set the operating mode for the regulator when the - * system is suspended. - * - * This struct describes regulator operations which can be implemented by - * regulator chip drivers. - */ -struct regulator_ops { - - /* enumerate supported voltages */ - int (*list_voltage) (struct regulator_dev *, unsigned selector); - - /* get/set regulator voltage */ - int (*set_voltage) (struct regulator_dev *, int min_uV, int max_uV, - unsigned *selector); - int (*set_voltage_sel) (struct regulator_dev *, unsigned selector); - int (*get_voltage) (struct regulator_dev *); - int (*get_voltage_sel) (struct regulator_dev *); - - /* get/set regulator current */ - int (*set_current_limit) (struct regulator_dev *, - int min_uA, int max_uA); - int (*get_current_limit) (struct regulator_dev *); - - /* enable/disable regulator */ - int (*enable) (struct regulator_dev *); - int (*disable) (struct regulator_dev *); - int (*is_enabled) (struct regulator_dev *); - - /* get/set regulator operating mode (defined in consumer.h) */ - int (*set_mode) (struct regulator_dev *, unsigned int mode); - unsigned int (*get_mode) (struct regulator_dev *); - - /* Time taken to enable or set voltage on the regulator */ - int (*enable_time) (struct regulator_dev *); - int (*set_voltage_time_sel) (struct regulator_dev *, - unsigned int old_selector, - unsigned int new_selector); - - /* report regulator status ... most other accessors report - * control inputs, this reports results of combining inputs - * from Linux (and other sources) with the actual load. - * returns REGULATOR_STATUS_* or negative errno. - */ - int (*get_status)(struct regulator_dev *); - - /* get most efficient regulator operating mode for load */ - unsigned int (*get_optimum_mode) (struct regulator_dev *, int input_uV, - int output_uV, int load_uA); - - /* the operations below are for configuration of regulator state when - * its parent PMIC enters a global STANDBY/HIBERNATE state */ - - /* set regulator suspend voltage */ - int (*set_suspend_voltage) (struct regulator_dev *, int uV); - - /* enable/disable regulator in suspend state */ - int (*set_suspend_enable) (struct regulator_dev *); - int (*set_suspend_disable) (struct regulator_dev *); - - /* set regulator suspend operating mode (defined in consumer.h) */ - int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode); -}; - -/* - * Regulators can either control voltage or current. - */ -enum regulator_type { - REGULATOR_VOLTAGE, - REGULATOR_CURRENT, -}; - -/** - * struct regulator_desc - Regulator descriptor - * - * Each regulator registered with the core is described with a structure of - * this type. - * - * @name: Identifying name for the regulator. - * @supply_name: Identifying the regulator supply - * @id: Numerical identifier for the regulator. - * @n_voltages: Number of selectors available for ops.list_voltage(). - * @ops: Regulator operations table. - * @irq: Interrupt number for the regulator. - * @type: Indicates if the regulator is a voltage or current regulator. - * @owner: Module providing the regulator, used for refcounting. - */ -struct regulator_desc { - const char *name; - const char *supply_name; - int id; - unsigned n_voltages; - struct regulator_ops *ops; - int irq; - enum regulator_type type; - struct module *owner; -}; - -/* - * struct regulator_dev - * - * Voltage / Current regulator class device. One for each - * regulator. - * - * This should *not* be used directly by anything except the regulator - * core and notification injection (which should take the mutex and do - * no other direct access). - */ -struct regulator_dev { - struct regulator_desc *desc; - int exclusive; - u32 use_count; - u32 open_count; - - /* lists we belong to */ - struct list_head list; /* list of all regulators */ - - /* lists we own */ - struct list_head consumer_list; /* consumers we supply */ - - struct blocking_notifier_head notifier; - struct mutex mutex; /* consumer lock */ - struct module *owner; - struct device dev; - struct regulation_constraints *constraints; - struct regulator *supply; /* for tree */ - - struct delayed_work disable_work; - int deferred_disables; - - void *reg_data; /* regulator_dev data */ - - struct dentry *debugfs; -}; - -struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, - struct device *dev, const struct regulator_init_data *init_data, - void *driver_data, struct device_node *of_node); -void regulator_unregister(struct regulator_dev *rdev); - -int regulator_notifier_call_chain(struct regulator_dev *rdev, - unsigned long event, void *data); - -void *rdev_get_drvdata(struct regulator_dev *rdev); -struct device *rdev_get_dev(struct regulator_dev *rdev); -int rdev_get_id(struct regulator_dev *rdev); - -int regulator_mode_to_status(unsigned int); - -void *regulator_get_init_drvdata(struct regulator_init_data *reg_init_data); - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/fixed.h b/ANDROID_3.4.5/include/linux/regulator/fixed.h deleted file mode 100644 index 936a7d8c..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/fixed.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * fixed.h - * - * Copyright 2008 Wolfson Microelectronics PLC. - * - * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> - * - * Copyright (c) 2009 Nokia Corporation - * Roger Quadros <ext-roger.quadros@nokia.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - */ - -#ifndef __REGULATOR_FIXED_H -#define __REGULATOR_FIXED_H - -struct regulator_init_data; - -/** - * struct fixed_voltage_config - fixed_voltage_config structure - * @supply_name: Name of the regulator supply - * @microvolts: Output voltage of regulator - * @gpio: GPIO to use for enable control - * set to -EINVAL if not used - * @startup_delay: Start-up time in microseconds - * @enable_high: Polarity of enable GPIO - * 1 = Active high, 0 = Active low - * @enabled_at_boot: Whether regulator has been enabled at - * boot or not. 1 = Yes, 0 = No - * This is used to keep the regulator at - * the default state - * @init_data: regulator_init_data - * - * This structure contains fixed voltage regulator configuration - * information that must be passed by platform code to the fixed - * voltage regulator driver. - */ -struct fixed_voltage_config { - const char *supply_name; - int microvolts; - int gpio; - unsigned startup_delay; - unsigned enable_high:1; - unsigned enabled_at_boot:1; - struct regulator_init_data *init_data; -}; - -struct regulator_consumer_supply; - -#if IS_ENABLED(CONFIG_REGULATOR) -struct platform_device *regulator_register_fixed(int id, - struct regulator_consumer_supply *supplies, int num_supplies); -#else -static inline struct platform_device *regulator_register_fixed(int id, - struct regulator_consumer_supply *supplies, int num_supplies) -{ - return NULL; -} -#endif - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/gpio-regulator.h b/ANDROID_3.4.5/include/linux/regulator/gpio-regulator.h deleted file mode 100644 index 19fbd267..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/gpio-regulator.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * gpio-regulator.h - * - * Copyright 2011 Heiko Stuebner <heiko@sntech.de> - * - * based on fixed.h - * - * Copyright 2008 Wolfson Microelectronics PLC. - * - * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> - * - * Copyright (c) 2009 Nokia Corporation - * Roger Quadros <ext-roger.quadros@nokia.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - */ - -#ifndef __REGULATOR_GPIO_H -#define __REGULATOR_GPIO_H - -struct regulator_init_data; - -enum regulator_type; - -/** - * struct gpio_regulator_state - state description - * @value: microvolts or microamps - * @gpios: bitfield of gpio target-states for the value - * - * This structure describes a supported setting of the regulator - * and the necessary gpio-state to achieve it. - * - * The n-th bit in the bitfield describes the state of the n-th GPIO - * from the gpios-array defined in gpio_regulator_config below. - */ -struct gpio_regulator_state { - int value; - int gpios; -}; - -/** - * struct gpio_regulator_config - config structure - * @supply_name: Name of the regulator supply - * @enable_gpio: GPIO to use for enable control - * set to -EINVAL if not used - * @enable_high: Polarity of enable GPIO - * 1 = Active high, 0 = Active low - * @enabled_at_boot: Whether regulator has been enabled at - * boot or not. 1 = Yes, 0 = No - * This is used to keep the regulator at - * the default state - * @startup_delay: Start-up time in microseconds - * @gpios: Array containing the gpios needed to control - * the setting of the regulator - * @nr_gpios: Number of gpios - * @states: Array of gpio_regulator_state entries describing - * the gpio state for specific voltages - * @nr_states: Number of states available - * @regulator_type: either REGULATOR_CURRENT or REGULATOR_VOLTAGE - * @init_data: regulator_init_data - * - * This structure contains gpio-voltage regulator configuration - * information that must be passed by platform code to the - * gpio-voltage regulator driver. - */ -struct gpio_regulator_config { - const char *supply_name; - - int enable_gpio; - unsigned enable_high:1; - unsigned enabled_at_boot:1; - unsigned startup_delay; - - struct gpio *gpios; - int nr_gpios; - - struct gpio_regulator_state *states; - int nr_states; - - enum regulator_type type; - struct regulator_init_data *init_data; -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/lp3971.h b/ANDROID_3.4.5/include/linux/regulator/lp3971.h deleted file mode 100644 index 61401649..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/lp3971.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * National Semiconductors LP3971 PMIC chip client interface - * - * Copyright (C) 2009 Samsung Electronics - * Author: Marek Szyprowski <m.szyprowski@samsung.com> - * - * Based on wm8400.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef __LINUX_REGULATOR_LP3971_H -#define __LINUX_REGULATOR_LP3971_H - -#include <linux/regulator/machine.h> - -#define LP3971_LDO1 0 -#define LP3971_LDO2 1 -#define LP3971_LDO3 2 -#define LP3971_LDO4 3 -#define LP3971_LDO5 4 - -#define LP3971_DCDC1 5 -#define LP3971_DCDC2 6 -#define LP3971_DCDC3 7 - -#define LP3971_NUM_REGULATORS 8 - -struct lp3971_regulator_subdev { - int id; - struct regulator_init_data *initdata; -}; - -struct lp3971_platform_data { - int num_regulators; - struct lp3971_regulator_subdev *regulators; -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/lp3972.h b/ANDROID_3.4.5/include/linux/regulator/lp3972.h deleted file mode 100644 index 9bb7389b..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/lp3972.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * National Semiconductors LP3972 PMIC chip client interface - * - * Based on lp3971.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef __LINUX_REGULATOR_LP3972_H -#define __LINUX_REGULATOR_LP3972_H - -#include <linux/regulator/machine.h> - -#define LP3972_LDO1 0 -#define LP3972_LDO2 1 -#define LP3972_LDO3 2 -#define LP3972_LDO4 3 -#define LP3972_LDO5 4 - -#define LP3972_DCDC1 5 -#define LP3972_DCDC2 6 -#define LP3972_DCDC3 7 - -#define LP3972_NUM_REGULATORS 8 - -struct lp3972_regulator_subdev { - int id; - struct regulator_init_data *initdata; -}; - -struct lp3972_platform_data { - int num_regulators; - struct lp3972_regulator_subdev *regulators; -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/machine.h b/ANDROID_3.4.5/include/linux/regulator/machine.h deleted file mode 100644 index b0210844..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/machine.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * machine.h -- SoC Regulator support, machine/board driver API. - * - * Copyright (C) 2007, 2008 Wolfson Microelectronics PLC. - * - * Author: Liam Girdwood <lrg@slimlogic.co.uk> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Regulator Machine/Board Interface. - */ - -#ifndef __LINUX_REGULATOR_MACHINE_H_ -#define __LINUX_REGULATOR_MACHINE_H_ - -#include <linux/regulator/consumer.h> -#include <linux/suspend.h> - -struct regulator; - -/* - * Regulator operation constraint flags. These flags are used to enable - * certain regulator operations and can be OR'ed together. - * - * VOLTAGE: Regulator output voltage can be changed by software on this - * board/machine. - * CURRENT: Regulator output current can be changed by software on this - * board/machine. - * MODE: Regulator operating mode can be changed by software on this - * board/machine. - * STATUS: Regulator can be enabled and disabled. - * DRMS: Dynamic Regulator Mode Switching is enabled for this regulator. - */ - -#define REGULATOR_CHANGE_VOLTAGE 0x1 -#define REGULATOR_CHANGE_CURRENT 0x2 -#define REGULATOR_CHANGE_MODE 0x4 -#define REGULATOR_CHANGE_STATUS 0x8 -#define REGULATOR_CHANGE_DRMS 0x10 - -/** - * struct regulator_state - regulator state during low power system states - * - * This describes a regulators state during a system wide low power - * state. One of enabled or disabled must be set for the - * configuration to be applied. - * - * @uV: Operating voltage during suspend. - * @mode: Operating mode during suspend. - * @enabled: Enabled during suspend. - * @disabled: Disabled during suspend. - */ -struct regulator_state { - int uV; /* suspend voltage */ - unsigned int mode; /* suspend regulator operating mode */ - int enabled; /* is regulator enabled in this suspend state */ - int disabled; /* is the regulator disbled in this suspend state */ -}; - -/** - * struct regulation_constraints - regulator operating constraints. - * - * This struct describes regulator and board/machine specific constraints. - * - * @name: Descriptive name for the constraints, used for display purposes. - * - * @min_uV: Smallest voltage consumers may set. - * @max_uV: Largest voltage consumers may set. - * @uV_offset: Offset applied to voltages from consumer to compensate for - * voltage drops. - * - * @min_uA: Smallest current consumers may set. - * @max_uA: Largest current consumers may set. - * - * @valid_modes_mask: Mask of modes which may be configured by consumers. - * @valid_ops_mask: Operations which may be performed by consumers. - * - * @always_on: Set if the regulator should never be disabled. - * @boot_on: Set if the regulator is enabled when the system is initially - * started. If the regulator is not enabled by the hardware or - * bootloader then it will be enabled when the constraints are - * applied. - * @apply_uV: Apply the voltage constraint when initialising. - * - * @input_uV: Input voltage for regulator when supplied by another regulator. - * - * @state_disk: State for regulator when system is suspended in disk mode. - * @state_mem: State for regulator when system is suspended in mem mode. - * @state_standby: State for regulator when system is suspended in standby - * mode. - * @initial_state: Suspend state to set by default. - * @initial_mode: Mode to set at startup. - */ -struct regulation_constraints { - - const char *name; - - /* voltage output range (inclusive) - for voltage control */ - int min_uV; - int max_uV; - - int uV_offset; - - /* current output range (inclusive) - for current control */ - int min_uA; - int max_uA; - - /* valid regulator operating modes for this machine */ - unsigned int valid_modes_mask; - - /* valid operations for regulator on this machine */ - unsigned int valid_ops_mask; - - /* regulator input voltage - only if supply is another regulator */ - int input_uV; - - /* regulator suspend states for global PMIC STANDBY/HIBERNATE */ - struct regulator_state state_disk; - struct regulator_state state_mem; - struct regulator_state state_standby; - suspend_state_t initial_state; /* suspend state to set at init */ - - /* mode to set on startup */ - unsigned int initial_mode; - - /* constraint flags */ - unsigned always_on:1; /* regulator never off when system is on */ - unsigned boot_on:1; /* bootloader/firmware enabled regulator */ - unsigned apply_uV:1; /* apply uV constraint if min == max */ -}; - -/** - * struct regulator_consumer_supply - supply -> device mapping - * - * This maps a supply name to a device. Use of dev_name allows support for - * buses which make struct device available late such as I2C. - * - * @dev_name: Result of dev_name() for the consumer. - * @supply: Name for the supply. - */ -struct regulator_consumer_supply { - const char *dev_name; /* dev_name() for consumer */ - const char *supply; /* consumer supply - e.g. "vcc" */ -}; - -/* Initialize struct regulator_consumer_supply */ -#define REGULATOR_SUPPLY(_name, _dev_name) \ -{ \ - .supply = _name, \ - .dev_name = _dev_name, \ -} - -/** - * struct regulator_init_data - regulator platform initialisation data. - * - * Initialisation constraints, our supply and consumers supplies. - * - * @supply_regulator: Parent regulator. Specified using the regulator name - * as it appears in the name field in sysfs, which can - * be explicitly set using the constraints field 'name'. - * - * @constraints: Constraints. These must be specified for the regulator to - * be usable. - * @num_consumer_supplies: Number of consumer device supplies. - * @consumer_supplies: Consumer device supply configuration. - * - * @regulator_init: Callback invoked when the regulator has been registered. - * @driver_data: Data passed to regulator_init. - */ -struct regulator_init_data { - const char *supply_regulator; /* or NULL for system supply */ - - struct regulation_constraints constraints; - - int num_consumer_supplies; - struct regulator_consumer_supply *consumer_supplies; - - /* optional regulator machine specific init */ - int (*regulator_init)(void *driver_data); - void *driver_data; /* core does not touch this */ -}; - -int regulator_suspend_prepare(suspend_state_t state); -int regulator_suspend_finish(void); - -#ifdef CONFIG_REGULATOR -void regulator_has_full_constraints(void); -void regulator_use_dummy_regulator(void); -#else -static inline void regulator_has_full_constraints(void) -{ -} - -static inline void regulator_use_dummy_regulator(void) -{ -} -#endif - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/max1586.h b/ANDROID_3.4.5/include/linux/regulator/max1586.h deleted file mode 100644 index de9a7fae..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/max1586.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * max1586.h -- Voltage regulation for the Maxim 1586 - * - * Copyright (C) 2008 Robert Jarzmik - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef REGULATOR_MAX1586 -#define REGULATOR_MAX1586 - -#include <linux/regulator/machine.h> - -#define MAX1586_V3 0 -#define MAX1586_V6 1 - -/* precalculated values for v3_gain */ -#define MAX1586_GAIN_NO_R24 1000000 /* 700000 .. 1475000 mV */ -#define MAX1586_GAIN_R24_3k32 1051098 /* 735768 .. 1550369 mV */ -#define MAX1586_GAIN_R24_5k11 1078648 /* 755053 .. 1591005 mV */ -#define MAX1586_GAIN_R24_7k5 1115432 /* 780802 .. 1645262 mV */ - -/** - * max1586_subdev_data - regulator data - * @id: regulator Id (either MAX1586_V3 or MAX1586_V6) - * @name: regulator cute name (example for V3: "vcc_core") - * @platform_data: regulator init data (constraints, supplies, ...) - */ -struct max1586_subdev_data { - int id; - char *name; - struct regulator_init_data *platform_data; -}; - -/** - * max1586_platform_data - platform data for max1586 - * @num_subdevs: number of regulators used (may be 1 or 2) - * @subdevs: regulator used - * At most, there will be a regulator for V3 and one for V6 voltages. - * @v3_gain: gain on the V3 voltage output multiplied by 1e6. - * This can be calculated as ((1 + R24/R25 + R24/185.5kOhm) * 1e6) - * for an external resistor configuration as described in the - * data sheet (R25=100kOhm). - */ -struct max1586_platform_data { - int num_subdevs; - struct max1586_subdev_data *subdevs; - int v3_gain; -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/max8649.h b/ANDROID_3.4.5/include/linux/regulator/max8649.h deleted file mode 100644 index 417d14ec..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/max8649.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Interface of Maxim max8649 - * - * Copyright (C) 2009-2010 Marvell International Ltd. - * Haojian Zhuang <haojian.zhuang@marvell.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __LINUX_REGULATOR_MAX8649_H -#define __LINUX_REGULATOR_MAX8649_H - -#include <linux/regulator/machine.h> - -enum { - MAX8649_EXTCLK_26MHZ = 0, - MAX8649_EXTCLK_13MHZ, - MAX8649_EXTCLK_19MHZ, /* 19.2MHz */ -}; - -enum { - MAX8649_RAMP_32MV = 0, - MAX8649_RAMP_16MV, - MAX8649_RAMP_8MV, - MAX8649_RAMP_4MV, - MAX8649_RAMP_2MV, - MAX8649_RAMP_1MV, - MAX8649_RAMP_0_5MV, - MAX8649_RAMP_0_25MV, -}; - -struct max8649_platform_data { - struct regulator_init_data *regulator; - - unsigned mode:2; /* bit[1:0] = VID1,VID0 */ - unsigned extclk_freq:2; - unsigned extclk:1; - unsigned ramp_timing:3; - unsigned ramp_down:1; -}; - -#endif /* __LINUX_REGULATOR_MAX8649_H */ diff --git a/ANDROID_3.4.5/include/linux/regulator/max8660.h b/ANDROID_3.4.5/include/linux/regulator/max8660.h deleted file mode 100644 index 99367636..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/max8660.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * max8660.h -- Voltage regulation for the Maxim 8660/8661 - * - * Copyright (C) 2009 Wolfram Sang, Pengutronix e.K. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __LINUX_REGULATOR_MAX8660_H -#define __LINUX_REGULATOR_MAX8660_H - -#include <linux/regulator/machine.h> - -enum { - MAX8660_V3, - MAX8660_V4, - MAX8660_V5, - MAX8660_V6, - MAX8660_V7, - MAX8660_V_END, -}; - -/** - * max8660_subdev_data - regulator subdev data - * @id: regulator id - * @name: regulator name - * @platform_data: regulator init data - */ -struct max8660_subdev_data { - int id; - char *name; - struct regulator_init_data *platform_data; -}; - -/** - * max8660_platform_data - platform data for max8660 - * @num_subdevs: number of regulators used - * @subdevs: pointer to regulators used - * @en34_is_high: if EN34 is driven high, regulators cannot be en-/disabled. - */ -struct max8660_platform_data { - int num_subdevs; - struct max8660_subdev_data *subdevs; - unsigned en34_is_high:1; -}; -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/max8952.h b/ANDROID_3.4.5/include/linux/regulator/max8952.h deleted file mode 100644 index 45e42855..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/max8952.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * max8952.h - Voltage regulation for the Maxim 8952 - * - * Copyright (C) 2010 Samsung Electrnoics - * MyungJoo Ham <myungjoo.ham@samsung.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef REGULATOR_MAX8952 -#define REGULATOR_MAX8952 - -#include <linux/regulator/machine.h> - -enum { - MAX8952_DVS_MODE0, - MAX8952_DVS_MODE1, - MAX8952_DVS_MODE2, - MAX8952_DVS_MODE3, -}; - -enum { - MAX8952_DVS_770mV = 0, - MAX8952_DVS_780mV, - MAX8952_DVS_790mV, - MAX8952_DVS_800mV, - MAX8952_DVS_810mV, - MAX8952_DVS_820mV, - MAX8952_DVS_830mV, - MAX8952_DVS_840mV, - MAX8952_DVS_850mV, - MAX8952_DVS_860mV, - MAX8952_DVS_870mV, - MAX8952_DVS_880mV, - MAX8952_DVS_890mV, - MAX8952_DVS_900mV, - MAX8952_DVS_910mV, - MAX8952_DVS_920mV, - MAX8952_DVS_930mV, - MAX8952_DVS_940mV, - MAX8952_DVS_950mV, - MAX8952_DVS_960mV, - MAX8952_DVS_970mV, - MAX8952_DVS_980mV, - MAX8952_DVS_990mV, - MAX8952_DVS_1000mV, - MAX8952_DVS_1010mV, - MAX8952_DVS_1020mV, - MAX8952_DVS_1030mV, - MAX8952_DVS_1040mV, - MAX8952_DVS_1050mV, - MAX8952_DVS_1060mV, - MAX8952_DVS_1070mV, - MAX8952_DVS_1080mV, - MAX8952_DVS_1090mV, - MAX8952_DVS_1100mV, - MAX8952_DVS_1110mV, - MAX8952_DVS_1120mV, - MAX8952_DVS_1130mV, - MAX8952_DVS_1140mV, - MAX8952_DVS_1150mV, - MAX8952_DVS_1160mV, - MAX8952_DVS_1170mV, - MAX8952_DVS_1180mV, - MAX8952_DVS_1190mV, - MAX8952_DVS_1200mV, - MAX8952_DVS_1210mV, - MAX8952_DVS_1220mV, - MAX8952_DVS_1230mV, - MAX8952_DVS_1240mV, - MAX8952_DVS_1250mV, - MAX8952_DVS_1260mV, - MAX8952_DVS_1270mV, - MAX8952_DVS_1280mV, - MAX8952_DVS_1290mV, - MAX8952_DVS_1300mV, - MAX8952_DVS_1310mV, - MAX8952_DVS_1320mV, - MAX8952_DVS_1330mV, - MAX8952_DVS_1340mV, - MAX8952_DVS_1350mV, - MAX8952_DVS_1360mV, - MAX8952_DVS_1370mV, - MAX8952_DVS_1380mV, - MAX8952_DVS_1390mV, - MAX8952_DVS_1400mV, -}; - -enum { - MAX8952_SYNC_FREQ_26MHZ, /* Default */ - MAX8952_SYNC_FREQ_13MHZ, - MAX8952_SYNC_FREQ_19_2MHZ, -}; - -enum { - MAX8952_RAMP_32mV_us = 0, /* Default */ - MAX8952_RAMP_16mV_us, - MAX8952_RAMP_8mV_us, - MAX8952_RAMP_4mV_us, - MAX8952_RAMP_2mV_us, - MAX8952_RAMP_1mV_us, - MAX8952_RAMP_0_5mV_us, - MAX8952_RAMP_0_25mV_us, -}; - -#define MAX8952_NUM_DVS_MODE 4 - -struct max8952_platform_data { - int gpio_vid0; - int gpio_vid1; - int gpio_en; - - u8 default_mode; - u8 dvs_mode[MAX8952_NUM_DVS_MODE]; /* MAX8952_DVS_MODEx_XXXXmV */ - - u8 sync_freq; - u8 ramp_speed; - - struct regulator_init_data reg_data; -}; - - -#endif /* REGULATOR_MAX8952 */ diff --git a/ANDROID_3.4.5/include/linux/regulator/of_regulator.h b/ANDROID_3.4.5/include/linux/regulator/of_regulator.h deleted file mode 100644 index 769704f2..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/of_regulator.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * OpenFirmware regulator support routines - * - */ - -#ifndef __LINUX_OF_REG_H -#define __LINUX_OF_REG_H - -#if defined(CONFIG_OF) -extern struct regulator_init_data - *of_get_regulator_init_data(struct device *dev, - struct device_node *node); -#else -static inline struct regulator_init_data - *of_get_regulator_init_data(struct device *dev, - struct device_node *node) -{ - return NULL; -} -#endif /* CONFIG_OF */ - -#endif /* __LINUX_OF_REG_H */ diff --git a/ANDROID_3.4.5/include/linux/regulator/tps62360.h b/ANDROID_3.4.5/include/linux/regulator/tps62360.h deleted file mode 100644 index 6a5c1b2c..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/tps62360.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * tps62360.h -- TI tps62360 - * - * Interface for regulator driver for TI TPS62360 Processor core supply - * - * Copyright (C) 2012 NVIDIA Corporation - - * Author: Laxman Dewangan <ldewangan@nvidia.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#ifndef __LINUX_REGULATOR_TPS62360_H -#define __LINUX_REGULATOR_TPS62360_H - -#include <linux/regulator/machine.h> - -/* - * struct tps62360_regulator_platform_data - tps62360 regulator platform data. - * - * @reg_init_data: The regulator init data. - * @en_force_pwm: Enable force pwm or not. - * @en_discharge: Enable discharge the output capacitor via internal - * register. - * @en_internal_pulldn: internal pull down enable or not. - * @vsel0_gpio: Gpio number for vsel0. It should be -1 if this is tied with - * fixed logic. - * @vsel1_gpio: Gpio number for vsel1. It should be -1 if this is tied with - * fixed logic. - * @vsel0_def_state: Default state of vsel0. 1 if it is high else 0. - * @vsel1_def_state: Default state of vsel1. 1 if it is high else 0. - */ -struct tps62360_regulator_platform_data { - struct regulator_init_data reg_init_data; - bool en_force_pwm; - bool en_discharge; - bool en_internal_pulldn; - int vsel0_gpio; - int vsel1_gpio; - int vsel0_def_state; - int vsel1_def_state; -}; - -#endif /* __LINUX_REGULATOR_TPS62360_H */ diff --git a/ANDROID_3.4.5/include/linux/regulator/tps6507x.h b/ANDROID_3.4.5/include/linux/regulator/tps6507x.h deleted file mode 100644 index 4892f591..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/tps6507x.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * tps6507x.h -- Voltage regulation for the Texas Instruments TPS6507X - * - * Copyright (C) 2010 Texas Instruments, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef REGULATOR_TPS6507X -#define REGULATOR_TPS6507X - -/** - * tps6507x_reg_platform_data - platform data for tps6507x - * @defdcdc_default: Defines whether DCDC high or the low register controls - * output voltage by default. Valid for DCDC2 and DCDC3 outputs only. - */ -struct tps6507x_reg_platform_data { - bool defdcdc_default; -}; - -#endif diff --git a/ANDROID_3.4.5/include/linux/regulator/userspace-consumer.h b/ANDROID_3.4.5/include/linux/regulator/userspace-consumer.h deleted file mode 100644 index b4554ce9..00000000 --- a/ANDROID_3.4.5/include/linux/regulator/userspace-consumer.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __REGULATOR_PLATFORM_CONSUMER_H_ -#define __REGULATOR_PLATFORM_CONSUMER_H_ - -struct regulator_consumer_supply; - -/** - * struct regulator_userspace_consumer_data - line consumer - * initialisation data. - * - * @name: Name for the consumer line - * @num_supplies: Number of supplies feeding the line - * @supplies: Supplies configuration. - * @init_on: Set if the regulators supplying the line should be - * enabled during initialisation - */ -struct regulator_userspace_consumer_data { - const char *name; - - int num_supplies; - struct regulator_bulk_data *supplies; - - bool init_on; -}; - -#endif /* __REGULATOR_PLATFORM_CONSUMER_H_ */ |