[ 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.63.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: abx500.h
/* * Copyright (C) 2007-2009 ST-Ericsson AB * License terms: GNU General Public License (GPL) version 2 * * ABX500 core access functions. * The abx500 interface is used for the Analog Baseband chips. * * Author: Mattias Wallin <mattias.wallin@stericsson.com> * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com> * Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com> * Author: Rickard Andersson <rickard.andersson@stericsson.com> */ #include <linux/regulator/machine.h> struct device; #ifndef MFD_ABX500_H #define MFD_ABX500_H /** * struct abx500_init_setting * Initial value of the registers for driver to use during setup. */ struct abx500_init_settings { u8 bank; u8 reg; u8 setting; }; /* Battery driver related data */ /* * ADC for the battery thermistor. * When using the ABx500_ADC_THERM_BATCTRL the battery ID resistor is combined * with a NTC resistor to both identify the battery and to measure its * temperature. Different phone manufactures uses different techniques to both * identify the battery and to read its temperature. */ enum abx500_adc_therm { ABx500_ADC_THERM_BATCTRL, ABx500_ADC_THERM_BATTEMP, }; /** * struct abx500_res_to_temp - defines one point in a temp to res curve. To * be used in battery packs that combines the identification resistor with a * NTC resistor. * @temp: battery pack temperature in Celsius * @resist: NTC resistor net total resistance */ struct abx500_res_to_temp { int temp; int resist; }; /** * struct abx500_v_to_cap - Table for translating voltage to capacity * @voltage: Voltage in mV * @capacity: Capacity in percent */ struct abx500_v_to_cap { int voltage; int capacity; }; /* Forward declaration */ struct abx500_fg; /** * struct abx500_fg_parameters - Fuel gauge algorithm parameters, in seconds * if not specified * @recovery_sleep_timer: Time between measurements while recovering * @recovery_total_time: Total recovery time * @init_timer: Measurement interval during startup * @init_discard_time: Time we discard voltage measurement at startup * @init_total_time: Total init time during startup * @high_curr_time: Time current has to be high to go to recovery * @accu_charging: FG accumulation time while charging * @accu_high_curr: FG accumulation time in high current mode * @high_curr_threshold: High current threshold, in mA * @lowbat_threshold: Low battery threshold, in mV * @overbat_threshold: Over battery threshold, in mV * @battok_falling_th_sel0 Threshold in mV for battOk signal sel0 * Resolution in 50 mV step. * @battok_raising_th_sel1 Threshold in mV for battOk signal sel1 * Resolution in 50 mV step. * @user_cap_limit Capacity reported from user must be within this * limit to be considered as sane, in percentage * points. * @maint_thres This is the threshold where we stop reporting * battery full while in maintenance, in per cent * @pcut_enable: Enable power cut feature in ab8505 * @pcut_max_time: Max time threshold * @pcut_flag_time: Flagtime threshold * @pcut_max_restart: Max number of restarts * @pcut_debounce_time: Sets battery debounce time */ struct abx500_fg_parameters { int recovery_sleep_timer; int recovery_total_time; int init_timer; int init_discard_time; int init_total_time; int high_curr_time; int accu_charging; int accu_high_curr; int high_curr_threshold; int lowbat_threshold; int overbat_threshold; int battok_falling_th_sel0; int battok_raising_th_sel1; int user_cap_limit; int maint_thres; bool pcut_enable; u8 pcut_max_time; u8 pcut_flag_time; u8 pcut_max_restart; u8 pcut_debounce_time; }; /** * struct abx500_charger_maximization - struct used by the board config. * @use_maxi: Enable maximization for this battery type * @maxi_chg_curr: Maximum charger current allowed * @maxi_wait_cycles: cycles to wait before setting charger current * @charger_curr_step delta between two charger current settings (mA) */ struct abx500_maxim_parameters { bool ena_maxi; int chg_curr; int wait_cycles; int charger_curr_step; }; /** * struct abx500_battery_type - different batteries supported * @name: battery technology * @resis_high: battery upper resistance limit * @resis_low: battery lower resistance limit * @charge_full_design: Maximum battery capacity in mAh * @nominal_voltage: Nominal voltage of the battery in mV * @termination_vol: max voltage upto which battery can be charged * @termination_curr battery charging termination current in mA * @recharge_cap battery capacity limit that will trigger a new * full charging cycle in the case where maintenan- * -ce charging has been disabled * @normal_cur_lvl: charger current in normal state in mA * @normal_vol_lvl: charger voltage in normal state in mV * @maint_a_cur_lvl: charger current in maintenance A state in mA * @maint_a_vol_lvl: charger voltage in maintenance A state in mV * @maint_a_chg_timer_h: charge time in maintenance A state * @maint_b_cur_lvl: charger current in maintenance B state in mA * @maint_b_vol_lvl: charger voltage in maintenance B state in mV * @maint_b_chg_timer_h: charge time in maintenance B state * @low_high_cur_lvl: charger current in temp low/high state in mA * @low_high_vol_lvl: charger voltage in temp low/high state in mV' * @battery_resistance: battery inner resistance in mOhm. * @n_r_t_tbl_elements: number of elements in r_to_t_tbl * @r_to_t_tbl: table containing resistance to temp points * @n_v_cap_tbl_elements: number of elements in v_to_cap_tbl * @v_to_cap_tbl: Voltage to capacity (in %) table * @n_batres_tbl_elements number of elements in the batres_tbl * @batres_tbl battery internal resistance vs temperature table */ struct abx500_battery_type { int name; int resis_high; int resis_low; int charge_full_design; int nominal_voltage; int termination_vol; int termination_curr; int recharge_cap; int normal_cur_lvl; int normal_vol_lvl; int maint_a_cur_lvl; int maint_a_vol_lvl; int maint_a_chg_timer_h; int maint_b_cur_lvl; int maint_b_vol_lvl; int maint_b_chg_timer_h; int low_high_cur_lvl; int low_high_vol_lvl; int battery_resistance; int n_temp_tbl_elements; const struct abx500_res_to_temp *r_to_t_tbl; int n_v_cap_tbl_elements; const struct abx500_v_to_cap *v_to_cap_tbl; int n_batres_tbl_elements; const struct batres_vs_temp *batres_tbl; }; /** * struct abx500_bm_capacity_levels - abx500 capacity level data * @critical: critical capacity level in percent * @low: low capacity level in percent * @normal: normal capacity level in percent * @high: high capacity level in percent * @full: full capacity level in percent */ struct abx500_bm_capacity_levels { int critical; int low; int normal; int high; int full; }; /** * struct abx500_bm_charger_parameters - Charger specific parameters * @usb_volt_max: maximum allowed USB charger voltage in mV * @usb_curr_max: maximum allowed USB charger current in mA * @ac_volt_max: maximum allowed AC charger voltage in mV * @ac_curr_max: maximum allowed AC charger current in mA */ struct abx500_bm_charger_parameters { int usb_volt_max; int usb_curr_max; int ac_volt_max; int ac_curr_max; }; /** * struct abx500_bm_data - abx500 battery management data * @temp_under under this temp, charging is stopped * @temp_low between this temp and temp_under charging is reduced * @temp_high between this temp and temp_over charging is reduced * @temp_over over this temp, charging is stopped * @temp_now present battery temperature * @temp_interval_chg temperature measurement interval in s when charging * @temp_interval_nochg temperature measurement interval in s when not charging * @main_safety_tmr_h safety timer for main charger * @usb_safety_tmr_h safety timer for usb charger * @bkup_bat_v voltage which we charge the backup battery with * @bkup_bat_i current which we charge the backup battery with * @no_maintenance indicates that maintenance charging is disabled * @capacity_scaling indicates whether capacity scaling is to be used * @abx500_adc_therm placement of thermistor, batctrl or battemp adc * @chg_unknown_bat flag to enable charging of unknown batteries * @enable_overshoot flag to enable VBAT overshoot control * @auto_trig flag to enable auto adc trigger * @fg_res resistance of FG resistor in 0.1mOhm * @n_btypes number of elements in array bat_type * @batt_id index of the identified battery in array bat_type * @interval_charging charge alg cycle period time when charging (sec) * @interval_not_charging charge alg cycle period time when not charging (sec) * @temp_hysteresis temperature hysteresis * @gnd_lift_resistance Battery ground to phone ground resistance (mOhm) * @n_chg_out_curr number of elements in array chg_output_curr * @n_chg_in_curr number of elements in array chg_input_curr * @chg_output_curr charger output current level map * @chg_input_curr charger input current level map * @maxi maximization parameters * @cap_levels capacity in percent for the different capacity levels * @bat_type table of supported battery types * @chg_params charger parameters * @fg_params fuel gauge parameters */ struct abx500_bm_data { int temp_under; int temp_low; int temp_high; int temp_over; int temp_now; int temp_interval_chg; int temp_interval_nochg; int main_safety_tmr_h; int usb_safety_tmr_h; int bkup_bat_v; int bkup_bat_i; bool autopower_cfg; bool ac_enabled; bool usb_enabled; bool no_maintenance; bool capacity_scaling; bool chg_unknown_bat; bool enable_overshoot; bool auto_trig; enum abx500_adc_therm adc_therm; int fg_res; int n_btypes; int batt_id; int interval_charging; int interval_not_charging; int temp_hysteresis; int gnd_lift_resistance; int n_chg_out_curr; int n_chg_in_curr; int *chg_output_curr; int *chg_input_curr; const struct abx500_maxim_parameters *maxi; const struct abx500_bm_capacity_levels *cap_levels; struct abx500_battery_type *bat_type; const struct abx500_bm_charger_parameters *chg_params; const struct abx500_fg_parameters *fg_params; }; enum { NTC_EXTERNAL = 0, NTC_INTERNAL, }; int ab8500_bm_of_probe(struct device *dev, struct device_node *np, struct abx500_bm_data *bm); int abx500_set_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 value); int abx500_get_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 *value); int abx500_get_register_page_interruptible(struct device *dev, u8 bank, u8 first_reg, u8 *regvals, u8 numregs); int abx500_set_register_page_interruptible(struct device *dev, u8 bank, u8 first_reg, u8 *regvals, u8 numregs); /** * abx500_mask_and_set_register_inerruptible() - Modifies selected bits of a * target register * * @dev: The AB sub device. * @bank: The i2c bank number. * @bitmask: The bit mask to use. * @bitvalues: The new bit values. * * Updates the value of an AB register: * value -> ((value & ~bitmask) | (bitvalues & bitmask)) */ int abx500_mask_and_set_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 bitmask, u8 bitvalues); int abx500_get_chip_id(struct device *dev); int abx500_event_registers_startup_state_get(struct device *dev, u8 *event); int abx500_startup_irq_enabled(struct device *dev, unsigned int irq); struct abx500_ops { int (*get_chip_id) (struct device *); int (*get_register) (struct device *, u8, u8, u8 *); int (*set_register) (struct device *, u8, u8, u8); int (*get_register_page) (struct device *, u8, u8, u8 *, u8); int (*set_register_page) (struct device *, u8, u8, u8 *, u8); int (*mask_and_set_register) (struct device *, u8, u8, u8, u8); int (*event_registers_startup_state_get) (struct device *, u8 *); int (*startup_irq_enabled) (struct device *, unsigned int); void (*dump_all_banks) (struct device *); }; int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); void abx500_remove_ops(struct device *dev); #endif