OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-213
/
include
/
linux
/
mfd
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
88pm80x.h
9.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
88pm860x.h
13.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
aat2870.h
4.54 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ab3100.h
4.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
abx500
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
abx500.h
11.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ac100.h
6.12 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
adp5520.h
8.3 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
altera-a10sr.h
3.42 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
arizona
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
as3711.h
2.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
as3722.h
15.11 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asic3.h
12.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atmel-hlcdc.h
2.57 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
axp20x.h
16.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bcm590xx.h
831 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bd9571mwv.h
3.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
core.h
4.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cros_ec.h
10.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cros_ec_commands.h
84.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cros_ec_lpc_mec.h
2.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cros_ec_lpc_reg.h
1.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da8xx-cfgchip.h
7.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da903x.h
7.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
da9052
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
da9055
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
da9062
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
da9063
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
da9150
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
davinci_voicecodec.h
3.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
db8500-prcmu.h
21.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dbx500-prcmu.h
14.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dln2.h
3.53 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dm355evm_msp.h
2.81 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ds1wm.h
817 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ezx-pcap.h
7.75 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hi6421-pmic.h
1.3 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hi655x-pmic.h
2.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
htc-pasic3.h
1.2 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
imx25-tsadc.h
4.86 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
intel_msic.h
15.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
intel_soc_pmic.h
1.17 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
intel_soc_pmic_bxtwc.h
2 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ipaq-micro.h
3.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
janz.h
1.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kempld.h
4.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lm3533.h
2.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lp3943.h
2.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lp873x.h
8.69 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lp87565.h
7.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lp8788-isink.h
1.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lp8788.h
8.84 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
lpc_ich.h
1.23 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max14577-private.h
15.86 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max14577.h
2.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77620.h
10.87 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
max77686-private.h
13.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77686.h
2.65 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77693-common.h
1.27 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77693-private.h
17.95 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77693.h
2.24 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max77843-private.h
15.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max8907.h
7.52 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max8925.h
7.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max8997-private.h
12.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max8997.h
6.04 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
max8998-private.h
5.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max8998.h
3.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc13783.h
2.83 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc13892.h
938 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc13xxx.h
7.65 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
mcp.h
1.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
menelaus.h
1.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
motorola-cpcap.h
12.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
mt6323
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
mt6397
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
mxs-lradc.h
6.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
palmas.h
149.07 KB
06/16/2023 05:32:39 PM
rw-r--r--
📁
pcf50633
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
qcom_rpm.h
293 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rc5t583.h
9.82 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
rdc321x.h
591 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
retu.h
723 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rk808.h
12.51 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
rn5t618.h
7.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5033-private.h
7.84 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
rt5033.h
1.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
samsung
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
si476x-core.h
15.24 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
si476x-platform.h
6.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
si476x-reports.h
4.89 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sky81452.h
990 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
smsc.h
2.85 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sta2x11-mfd.h
18.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stm32-lptimer.h
1.81 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stm32-timers.h
3.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stmpe.h
3.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stw481x.h
1.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sun4i-gpadc.h
3.62 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
syscon
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
syscon.h
1.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
t7l66xb.h
771 bytes
06/16/2023 05:32:39 PM
rw-r--r--
📄
tc3589x.h
3.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tc6387xb.h
516 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tc6393xb.h
1.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ti-lmu-register.h
7.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ti-lmu.h
1.78 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ti_am335x_tscadc.h
5.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tmio.h
4.6 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps6105x.h
3.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65010.h
6.53 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps6507x.h
4.94 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65086.h
3.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65090.h
4.35 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65217.h
8.24 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65218.h
7.84 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps6586x.h
2.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65910.h
30.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps65912.h
9.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps68470.h
3.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tps80031.h
19.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
twl.h
25.58 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
twl4030-audio.h
8.54 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
twl6040.h
7.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ucb1x00.h
6.57 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
viperboard.h
2.95 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wl1273-core.h
8.3 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
wm831x
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📁
wm8350
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
wm8400-audio.h
69.8 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8400-private.h
57.98 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8400.h
1.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
wm8994
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
wm97xx.h
576 bytes
01/28/2018 09:20:33 PM
rw-r--r--
Editing: lp8788.h
Close
/* * TI LP8788 MFD Device * * Copyright 2012 Texas Instruments * * Author: Milo(Woogyom) Kim <milo.kim@ti.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 __MFD_LP8788_H__ #define __MFD_LP8788_H__ #include <linux/gpio.h> #include <linux/irqdomain.h> #include <linux/pwm.h> #include <linux/regmap.h> #define LP8788_DEV_BUCK "lp8788-buck" #define LP8788_DEV_DLDO "lp8788-dldo" #define LP8788_DEV_ALDO "lp8788-aldo" #define LP8788_DEV_CHARGER "lp8788-charger" #define LP8788_DEV_RTC "lp8788-rtc" #define LP8788_DEV_BACKLIGHT "lp8788-backlight" #define LP8788_DEV_VIBRATOR "lp8788-vibrator" #define LP8788_DEV_KEYLED "lp8788-keyled" #define LP8788_DEV_ADC "lp8788-adc" #define LP8788_NUM_BUCKS 4 #define LP8788_NUM_DLDOS 12 #define LP8788_NUM_ALDOS 10 #define LP8788_NUM_BUCK2_DVS 2 #define LP8788_CHG_IRQ "CHG_IRQ" #define LP8788_PRSW_IRQ "PRSW_IRQ" #define LP8788_BATT_IRQ "BATT_IRQ" #define LP8788_ALM_IRQ "ALARM_IRQ" enum lp8788_int_id { /* interrup register 1 : Addr 00h */ LP8788_INT_TSDL, LP8788_INT_TSDH, LP8788_INT_UVLO, LP8788_INT_FLAGMON, LP8788_INT_PWRON_TIME, LP8788_INT_PWRON, LP8788_INT_COMP1, LP8788_INT_COMP2, /* interrupt register 2 : Addr 01h */ LP8788_INT_CHG_INPUT_STATE, LP8788_INT_CHG_STATE, LP8788_INT_EOC, LP8788_INT_CHG_RESTART, LP8788_INT_RESTART_TIMEOUT, LP8788_INT_FULLCHG_TIMEOUT, LP8788_INT_PRECHG_TIMEOUT, /* interrupt register 3 : Addr 02h */ LP8788_INT_RTC_ALARM1 = 17, LP8788_INT_RTC_ALARM2, LP8788_INT_ENTER_SYS_SUPPORT, LP8788_INT_EXIT_SYS_SUPPORT, LP8788_INT_BATT_LOW, LP8788_INT_NO_BATT, LP8788_INT_MAX = 24, }; enum lp8788_dvs_sel { DVS_SEL_V0, DVS_SEL_V1, DVS_SEL_V2, DVS_SEL_V3, }; enum lp8788_ext_ldo_en_id { EN_ALDO1, EN_ALDO234, EN_ALDO5, EN_ALDO7, EN_DLDO7, EN_DLDO911, EN_LDOS_MAX, }; enum lp8788_charger_event { NO_CHARGER, CHARGER_DETECTED, }; enum lp8788_bl_ctrl_mode { LP8788_BL_REGISTER_ONLY, LP8788_BL_COMB_PWM_BASED, /* PWM + I2C, changed by PWM input */ LP8788_BL_COMB_REGISTER_BASED, /* PWM + I2C, changed by I2C */ }; enum lp8788_bl_dim_mode { LP8788_DIM_EXPONENTIAL, LP8788_DIM_LINEAR, }; enum lp8788_bl_full_scale_current { LP8788_FULLSCALE_5000uA, LP8788_FULLSCALE_8500uA, LP8788_FULLSCALE_1200uA, LP8788_FULLSCALE_1550uA, LP8788_FULLSCALE_1900uA, LP8788_FULLSCALE_2250uA, LP8788_FULLSCALE_2600uA, LP8788_FULLSCALE_2950uA, }; enum lp8788_bl_ramp_step { LP8788_RAMP_8us, LP8788_RAMP_1024us, LP8788_RAMP_2048us, LP8788_RAMP_4096us, LP8788_RAMP_8192us, LP8788_RAMP_16384us, LP8788_RAMP_32768us, LP8788_RAMP_65538us, }; enum lp8788_isink_scale { LP8788_ISINK_SCALE_100mA, LP8788_ISINK_SCALE_120mA, }; enum lp8788_isink_number { LP8788_ISINK_1, LP8788_ISINK_2, LP8788_ISINK_3, }; enum lp8788_alarm_sel { LP8788_ALARM_1, LP8788_ALARM_2, LP8788_ALARM_MAX, }; enum lp8788_adc_id { LPADC_VBATT_5P5, LPADC_VIN_CHG, LPADC_IBATT, LPADC_IC_TEMP, LPADC_VBATT_6P0, LPADC_VBATT_5P0, LPADC_ADC1, LPADC_ADC2, LPADC_VDD, LPADC_VCOIN, LPADC_VDD_LDO, LPADC_ADC3, LPADC_ADC4, LPADC_MAX, }; struct lp8788; /* * lp8788_buck1_dvs * @gpio : gpio pin number for dvs control * @vsel : dvs selector for buck v1 register */ struct lp8788_buck1_dvs { int gpio; enum lp8788_dvs_sel vsel; }; /* * lp8788_buck2_dvs * @gpio : two gpio pin numbers are used for dvs * @vsel : dvs selector for buck v2 register */ struct lp8788_buck2_dvs { int gpio[LP8788_NUM_BUCK2_DVS]; enum lp8788_dvs_sel vsel; }; /* * struct lp8788_ldo_enable_pin * * Basically, all LDOs are enabled through the I2C commands. * But ALDO 1 ~ 5, 7, DLDO 7, 9, 11 can be enabled by external gpio pins. * * @gpio : gpio number which is used for enabling ldos * @init_state : initial gpio state (ex. GPIOF_OUT_INIT_LOW) */ struct lp8788_ldo_enable_pin { int gpio; int init_state; }; /* * struct lp8788_chg_param * @addr : charging control register address (range : 0x11 ~ 0x1C) * @val : charging parameter value */ struct lp8788_chg_param { u8 addr; u8 val; }; /* * struct lp8788_charger_platform_data * @adc_vbatt : adc channel name for battery voltage * @adc_batt_temp : adc channel name for battery temperature * @max_vbatt_mv : used for calculating battery capacity * @chg_params : initial charging parameters * @num_chg_params : numbers of charging parameters * @charger_event : the charger event can be reported to the platform side */ struct lp8788_charger_platform_data { const char *adc_vbatt; const char *adc_batt_temp; unsigned int max_vbatt_mv; struct lp8788_chg_param *chg_params; int num_chg_params; void (*charger_event) (struct lp8788 *lp, enum lp8788_charger_event event); }; /* * struct lp8788_backlight_platform_data * @name : backlight driver name. (default: "lcd-backlight") * @initial_brightness : initial value of backlight brightness * @bl_mode : brightness control by pwm or lp8788 register * @dim_mode : dimming mode selection * @full_scale : full scale current setting * @rise_time : brightness ramp up step time * @fall_time : brightness ramp down step time * @pwm_pol : pwm polarity setting when bl_mode is pwm based * @period_ns : platform specific pwm period value. unit is nano. Only valid when bl_mode is LP8788_BL_COMB_PWM_BASED */ struct lp8788_backlight_platform_data { char *name; int initial_brightness; enum lp8788_bl_ctrl_mode bl_mode; enum lp8788_bl_dim_mode dim_mode; enum lp8788_bl_full_scale_current full_scale; enum lp8788_bl_ramp_step rise_time; enum lp8788_bl_ramp_step fall_time; enum pwm_polarity pwm_pol; unsigned int period_ns; }; /* * struct lp8788_led_platform_data * @name : led driver name. (default: "keyboard-backlight") * @scale : current scale * @num : current sink number * @iout_code : current output value (Addr 9Ah ~ 9Bh) */ struct lp8788_led_platform_data { char *name; enum lp8788_isink_scale scale; enum lp8788_isink_number num; int iout_code; }; /* * struct lp8788_vib_platform_data * @name : vibrator driver name * @scale : current scale * @num : current sink number * @iout_code : current output value (Addr 9Ah ~ 9Bh) * @pwm_code : PWM code value (Addr 9Ch ~ 9Eh) */ struct lp8788_vib_platform_data { char *name; enum lp8788_isink_scale scale; enum lp8788_isink_number num; int iout_code; int pwm_code; }; /* * struct lp8788_platform_data * @init_func : used for initializing registers * before mfd driver is registered * @buck_data : regulator initial data for buck * @dldo_data : regulator initial data for digital ldo * @aldo_data : regulator initial data for analog ldo * @buck1_dvs : gpio configurations for buck1 dvs * @buck2_dvs : gpio configurations for buck2 dvs * @ldo_pin : gpio configurations for enabling LDOs * @chg_pdata : platform data for charger driver * @alarm_sel : rtc alarm selection (1 or 2) * @bl_pdata : configurable data for backlight driver * @led_pdata : configurable data for led driver * @vib_pdata : configurable data for vibrator driver * @adc_pdata : iio map data for adc driver */ struct lp8788_platform_data { /* general system information */ int (*init_func) (struct lp8788 *lp); /* regulators */ struct regulator_init_data *buck_data[LP8788_NUM_BUCKS]; struct regulator_init_data *dldo_data[LP8788_NUM_DLDOS]; struct regulator_init_data *aldo_data[LP8788_NUM_ALDOS]; struct lp8788_buck1_dvs *buck1_dvs; struct lp8788_buck2_dvs *buck2_dvs; struct lp8788_ldo_enable_pin *ldo_pin[EN_LDOS_MAX]; /* charger */ struct lp8788_charger_platform_data *chg_pdata; /* rtc alarm */ enum lp8788_alarm_sel alarm_sel; /* backlight */ struct lp8788_backlight_platform_data *bl_pdata; /* current sinks */ struct lp8788_led_platform_data *led_pdata; struct lp8788_vib_platform_data *vib_pdata; /* adc iio map data */ struct iio_map *adc_pdata; }; /* * struct lp8788 * @dev : parent device pointer * @regmap : used for i2c communcation on accessing registers * @irqdm : interrupt domain for handling nested interrupt * @irq : pin number of IRQ_N * @pdata : lp8788 platform specific data */ struct lp8788 { struct device *dev; struct regmap *regmap; struct irq_domain *irqdm; int irq; struct lp8788_platform_data *pdata; }; int lp8788_irq_init(struct lp8788 *lp, int chip_irq); void lp8788_irq_exit(struct lp8788 *lp); int lp8788_read_byte(struct lp8788 *lp, u8 reg, u8 *data); int lp8788_read_multi_bytes(struct lp8788 *lp, u8 reg, u8 *data, size_t count); int lp8788_write_byte(struct lp8788 *lp, u8 reg, u8 data); int lp8788_update_bits(struct lp8788 *lp, u8 reg, u8 mask, u8 data); #endif