/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
linux
/
mfd
/
/usr/src/linux-headers-5.15.0-181/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-181/include/linux/mfd/ti_am335x_tscadc.h
(6028B)
#ifndef __LINUX_TI_AM335X_TSCADC_MFD_H #define __LINUX_TI_AM335X_TSCADC_MFD_H /* * TI Touch Screen / ADC MFD driver * * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation version 2. * * This program is distributed "as is" WITHOUT ANY WARRANTY of any * kind, whether express or implied; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include <linux/mfd/core.h> #define REG_RAWIRQSTATUS 0x024 #define REG_IRQSTATUS 0x028 #define REG_IRQENABLE 0x02C #define REG_IRQCLR 0x030 #define REG_IRQWAKEUP 0x034 #define REG_DMAENABLE_SET 0x038 #define REG_DMAENABLE_CLEAR 0x03c #define REG_CTRL 0x040 #define REG_ADCFSM 0x044 #define REG_CLKDIV 0x04C #define REG_SE 0x054 #define REG_IDLECONFIG 0x058 #define REG_CHARGECONFIG 0x05C #define REG_CHARGEDELAY 0x060 #define REG_STEPCONFIG(n) (0x64 + ((n) * 8)) #define REG_STEPDELAY(n) (0x68 + ((n) * 8)) #define REG_FIFO0CNT 0xE4 #define REG_FIFO0THR 0xE8 #define REG_FIFO1CNT 0xF0 #define REG_FIFO1THR 0xF4 #define REG_DMA1REQ 0xF8 #define REG_FIFO0 0x100 #define REG_FIFO1 0x200 /* Register Bitfields */ /* IRQ wakeup enable */ #define IRQWKUP_ENB BIT(0) /* Step Enable */ #define STEPENB_MASK (0x1FFFF << 0) #define STEPENB(val) ((val) << 0) #define ENB(val) (1 << (val)) #define STPENB_STEPENB STEPENB(0x1FFFF) #define STPENB_STEPENB_TC STEPENB(0x1FFF) /* IRQ enable */ #define IRQENB_HW_PEN BIT(0) #define IRQENB_EOS BIT(1) #define IRQENB_FIFO0THRES BIT(2) #define IRQENB_FIFO0OVRRUN BIT(3) #define IRQENB_FIFO0UNDRFLW BIT(4) #define IRQENB_FIFO1THRES BIT(5) #define IRQENB_FIFO1OVRRUN BIT(6) #define IRQENB_FIFO1UNDRFLW BIT(7) #define IRQENB_PENUP BIT(9) /* Step Configuration */ #define STEPCONFIG_MODE_MASK (3 << 0) #define STEPCONFIG_MODE(val) ((val) << 0) #define STEPCONFIG_MODE_SWCNT STEPCONFIG_MODE(1) #define STEPCONFIG_MODE_HWSYNC STEPCONFIG_MODE(2) #define STEPCONFIG_AVG_MASK (7 << 2) #define STEPCONFIG_AVG(val) ((val) << 2) #define STEPCONFIG_AVG_16 STEPCONFIG_AVG(4) #define STEPCONFIG_XPP BIT(5) #define STEPCONFIG_XNN BIT(6) #define STEPCONFIG_YPP BIT(7) #define STEPCONFIG_YNN BIT(8) #define STEPCONFIG_XNP BIT(9) #define STEPCONFIG_YPN BIT(10) #define STEPCONFIG_RFP(val) ((val) << 12) #define STEPCONFIG_RFP_VREFP (0x3 << 12) #define STEPCONFIG_INM_MASK (0xF << 15) #define STEPCONFIG_INM(val) ((val) << 15) #define STEPCONFIG_INM_ADCREFM STEPCONFIG_INM(8) #define STEPCONFIG_INP_MASK (0xF << 19) #define STEPCONFIG_INP(val) ((val) << 19) #define STEPCONFIG_INP_AN4 STEPCONFIG_INP(4) #define STEPCONFIG_INP_ADCREFM STEPCONFIG_INP(8) #define STEPCONFIG_FIFO1 BIT(26) #define STEPCONFIG_RFM(val) ((val) << 23) #define STEPCONFIG_RFM_VREFN (0x3 << 23) /* Delay register */ #define STEPDELAY_OPEN_MASK (0x3FFFF << 0) #define STEPDELAY_OPEN(val) ((val) << 0) #define STEPCONFIG_OPENDLY STEPDELAY_OPEN(0x098) #define STEPDELAY_SAMPLE_MASK (0xFF << 24) #define STEPDELAY_SAMPLE(val) ((val) << 24) #define STEPCONFIG_SAMPLEDLY STEPDELAY_SAMPLE(0) /* Charge Config */ #define STEPCHARGE_RFP_MASK (7 << 12) #define STEPCHARGE_RFP(val) ((val) << 12) #define STEPCHARGE_RFP_XPUL STEPCHARGE_RFP(1) #define STEPCHARGE_INM_MASK (0xF << 15) #define STEPCHARGE_INM(val) ((val) << 15) #define STEPCHARGE_INM_AN1 STEPCHARGE_INM(1) #define STEPCHARGE_INP_MASK (0xF << 19) #define STEPCHARGE_INP(val) ((val) << 19) #define STEPCHARGE_RFM_MASK (3 << 23) #define STEPCHARGE_RFM(val) ((val) << 23) #define STEPCHARGE_RFM_XNUR STEPCHARGE_RFM(1) /* Charge delay */ #define CHARGEDLY_OPEN_MASK (0x3FFFF << 0) #define CHARGEDLY_OPEN(val) ((val) << 0) #define CHARGEDLY_OPENDLY CHARGEDLY_OPEN(0x400) /* Control register */ #define CNTRLREG_TSCSSENB BIT(0) #define CNTRLREG_STEPID BIT(1) #define CNTRLREG_STEPCONFIGWRT BIT(2) #define CNTRLREG_POWERDOWN BIT(4) #define CNTRLREG_AFE_CTRL_MASK (3 << 5) #define CNTRLREG_AFE_CTRL(val) ((val) << 5) #define CNTRLREG_4WIRE CNTRLREG_AFE_CTRL(1) #define CNTRLREG_5WIRE CNTRLREG_AFE_CTRL(2) #define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3) #define CNTRLREG_TSCENB BIT(7) /* FIFO READ Register */ #define FIFOREAD_DATA_MASK (0xfff << 0) #define FIFOREAD_CHNLID_MASK (0xf << 16) /* DMA ENABLE/CLEAR Register */ #define DMA_FIFO0 BIT(0) #define DMA_FIFO1 BIT(1) /* Sequencer Status */ #define SEQ_STATUS BIT(5) #define CHARGE_STEP 0x11 #define ADC_CLK 3000000 #define TOTAL_STEPS 16 #define TOTAL_CHANNELS 8 #define FIFO1_THRESHOLD 19 /* * time in us for processing a single channel, calculated as follows: * * max num cycles = open delay + (sample delay + conv time) * averaging * * max num cycles: 262143 + (255 + 13) * 16 = 266431 * * clock frequency: 26MHz / 8 = 3.25MHz * clock period: 1 / 3.25MHz = 308ns * * max processing time: 266431 * 308ns = 83ms(approx) */ #define IDLE_TIMEOUT 83 /* milliseconds */ #define TSCADC_CELLS 2 struct ti_tscadc_dev { struct device *dev; struct regmap *regmap; void __iomem *tscadc_base; phys_addr_t tscadc_phys_base; int irq; int used_cells; /* 1-2 */ int tsc_wires; int tsc_cell; /* -1 if not used */ int adc_cell; /* -1 if not used */ struct mfd_cell cells[TSCADC_CELLS]; u32 reg_se_cache; bool adc_waiting; bool adc_in_use; wait_queue_head_t reg_se_wait; spinlock_t reg_lock; unsigned int clk_div; /* tsc device */ struct titsc *tsc; /* adc device */ struct adc_device *adc; }; static inline struct ti_tscadc_dev *ti_tscadc_dev_get(struct platform_device *p) { struct ti_tscadc_dev **tscadc_dev = p->dev.platform_data; return *tscadc_dev; } void am335x_tsc_se_set_cache(struct ti_tscadc_dev *tsadc, u32 val); void am335x_tsc_se_set_once(struct ti_tscadc_dev *tsadc, u32 val); void am335x_tsc_se_clr(struct ti_tscadc_dev *tsadc, u32 val); void am335x_tsc_se_adc_done(struct ti_tscadc_dev *tsadc); #endif
Save
cmd:
run