__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0-only */ /* * TI LP8788 MFD Device * * Copyright 2012 Texas Instruments * * Author: Milo(Woogyom) Kim <[email protected]> */ #ifndef __MFD_LP8788_H__ #define __MFD_LP8788_H__ #include <linux/irqdomain.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_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 * @vsel : dvs selector for buck v1 register */ struct lp8788_buck1_dvs { enum lp8788_dvs_sel vsel; }; /* * lp8788_buck2_dvs * @vsel : dvs selector for buck v2 register */ struct lp8788_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_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 : configurations for buck1 dvs * @buck2_dvs : configurations for buck2 dvs * @chg_pdata : platform data for charger driver * @alarm_sel : rtc alarm selection (1 or 2) * @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; /* 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
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| abx500 | Folder | 0755 |
|
|
| arizona | Folder | 0755 |
|
|
| atc260x | Folder | 0755 |
|
|
| da9052 | Folder | 0755 |
|
|
| da9055 | Folder | 0755 |
|
|
| da9062 | Folder | 0755 |
|
|
| da9063 | Folder | 0755 |
|
|
| da9150 | Folder | 0755 |
|
|
| madera | Folder | 0755 |
|
|
| mt6323 | Folder | 0755 |
|
|
| mt6328 | Folder | 0755 |
|
|
| mt6331 | Folder | 0755 |
|
|
| mt6332 | Folder | 0755 |
|
|
| mt6357 | Folder | 0755 |
|
|
| mt6358 | Folder | 0755 |
|
|
| mt6359 | Folder | 0755 |
|
|
| mt6359p | Folder | 0755 |
|
|
| mt6397 | Folder | 0755 |
|
|
| pcf50633 | Folder | 0755 |
|
|
| samsung | Folder | 0755 |
|
|
| syscon | Folder | 0755 |
|
|
| wcd934x | Folder | 0755 |
|
|
| wm831x | Folder | 0755 |
|
|
| wm8350 | Folder | 0755 |
|
|
| wm8994 | Folder | 0755 |
|
|
| 88pm80x.h | File | 9.85 KB | 0644 |
|
| 88pm860x.h | File | 12.96 KB | 0644 |
|
| 88pm886.h | File | 2.03 KB | 0644 |
|
| aat2870.h | File | 3.92 KB | 0644 |
|
| abx500.h | File | 2.34 KB | 0644 |
|
| ac100.h | File | 5.98 KB | 0644 |
|
| adp5520.h | File | 8.31 KB | 0644 |
|
| adp5585.h | File | 4.23 KB | 0644 |
|
| altera-a10sr.h | File | 2.89 KB | 0644 |
|
| altera-sysmgr.h | File | 725 B | 0644 |
|
| as3711.h | File | 2.74 KB | 0644 |
|
| as3722.h | File | 14.53 KB | 0644 |
|
| atmel-hlcdc.h | File | 2.37 KB | 0644 |
|
| axp20x.h | File | 25.08 KB | 0644 |
|
| bcm2835-pm.h | File | 262 B | 0644 |
|
| bcm590xx.h | File | 618 B | 0644 |
|
| bd9571mwv.h | File | 3.45 KB | 0644 |
|
| cgbc.h | File | 1.21 KB | 0644 |
|
| core.h | File | 4.2 KB | 0644 |
|
| cs40l50.h | File | 4.1 KB | 0644 |
|
| cs42l43-regs.h | File | 45.72 KB | 0644 |
|
| cs42l43.h | File | 2.21 KB | 0644 |
|
| da8xx-cfgchip.h | File | 6.88 KB | 0644 |
|
| da903x.h | File | 7.05 KB | 0644 |
|
| davinci_voicecodec.h | File | 2.6 KB | 0644 |
|
| db8500-prcmu.h | File | 21.33 KB | 0644 |
|
| dbx500-prcmu.h | File | 12.78 KB | 0644 |
|
| dln2.h | File | 3.53 KB | 0644 |
|
| ezx-pcap.h | File | 7.75 KB | 0644 |
|
| gsc.h | File | 1.78 KB | 0644 |
|
| hi6421-pmic.h | File | 1.16 KB | 0644 |
|
| hi655x-pmic.h | File | 1.91 KB | 0644 |
|
| idt82p33_reg.h | File | 3.01 KB | 0644 |
|
| idt8a340_reg.h | File | 30.34 KB | 0644 |
|
| idtRC38xxx_reg.h | File | 6.74 KB | 0644 |
|
| imx25-tsadc.h | File | 4.86 KB | 0644 |
|
| ingenic-tcu.h | File | 1.71 KB | 0644 |
|
| intel-m10-bmc.h | File | 9.87 KB | 0644 |
|
| intel_pmc_bxt.h | File | 1.51 KB | 0644 |
|
| intel_soc_pmic.h | File | 1.86 KB | 0644 |
|
| intel_soc_pmic_bxtwc.h | File | 1.6 KB | 0644 |
|
| intel_soc_pmic_mrfld.h | File | 2.23 KB | 0644 |
|
| ipaq-micro.h | File | 3.66 KB | 0644 |
|
| iqs62x.h | File | 2.9 KB | 0644 |
|
| janz.h | File | 846 B | 0644 |
|
| kempld.h | File | 4.03 KB | 0644 |
|
| khadas-mcu.h | File | 3.46 KB | 0644 |
|
| lm3533.h | File | 2.39 KB | 0644 |
|
| lochnagar.h | File | 1.59 KB | 0644 |
|
| lochnagar1_regs.h | File | 7.71 KB | 0644 |
|
| lochnagar2_regs.h | File | 15.19 KB | 0644 |
|
| lp3943.h | File | 2.54 KB | 0644 |
|
| lp873x.h | File | 8.29 KB | 0644 |
|
| lp87565.h | File | 7.41 KB | 0644 |
|
| lp8788-isink.h | File | 1.04 KB | 0644 |
|
| lp8788.h | File | 6.72 KB | 0644 |
|
| lpc_ich.h | File | 754 B | 0644 |
|
| max14577-private.h | File | 15.41 KB | 0644 |
|
| max14577.h | File | 2.23 KB | 0644 |
|
| max5970.h | File | 2.49 KB | 0644 |
|
| max77541.h | File | 2.77 KB | 0644 |
|
| max77620.h | File | 10.71 KB | 0644 |
|
| max77650.h | File | 1.84 KB | 0644 |
|
| max77686-private.h | File | 12.36 KB | 0644 |
|
| max77686.h | File | 1.99 KB | 0644 |
|
| max77693-common.h | File | 1.06 KB | 0644 |
|
| max77693-private.h | File | 17.31 KB | 0644 |
|
| max77693.h | File | 1.58 KB | 0644 |
|
| max77714.h | File | 1.7 KB | 0644 |
|
| max77843-private.h | File | 15.22 KB | 0644 |
|
| max8907.h | File | 7.38 KB | 0644 |
|
| max8925.h | File | 7.04 KB | 0644 |
|
| max8997-private.h | File | 11.77 KB | 0644 |
|
| max8997.h | File | 5.21 KB | 0644 |
|
| max8998-private.h | File | 4.35 KB | 0644 |
|
| max8998.h | File | 2.7 KB | 0644 |
|
| mc13783.h | File | 2.69 KB | 0644 |
|
| mc13892.h | File | 792 B | 0644 |
|
| mc13xxx.h | File | 7.59 KB | 0644 |
|
| mcp.h | File | 1.61 KB | 0644 |
|
| menelaus.h | File | 1.25 KB | 0644 |
|
| motorola-cpcap.h | File | 12.35 KB | 0644 |
|
| mp2629.h | File | 422 B | 0644 |
|
| mxs-lradc.h | File | 5.6 KB | 0644 |
|
| ntxec.h | File | 1009 B | 0644 |
|
| ocelot.h | File | 1.5 KB | 0644 |
|
| palmas.h | File | 148.58 KB | 0644 |
|
| qcom_rpm.h | File | 293 B | 0644 |
|
| qnap-mcu.h | File | 597 B | 0644 |
|
| rave-sp.h | File | 1.41 KB | 0644 |
|
| rc5t583.h | File | 9.28 KB | 0644 |
|
| rdc321x.h | File | 591 B | 0644 |
|
| retu.h | File | 723 B | 0644 |
|
| rk808.h | File | 37.91 KB | 0644 |
|
| rn5t618.h | File | 7.95 KB | 0644 |
|
| rohm-bd71815.h | File | 15.24 KB | 0644 |
|
| rohm-bd71828.h | File | 12.77 KB | 0644 |
|
| rohm-bd718x7.h | File | 8.83 KB | 0644 |
|
| rohm-bd957x.h | File | 4.26 KB | 0644 |
|
| rohm-bd96801.h | File | 5.71 KB | 0644 |
|
| rohm-generic.h | File | 2.66 KB | 0644 |
|
| rohm-shared.h | File | 631 B | 0644 |
|
| rsmu.h | File | 967 B | 0644 |
|
| rt5033-private.h | File | 8.64 KB | 0644 |
|
| rt5033.h | File | 598 B | 0644 |
|
| rz-mtu3.h | File | 6.6 KB | 0644 |
|
| sc27xx-pmic.h | File | 228 B | 0644 |
|
| si476x-core.h | File | 14.84 KB | 0644 |
|
| si476x-platform.h | File | 6.04 KB | 0644 |
|
| si476x-reports.h | File | 4.49 KB | 0644 |
|
| sky81452.h | File | 354 B | 0644 |
|
| sta2x11-mfd.h | File | 18.13 KB | 0644 |
|
| stm32-lptimer.h | File | 2.05 KB | 0644 |
|
| stm32-timers.h | File | 8.26 KB | 0644 |
|
| stmfx.h | File | 3.93 KB | 0644 |
|
| stmpe.h | File | 3.99 KB | 0644 |
|
| stpmic1.h | File | 5.58 KB | 0644 |
|
| stw481x.h | File | 1.39 KB | 0644 |
|
| sun4i-gpadc.h | File | 3.48 KB | 0644 |
|
| sy7636a.h | File | 1.04 KB | 0644 |
|
| syscon.h | File | 2 KB | 0644 |
|
| tc3589x.h | File | 4.03 KB | 0644 |
|
| ti-lmu-register.h | File | 5.53 KB | 0644 |
|
| ti-lmu.h | File | 1.81 KB | 0644 |
|
| ti_am335x_tscadc.h | File | 5.74 KB | 0644 |
|
| tps6105x.h | File | 3.01 KB | 0644 |
|
| tps65010.h | File | 6.42 KB | 0644 |
|
| tps6507x.h | File | 4.94 KB | 0644 |
|
| tps65086.h | File | 3.39 KB | 0644 |
|
| tps65090.h | File | 3.72 KB | 0644 |
|
| tps65217.h | File | 7.84 KB | 0644 |
|
| tps65218.h | File | 7.62 KB | 0644 |
|
| tps65219.h | File | 11.49 KB | 0644 |
|
| tps6586x.h | File | 2.74 KB | 0644 |
|
| tps65910.h | File | 29.39 KB | 0644 |
|
| tps65912.h | File | 9.46 KB | 0644 |
|
| tps6594.h | File | 47.55 KB | 0644 |
|
| tps68470.h | File | 3.3 KB | 0644 |
|
| twl.h | File | 22.94 KB | 0644 |
|
| twl4030-audio.h | File | 7.94 KB | 0644 |
|
| twl6040.h | File | 5.84 KB | 0644 |
|
| ucb1x00.h | File | 6.44 KB | 0644 |
|
| upboard-fpga.h | File | 1.28 KB | 0644 |
|
| viperboard.h | File | 2.74 KB | 0644 |
|
| wl1273-core.h | File | 7.7 KB | 0644 |
|
| wm8400-audio.h | File | 69.16 KB | 0644 |
|
| wm8400-private.h | File | 57.12 KB | 0644 |
|
| wm8400.h | File | 561 B | 0644 |
|
| wm97xx.h | File | 369 B | 0644 |
|