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

TOMOYO Linux Cross Reference
Linux/Documentation/leds/leds-qcom-lpg.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/leds/leds-qcom-lpg.rst (Architecture m68k) and /Documentation/leds/leds-qcom-lpg.rst (Architecture mips)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 ==============================                      3 ==============================
  4 Kernel driver for Qualcomm LPG                      4 Kernel driver for Qualcomm LPG
  5 ==============================                      5 ==============================
  6                                                     6 
  7 Description                                         7 Description
  8 -----------                                         8 -----------
  9                                                     9 
 10 The Qualcomm LPG can be found in a variety of      10 The Qualcomm LPG can be found in a variety of Qualcomm PMICs and consists of a
 11 number of PWM channels, a programmable pattern     11 number of PWM channels, a programmable pattern lookup table and a RGB LED
 12 current sink.                                      12 current sink.
 13                                                    13 
 14 To facilitate the various use cases, the LPG c     14 To facilitate the various use cases, the LPG channels can be exposed as
 15 individual LEDs, grouped together as RGB LEDs      15 individual LEDs, grouped together as RGB LEDs or otherwise be accessed as PWM
 16 channels. The output of each PWM channel is ro     16 channels. The output of each PWM channel is routed to other hardware
 17 blocks, such as the RGB current sink, GPIO pin     17 blocks, such as the RGB current sink, GPIO pins etc.
 18                                                    18 
 19 The each PWM channel can operate with a period     19 The each PWM channel can operate with a period between 27us and 384 seconds and
 20 has a 9 bit resolution of the duty cycle.          20 has a 9 bit resolution of the duty cycle.
 21                                                    21 
 22 In order to provide support for status notific     22 In order to provide support for status notifications with the CPU subsystem in
 23 deeper idle states the LPG provides pattern su     23 deeper idle states the LPG provides pattern support. This consists of a shared
 24 lookup table of brightness values and per chan     24 lookup table of brightness values and per channel properties to select the
 25 range within the table to use, the rate and if     25 range within the table to use, the rate and if the pattern should repeat.
 26                                                    26 
 27 The pattern for a channel can be programmed us     27 The pattern for a channel can be programmed using the "pattern" trigger, using
 28 the hw_pattern attribute.                          28 the hw_pattern attribute.
 29                                                    29 
 30 /sys/class/leds/<led>/hw_pattern                   30 /sys/class/leds/<led>/hw_pattern
 31 --------------------------------                   31 --------------------------------
 32                                                    32 
 33 Specify a hardware pattern for a Qualcomm LPG      33 Specify a hardware pattern for a Qualcomm LPG LED.
 34                                                    34 
 35 The pattern is a series of brightness and hold     35 The pattern is a series of brightness and hold-time pairs, with the hold-time
 36 expressed in milliseconds. The hold time is a      36 expressed in milliseconds. The hold time is a property of the pattern and must
 37 therefore be identical for each element in the     37 therefore be identical for each element in the pattern (except for the pauses
 38 described below). As the LPG hardware is not a     38 described below). As the LPG hardware is not able to perform the linear
 39 transitions expected by the leds-trigger-patte     39 transitions expected by the leds-trigger-pattern format, each entry in the
 40 pattern must be followed a zero-length entry o     40 pattern must be followed a zero-length entry of the same brightness.
 41                                                    41 
 42 Simple pattern::                                   42 Simple pattern::
 43                                                    43 
 44     "255 500 255 0 0 500 0 0"                      44     "255 500 255 0 0 500 0 0"
 45                                                    45 
 46         ^                                          46         ^
 47         |                                          47         |
 48     255 +----+    +----+                           48     255 +----+    +----+
 49         |    |    |    |      ...                  49         |    |    |    |      ...
 50       0 |    +----+    +----                       50       0 |    +----+    +----
 51         +---------------------->                   51         +---------------------->
 52         0    5   10   15     time (100ms)          52         0    5   10   15     time (100ms)
 53                                                    53 
 54 The LPG supports specifying a longer hold-time     54 The LPG supports specifying a longer hold-time for the first and last element
 55 in the pattern, the so called "low pause" and      55 in the pattern, the so called "low pause" and "high pause".
 56                                                    56 
 57 Low-pause pattern::                                57 Low-pause pattern::
 58                                                    58 
 59     "255 1000 255 0 0 500 0 0 255 500 255 0 0      59     "255 1000 255 0 0 500 0 0 255 500 255 0 0 500 0 0"
 60                                                    60 
 61         ^                                          61         ^
 62         |                                          62         |
 63     255 +--------+    +----+    +----+    +---     63     255 +--------+    +----+    +----+    +--------+
 64         |        |    |    |    |    |    |        64         |        |    |    |    |    |    |        |      ...
 65       0 |        +----+    +----+    +----+        65       0 |        +----+    +----+    +----+        +----
 66         +----------------------------->            66         +----------------------------->
 67         0    5   10   15  20   25   time (100m     67         0    5   10   15  20   25   time (100ms)
 68                                                    68 
 69 Similarly, the last entry can be stretched by      69 Similarly, the last entry can be stretched by using a higher hold-time on the
 70 last entry.                                        70 last entry.
 71                                                    71 
 72 In order to save space in the shared lookup ta     72 In order to save space in the shared lookup table the LPG supports "ping-pong"
 73 mode, in which case each run through the patte     73 mode, in which case each run through the pattern is performed by first running
 74 the pattern forward, then backwards. This mode     74 the pattern forward, then backwards. This mode is automatically used by the
 75 driver when the given pattern is a palindrome.     75 driver when the given pattern is a palindrome. In this case the "high pause"
 76 denotes the wait time before the pattern is ru     76 denotes the wait time before the pattern is run in reverse and as such the
 77 specified hold-time of the middle item in the      77 specified hold-time of the middle item in the pattern is allowed to have a
 78 different hold-time.                               78 different hold-time.
                                                      

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