Server IP : 103.169.32.36 / Your IP : 216.73.217.13 Web Server : Apache System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : apache ( 48) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/source/include/linux/mfd/ |
Upload File : |
| Current File : /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/source/include/linux/mfd/max8997.h |
/*
* max8997.h - Driver for the Maxim 8997/8966
*
* Copyright (C) 2009-2010 Samsung Electrnoics
* MyungJoo Ham <myungjoo.ham@samsung.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; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This driver is based on max8998.h
*
* MAX8997 has PMIC, MUIC, HAPTIC, RTC, FLASH, and Fuel Gauge devices.
* Except Fuel Gauge, every device shares the same I2C bus and included in
* this mfd driver. Although the fuel gauge is included in the chip, it is
* excluded from the driver because a) it has a different I2C bus from
* others and b) it can be enabled simply by using MAX17042 driver.
*/
#ifndef __LINUX_MFD_MAX8998_H
#define __LINUX_MFD_MAX8998_H
#include <linux/regulator/consumer.h>
/* MAX8997/8966 regulator IDs */
enum max8998_regulators {
MAX8997_LDO1 = 0,
MAX8997_LDO2,
MAX8997_LDO3,
MAX8997_LDO4,
MAX8997_LDO5,
MAX8997_LDO6,
MAX8997_LDO7,
MAX8997_LDO8,
MAX8997_LDO9,
MAX8997_LDO10,
MAX8997_LDO11,
MAX8997_LDO12,
MAX8997_LDO13,
MAX8997_LDO14,
MAX8997_LDO15,
MAX8997_LDO16,
MAX8997_LDO17,
MAX8997_LDO18,
MAX8997_LDO21,
MAX8997_BUCK1,
MAX8997_BUCK2,
MAX8997_BUCK3,
MAX8997_BUCK4,
MAX8997_BUCK5,
MAX8997_BUCK6,
MAX8997_BUCK7,
MAX8997_EN32KHZ_AP,
MAX8997_EN32KHZ_CP,
MAX8997_ENVICHG,
MAX8997_ESAFEOUT1,
MAX8997_ESAFEOUT2,
MAX8997_CHARGER_CV, /* control MBCCV of MBCCTRL3 */
MAX8997_CHARGER, /* charger current, MBCCTRL4 */
MAX8997_CHARGER_TOPOFF, /* MBCCTRL5 */
MAX8997_REG_MAX,
};
struct max8997_regulator_data {
int id;
struct regulator_init_data *initdata;
struct device_node *reg_node;
};
struct max8997_muic_reg_data {
u8 addr;
u8 data;
};
/**
* struct max8997_muic_platform_data
* @init_data: array of max8997_muic_reg_data
* used for initializing registers of MAX8997 MUIC device
* @num_init_data: array size of init_data
*/
struct max8997_muic_platform_data {
struct max8997_muic_reg_data *init_data;
int num_init_data;
/* Check cable state after certain delay */
int detcable_delay_ms;
/*
* Default usb/uart path whether UART/USB or AUX_UART/AUX_USB
* h/w path of COMP2/COMN1 on CONTROL1 register.
*/
int path_usb;
int path_uart;
};
enum max8997_haptic_motor_type {
MAX8997_HAPTIC_ERM,
MAX8997_HAPTIC_LRA,
};
enum max8997_haptic_pulse_mode {
MAX8997_EXTERNAL_MODE,
MAX8997_INTERNAL_MODE,
};
enum max8997_haptic_pwm_divisor {
MAX8997_PWM_DIVISOR_32,
MAX8997_PWM_DIVISOR_64,
MAX8997_PWM_DIVISOR_128,
MAX8997_PWM_DIVISOR_256,
};
/**
* max8997_haptic_platform_data
* @pwm_channel_id: channel number of PWM device
* valid for MAX8997_EXTERNAL_MODE
* @pwm_period: period in nano second for PWM device
* valid for MAX8997_EXTERNAL_MODE
* @type: motor type
* @mode: pulse mode
* MAX8997_EXTERNAL_MODE: external PWM device is used to control motor
* MAX8997_INTERNAL_MODE: internal pulse generator is used to control motor
* @pwm_divisor: divisor for external PWM device
* @internal_mode_pattern: internal mode pattern for internal mode
* [0 - 3]: valid pattern number
* @pattern_cycle: the number of cycles of the waveform
* for the internal mode pattern
* [0 - 15]: available cycles
* @pattern_signal_period: period of the waveform for the internal mode pattern
* [0 - 255]: available period
*/
struct max8997_haptic_platform_data {
unsigned int pwm_channel_id;
unsigned int pwm_period;
enum max8997_haptic_motor_type type;
enum max8997_haptic_pulse_mode mode;
enum max8997_haptic_pwm_divisor pwm_divisor;
unsigned int internal_mode_pattern;
unsigned int pattern_cycle;
unsigned int pattern_signal_period;
};
enum max8997_led_mode {
MAX8997_NONE,
MAX8997_FLASH_MODE,
MAX8997_MOVIE_MODE,
MAX8997_FLASH_PIN_CONTROL_MODE,
MAX8997_MOVIE_PIN_CONTROL_MODE,
};
/**
* struct max8997_led_platform_data
* The number of LED devices for MAX8997 is two
* @mode: LED mode for each LED device
* @brightness: initial brightness for each LED device
* range:
* [0 - 31]: MAX8997_FLASH_MODE and MAX8997_FLASH_PIN_CONTROL_MODE
* [0 - 15]: MAX8997_MOVIE_MODE and MAX8997_MOVIE_PIN_CONTROL_MODE
*/
struct max8997_led_platform_data {
enum max8997_led_mode mode[2];
u8 brightness[2];
};
struct max8997_platform_data {
/* IRQ */
int ono;
int wakeup;
/* ---- PMIC ---- */
struct max8997_regulator_data *regulators;
int num_regulators;
/*
* SET1~3 DVS GPIOs control Buck1, 2, and 5 simultaneously. Therefore,
* With buckx_gpiodvs enabled, the buckx cannot be controlled
* independently. To control buckx (of 1, 2, and 5) independently,
* disable buckx_gpiodvs and control with BUCKxDVS1 register.
*
* When buckx_gpiodvs and bucky_gpiodvs are both enabled, set_voltage
* on buckx will change the voltage of bucky at the same time.
*
*/
bool ignore_gpiodvs_side_effect;
int buck125_gpios[3]; /* GPIO of [0]SET1, [1]SET2, [2]SET3 */
int buck125_default_idx; /* Default value of SET1, 2, 3 */
unsigned int buck1_voltage[8]; /* buckx_voltage in uV */
bool buck1_gpiodvs;
unsigned int buck2_voltage[8];
bool buck2_gpiodvs;
unsigned int buck5_voltage[8];
bool buck5_gpiodvs;
/* ---- Charger control ---- */
/* eoc stands for 'end of charge' */
int eoc_mA; /* 50 ~ 200mA by 10mA step */
/* charge Full Timeout */
int timeout; /* 0 (no timeout), 5, 6, 7 hours */
/* ---- MUIC ---- */
struct max8997_muic_platform_data *muic_pdata;
/* ---- HAPTIC ---- */
struct max8997_haptic_platform_data *haptic_pdata;
/* RTC: Not implemented */
/* ---- LED ---- */
struct max8997_led_platform_data *led_pdata;
};
#endif /* __LINUX_MFD_MAX8998_H */
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
January 19 2024 08:12:51 |
0 / 0 |
0755 |
|
| abx500 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| arizona |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| da9052 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| da9055 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| pcf50633 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| pm8xxx |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| samsung |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| syscon |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| wm831x |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| wm8350 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| wm8994 |
-- |
January 19 2024 08:12:50 |
0 / 0 |
0755 |
|
| | | | | |
| 88pm80x.h |
10.035 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| 88pm860x.h |
13.334 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| aat2870.h |
4.542 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ab3100.h |
4.162 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| abx500.h |
11.754 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| adp5520.h |
8.3 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| as3711.h |
2.85 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| asic3.h |
12.221 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| core.h |
3.33 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| cros_ec.h |
4.868 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| cros_ec_commands.h |
39.509 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| da903x.h |
7.011 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| davinci_voicecodec.h |
3.368 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| db8500-prcmu.h |
21.787 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| dbx500-prcmu.h |
15.481 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ds1wm.h |
0.415 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ezx-pcap.h |
7.708 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| htc-egpio.h |
1.728 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| htc-pasic3.h |
1.196 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| intel_msic.h |
15.992 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| janz.h |
1.028 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| lm3533.h |
2.588 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| lp8788-isink.h |
1.189 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| lp8788.h |
8.844 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| lpc_ich.h |
1.158 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max77686-private.h |
6.803 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max77686.h |
2.688 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max77693-private.h |
11.157 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max77693.h |
1.612 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8907.h |
7.521 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8925.h |
7.178 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8997-private.h |
12.417 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8997.h |
6.057 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8998-private.h |
4.838 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| max8998.h |
3.755 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| mc13783.h |
2.874 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| mc13892.h |
0.916 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| mc13xxx.h |
6.166 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| mcp.h |
1.747 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| menelaus.h |
1.396 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| palmas.h |
109.979 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| rc5t583.h |
9.775 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| rdc321x.h |
0.539 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| retu.h |
0.706 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| rtsx_common.h |
1.44 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| rtsx_pci.h |
40.146 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| rtsx_usb.h |
15.951 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| si476x-core.h |
15.241 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| si476x-platform.h |
6.448 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| si476x-reports.h |
4.893 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| smsc.h |
2.853 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| sta2x11-mfd.h |
18.72 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| stmpe.h |
6.642 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| syscon.h |
0.854 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| t7l66xb.h |
0.798 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tc3589x.h |
5.674 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tc6387xb.h |
0.504 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tc6393xb.h |
1.512 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ti_am335x_tscadc.h |
4.333 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ti_ssp.h |
2.818 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tmio.h |
4.211 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps6105x.h |
3.214 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps6507x.h |
4.961 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps65090.h |
3.473 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps65217.h |
8.557 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps6586x.h |
2.466 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps65910.h |
30.581 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps65912.h |
9.439 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| tps80031.h |
19.589 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| twl4030-audio.h |
8.536 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| twl6040.h |
6.809 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| ucb1x00.h |
6.545 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| viperboard.h |
2.951 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| wl1273-core.h |
8.297 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| wm8400-audio.h |
69.796 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| wm8400-private.h |
58.035 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|
| wm8400.h |
1.185 KB |
November 06 2023 09:15:52 |
0 / 0 |
0644 |
|