/usr/src/linux-headers-5.15.0-181/include/linux/mfd
NameSizeModeActions
abx500/-0755rm
arizona/-0755rm
atc260x/-0755rm
da9052/-0755rm
da9055/-0755rm
da9062/-0755rm
da9063/-0755rm
da9150/-0755rm
madera/-0755rm
mt6323/-0755rm
mt6358/-0755rm
mt6359/-0755rm
mt6359p/-0755rm
mt6397/-0755rm
pcf50633/-0755rm
samsung/-0755rm
syscon/-0755rm
wcd934x/-0755rm
wm831x/-0755rm
wm8350/-0755rm
wm8994/-0755rm
88pm80x.h100800644editdlrm
88pm860x.h135080644editdlrm
aat2870.h40140644editdlrm
abx500.h24010644editdlrm
ac100.h61210644editdlrm
adp5520.h85060644editdlrm
altera-a10sr.h29550644editdlrm
altera-sysmgr.h7250644editdlrm
as3711.h28080644editdlrm
as3722.h148790644editdlrm
asic3.h123680644editdlrm
atmel-hlcdc.h20940644editdlrm
axp20x.h171050644editdlrm
bcm590xx.h6180644editdlrm
bcm2835-pm.h2350644editdlrm
bd9571mwv.h35370644editdlrm
core.h47600644editdlrm
da8xx-cfgchip.h70460644editdlrm
da903x.h72180644editdlrm
davinci_voicecodec.h26580644editdlrm
db8500-prcmu.h218420644editdlrm
dbx500-prcmu.h142680644editdlrm
dln2.h36170644editdlrm
dm355evm_msp.h28790644editdlrm
ds1wm.h8170644editdlrm
ezx-pcap.h79320644editdlrm
gsc.h18180644editdlrm
hi655x-pmic.h19340644editdlrm
hi6421-pmic.h11840644editdlrm
hi6421-spmi-pmic.h5190644editdlrm
htc-pasic3.h12250644editdlrm
idt8a340_reg.h300240644editdlrm
idt82p33_reg.h29380644editdlrm
imx25-tsadc.h49720644editdlrm
ingenic-tcu.h17530644editdlrm
intel-m10-bmc.h49070644editdlrm
intel_pmc_bxt.h15420644editdlrm
intel_soc_pmic.h16930644editdlrm
intel_soc_pmic_bxtwc.h16410644editdlrm
intel_soc_pmic_mrfld.h22880644editdlrm
ipaq-micro.h37500644editdlrm
iqs62x.h27970644editdlrm
janz.h8460644editdlrm
kempld.h41220644editdlrm
khadas-mcu.h35450644editdlrm
ljca.h10430644editdlrm
lm3533.h24400644editdlrm
lochnagar.h16240644editdlrm
lochnagar1_regs.h78960644editdlrm
lochnagar2_regs.h155500644editdlrm
lp873x.h88960644editdlrm
lp3943.h25980644editdlrm
lp8788-isink.h10690644editdlrm
lp8788.h84240644editdlrm
lp87565.h75880644editdlrm
lpc_ich.h6550644editdlrm
max8907.h75550644editdlrm
max8925.h72040644editdlrm
max8997-private.h120570644editdlrm
max8997.h55130644editdlrm
max8998-private.h44500644editdlrm
max8998.h29830644editdlrm
max14577-private.h157760644editdlrm
max14577.h22810644editdlrm
max77620.h109670644editdlrm
max77650.h18870644editdlrm
max77686-private.h128500644editdlrm
max77686.h20330644editdlrm
max77693-common.h10880644editdlrm
max77693-private.h177050644editdlrm
max77693.h16190644editdlrm
max77843-private.h155890644editdlrm
mc13xxx.h77690644editdlrm
mc13783.h27560644editdlrm
mc13892.h7920644editdlrm
mcp.h16470644editdlrm
menelaus.h12840644editdlrm
motorola-cpcap.h126510644editdlrm
mp2629.h4220644editdlrm
mxs-lradc.h57360644editdlrm
ntxec.h9070644editdlrm
palmas.h1523820644editdlrm
qcom_rpm.h2930644editdlrm
rave-sp.h14480644editdlrm
rc5t583.h95010644editdlrm
rdc321x.h5910644editdlrm
retu.h7230644editdlrm
rk808.h198850644editdlrm
rn5t618.h78400644editdlrm
rohm-bd718x7.h90380644editdlrm
rohm-bd957x.h43620644editdlrm
rohm-bd70528.h110820644editdlrm
rohm-bd71815.h156080644editdlrm
rohm-bd71828.h130840644editdlrm
rohm-generic.h28250644editdlrm
rohm-shared.h6310644editdlrm
rsmu.h8970644editdlrm
rt5033-private.h79270644editdlrm
rt5033.h10980644editdlrm
sc27xx-pmic.h2280644editdlrm
si476x-core.h151920644editdlrm
si476x-platform.h61890644editdlrm
si476x-reports.h45960644editdlrm
sky81452.h3540644editdlrm
sta2x11-mfd.h185650644editdlrm
stm32-lptimer.h21020644editdlrm
stm32-timers.h59480644editdlrm
stmfx.h40510644editdlrm
stmpe.h40830644editdlrm
stpmic1.h57500644editdlrm
stw481x.h14220644editdlrm
sun4i-gpadc.h35640644editdlrm
syscon.h18710644editdlrm
t7l66xb.h6220644editdlrm
tc3589x.h41230644editdlrm
tc6387xb.h5160644editdlrm
tc6393xb.h14020644editdlrm
ti-lmu-register.h56660644editdlrm
ti-lmu.h18570644editdlrm
ti_am335x_tscadc.h60280644editdlrm
tmio.h38940644editdlrm
tps6105x.h30790644editdlrm
tps6507x.h50550644editdlrm
tps6586x.h28020644editdlrm
tps65010.h66850644editdlrm
tps65086.h35810644editdlrm
tps65090.h38140644editdlrm
tps65217.h84360644editdlrm
tps65218.h82180644editdlrm
tps65910.h300930644editdlrm
tps65912.h101450644editdlrm
tps68470.h30020644editdlrm
tps80031.h200590644editdlrm
twl.h254940644editdlrm
twl4030-audio.h81290644editdlrm
twl6040.h67160644editdlrm
ucb1x00.h65590644editdlrm
viperboard.h28020644editdlrm
wl1273-core.h78870644editdlrm
wm97xx.h3690644editdlrm
wm8400-audio.h708190644editdlrm
wm8400-private.h584920644editdlrm
wm8400.h5610644editdlrm
Edit: /usr/src/linux-headers-5.15.0-181/include/linux/mfd/da903x.h (7218B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __LINUX_PMIC_DA903X_H #define __LINUX_PMIC_DA903X_H /* Unified sub device IDs for DA9030/DA9034/DA9035 */ enum { DA9030_ID_LED_1, DA9030_ID_LED_2, DA9030_ID_LED_3, DA9030_ID_LED_4, DA9030_ID_LED_PC, DA9030_ID_VIBRA, DA9030_ID_WLED, DA9030_ID_BUCK1, DA9030_ID_BUCK2, DA9030_ID_LDO1, DA9030_ID_LDO2, DA9030_ID_LDO3, DA9030_ID_LDO4, DA9030_ID_LDO5, DA9030_ID_LDO6, DA9030_ID_LDO7, DA9030_ID_LDO8, DA9030_ID_LDO9, DA9030_ID_LDO10, DA9030_ID_LDO11, DA9030_ID_LDO12, DA9030_ID_LDO13, DA9030_ID_LDO14, DA9030_ID_LDO15, DA9030_ID_LDO16, DA9030_ID_LDO17, DA9030_ID_LDO18, DA9030_ID_LDO19, DA9030_ID_LDO_INT, /* LDO Internal */ DA9030_ID_BAT, /* battery charger */ DA9034_ID_LED_1, DA9034_ID_LED_2, DA9034_ID_VIBRA, DA9034_ID_WLED, DA9034_ID_TOUCH, DA9034_ID_BUCK1, DA9034_ID_BUCK2, DA9034_ID_LDO1, DA9034_ID_LDO2, DA9034_ID_LDO3, DA9034_ID_LDO4, DA9034_ID_LDO5, DA9034_ID_LDO6, DA9034_ID_LDO7, DA9034_ID_LDO8, DA9034_ID_LDO9, DA9034_ID_LDO10, DA9034_ID_LDO11, DA9034_ID_LDO12, DA9034_ID_LDO13, DA9034_ID_LDO14, DA9034_ID_LDO15, DA9035_ID_BUCK3, }; /* * DA9030/DA9034 LEDs sub-devices uses generic "struct led_info" * as the platform_data */ /* DA9030 flags for "struct led_info" */ #define DA9030_LED_RATE_ON (0 << 5) #define DA9030_LED_RATE_052S (1 << 5) #define DA9030_LED_DUTY_1_16 (0 << 3) #define DA9030_LED_DUTY_1_8 (1 << 3) #define DA9030_LED_DUTY_1_4 (2 << 3) #define DA9030_LED_DUTY_1_2 (3 << 3) #define DA9030_VIBRA_MODE_1P3V (0 << 1) #define DA9030_VIBRA_MODE_2P7V (1 << 1) #define DA9030_VIBRA_FREQ_1HZ (0 << 2) #define DA9030_VIBRA_FREQ_2HZ (1 << 2) #define DA9030_VIBRA_FREQ_4HZ (2 << 2) #define DA9030_VIBRA_FREQ_8HZ (3 << 2) #define DA9030_VIBRA_DUTY_ON (0 << 4) #define DA9030_VIBRA_DUTY_75P (1 << 4) #define DA9030_VIBRA_DUTY_50P (2 << 4) #define DA9030_VIBRA_DUTY_25P (3 << 4) /* DA9034 flags for "struct led_info" */ #define DA9034_LED_RAMP (1 << 7) /* DA9034 touch screen platform data */ struct da9034_touch_pdata { int interval_ms; /* sampling interval while pen down */ int x_inverted; int y_inverted; }; struct da9034_backlight_pdata { int output_current; /* output current of WLED, from 0-31 (in mA) */ }; /* DA9030 battery charger data */ struct power_supply_info; struct da9030_battery_info { /* battery parameters */ struct power_supply_info *battery_info; /* current and voltage to use for battery charging */ unsigned int charge_milliamp; unsigned int charge_millivolt; /* voltage thresholds (in millivolts) */ int vbat_low; int vbat_crit; int vbat_charge_start; int vbat_charge_stop; int vbat_charge_restart; /* battery nominal minimal and maximal voltages in millivolts */ int vcharge_min; int vcharge_max; /* Temperature thresholds. These are DA9030 register values "as is" and should be measured for each battery type */ int tbat_low; int tbat_high; int tbat_restart; /* battery monitor interval (seconds) */ unsigned int batmon_interval; /* platform callbacks for battery low and critical events */ void (*battery_low)(void); void (*battery_critical)(void); }; struct da903x_subdev_info { int id; const char *name; void *platform_data; }; struct da903x_platform_data { int num_subdevs; struct da903x_subdev_info *subdevs; }; /* bit definitions for DA9030 events */ #define DA9030_EVENT_ONKEY (1 << 0) #define DA9030_EVENT_PWREN (1 << 1) #define DA9030_EVENT_EXTON (1 << 2) #define DA9030_EVENT_CHDET (1 << 3) #define DA9030_EVENT_TBAT (1 << 4) #define DA9030_EVENT_VBATMON (1 << 5) #define DA9030_EVENT_VBATMON_TXON (1 << 6) #define DA9030_EVENT_CHIOVER (1 << 7) #define DA9030_EVENT_TCTO (1 << 8) #define DA9030_EVENT_CCTO (1 << 9) #define DA9030_EVENT_ADC_READY (1 << 10) #define DA9030_EVENT_VBUS_4P4 (1 << 11) #define DA9030_EVENT_VBUS_4P0 (1 << 12) #define DA9030_EVENT_SESS_VALID (1 << 13) #define DA9030_EVENT_SRP_DETECT (1 << 14) #define DA9030_EVENT_WATCHDOG (1 << 15) #define DA9030_EVENT_LDO15 (1 << 16) #define DA9030_EVENT_LDO16 (1 << 17) #define DA9030_EVENT_LDO17 (1 << 18) #define DA9030_EVENT_LDO18 (1 << 19) #define DA9030_EVENT_LDO19 (1 << 20) #define DA9030_EVENT_BUCK2 (1 << 21) /* bit definitions for DA9034 events */ #define DA9034_EVENT_ONKEY (1 << 0) #define DA9034_EVENT_EXTON (1 << 2) #define DA9034_EVENT_CHDET (1 << 3) #define DA9034_EVENT_TBAT (1 << 4) #define DA9034_EVENT_VBATMON (1 << 5) #define DA9034_EVENT_REV_IOVER (1 << 6) #define DA9034_EVENT_CH_IOVER (1 << 7) #define DA9034_EVENT_CH_TCTO (1 << 8) #define DA9034_EVENT_CH_CCTO (1 << 9) #define DA9034_EVENT_USB_DEV (1 << 10) #define DA9034_EVENT_OTGCP_IOVER (1 << 11) #define DA9034_EVENT_VBUS_4P55 (1 << 12) #define DA9034_EVENT_VBUS_3P8 (1 << 13) #define DA9034_EVENT_SESS_1P8 (1 << 14) #define DA9034_EVENT_SRP_READY (1 << 15) #define DA9034_EVENT_ADC_MAN (1 << 16) #define DA9034_EVENT_ADC_AUTO4 (1 << 17) #define DA9034_EVENT_ADC_AUTO5 (1 << 18) #define DA9034_EVENT_ADC_AUTO6 (1 << 19) #define DA9034_EVENT_PEN_DOWN (1 << 20) #define DA9034_EVENT_TSI_READY (1 << 21) #define DA9034_EVENT_UART_TX (1 << 22) #define DA9034_EVENT_UART_RX (1 << 23) #define DA9034_EVENT_HEADSET (1 << 25) #define DA9034_EVENT_HOOKSWITCH (1 << 26) #define DA9034_EVENT_WATCHDOG (1 << 27) extern int da903x_register_notifier(struct device *dev, struct notifier_block *nb, unsigned int events); extern int da903x_unregister_notifier(struct device *dev, struct notifier_block *nb, unsigned int events); /* Status Query Interface */ #define DA9030_STATUS_ONKEY (1 << 0) #define DA9030_STATUS_PWREN1 (1 << 1) #define DA9030_STATUS_EXTON (1 << 2) #define DA9030_STATUS_CHDET (1 << 3) #define DA9030_STATUS_TBAT (1 << 4) #define DA9030_STATUS_VBATMON (1 << 5) #define DA9030_STATUS_VBATMON_TXON (1 << 6) #define DA9030_STATUS_MCLKDET (1 << 7) #define DA9034_STATUS_ONKEY (1 << 0) #define DA9034_STATUS_EXTON (1 << 2) #define DA9034_STATUS_CHDET (1 << 3) #define DA9034_STATUS_TBAT (1 << 4) #define DA9034_STATUS_VBATMON (1 << 5) #define DA9034_STATUS_PEN_DOWN (1 << 6) #define DA9034_STATUS_MCLKDET (1 << 7) #define DA9034_STATUS_USB_DEV (1 << 8) #define DA9034_STATUS_HEADSET (1 << 9) #define DA9034_STATUS_HOOKSWITCH (1 << 10) #define DA9034_STATUS_REMCON (1 << 11) #define DA9034_STATUS_VBUS_VALID_4P55 (1 << 12) #define DA9034_STATUS_VBUS_VALID_3P8 (1 << 13) #define DA9034_STATUS_SESS_VALID_1P8 (1 << 14) #define DA9034_STATUS_SRP_READY (1 << 15) extern int da903x_query_status(struct device *dev, unsigned int status); /* NOTE: the functions below are not intended for use outside * of the DA903x sub-device drivers */ extern int da903x_write(struct device *dev, int reg, uint8_t val); extern int da903x_writes(struct device *dev, int reg, int len, uint8_t *val); extern int da903x_read(struct device *dev, int reg, uint8_t *val); extern int da903x_reads(struct device *dev, int reg, int len, uint8_t *val); extern int da903x_update(struct device *dev, int reg, uint8_t val, uint8_t mask); extern int da903x_set_bits(struct device *dev, int reg, uint8_t bit_mask); extern int da903x_clr_bits(struct device *dev, int reg, uint8_t bit_mask); #endif /* __LINUX_PMIC_DA903X_H */