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

TOMOYO Linux Cross Reference
Linux/include/linux/mfd/samsung/s2mpu02.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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  * Copyright (c) 2014 Samsung Electronics Co., Ltd
  4  *              http://www.samsung.com
  5  */
  6 
  7 #ifndef __LINUX_MFD_S2MPU02_H
  8 #define __LINUX_MFD_S2MPU02_H
  9 
 10 /* S2MPU02 registers */
 11 enum S2MPU02_reg {
 12         S2MPU02_REG_ID,
 13         S2MPU02_REG_INT1,
 14         S2MPU02_REG_INT2,
 15         S2MPU02_REG_INT3,
 16         S2MPU02_REG_INT1M,
 17         S2MPU02_REG_INT2M,
 18         S2MPU02_REG_INT3M,
 19         S2MPU02_REG_ST1,
 20         S2MPU02_REG_ST2,
 21         S2MPU02_REG_PWRONSRC,
 22         S2MPU02_REG_OFFSRC,
 23         S2MPU02_REG_BU_CHG,
 24         S2MPU02_REG_RTCCTRL,
 25         S2MPU02_REG_PMCTRL1,
 26         S2MPU02_REG_RSVD1,
 27         S2MPU02_REG_RSVD2,
 28         S2MPU02_REG_RSVD3,
 29         S2MPU02_REG_RSVD4,
 30         S2MPU02_REG_RSVD5,
 31         S2MPU02_REG_RSVD6,
 32         S2MPU02_REG_RSVD7,
 33         S2MPU02_REG_WRSTEN,
 34         S2MPU02_REG_RSVD8,
 35         S2MPU02_REG_RSVD9,
 36         S2MPU02_REG_RSVD10,
 37         S2MPU02_REG_B1CTRL1,
 38         S2MPU02_REG_B1CTRL2,
 39         S2MPU02_REG_B2CTRL1,
 40         S2MPU02_REG_B2CTRL2,
 41         S2MPU02_REG_B3CTRL1,
 42         S2MPU02_REG_B3CTRL2,
 43         S2MPU02_REG_B4CTRL1,
 44         S2MPU02_REG_B4CTRL2,
 45         S2MPU02_REG_B5CTRL1,
 46         S2MPU02_REG_B5CTRL2,
 47         S2MPU02_REG_B5CTRL3,
 48         S2MPU02_REG_B5CTRL4,
 49         S2MPU02_REG_B5CTRL5,
 50         S2MPU02_REG_B6CTRL1,
 51         S2MPU02_REG_B6CTRL2,
 52         S2MPU02_REG_B7CTRL1,
 53         S2MPU02_REG_B7CTRL2,
 54         S2MPU02_REG_RAMP1,
 55         S2MPU02_REG_RAMP2,
 56         S2MPU02_REG_L1CTRL,
 57         S2MPU02_REG_L2CTRL1,
 58         S2MPU02_REG_L2CTRL2,
 59         S2MPU02_REG_L2CTRL3,
 60         S2MPU02_REG_L2CTRL4,
 61         S2MPU02_REG_L3CTRL,
 62         S2MPU02_REG_L4CTRL,
 63         S2MPU02_REG_L5CTRL,
 64         S2MPU02_REG_L6CTRL,
 65         S2MPU02_REG_L7CTRL,
 66         S2MPU02_REG_L8CTRL,
 67         S2MPU02_REG_L9CTRL,
 68         S2MPU02_REG_L10CTRL,
 69         S2MPU02_REG_L11CTRL,
 70         S2MPU02_REG_L12CTRL,
 71         S2MPU02_REG_L13CTRL,
 72         S2MPU02_REG_L14CTRL,
 73         S2MPU02_REG_L15CTRL,
 74         S2MPU02_REG_L16CTRL,
 75         S2MPU02_REG_L17CTRL,
 76         S2MPU02_REG_L18CTRL,
 77         S2MPU02_REG_L19CTRL,
 78         S2MPU02_REG_L20CTRL,
 79         S2MPU02_REG_L21CTRL,
 80         S2MPU02_REG_L22CTRL,
 81         S2MPU02_REG_L23CTRL,
 82         S2MPU02_REG_L24CTRL,
 83         S2MPU02_REG_L25CTRL,
 84         S2MPU02_REG_L26CTRL,
 85         S2MPU02_REG_L27CTRL,
 86         S2MPU02_REG_L28CTRL,
 87         S2MPU02_REG_LDODSCH1,
 88         S2MPU02_REG_LDODSCH2,
 89         S2MPU02_REG_LDODSCH3,
 90         S2MPU02_REG_LDODSCH4,
 91         S2MPU02_REG_SELMIF,
 92         S2MPU02_REG_RSVD11,
 93         S2MPU02_REG_RSVD12,
 94         S2MPU02_REG_RSVD13,
 95         S2MPU02_REG_DVSSEL,
 96         S2MPU02_REG_DVSPTR,
 97         S2MPU02_REG_DVSDATA,
 98 };
 99 
