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