xref: /openbmc/linux/Documentation/leds/leds-mt6370-rgb.rst (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1f797dbf9SChiYuan Huang.. SPDX-License-Identifier: GPL-2.0
2f797dbf9SChiYuan Huang
3f797dbf9SChiYuan Huang=========================================
4f797dbf9SChiYuan HuangThe device for Mediatek MT6370 RGB LED
5f797dbf9SChiYuan Huang=========================================
6f797dbf9SChiYuan Huang
7f797dbf9SChiYuan HuangDescription
8f797dbf9SChiYuan Huang-----------
9f797dbf9SChiYuan Huang
10f797dbf9SChiYuan HuangThe MT6370 integrates a four-channel RGB LED driver, designed to provide a
11f797dbf9SChiYuan Huangvariety of lighting effect for mobile device applications. The RGB LED devices
12f797dbf9SChiYuan Huangincludes a smart LED string controller and it can drive 3 channels of LEDs with
13f797dbf9SChiYuan Huanga sink current up to 24mA and a CHG_VIN power good indicator LED with sink
14f797dbf9SChiYuan Huangcurrent up to 6mA. It provides three operation modes for RGB LEDs:
15f797dbf9SChiYuan HuangPWM Dimming mode, breath pattern mode, and constant current mode. The device
16f797dbf9SChiYuan Huangcan increase or decrease the brightness of the RGB LED via an I2C interface.
17f797dbf9SChiYuan Huang
18f797dbf9SChiYuan HuangThe breath pattern for a channel can be programmed using the "pattern" trigger,
19f797dbf9SChiYuan Huangusing the hw_pattern attribute.
20f797dbf9SChiYuan Huang
21f797dbf9SChiYuan Huang/sys/class/leds/<led>/hw_pattern
22f797dbf9SChiYuan Huang--------------------------------
23f797dbf9SChiYuan Huang
24f797dbf9SChiYuan HuangSpecify a hardware breath pattern for a MT6370 RGB LED.
25f797dbf9SChiYuan Huang
26f797dbf9SChiYuan HuangThe breath pattern is a series of timing pairs, with the hold-time expressed in
27f797dbf9SChiYuan Huangmilliseconds. And the brightness is controlled by
28f797dbf9SChiYuan Huang'/sys/class/leds/<led>/brightness'. The pattern doesn't include the brightness
29f797dbf9SChiYuan Huangsetting. Hardware pattern only controls the timing for each pattern stage
30f797dbf9SChiYuan Huangdepending on the current brightness setting.
31f797dbf9SChiYuan Huang
32f797dbf9SChiYuan HuangPattern diagram::
33f797dbf9SChiYuan Huang
34f797dbf9SChiYuan Huang         "0 Tr1 0 Tr2 0 Tf1 0 Tf2 0 Ton 0 Toff" --> '0' for dummy brightness code
35f797dbf9SChiYuan Huang
36f797dbf9SChiYuan Huang          ^
37f797dbf9SChiYuan Huang          |           ============
38f797dbf9SChiYuan Huang          |          /            \                                /
39f797dbf9SChiYuan Huang    Icurr |         /              \                              /
40f797dbf9SChiYuan Huang          |        /                \                            /
41f797dbf9SChiYuan Huang          |       /                  \                          /   .....repeat
42f797dbf9SChiYuan Huang          |      /                    \                        /
43f797dbf9SChiYuan Huang          |   ---                      ---                  ---
44f797dbf9SChiYuan Huang          |---                            ---            ---
45f797dbf9SChiYuan Huang          +----------------------------------============------------> Time
46f797dbf9SChiYuan Huang          < Tr1><Tr2><   Ton    ><Tf1><Tf2 ><  Toff    >< Tr1><Tr2>
47f797dbf9SChiYuan Huang
48*a8fd44cbSBagas SanjayaTiming description:
49f797dbf9SChiYuan Huang
50*a8fd44cbSBagas Sanjaya  * Tr1:    First rising time for 0% - 30% load.
51*a8fd44cbSBagas Sanjaya  * Tr2:    Second rising time for 31% - 100% load.
52*a8fd44cbSBagas Sanjaya  * Ton:    On time for 100% load.
53*a8fd44cbSBagas Sanjaya  * Tf1:    First falling time for 100% - 31% load.
54*a8fd44cbSBagas Sanjaya  * Tf2:    Second falling time for 30% to 0% load.
55*a8fd44cbSBagas Sanjaya  * Toff:   Off time for 0% load.
56f797dbf9SChiYuan Huang
57*a8fd44cbSBagas Sanjaya  * Tr1/Tr2/Tf1/Tf2/Ton: 125ms to 3125ms, 200ms per step.
58*a8fd44cbSBagas Sanjaya  * Toff: 250ms to 6250ms, 400ms per step.
59f797dbf9SChiYuan Huang
60f797dbf9SChiYuan HuangPattern example::
61f797dbf9SChiYuan Huang
62f797dbf9SChiYuan Huang       "0 125 0 125 0 125 0 125 0 625 0 1050"
63f797dbf9SChiYuan Huang
64f797dbf9SChiYuan HuangThis Will configure Tr1/Tr2/Tf1/Tf2 to 125m, Ton to 625ms, and Toff to 1050ms.
65