100 /* S2MPU02 regulator ids */
101 enum S2MPU02_regulators {
102         S2MPU02_LDO1,
103         S2MPU02_LDO2,
104         S2MPU02_LDO3,
105         S2MPU02_LDO4,
106         S2MPU02_LDO5,
107         S2MPU02_LDO6,
108         S2MPU02_LDO7,
109         S2MPU02_LDO8,
110         S2MPU02_LDO9,
111         S2MPU02_LDO10,
112         S2MPU02_LDO11,
113         S2MPU02_LDO12,
114         S2MPU02_LDO13,
115         S2MPU02_LDO14,
116         S2MPU02_LDO15,
117         S2MPU02_LDO16,
118         S2MPU02_LDO17,
119         S2MPU02_LDO18,
120         S2MPU02_LDO19,
121         S2MPU02_LDO20,
122         S2MPU02_LDO21,
123         S2MPU02_LDO22,
124         S2MPU02_LDO23,
125         S2MPU02_LDO24,
126         S2MPU02_LDO25,
127         S2MPU02_LDO26,
128         S2MPU02_LDO27,
129         S2MPU02_LDO28,
130         S2MPU02_BUCK1,
131         S2MPU02_BUCK2,
132         S2MPU02_BUCK3,
133         S2MPU02_BUCK4,
134         S2MPU02_BUCK5,
135         S2MPU02_BUCK6,
136         S2MPU02_BUCK7,
137 
138         S2MPU02_REGULATOR_MAX,
139 };
140 
141 /* Regulator constraints for BUCKx */
142 #define S2MPU02_BUCK1234_MIN_600MV      600000
143 #define S2MPU02_BUCK5_MIN_1081_25MV     1081250
144 #define S2MPU02_BUCK6_MIN_1700MV        1700000
145 #define S2MPU02_BUCK7_MIN_900MV         900000
146 
147 #define S2MPU02_BUCK1234_STEP_6_25MV    6250
148 #define S2MPU02_BUCK5_STEP_6_25MV       6250
149 #define S2MPU02_BUCK6_STEP_2_50MV       2500
150 #define S2MPU02_BUCK7_STEP_6_25MV       6250
151 
152 #define S2MPU02_BUCK1234_START_SEL      0x00
153 #define S2MPU02_BUCK5_START_SEL         0x4D
154 #define S2MPU02_BUCK6_START_SEL         0x28
155 #define S2MPU02_BUCK7_START_SEL         0x30
156 
157 #define S2MPU02_BUCK_RAMP_DELAY         12500
158 
159 /* Regulator constraints for different types of LDOx */
160 #define S2MPU02_LDO_MIN_900MV           900000
161 #define S2MPU02_LDO_MIN_1050MV          1050000
162 #define S2MPU02_LDO_MIN_1600MV          1600000
163 #define S2MPU02_LDO_STEP_12_5MV         12500
164 #define S2MPU02_LDO_STEP_25MV           25000
165 #define S2MPU02_LDO_STEP_50MV           50000
166 
167 #define S2MPU02_LDO_GROUP1_START_SEL    0x8
168 #define S2MPU02_LDO_GROUP2_START_SEL    0xA
169 #define S2MPU02_LDO_GROUP3_START_SEL    0x10
170 
171 #define S2MPU02_LDO_VSEL_MASK           0x3F
172 #define S2MPU02_BUCK_VSEL_MASK          0xFF
173 #define S2MPU02_ENABLE_MASK             (0x03 << S2MPU02_ENABLE_SHIFT)
174 #define S2MPU02_ENABLE_SHIFT            6
175 
176 /* On/Off controlled by PWREN */
177 #define S2MPU02_ENABLE_SUSPEND          (0x01 << S2MPU02_ENABLE_SHIFT)
178 #define S2MPU02_DISABLE_SUSPEND         (0x11 << S2MPU02_ENABLE_SHIFT)
179 #define S2MPU02_LDO_N_VOLTAGES          (S2MPU02_LDO_VSEL_MASK + 1)
180 #define S2MPU02_BUCK_N_VOLTAGES         (S2MPU02_BUCK_VSEL_MASK + 1)
181 
182 /* RAMP delay for BUCK1234*/
183 #define S2MPU02_BUCK1_RAMP_SHIFT        6
184 #define S2MPU02_BUCK2_RAMP_SHIFT        4
185 #define S2MPU02_BUCK3_RAMP_SHIFT        2
186 #define S2MPU02_BUCK4_RAMP_SHIFT        0
187 #define S2MPU02_BUCK1234_RAMP_MASK      0x3
188 
189 #endif /*  __LINUX_MFD_S2MPU02_H */
190 

~ [ 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