/
usr
/
src
/
linux-headers-5.15.0-190
/
include
/
linux
/
mfd
/
/usr/src/linux-headers-5.15.0-190/include/linux/mfd
mkdir
upload
Name
Size
Mode
Actions
abx500/
-
0755
rm
arizona/
-
0755
rm
atc260x/
-
0755
rm
da9052/
-
0755
rm
da9055/
-
0755
rm
da9062/
-
0755
rm
da9063/
-
0755
rm
da9150/
-
0755
rm
madera/
-
0755
rm
mt6323/
-
0755
rm
mt6358/
-
0755
rm
mt6359/
-
0755
rm
mt6359p/
-
0755
rm
mt6397/
-
0755
rm
pcf50633/
-
0755
rm
samsung/
-
0755
rm
syscon/
-
0755
rm
wcd934x/
-
0755
rm
wm831x/
-
0755
rm
wm8350/
-
0755
rm
wm8994/
-
0755
rm
88pm80x.h
10080
0644
edit
dl
rm
88pm860x.h
13508
0644
edit
dl
rm
aat2870.h
4014
0644
edit
dl
rm
abx500.h
2401
0644
edit
dl
rm
ac100.h
6121
0644
edit
dl
rm
adp5520.h
8506
0644
edit
dl
rm
altera-a10sr.h
2955
0644
edit
dl
rm
altera-sysmgr.h
725
0644
edit
dl
rm
as3711.h
2808
0644
edit
dl
rm
as3722.h
14879
0644
edit
dl
rm
asic3.h
12368
0644
edit
dl
rm
atmel-hlcdc.h
2094
0644
edit
dl
rm
axp20x.h
17105
0644
edit
dl
rm
bcm590xx.h
618
0644
edit
dl
rm
bcm2835-pm.h
235
0644
edit
dl
rm
bd9571mwv.h
3537
0644
edit
dl
rm
core.h
4760
0644
edit
dl
rm
da8xx-cfgchip.h
7046
0644
edit
dl
rm
da903x.h
7218
0644
edit
dl
rm
davinci_voicecodec.h
2658
0644
edit
dl
rm
db8500-prcmu.h
21842
0644
edit
dl
rm
dbx500-prcmu.h
14268
0644
edit
dl
rm
dln2.h
3617
0644
edit
dl
rm
dm355evm_msp.h
2879
0644
edit
dl
rm
ds1wm.h
817
0644
edit
dl
rm
ezx-pcap.h
7932
0644
edit
dl
rm
gsc.h
1818
0644
edit
dl
rm
hi655x-pmic.h
1934
0644
edit
dl
rm
hi6421-pmic.h
1184
0644
edit
dl
rm
hi6421-spmi-pmic.h
519
0644
edit
dl
rm
htc-pasic3.h
1225
0644
edit
dl
rm
idt8a340_reg.h
30024
0644
edit
dl
rm
idt82p33_reg.h
2938
0644
edit
dl
rm
imx25-tsadc.h
4972
0644
edit
dl
rm
ingenic-tcu.h
1753
0644
edit
dl
rm
intel-m10-bmc.h
4907
0644
edit
dl
rm
intel_pmc_bxt.h
1542
0644
edit
dl
rm
intel_soc_pmic.h
1693
0644
edit
dl
rm
intel_soc_pmic_bxtwc.h
1641
0644
edit
dl
rm
intel_soc_pmic_mrfld.h
2288
0644
edit
dl
rm
ipaq-micro.h
3750
0644
edit
dl
rm
iqs62x.h
2797
0644
edit
dl
rm
janz.h
846
0644
edit
dl
rm
kempld.h
4122
0644
edit
dl
rm
khadas-mcu.h
3545
0644
edit
dl
rm
ljca.h
1043
0644
edit
dl
rm
lm3533.h
2440
0644
edit
dl
rm
lochnagar.h
1624
0644
edit
dl
rm
lochnagar1_regs.h
7896
0644
edit
dl
rm
lochnagar2_regs.h
15550
0644
edit
dl
rm
lp873x.h
8896
0644
edit
dl
rm
lp3943.h
2598
0644
edit
dl
rm
lp8788-isink.h
1069
0644
edit
dl
rm
lp8788.h
8424
0644
edit
dl
rm
lp87565.h
7588
0644
edit
dl
rm
lpc_ich.h
655
0644
edit
dl
rm
max8907.h
7555
0644
edit
dl
rm
max8925.h
7204
0644
edit
dl
rm
max8997-private.h
12057
0644
edit
dl
rm
max8997.h
5513
0644
edit
dl
rm
max8998-private.h
4450
0644
edit
dl
rm
max8998.h
2983
0644
edit
dl
rm
max14577-private.h
15776
0644
edit
dl
rm
max14577.h
2281
0644
edit
dl
rm
max77620.h
10967
0644
edit
dl
rm
max77650.h
1887
0644
edit
dl
rm
max77686-private.h
12850
0644
edit
dl
rm
max77686.h
2033
0644
edit
dl
rm
max77693-common.h
1088
0644
edit
dl
rm
max77693-private.h
17705
0644
edit
dl
rm
max77693.h
1619
0644
edit
dl
rm
max77843-private.h
15589
0644
edit
dl
rm
mc13xxx.h
7769
0644
edit
dl
rm
mc13783.h
2756
0644
edit
dl
rm
mc13892.h
792
0644
edit
dl
rm
mcp.h
1647
0644
edit
dl
rm
menelaus.h
1284
0644
edit
dl
rm
motorola-cpcap.h
12651
0644
edit
dl
rm
mp2629.h
422
0644
edit
dl
rm
mxs-lradc.h
5736
0644
edit
dl
rm
ntxec.h
907
0644
edit
dl
rm
palmas.h
152382
0644
edit
dl
rm
qcom_rpm.h
293
0644
edit
dl
rm
rave-sp.h
1448
0644
edit
dl
rm
rc5t583.h
9501
0644
edit
dl
rm
rdc321x.h
591
0644
edit
dl
rm
retu.h
723
0644
edit
dl
rm
rk808.h
19885
0644
edit
dl
rm
rn5t618.h
7840
0644
edit
dl
rm
rohm-bd718x7.h
9038
0644
edit
dl
rm
rohm-bd957x.h
4362
0644
edit
dl
rm
rohm-bd70528.h
11082
0644
edit
dl
rm
rohm-bd71815.h
15608
0644
edit
dl
rm
rohm-bd71828.h
13084
0644
edit
dl
rm
rohm-generic.h
2825
0644
edit
dl
rm
rohm-shared.h
631
0644
edit
dl
rm
rsmu.h
897
0644
edit
dl
rm
rt5033-private.h
7927
0644
edit
dl
rm
rt5033.h
1098
0644
edit
dl
rm
sc27xx-pmic.h
228
0644
edit
dl
rm
si476x-core.h
15192
0644
edit
dl
rm
si476x-platform.h
6189
0644
edit
dl
rm
si476x-reports.h
4596
0644
edit
dl
rm
sky81452.h
354
0644
edit
dl
rm
sta2x11-mfd.h
18565
0644
edit
dl
rm
stm32-lptimer.h
2102
0644
edit
dl
rm
stm32-timers.h
5948
0644
edit
dl
rm
stmfx.h
4051
0644
edit
dl
rm
stmpe.h
4083
0644
edit
dl
rm
stpmic1.h
5750
0644
edit
dl
rm
stw481x.h
1422
0644
edit
dl
rm
sun4i-gpadc.h
3564
0644
edit
dl
rm
syscon.h
1871
0644
edit
dl
rm
t7l66xb.h
622
0644
edit
dl
rm
tc3589x.h
4123
0644
edit
dl
rm
tc6387xb.h
516
0644
edit
dl
rm
tc6393xb.h
1402
0644
edit
dl
rm
ti-lmu-register.h
5666
0644
edit
dl
rm
ti-lmu.h
1857
0644
edit
dl
rm
ti_am335x_tscadc.h
6028
0644
edit
dl
rm
tmio.h
3894
0644
edit
dl
rm
tps6105x.h
3079
0644
edit
dl
rm
tps6507x.h
5055
0644
edit
dl
rm
tps6586x.h
2802
0644
edit
dl
rm
tps65010.h
6685
0644
edit
dl
rm
tps65086.h
3581
0644
edit
dl
rm
tps65090.h
3814
0644
edit
dl
rm
tps65217.h
8436
0644
edit
dl
rm
tps65218.h
8218
0644
edit
dl
rm
tps65910.h
30093
0644
edit
dl
rm
tps65912.h
10145
0644
edit
dl
rm
tps68470.h
3002
0644
edit
dl
rm
tps80031.h
20059
0644
edit
dl
rm
twl.h
25494
0644
edit
dl
rm
twl4030-audio.h
8129
0644
edit
dl
rm
twl6040.h
6716
0644
edit
dl
rm
ucb1x00.h
6559
0644
edit
dl
rm
viperboard.h
2802
0644
edit
dl
rm
wl1273-core.h
7887
0644
edit
dl
rm
wm97xx.h
369
0644
edit
dl
rm
wm8400-audio.h
70819
0644
edit
dl
rm
wm8400-private.h
58492
0644
edit
dl
rm
wm8400.h
561
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/include/linux/mfd/twl6040.h
(6716B)
/* SPDX-License-Identifier: GPL-2.0-only */ /* * MFD driver for twl6040 * * Authors: Jorge Eduardo Candelaria <jorge.candelaria@ti.com> * Misael Lopez Cruz <misael.lopez@ti.com> * * Copyright: (C) 2011 Texas Instruments, Inc. */ #ifndef __TWL6040_CODEC_H__ #define __TWL6040_CODEC_H__ #include <linux/interrupt.h> #include <linux/mfd/core.h> #include <linux/regulator/consumer.h> #include <linux/clk.h> #define TWL6040_REG_ASICID 0x01 #define TWL6040_REG_ASICREV 0x02 #define TWL6040_REG_INTID 0x03 #define TWL6040_REG_INTMR 0x04 #define TWL6040_REG_NCPCTL 0x05 #define TWL6040_REG_LDOCTL 0x06 #define TWL6040_REG_HPPLLCTL 0x07 #define TWL6040_REG_LPPLLCTL 0x08 #define TWL6040_REG_LPPLLDIV 0x09 #define TWL6040_REG_AMICBCTL 0x0A #define TWL6040_REG_DMICBCTL 0x0B #define TWL6040_REG_MICLCTL 0x0C #define TWL6040_REG_MICRCTL 0x0D #define TWL6040_REG_MICGAIN 0x0E #define TWL6040_REG_LINEGAIN 0x0F #define TWL6040_REG_HSLCTL 0x10 #define TWL6040_REG_HSRCTL 0x11 #define TWL6040_REG_HSGAIN 0x12 #define TWL6040_REG_EARCTL 0x13 #define TWL6040_REG_HFLCTL 0x14 #define TWL6040_REG_HFLGAIN 0x15 #define TWL6040_REG_HFRCTL 0x16 #define TWL6040_REG_HFRGAIN 0x17 #define TWL6040_REG_VIBCTLL 0x18 #define TWL6040_REG_VIBDATL 0x19 #define TWL6040_REG_VIBCTLR 0x1A #define TWL6040_REG_VIBDATR 0x1B #define TWL6040_REG_HKCTL1 0x1C #define TWL6040_REG_HKCTL2 0x1D #define TWL6040_REG_GPOCTL 0x1E #define TWL6040_REG_ALB 0x1F #define TWL6040_REG_DLB 0x20 #define TWL6040_REG_TRIM1 0x28 #define TWL6040_REG_TRIM2 0x29 #define TWL6040_REG_TRIM3 0x2A #define TWL6040_REG_HSOTRIM 0x2B #define TWL6040_REG_HFOTRIM 0x2C #define TWL6040_REG_ACCCTL 0x2D #define TWL6040_REG_STATUS 0x2E /* INTID (0x03) fields */ #define TWL6040_THINT 0x01 #define TWL6040_PLUGINT 0x02 #define TWL6040_UNPLUGINT 0x04 #define TWL6040_HOOKINT 0x08 #define TWL6040_HFINT 0x10 #define TWL6040_VIBINT 0x20 #define TWL6040_READYINT 0x40 /* INTMR (0x04) fields */ #define TWL6040_THMSK 0x01 #define TWL6040_PLUGMSK 0x02 #define TWL6040_HOOKMSK 0x08 #define TWL6040_HFMSK 0x10 #define TWL6040_VIBMSK 0x20 #define TWL6040_READYMSK 0x40 #define TWL6040_ALLINT_MSK 0x7B /* NCPCTL (0x05) fields */ #define TWL6040_NCPENA 0x01 #define TWL6040_NCPOPEN 0x40 /* LDOCTL (0x06) fields */ #define TWL6040_LSLDOENA 0x01 #define TWL6040_HSLDOENA 0x04 #define TWL6040_REFENA 0x40 #define TWL6040_OSCENA 0x80 /* HPPLLCTL (0x07) fields */ #define TWL6040_HPLLENA 0x01 #define TWL6040_HPLLRST 0x02 #define TWL6040_HPLLBP 0x04 #define TWL6040_HPLLSQRENA 0x08 #define TWL6040_MCLK_12000KHZ (0 << 5) #define TWL6040_MCLK_19200KHZ (1 << 5) #define TWL6040_MCLK_26000KHZ (2 << 5) #define TWL6040_MCLK_38400KHZ (3 << 5) #define TWL6040_MCLK_MSK 0x60 /* LPPLLCTL (0x08) fields */ #define TWL6040_LPLLENA 0x01 #define TWL6040_LPLLRST 0x02 #define TWL6040_LPLLSEL 0x04 #define TWL6040_LPLLFIN 0x08 #define TWL6040_HPLLSEL 0x10 /* HSLCTL/R (0x10/0x11) fields */ #define TWL6040_HSDACENA (1 << 0) #define TWL6040_HSDACMODE (1 << 1) #define TWL6040_HSDRVENA (1 << 2) #define TWL6040_HSDRVMODE (1 << 3) /* HFLCTL/R (0x14/0x16) fields */ #define TWL6040_HFDACENA (1 << 0) #define TWL6040_HFPGAENA (1 << 1) #define TWL6040_HFDRVENA (1 << 4) #define TWL6040_HFSWENA (1 << 6) /* VIBCTLL/R (0x18/0x1A) fields */ #define TWL6040_VIBENA (1 << 0) #define TWL6040_VIBSEL (1 << 1) #define TWL6040_VIBCTRL (1 << 2) #define TWL6040_VIBCTRL_P (1 << 3) #define TWL6040_VIBCTRL_N (1 << 4) /* VIBDATL/R (0x19/0x1B) fields */ #define TWL6040_VIBDAT_MAX 0x64 /* GPOCTL (0x1E) fields */ #define TWL6040_GPO1 0x01 #define TWL6040_GPO2 0x02 #define TWL6040_GPO3 0x04 /* ACCCTL (0x2D) fields */ #define TWL6040_I2CSEL 0x01 #define TWL6040_RESETSPLIT 0x04 #define TWL6040_INTCLRMODE 0x08 #define TWL6040_I2CMODE(x) ((x & 0x3) << 4) /* STATUS (0x2E) fields */ #define TWL6040_PLUGCOMP 0x02 #define TWL6040_VIBLOCDET 0x10 #define TWL6040_VIBROCDET 0x20 #define TWL6040_TSHUTDET 0x40 #define TWL6040_CELLS 4 #define TWL6040_REV_ES1_0 0x00 #define TWL6040_REV_ES1_1 0x01 /* Rev ES1.1 and ES1.2 */ #define TWL6040_REV_ES1_3 0x02 #define TWL6041_REV_ES2_0 0x10 #define TWL6040_IRQ_TH 0 #define TWL6040_IRQ_PLUG 1 #define TWL6040_IRQ_HOOK 2 #define TWL6040_IRQ_HF 3 #define TWL6040_IRQ_VIB 4 #define TWL6040_IRQ_READY 5 /* PLL selection */ #define TWL6040_SYSCLK_SEL_LPPLL 0 #define TWL6040_SYSCLK_SEL_HPPLL 1 #define TWL6040_GPO_MAX 3 /* TODO: All platform data struct can be removed */ struct twl6040_codec_data { u16 hs_left_step; u16 hs_right_step; u16 hf_left_step; u16 hf_right_step; }; struct twl6040_vibra_data { unsigned int vibldrv_res; /* left driver resistance */ unsigned int vibrdrv_res; /* right driver resistance */ unsigned int viblmotor_res; /* left motor resistance */ unsigned int vibrmotor_res; /* right motor resistance */ int vddvibl_uV; /* VDDVIBL volt, set 0 for fixed reg */ int vddvibr_uV; /* VDDVIBR volt, set 0 for fixed reg */ }; struct twl6040_gpo_data { int gpio_base; }; struct twl6040_platform_data { int audpwron_gpio; /* audio power-on gpio */ struct twl6040_codec_data *codec; struct twl6040_vibra_data *vibra; struct twl6040_gpo_data *gpo; }; struct regmap; struct regmap_irq_chips_data; struct twl6040 { struct device *dev; struct regmap *regmap; struct regmap_irq_chip_data *irq_data; struct regulator_bulk_data supplies[2]; /* supplies for vio, v2v1 */ struct clk *clk32k; struct clk *mclk; struct mutex mutex; struct mutex irq_mutex; struct mfd_cell cells[TWL6040_CELLS]; struct completion ready; int audpwron; int power_count; int rev; /* PLL configuration */ int pll; unsigned int sysclk_rate; unsigned int mclk_rate; unsigned int irq; unsigned int irq_ready; unsigned int irq_th; }; int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg); int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg, u8 val); int twl6040_set_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask); int twl6040_clear_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask); int twl6040_power(struct twl6040 *twl6040, int on); int twl6040_set_pll(struct twl6040 *twl6040, int pll_id, unsigned int freq_in, unsigned int freq_out); int twl6040_get_pll(struct twl6040 *twl6040); unsigned int twl6040_get_sysclk(struct twl6040 *twl6040); /* Get the combined status of the vibra control register */ int twl6040_get_vibralr_status(struct twl6040 *twl6040); static inline int twl6040_get_revid(struct twl6040 *twl6040) { return twl6040->rev; } #endif /* End of __TWL6040_CODEC_H__ */
Save
cmd:
run