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

TOMOYO Linux Cross Reference
Linux/Documentation/power/regulator/overview.rst

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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/power/regulator/overview.rst (Architecture sparc64) and /Documentation/power/regulator/overview.rst (Architecture m68k)


  1 =============================================       1 =============================================
  2 Linux voltage and current regulator framework       2 Linux voltage and current regulator framework
  3 =============================================       3 =============================================
  4                                                     4 
  5 About                                               5 About
  6 =====                                               6 =====
  7                                                     7 
  8 This framework is designed to provide a standa      8 This framework is designed to provide a standard kernel interface to control
  9 voltage and current regulators.                     9 voltage and current regulators.
 10                                                    10 
 11 The intention is to allow systems to dynamical     11 The intention is to allow systems to dynamically control regulator power output
 12 in order to save power and prolong battery lif     12 in order to save power and prolong battery life. This applies to both voltage
 13 regulators (where voltage output is controllab     13 regulators (where voltage output is controllable) and current sinks (where
 14 current limit is controllable).                    14 current limit is controllable).
 15                                                    15 
 16 (C) 2008  Wolfson Microelectronics PLC.            16 (C) 2008  Wolfson Microelectronics PLC.
 17                                                    17 
 18 Author: Liam Girdwood <lrg@slimlogic.co.uk>         18 Author: Liam Girdwood <lrg@slimlogic.co.uk>
 19                                                    19 
 20                                                    20 
 21 Nomenclature                                       21 Nomenclature
 22 ============                                       22 ============
 23                                                    23 
 24 Some terms used in this document:                  24 Some terms used in this document:
 25                                                    25 
 26   - Regulator                                      26   - Regulator
 27                  - Electronic device that supp     27                  - Electronic device that supplies power to other devices.
 28                    Most regulators can enable      28                    Most regulators can enable and disable their output while
 29                    some can control their outp     29                    some can control their output voltage and or current.
 30                                                    30 
 31                    Input Voltage -> Regulator      31                    Input Voltage -> Regulator -> Output Voltage
 32                                                    32 
 33                                                    33 
 34   - PMIC                                           34   - PMIC
 35                  - Power Management IC. An IC      35                  - Power Management IC. An IC that contains numerous
 36                    regulators and often contai     36                    regulators and often contains other subsystems.
 37                                                    37 
 38                                                    38 
 39   - Consumer                                       39   - Consumer
 40                  - Electronic device that is s     40                  - Electronic device that is supplied power by a regulator.
 41                    Consumers can be classified     41                    Consumers can be classified into two types:-
 42                                                    42 
 43                    Static: consumer does not c     43                    Static: consumer does not change its supply voltage or
 44                    current limit. It only need     44                    current limit. It only needs to enable or disable its
 45                    power supply. Its supply vo     45                    power supply. Its supply voltage is set by the hardware,
 46                    bootloader, firmware or ker     46                    bootloader, firmware or kernel board initialisation code.
 47                                                    47 
 48                    Dynamic: consumer needs to      48                    Dynamic: consumer needs to change its supply voltage or
 49                    current limit to meet opera     49                    current limit to meet operation demands.
 50                                                    50 
 51                                                    51 
 52   - Power Domain                                   52   - Power Domain
 53                  - Electronic circuit that is      53                  - Electronic circuit that is supplied its input power by the
 54                    output power of a regulator     54                    output power of a regulator, switch or by another power
 55                    domain.                         55                    domain.
 56                                                    56 
 57                    The supply regulator may be     57                    The supply regulator may be behind a switch(s). i.e.::
 58                                                    58 
 59                      Regulator -+-> Switch-1 -     59                      Regulator -+-> Switch-1 -+-> Switch-2 --> [Consumer A]
 60                                 |                  60                                 |             |
 61                                 |                  61                                 |             +-> [Consumer B], [Consumer C]
 62                                 |                  62                                 |
 63                                 +-> [Consumer      63                                 +-> [Consumer D], [Consumer E]
 64                                                    64 
 65                    That is one regulator and t     65                    That is one regulator and three power domains:
 66                                                    66 
 67                    - Domain 1: Switch-1, Consu     67                    - Domain 1: Switch-1, Consumers D & E.
 68                    - Domain 2: Switch-2, Consu     68                    - Domain 2: Switch-2, Consumers B & C.
 69                    - Domain 3: Consumer A.         69                    - Domain 3: Consumer A.
 70                                                    70 
 71                    and this represents a "supp     71                    and this represents a "supplies" relationship:
 72                                                    72 
 73                    Domain-1 --> Domain-2 --> D     73                    Domain-1 --> Domain-2 --> Domain-3.
 74                                                    74 
 75                    A power domain may have reg     75                    A power domain may have regulators that are supplied power
 76                    by other regulators. i.e.::     76                    by other regulators. i.e.::
 77                                                    77 
 78                      Regulator-1 -+-> Regulato     78                      Regulator-1 -+-> Regulator-2 -+-> [Consumer A]
 79                                   |                79                                   |
 80                                   +-> [Consume     80                                   +-> [Consumer B]
 81                                                    81 
 82                    This gives us two regulator     82                    This gives us two regulators and two power domains:
 83                                                    83 
 84                    - Domain 1: Regulator-2, Co     84                    - Domain 1: Regulator-2, Consumer B.
 85                    - Domain 2: Consumer A.         85                    - Domain 2: Consumer A.
 86                                                    86 
 87                    and a "supplies" relationsh     87                    and a "supplies" relationship:
 88                                                    88 
 89                    Domain-1 --> Domain-2           89                    Domain-1 --> Domain-2
 90                                                    90 
 91                                                    91 
 92   - Constraints                                    92   - Constraints
 93                  - Constraints are used to def     93                  - Constraints are used to define power levels for performance
 94                    and hardware protection. Co     94                    and hardware protection. Constraints exist at three levels:
 95                                                    95 
 96                    Regulator Level: This is de     96                    Regulator Level: This is defined by the regulator hardware
 97                    operating parameters and is     97                    operating parameters and is specified in the regulator
 98                    datasheet. i.e.                 98                    datasheet. i.e.
 99                                                    99 
100                      - voltage output is in th    100                      - voltage output is in the range 800mV -> 3500mV.
101                      - regulator current outpu    101                      - regulator current output limit is 20mA @ 5V but is
102                        10mA @ 10V.                102                        10mA @ 10V.
103                                                   103 
104                    Power Domain Level: This is    104                    Power Domain Level: This is defined in software by kernel
105                    level board initialisation     105                    level board initialisation code. It is used to constrain a
106                    power domain to a particula    106                    power domain to a particular power range. i.e.
107                                                   107 
108                      - Domain-1 voltage is 330    108                      - Domain-1 voltage is 3300mV
109                      - Domain-2 voltage is 140    109                      - Domain-2 voltage is 1400mV -> 1600mV
110                      - Domain-3 current limit     110                      - Domain-3 current limit is 0mA -> 20mA.
111                                                   111 
112                    Consumer Level: This is def    112                    Consumer Level: This is defined by consumer drivers
113                    dynamically setting voltage    113                    dynamically setting voltage or current limit levels.
114                                                   114 
115                    e.g. a consumer backlight d    115                    e.g. a consumer backlight driver asks for a current increase
116                    from 5mA to 10mA to increas    116                    from 5mA to 10mA to increase LCD illumination. This passes
117                    to through the levels as fo    117                    to through the levels as follows :-
118                                                   118 
119                    Consumer: need to increase     119                    Consumer: need to increase LCD brightness. Lookup and
120                    request next current mA val    120                    request next current mA value in brightness table (the
121                    consumer driver could be us    121                    consumer driver could be used on several different
122                    personalities based upon th    122                    personalities based upon the same reference device).
123                                                   123 
124                    Power Domain: is the new cu    124                    Power Domain: is the new current limit within the domain
125                    operating limits for this d    125                    operating limits for this domain and system state (e.g.
126                    battery power, USB power)      126                    battery power, USB power)
127                                                   127 
128                    Regulator Domains: is the n    128                    Regulator Domains: is the new current limit within the
129                    regulator operating paramet    129                    regulator operating parameters for input/output voltage.
130                                                   130 
131                    If the regulator request pa    131                    If the regulator request passes all the constraint tests
132                    then the new regulator valu    132                    then the new regulator value is applied.
133                                                   133 
134                                                   134 
135 Design                                            135 Design
136 ======                                            136 ======
137                                                   137 
138 The framework is designed and targeted at SoC     138 The framework is designed and targeted at SoC based devices but may also be
139 relevant to non SoC devices and is split into     139 relevant to non SoC devices and is split into the following four interfaces:-
140                                                   140 
141                                                   141 
142    1. Consumer driver interface.                  142    1. Consumer driver interface.
143                                                   143 
144       This uses a similar API to the kernel cl    144       This uses a similar API to the kernel clock interface in that consumer
145       drivers can get and put a regulator (lik    145       drivers can get and put a regulator (like they can with clocks atm) and
146       get/set voltage, current limit, mode, en    146       get/set voltage, current limit, mode, enable and disable. This should
147       allow consumers complete control over th    147       allow consumers complete control over their supply voltage and current
148       limit. This also compiles out if not in     148       limit. This also compiles out if not in use so drivers can be reused in
149       systems with no regulator based power co    149       systems with no regulator based power control.
150                                                   150 
151         See Documentation/power/regulator/cons    151         See Documentation/power/regulator/consumer.rst
152                                                   152 
153    2. Regulator driver interface.                 153    2. Regulator driver interface.
154                                                   154 
155       This allows regulator drivers to registe    155       This allows regulator drivers to register their regulators and provide
156       operations to the core. It also has a no    156       operations to the core. It also has a notifier call chain for propagating
157       regulator events to clients.                157       regulator events to clients.
158                                                   158 
159         See Documentation/power/regulator/regu    159         See Documentation/power/regulator/regulator.rst
160                                                   160 
161    3. Machine interface.                          161    3. Machine interface.
162                                                   162 
163       This interface is for machine specific c    163       This interface is for machine specific code and allows the creation of
164       voltage/current domains (with constraint    164       voltage/current domains (with constraints) for each regulator. It can
165       provide regulator constraints that will     165       provide regulator constraints that will prevent device damage through
166       overvoltage or overcurrent caused by bug    166       overvoltage or overcurrent caused by buggy client drivers. It also
167       allows the creation of a regulator tree     167       allows the creation of a regulator tree whereby some regulators are
168       supplied by others (similar to a clock t    168       supplied by others (similar to a clock tree).
169                                                   169 
170         See Documentation/power/regulator/mach    170         See Documentation/power/regulator/machine.rst
171                                                   171 
172    4. Userspace ABI.                              172    4. Userspace ABI.
173                                                   173 
174       The framework also exports a lot of usef    174       The framework also exports a lot of useful voltage/current/opmode data to
175       userspace via sysfs. This could be used     175       userspace via sysfs. This could be used to help monitor device power
176       consumption and status.                     176       consumption and status.
177                                                   177 
178         See Documentation/ABI/testing/sysfs-cl    178         See Documentation/ABI/testing/sysfs-class-regulator
                                                      

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