[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.56.1.el8_10.x86_64
/
include
/
linux
/
mfd
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 abx500
SET
[ DEL ]
📁 arizona
SET
[ DEL ]
📁 da9052
SET
[ DEL ]
📁 da9055
SET
[ DEL ]
📁 da9062
SET
[ DEL ]
📁 da9063
SET
[ DEL ]
📁 da9150
SET
[ DEL ]
📁 mt6323
SET
[ DEL ]
📁 mt6397
SET
[ DEL ]
📁 pcf50633
SET
[ DEL ]
📁 samsung
SET
[ DEL ]
📁 syscon
SET
[ DEL ]
📁 wm831x
SET
[ DEL ]
📁 wm8350
SET
[ DEL ]
📁 wm8994
SET
[ DEL ]
📄 88pm80x.h
10,226 B
SET
[ EDIT ]
|
[ DEL ]
📄 88pm860x.h
13,654 B
SET
[ EDIT ]
|
[ DEL ]
📄 aat2870.h
4,651 B
SET
[ EDIT ]
|
[ DEL ]
📄 ab3100.h
4,262 B
SET
[ EDIT ]
|
[ DEL ]
📄 abx500.h
11,980 B
SET
[ EDIT ]
|
[ DEL ]
📄 ac100.h
6,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 adp5520.h
8,499 B
SET
[ EDIT ]
|
[ DEL ]
📄 altera-a10sr.h
3,507 B
SET
[ EDIT ]
|
[ DEL ]
📄 as3711.h
2,960 B
SET
[ EDIT ]
|
[ DEL ]
📄 as3722.h
15,477 B
SET
[ EDIT ]
|
[ DEL ]
📄 asic3.h
12,514 B
SET
[ EDIT ]
|
[ DEL ]
📄 atmel-hlcdc.h
2,634 B
SET
[ EDIT ]
|
[ DEL ]
📄 axp20x.h
17,214 B
SET
[ EDIT ]
|
[ DEL ]
📄 bcm590xx.h
831 B
SET
[ EDIT ]
|
[ DEL ]
📄 bd9571mwv.h
3,712 B
SET
[ EDIT ]
|
[ DEL ]
📄 core.h
4,794 B
SET
[ EDIT ]
|
[ DEL ]
📄 cros_ec.h
10,595 B
SET
[ EDIT ]
|
[ DEL ]
📄 cros_ec_commands.h
87,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 cros_ec_lpc_mec.h
2,838 B
SET
[ EDIT ]
|
[ DEL ]
📄 cros_ec_lpc_reg.h
1,949 B
SET
[ EDIT ]
|
[ DEL ]
📄 da8xx-cfgchip.h
7,501 B
SET
[ EDIT ]
|
[ DEL ]
📄 da903x.h
7,218 B
SET
[ EDIT ]
|
[ DEL ]
📄 davinci_voicecodec.h
3,323 B
SET
[ EDIT ]
|
[ DEL ]
📄 db8500-prcmu.h
22,205 B
SET
[ EDIT ]
|
[ DEL ]
📄 dbx500-prcmu.h
14,681 B
SET
[ EDIT ]
|
[ DEL ]
📄 dln2.h
3,617 B
SET
[ EDIT ]
|
[ DEL ]
📄 dm355evm_msp.h
2,879 B
SET
[ EDIT ]
|
[ DEL ]
📄 ds1wm.h
817 B
SET
[ EDIT ]
|
[ DEL ]
📄 ezx-pcap.h
7,932 B
SET
[ EDIT ]
|
[ DEL ]
📄 hi6421-pmic.h
1,329 B
SET
[ EDIT ]
|
[ DEL ]
📄 hi655x-pmic.h
2,076 B
SET
[ EDIT ]
|
[ DEL ]
📄 htc-pasic3.h
1,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 imx25-tsadc.h
4,972 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_msic.h
16,376 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_soc_pmic.h
1,265 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_soc_pmic_bxtwc.h
2,053 B
SET
[ EDIT ]
|
[ DEL ]
📄 ipaq-micro.h
3,750 B
SET
[ EDIT ]
|
[ DEL ]
📄 janz.h
1,053 B
SET
[ EDIT ]
|
[ DEL ]
📄 kempld.h
4,260 B
SET
[ EDIT ]
|
[ DEL ]
📄 lm3533.h
2,650 B
SET
[ EDIT ]
|
[ DEL ]
📄 lochnagar.h
1,624 B
SET
[ EDIT ]
|
[ DEL ]
📄 lochnagar1_regs.h
7,896 B
SET
[ EDIT ]
|
[ DEL ]
📄 lochnagar2_regs.h
15,550 B
SET
[ EDIT ]
|
[ DEL ]
📄 lp3943.h
2,747 B
SET
[ EDIT ]
|
[ DEL ]
📄 lp873x.h
8,895 B
SET
[ EDIT ]
|
[ DEL ]
📄 lp87565.h
7,862 B
SET
[ EDIT ]
|
[ DEL ]
📄 lp8788-isink.h
1,218 B
SET
[ EDIT ]
|
[ DEL ]
📄 lp8788.h
8,573 B
SET
[ EDIT ]
|
[ DEL ]
📄 lpc_ich.h
1,261 B
SET
[ EDIT ]
|
[ DEL ]
📄 max14577-private.h
16,240 B
SET
[ EDIT ]
|
[ DEL ]
📄 max14577.h
2,745 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77620.h
11,134 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77686-private.h
13,526 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77686.h
2,709 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77693-common.h
1,303 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77693-private.h
18,384 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77693.h
2,295 B
SET
[ EDIT ]
|
[ DEL ]
📄 max77843-private.h
15,804 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8907.h
7,701 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8925.h
7,350 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8997-private.h
12,733 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8997.h
6,202 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8998-private.h
5,126 B
SET
[ EDIT ]
|
[ DEL ]
📄 max8998.h
3,641 B
SET
[ EDIT ]
|
[ DEL ]
📄 mc13783.h
2,902 B
SET
[ EDIT ]
|
[ DEL ]
📄 mc13892.h
938 B
SET
[ EDIT ]
|
[ DEL ]
📄 mc13xxx.h
7,872 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcp.h
1,816 B
SET
[ EDIT ]
|
[ DEL ]
📄 menelaus.h
1,284 B
SET
[ EDIT ]
|
[ DEL ]
📄 motorola-cpcap.h
12,797 B
SET
[ EDIT ]
|
[ DEL ]
📄 mxs-lradc.h
6,191 B
SET
[ EDIT ]
|
[ DEL ]
📄 palmas.h
152,645 B
SET
[ EDIT ]
|
[ DEL ]
📄 qcom_rpm.h
293 B
SET
[ EDIT ]
|
[ DEL ]
📄 rave-sp.h
1,414 B
SET
[ EDIT ]
|
[ DEL ]
📄 rc5t583.h
10,056 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdc321x.h
591 B
SET
[ EDIT ]
|
[ DEL ]
📄 retu.h
723 B
SET
[ EDIT ]
|
[ DEL ]
📄 rk808.h
12,807 B
SET
[ EDIT ]
|
[ DEL ]
📄 rn5t618.h
7,519 B
SET
[ EDIT ]
|
[ DEL ]
📄 rt5033-private.h
8,026 B
SET
[ EDIT ]
|
[ DEL ]
📄 rt5033.h
1,243 B
SET
[ EDIT ]
|
[ DEL ]
📄 si476x-core.h
15,606 B
SET
[ EDIT ]
|
[ DEL ]
📄 si476x-platform.h
6,603 B
SET
[ EDIT ]
|
[ DEL ]
📄 si476x-reports.h
5,010 B
SET
[ EDIT ]
|
[ DEL ]
📄 sky81452.h
990 B
SET
[ EDIT ]
|
[ DEL ]
📄 smsc.h
2,921 B
SET
[ EDIT ]
|
[ DEL ]
📄 sta2x11-mfd.h
19,169 B
SET
[ EDIT ]
|
[ DEL ]
📄 stm32-lptimer.h
1,817 B
SET
[ EDIT ]
|
[ DEL ]
📄 stm32-timers.h
5,784 B
SET
[ EDIT ]
|
[ DEL ]
📄 stmpe.h
3,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 stw481x.h
1,442 B
SET
[ EDIT ]
|
[ DEL ]
📄 sun4i-gpadc.h
3,710 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscon.h
1,443 B
SET
[ EDIT ]
|
[ DEL ]
📄 t7l66xb.h
817 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc3589x.h
3,999 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc6387xb.h
516 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc6393xb.h
1,548 B
SET
[ EDIT ]
|
[ DEL ]
📄 ti-lmu-register.h
7,613 B
SET
[ EDIT ]
|
[ DEL ]
📄 ti-lmu.h
1,822 B
SET
[ EDIT ]
|
[ DEL ]
📄 ti_am335x_tscadc.h
5,861 B
SET
[ EDIT ]
|
[ DEL ]
📄 tmio.h
4,098 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps6105x.h
3,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65010.h
6,685 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps6507x.h
5,055 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65086.h
3,580 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65090.h
4,491 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65217.h
8,435 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65218.h
8,033 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps6586x.h
2,802 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65910.h
31,325 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps65912.h
10,144 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps68470.h
3,002 B
SET
[ EDIT ]
|
[ DEL ]
📄 tps80031.h
20,059 B
SET
[ EDIT ]
|
[ DEL ]
📄 twl.h
26,189 B
SET
[ EDIT ]
|
[ DEL ]
📄 twl4030-audio.h
8,741 B
SET
[ EDIT ]
|
[ DEL ]
📄 twl6040.h
7,328 B
SET
[ EDIT ]
|
[ DEL ]
📄 ucb1x00.h
6,728 B
SET
[ EDIT ]
|
[ DEL ]
📄 viperboard.h
3,022 B
SET
[ EDIT ]
|
[ DEL ]
📄 wl1273-core.h
8,496 B
SET
[ EDIT ]
|
[ DEL ]
📄 wm8400-audio.h
71,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 wm8400-private.h
59,376 B
SET
[ EDIT ]
|
[ DEL ]
📄 wm8400.h
1,213 B
SET
[ EDIT ]
|
[ DEL ]
📄 wm97xx.h
576 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: lp8788.h
/* * 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_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 * @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; /* 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