/usr/src/linux-headers-5.15.0-190/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-190/include/linux/mfd/mc13xxx.h (7769B)
/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright 2009-2010 Pengutronix * Uwe Kleine-Koenig */ #ifndef __LINUX_MFD_MC13XXX_H #define __LINUX_MFD_MC13XXX_H #include struct mc13xxx; void mc13xxx_lock(struct mc13xxx *mc13xxx); void mc13xxx_unlock(struct mc13xxx *mc13xxx); int mc13xxx_reg_read(struct mc13xxx *mc13xxx, unsigned int offset, u32 *val); int mc13xxx_reg_write(struct mc13xxx *mc13xxx, unsigned int offset, u32 val); int mc13xxx_reg_rmw(struct mc13xxx *mc13xxx, unsigned int offset, u32 mask, u32 val); int mc13xxx_irq_request(struct mc13xxx *mc13xxx, int irq, irq_handler_t handler, const char *name, void *dev); int mc13xxx_irq_free(struct mc13xxx *mc13xxx, int irq, void *dev); int mc13xxx_irq_status(struct mc13xxx *mc13xxx, int irq, int *enabled, int *pending); int mc13xxx_get_flags(struct mc13xxx *mc13xxx); int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx, unsigned int mode, unsigned int channel, u8 ato, bool atox, unsigned int *sample); /* Deprecated calls */ static inline int mc13xxx_irq_ack(struct mc13xxx *mc13xxx, int irq) { return 0; } static inline int mc13xxx_irq_request_nounmask(struct mc13xxx *mc13xxx, int irq, irq_handler_t handler, const char *name, void *dev) { return mc13xxx_irq_request(mc13xxx, irq, handler, name, dev); } int mc13xxx_irq_mask(struct mc13xxx *mc13xxx, int irq); int mc13xxx_irq_unmask(struct mc13xxx *mc13xxx, int irq); #define MC13783_AUDIO_RX0 36 #define MC13783_AUDIO_RX1 37 #define MC13783_AUDIO_TX 38 #define MC13783_SSI_NETWORK 39 #define MC13783_AUDIO_CODEC 40 #define MC13783_AUDIO_DAC 41 #define MC13XXX_IRQ_ADCDONE 0 #define MC13XXX_IRQ_ADCBISDONE 1 #define MC13XXX_IRQ_TS 2 #define MC13XXX_IRQ_CHGDET 6 #define MC13XXX_IRQ_CHGREV 8 #define MC13XXX_IRQ_CHGSHORT 9 #define MC13XXX_IRQ_CCCV 10 #define MC13XXX_IRQ_CHGCURR 11 #define MC13XXX_IRQ_BPON 12 #define MC13XXX_IRQ_LOBATL 13 #define MC13XXX_IRQ_LOBATH 14 #define MC13XXX_IRQ_1HZ 24 #define MC13XXX_IRQ_TODA 25 #define MC13XXX_IRQ_SYSRST 30 #define MC13XXX_IRQ_RTCRST 31 #define MC13XXX_IRQ_PC 32 #define MC13XXX_IRQ_WARM 33 #define MC13XXX_IRQ_MEMHLD 34 #define MC13XXX_IRQ_THWARNL 36 #define MC13XXX_IRQ_THWARNH 37 #define MC13XXX_IRQ_CLK 38 struct regulator_init_data; struct mc13xxx_regulator_init_data { int id; struct regulator_init_data *init_data; struct device_node *node; }; struct mc13xxx_regulator_platform_data { int num_regulators; struct mc13xxx_regulator_init_data *regulators; }; enum { /* MC13783 LED IDs */ MC13783_LED_MD, MC13783_LED_AD, MC13783_LED_KP, MC13783_LED_R1, MC13783_LED_G1, MC13783_LED_B1, MC13783_LED_R2, MC13783_LED_G2, MC13783_LED_B2, MC13783_LED_R3, MC13783_LED_G3, MC13783_LED_B3, /* MC13892 LED IDs */ MC13892_LED_MD, MC13892_LED_AD, MC13892_LED_KP, MC13892_LED_R, MC13892_LED_G, MC13892_LED_B, /* MC34708 LED IDs */ MC34708_LED_R, MC34708_LED_G, }; struct mc13xxx_led_platform_data { int id; const char *name; const char *default_trigger; }; #define MAX_LED_CONTROL_REGS 6 /* MC13783 LED Control 0 */ #define MC13783_LED_C0_ENABLE (1 << 0) #define MC13783_LED_C0_TRIODE_MD (1 << 7) #define MC13783_LED_C0_TRIODE_AD (1 << 8) #define MC13783_LED_C0_TRIODE_KP (1 << 9) #define MC13783_LED_C0_BOOST (1 << 10) #define MC13783_LED_C0_ABMODE(x) (((x) & 0x7) << 11) #define MC13783_LED_C0_ABREF(x) (((x) & 0x3) << 14) /* MC13783 LED Control 1 */ #define MC13783_LED_C1_TC1HALF (1 << 18) #define MC13783_LED_C1_SLEWLIM (1 << 23) /* MC13783 LED Control 2 */ #define MC13783_LED_C2_CURRENT_MD(x) (((x) & 0x7) << 0) #define MC13783_LED_C2_CURRENT_AD(x) (((x) & 0x7) << 3) #define MC13783_LED_C2_CURRENT_KP(x) (((x) & 0x7) << 6) #define MC13783_LED_C2_PERIOD(x) (((x) & 0x3) << 21) #define MC13783_LED_C2_SLEWLIM (1 << 23) /* MC13783 LED Control 3 */ #define MC13783_LED_C3_CURRENT_R1(x) (((x) & 0x3) << 0) #define MC13783_LED_C3_CURRENT_G1(x) (((x) & 0x3) << 2) #define MC13783_LED_C3_CURRENT_B1(x) (((x) & 0x3) << 4) #define MC13783_LED_C3_PERIOD(x) (((x) & 0x3) << 21) #define MC13783_LED_C3_TRIODE_TC1 (1 << 23) /* MC13783 LED Control 4 */ #define MC13783_LED_C4_CURRENT_R2(x) (((x) & 0x3) << 0) #define MC13783_LED_C4_CURRENT_G2(x) (((x) & 0x3) << 2) #define MC13783_LED_C4_CURRENT_B2(x) (((x) & 0x3) << 4) #define MC13783_LED_C4_PERIOD(x) (((x) & 0x3) << 21) #define MC13783_LED_C4_TRIODE_TC2 (1 << 23) /* MC13783 LED Control 5 */ #define MC13783_LED_C5_CURRENT_R3(x) (((x) & 0x3) << 0) #define MC13783_LED_C5_CURRENT_G3(x) (((x) & 0x3) << 2) #define MC13783_LED_C5_CURRENT_B3(x) (((x) & 0x3) << 4) #define MC13783_LED_C5_PERIOD(x) (((x) & 0x3) << 21) #define MC13783_LED_C5_TRIODE_TC3 (1 << 23) /* MC13892 LED Control 0 */ #define MC13892_LED_C0_CURRENT_MD(x) (((x) & 0x7) << 9) #define MC13892_LED_C0_CURRENT_AD(x) (((x) & 0x7) << 21) /* MC13892 LED Control 1 */ #define MC13892_LED_C1_CURRENT_KP(x) (((x) & 0x7) << 9) /* MC13892 LED Control 2 */ #define MC13892_LED_C2_CURRENT_R(x) (((x) & 0x7) << 9) #define MC13892_LED_C2_CURRENT_G(x) (((x) & 0x7) << 21) /* MC13892 LED Control 3 */ #define MC13892_LED_C3_CURRENT_B(x) (((x) & 0x7) << 9) /* MC34708 LED Control 0 */ #define MC34708_LED_C0_CURRENT_R(x) (((x) & 0x3) << 9) #define MC34708_LED_C0_CURRENT_G(x) (((x) & 0x3) << 21) struct mc13xxx_leds_platform_data { struct mc13xxx_led_platform_data *led; int num_leds; u32 led_control[MAX_LED_CONTROL_REGS]; }; #define MC13783_BUTTON_DBNC_0MS 0 #define MC13783_BUTTON_DBNC_30MS 1 #define MC13783_BUTTON_DBNC_150MS 2 #define MC13783_BUTTON_DBNC_750MS 3 #define MC13783_BUTTON_ENABLE (1 << 2) #define MC13783_BUTTON_POL_INVERT (1 << 3) #define MC13783_BUTTON_RESET_EN (1 << 4) struct mc13xxx_buttons_platform_data { int b1on_flags; unsigned short b1on_key; int b2on_flags; unsigned short b2on_key; int b3on_flags; unsigned short b3on_key; }; #define MC13783_TS_ATO_FIRST false #define MC13783_TS_ATO_EACH true struct mc13xxx_ts_platform_data { /* Delay between Touchscreen polarization and ADC Conversion. * Given in clock ticks of a 32 kHz clock which gives a granularity of * about 30.5ms */ u8 ato; /* Use the ATO delay only for the first conversion or for each one */ bool atox; }; enum mc13783_ssi_port { MC13783_SSI1_PORT, MC13783_SSI2_PORT, }; struct mc13xxx_codec_platform_data { enum mc13783_ssi_port adc_ssi_port; enum mc13783_ssi_port dac_ssi_port; }; #define MC13XXX_USE_TOUCHSCREEN (1 << 0) #define MC13XXX_USE_CODEC (1 << 1) #define MC13XXX_USE_ADC (1 << 2) #define MC13XXX_USE_RTC (1 << 3) struct mc13xxx_platform_data { unsigned int flags; struct mc13xxx_regulator_platform_data regulators; struct mc13xxx_leds_platform_data *leds; struct mc13xxx_buttons_platform_data *buttons; struct mc13xxx_ts_platform_data touch; struct mc13xxx_codec_platform_data *codec; }; #define MC13XXX_ADC_MODE_TS 1 #define MC13XXX_ADC_MODE_SINGLE_CHAN 2 #define MC13XXX_ADC_MODE_MULT_CHAN 3 #define MC13XXX_ADC0 43 #define MC13XXX_ADC0_LICELLCON (1 << 0) #define MC13XXX_ADC0_CHRGICON (1 << 1) #define MC13XXX_ADC0_BATICON (1 << 2) #define MC13XXX_ADC0_ADIN7SEL_DIE (1 << 4) #define MC13XXX_ADC0_ADIN7SEL_UID (2 << 4) #define MC13XXX_ADC0_ADREFEN (1 << 10) #define MC13XXX_ADC0_TSMOD0 (1 << 12) #define MC13XXX_ADC0_TSMOD1 (1 << 13) #define MC13XXX_ADC0_TSMOD2 (1 << 14) #define MC13XXX_ADC0_CHRGRAWDIV (1 << 15) #define MC13XXX_ADC0_ADINC1 (1 << 16) #define MC13XXX_ADC0_ADINC2 (1 << 17) #define MC13XXX_ADC0_TSMOD_MASK (MC13XXX_ADC0_TSMOD0 | \ MC13XXX_ADC0_TSMOD1 | \ MC13XXX_ADC0_TSMOD2) #define MC13XXX_ADC0_CONFIG_MASK (MC13XXX_ADC0_TSMOD_MASK | \ MC13XXX_ADC0_LICELLCON | \ MC13XXX_ADC0_CHRGICON | \ MC13XXX_ADC0_BATICON) #endif /* ifndef __LINUX_MFD_MC13XXX_H */