~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/mfd/max8998.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0+ */
  2 /*
  3  * max8998.h - Voltage regulator driver for the Maxim 8998
  4  *
  5  *  Copyright (C) 2009-2010 Samsung Electrnoics
  6  *  Kyungmin Park <kyungmin.park@samsung.com>
  7  *  Marek Szyprowski <m.szyprowski@samsung.com>
  8  */
  9 
 10 #ifndef __LINUX_MFD_MAX8998_H
 11 #define __LINUX_MFD_MAX8998_H
 12 
 13 #include <linux/regulator/machine.h>
 14 
 15 /* MAX 8998 regulator ids */
 16 enum {
 17         MAX8998_LDO2 = 2,
 18         MAX8998_LDO3,
 19         MAX8998_LDO4,
 20         MAX8998_LDO5,
 21         MAX8998_LDO6,
 22         MAX8998_LDO7,
 23         MAX8998_LDO8,
 24         MAX8998_LDO9,
 25         MAX8998_LDO10,
 26         MAX8998_LDO11,
 27         MAX8998_LDO12,
 28         MAX8998_LDO13,
 29         MAX8998_LDO14,
 30         MAX8998_LDO15,
 31         MAX8998_LDO16,
 32         MAX8998_LDO17,
 33         MAX8998_BUCK1,
 34         MAX8998_BUCK2,
 35         MAX8998_BUCK3,
 36         MAX8998_BUCK4,
 37         MAX8998_EN32KHZ_AP,
 38         MAX8998_EN32KHZ_CP,
 39         MAX8998_ENVICHG,
 40         MAX8998_ESAFEOUT1,
 41         MAX8998_ESAFEOUT2,
 42         MAX8998_CHARGER,
 43 };
 44 
 45 /**
 46  * max8998_regulator_data - regulator data
 47  * @id: regulator id
 48  * @initdata: regulator init data (contraints, supplies, ...)
 49  * @reg_node: DT node of regulator (unused on non-DT platforms)
 50  */
 51 struct max8998_regulator_data {
 52         int                             id;
 53         struct regulator_init_data      *initdata;
 54         struct device_node              *reg_node;
 55 };
 56 
 57 /**
 58  * struct max8998_board - packages regulator init data
 59  * @regulators: array of defined regulators
 60  * @num_regulators: number of regulators used
 61  * @irq_base: base IRQ number for max8998, required for IRQs
 62  * @ono: power onoff IRQ number for max8998
 63  * @buck_voltage_lock: Do NOT change the values of the following six
 64  *   registers set by buck?_voltage?. The voltage of BUCK1/2 cannot
 65  *   be other than the preset values.
 66  * @buck1_voltage: BUCK1 DVS mode 1 voltage registers
 67  * @buck2_voltage: BUCK2 DVS mode 2 voltage registers
 68  * @buck1_default_idx: Default for BUCK1 gpio pin 1, 2
 69  * @buck2_default_idx: Default for BUCK2 gpio pin.
 70  * @wakeup: Allow to wake up from suspend
 71  * @rtc_delay: LP3974 RTC chip bug that requires delay after a register
 72  * write before reading it.
 73  * @eoc: End of Charge Level in percent: 10% ~ 45% by 5% step
 74  *   If it equals 0, leave it unchanged.
 75  *   Otherwise, it is a invalid value.
 76  * @restart: Restart Level in mV: 100, 150, 200, and -1 for disable.
 77  *   If it equals 0, leave it unchanged.
 78  *   Otherwise, it is a invalid value.
 79  * @timeout: Full Timeout in hours: 5, 6, 7, and -1 for disable.
 80  *   If it equals 0, leave it unchanged.
 81  *   Otherwise, leave it unchanged.
 82  */
 83 struct max8998_platform_data {
 84         struct max8998_regulator_data   *regulators;
 85         int                             num_regulators;
 86         unsigned int                    irq_base;
 87         int                             ono;
 88         bool                            buck_voltage_lock;
 89         int                             buck1_voltage[4];
 90         int                             buck2_voltage[2];
 91         int                             buck1_default_idx;
 92         int                             buck2_default_idx;
 93         bool                            wakeup;
 94         bool                            rtc_delay;
 95         int                             eoc;
 96         int                             restart;
 97         int                             timeout;
 98 };
 99 
100 #endif /*  __LINUX_MFD_MAX8998_H */
101 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php