Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.18-rc4 95 lines 2.1 kB view raw
1/* 2 * Copyright 2012 Texas Instruments 3 * 4 * Author: Milo(Woogyom) Kim <milo.kim@ti.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 */ 11 12#ifndef __LP872X_REGULATOR_H__ 13#define __LP872X_REGULATOR_H__ 14 15#include <linux/regulator/machine.h> 16#include <linux/platform_device.h> 17#include <linux/gpio.h> 18 19#define LP872X_MAX_REGULATORS 9 20 21#define LP8720_ENABLE_DELAY 200 22#define LP8725_ENABLE_DELAY 30000 23 24enum lp872x_regulator_id { 25 LP8720_ID_BASE, 26 LP8720_ID_LDO1 = LP8720_ID_BASE, 27 LP8720_ID_LDO2, 28 LP8720_ID_LDO3, 29 LP8720_ID_LDO4, 30 LP8720_ID_LDO5, 31 LP8720_ID_BUCK, 32 33 LP8725_ID_BASE, 34 LP8725_ID_LDO1 = LP8725_ID_BASE, 35 LP8725_ID_LDO2, 36 LP8725_ID_LDO3, 37 LP8725_ID_LDO4, 38 LP8725_ID_LDO5, 39 LP8725_ID_LILO1, 40 LP8725_ID_LILO2, 41 LP8725_ID_BUCK1, 42 LP8725_ID_BUCK2, 43 44 LP872X_ID_MAX, 45}; 46 47enum lp872x_dvs_state { 48 DVS_LOW = GPIOF_OUT_INIT_LOW, 49 DVS_HIGH = GPIOF_OUT_INIT_HIGH, 50}; 51 52enum lp872x_dvs_sel { 53 SEL_V1, 54 SEL_V2, 55}; 56 57/** 58 * lp872x_dvs 59 * @gpio : gpio pin number for dvs control 60 * @vsel : dvs selector for buck v1 or buck v2 register 61 * @init_state : initial dvs pin state 62 */ 63struct lp872x_dvs { 64 int gpio; 65 enum lp872x_dvs_sel vsel; 66 enum lp872x_dvs_state init_state; 67}; 68 69/** 70 * lp872x_regdata 71 * @id : regulator id 72 * @init_data : init data for each regulator 73 */ 74struct lp872x_regulator_data { 75 enum lp872x_regulator_id id; 76 struct regulator_init_data *init_data; 77}; 78 79/** 80 * lp872x_platform_data 81 * @general_config : the value of LP872X_GENERAL_CFG register 82 * @update_config : if LP872X_GENERAL_CFG register is updated, set true 83 * @regulator_data : platform regulator id and init data 84 * @dvs : dvs data for buck voltage control 85 * @enable_gpio : gpio pin number for enable control 86 */ 87struct lp872x_platform_data { 88 u8 general_config; 89 bool update_config; 90 struct lp872x_regulator_data regulator_data[LP872X_MAX_REGULATORS]; 91 struct lp872x_dvs *dvs; 92 int enable_gpio; 93}; 94 95#endif