diff mbox series

[v17,RESEND,3/3] docs: leds: Add MT6370 RGB LED pattern document

Message ID c6487954daff5e514023056ad7de1d0ddee674a8.1677150607.git.chiaen_wu@richtek.com
State Superseded
Headers show
Series [v17,RESEND,1/3] leds: rgb: mt6370: Add MediaTek MT6370 current sink type LED Indicator support | expand

Commit Message

ChiaEn Wu Feb. 23, 2023, 11:23 a.m. UTC
From: ChiYuan Huang <cy_huang@richtek.com>

Document the MT6370 RGB LED pattern trigger.

This simply describe how the pattern works, each timing period, and the
pattern diagram for MT6370 RGB LED.

Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
---
 Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst

Comments

Lee Jones March 5, 2023, 10:18 a.m. UTC | #1
On Thu, 23 Feb 2023, ChiaEn Wu wrote:

> From: ChiYuan Huang <cy_huang@richtek.com>
> 
> Document the MT6370 RGB LED pattern trigger.
> 
> This simply describe how the pattern works, each timing period, and the
> pattern diagram for MT6370 RGB LED.
> 
> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
> ---
>  Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
>  1 file changed, 64 insertions(+)
>  create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
> 
> diff --git a/Documentation/leds/leds-mt6370-rgb.rst b/Documentation/leds/leds-mt6370-rgb.rst
> new file mode 100644
> index 00000000..d1b2e4f
> --- /dev/null
> +++ b/Documentation/leds/leds-mt6370-rgb.rst
> @@ -0,0 +1,64 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +=========================================
> +Kernel driver for Mediatek MT6370 RGB LED

Are you describing the device or the kernel driver?

> +=========================================
> +
> +Description
> +-----------
> +
> +The MT6370 integrates a four-channel RGB LED driver, designed to provide a
> +variety of lighting effect for mobile device applications. The RGB LED driver

"devices"

> +includes a smart LED string controller and it can drive 3 channels of LEDs with
> +a sink current up to 24mA and a CHG_VIN power good indicator LED with sink
> +current up to 6mA. It provides three operation modes for RGB LEDs:
> +PWM Dimming mode, breath pattern mode, and constant current mode. The device
> +can increase or decrease the brightness of the RGB LED via I2C interface.

"an I2C interface"

> +The breath pattern for a channel can be programmed using the "pattern" trigger,
> +using the hw_pattern attribute.
> +
> +/sys/class/leds/<led>/hw_pattern
> +--------------------------------
> +
> +Specify a hardware breath pattern for a MT6370 RGB LED.
> +
> +The breath pattern is a series of timing pairs, with the hold-time expressed in
> +milliseconds. And the brightness is controlled by
> +'/sys/class/leds/<led>/brightness'. The pattern doesn't include the brightness
> +setting. Hardware pattern only controls the timing for each pattern stage
> +depending on the current brightness setting.
> +
> +Pattern diagram::
> +
> +     "0 Tr1 0 Tr2 0 Tf1 0 Tf2 0 Ton 0 Toff" --> '0' for dummy brightness code
> +
> +      ^
> +      |           ============
> +      |          /            \                                /
> +Icurr |         /              \                              /
> +      |        /                \                            /
> +      |       /                  \                          /   .....repeat
> +      |      /                    \                        /
> +      |   ---                      ---                  ---
> +      |---                            ---            ---
> +      +----------------------------------============------------> Time
> +       < Tr1><Tr2><   Ton    ><Tf1><Tf2 ><  Toff    >< Tr1><Tr2>
> +
> +Timing description::
> +
> +Tr1:    First rising time for duty 0 to 30%.
> +Tr2:    Second rising time for duty 31% to 100%.
> +Ton:    On time for duty 100%.
> +Tf1:    First falling time for duty 100% to 31%.
> +Tf2:    Second falling time for duty 30% to 0%.
> +Toff:   Off time for duty 0%.
> +
> +Tr1/Tr2/Tf1/Tf2/Ton: 125ms to 3125ms, 200ms per step.
> +Toff: 250ms to 6250ms, 400ms per step.
> +
> +Pattern example::
> +
> +       "0 125 0 125 0 125 0 125 0 625 0 1050"
> +
> +This Will configure Tr1/Tr2/Tf1/Tf2 to 125m, Ton to 625ms, and Toff to 1050ms.
> -- 
> 2.7.4
>
ChiYuan Huang March 7, 2023, 4:08 a.m. UTC | #2
Hi, Lee:

    Some question about the comment.
On Sun, Mar 05, 2023 at 10:18:24AM +0000, Lee Jones wrote:
> On Thu, 23 Feb 2023, ChiaEn Wu wrote:
> 
> > From: ChiYuan Huang <cy_huang@richtek.com>
> > 
> > Document the MT6370 RGB LED pattern trigger.
> > 
> > This simply describe how the pattern works, each timing period, and the
> > pattern diagram for MT6370 RGB LED.
> > 
> > Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> > Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
> > ---
> >  Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
> >  1 file changed, 64 insertions(+)
> >  create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
> > 
> > diff --git a/Documentation/leds/leds-mt6370-rgb.rst b/Documentation/leds/leds-mt6370-rgb.rst
> > new file mode 100644
> > index 00000000..d1b2e4f
> > --- /dev/null
> > +++ b/Documentation/leds/leds-mt6370-rgb.rst
> > @@ -0,0 +1,64 @@
> > +.. SPDX-License-Identifier: GPL-2.0
> > +
> > +=========================================
> > +Kernel driver for Mediatek MT6370 RGB LED
> 
> Are you describing the device or the kernel driver?
> 
But referring to others, it seems each one also write this as 'Kernel driver'.
Sorry, I cannot catch the point. Did you mean to modify this description as
'The device for MT6370 RGB LED'?
> > +=========================================
> > +
> > +Description
> > +-----------
> > +
> > +The MT6370 integrates a four-channel RGB LED driver, designed to provide a
> > +variety of lighting effect for mobile device applications. The RGB LED driver
> 
> "devices"
> 
> > +includes a smart LED string controller and it can drive 3 channels of LEDs with
> > +a sink current up to 24mA and a CHG_VIN power good indicator LED with sink
> > +current up to 6mA. It provides three operation modes for RGB LEDs:
> > +PWM Dimming mode, breath pattern mode, and constant current mode. The device
> > +can increase or decrease the brightness of the RGB LED via I2C interface.
> 
> "an I2C interface"
> 
> > +The breath pattern for a channel can be programmed using the "pattern" trigger,
> > +using the hw_pattern attribute.
> > +
> > +/sys/class/leds/<led>/hw_pattern
> > +--------------------------------
> > +
> > +Specify a hardware breath pattern for a MT6370 RGB LED.
> > +
> > +The breath pattern is a series of timing pairs, with the hold-time expressed in
> > +milliseconds. And the brightness is controlled by
> > +'/sys/class/leds/<led>/brightness'. The pattern doesn't include the brightness
> > +setting. Hardware pattern only controls the timing for each pattern stage
> > +depending on the current brightness setting.
> > +
> > +Pattern diagram::
> > +
> > +     "0 Tr1 0 Tr2 0 Tf1 0 Tf2 0 Ton 0 Toff" --> '0' for dummy brightness code
> > +
> > +      ^
> > +      |           ============
> > +      |          /            \                                /
> > +Icurr |         /              \                              /
> > +      |        /                \                            /
> > +      |       /                  \                          /   .....repeat
> > +      |      /                    \                        /
> > +      |   ---                      ---                  ---
> > +      |---                            ---            ---
> > +      +----------------------------------============------------> Time
> > +       < Tr1><Tr2><   Ton    ><Tf1><Tf2 ><  Toff    >< Tr1><Tr2>
> > +
> > +Timing description::
> > +
> > +Tr1:    First rising time for duty 0 to 30%.
> > +Tr2:    Second rising time for duty 31% to 100%.
> > +Ton:    On time for duty 100%.
> > +Tf1:    First falling time for duty 100% to 31%.
> > +Tf2:    Second falling time for duty 30% to 0%.
> > +Toff:   Off time for duty 0%.
> > +
> > +Tr1/Tr2/Tf1/Tf2/Ton: 125ms to 3125ms, 200ms per step.
> > +Toff: 250ms to 6250ms, 400ms per step.
> > +
> > +Pattern example::
> > +
> > +       "0 125 0 125 0 125 0 125 0 625 0 1050"
> > +
> > +This Will configure Tr1/Tr2/Tf1/Tf2 to 125m, Ton to 625ms, and Toff to 1050ms.
> > -- 
> > 2.7.4
> > 
> 
> -- 
> Lee Jones [李琼斯]
Lee Jones March 8, 2023, 1:42 p.m. UTC | #3
On Tue, 07 Mar 2023, ChiYuan Huang wrote:

> Hi, Lee:
>
>     Some question about the comment.
> On Sun, Mar 05, 2023 at 10:18:24AM +0000, Lee Jones wrote:
> > On Thu, 23 Feb 2023, ChiaEn Wu wrote:
> >
> > > From: ChiYuan Huang <cy_huang@richtek.com>
> > >
> > > Document the MT6370 RGB LED pattern trigger.
> > >
> > > This simply describe how the pattern works, each timing period, and the
> > > pattern diagram for MT6370 RGB LED.
> > >
> > > Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> > > Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
> > > ---
> > >  Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
> > >  1 file changed, 64 insertions(+)
> > >  create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
> > >
> > > diff --git a/Documentation/leds/leds-mt6370-rgb.rst b/Documentation/leds/leds-mt6370-rgb.rst
> > > new file mode 100644
> > > index 00000000..d1b2e4f
> > > --- /dev/null
> > > +++ b/Documentation/leds/leds-mt6370-rgb.rst
> > > @@ -0,0 +1,64 @@
> > > +.. SPDX-License-Identifier: GPL-2.0
> > > +
> > > +=========================================
> > > +Kernel driver for Mediatek MT6370 RGB LED
> >
> > Are you describing the device or the kernel driver?
> >
> But referring to others, it seems each one also write this as 'Kernel driver'.
> Sorry, I cannot catch the point. Did you mean to modify this description as
> 'The device for MT6370 RGB LED'?

Just because it's been done before, doesn't make it right.

IMHO, this document should describe the device, not the driver.

--
Lee Jones [李琼斯]
diff mbox series

Patch

diff --git a/Documentation/leds/leds-mt6370-rgb.rst b/Documentation/leds/leds-mt6370-rgb.rst
new file mode 100644
index 00000000..d1b2e4f
--- /dev/null
+++ b/Documentation/leds/leds-mt6370-rgb.rst
@@ -0,0 +1,64 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================================
+Kernel driver for Mediatek MT6370 RGB LED
+=========================================
+
+Description
+-----------
+
+The MT6370 integrates a four-channel RGB LED driver, designed to provide a
+variety of lighting effect for mobile device applications. The RGB LED driver
+includes a smart LED string controller and it can drive 3 channels of LEDs with
+a sink current up to 24mA and a CHG_VIN power good indicator LED with sink
+current up to 6mA. It provides three operation modes for RGB LEDs:
+PWM Dimming mode, breath pattern mode, and constant current mode. The device
+can increase or decrease the brightness of the RGB LED via I2C interface.
+
+The breath pattern for a channel can be programmed using the "pattern" trigger,
+using the hw_pattern attribute.
+
+/sys/class/leds/<led>/hw_pattern
+--------------------------------
+
+Specify a hardware breath pattern for a MT6370 RGB LED.
+
+The breath pattern is a series of timing pairs, with the hold-time expressed in
+milliseconds. And the brightness is controlled by
+'/sys/class/leds/<led>/brightness'. The pattern doesn't include the brightness
+setting. Hardware pattern only controls the timing for each pattern stage
+depending on the current brightness setting.
+
+Pattern diagram::
+
+     "0 Tr1 0 Tr2 0 Tf1 0 Tf2 0 Ton 0 Toff" --> '0' for dummy brightness code
+
+      ^
+      |           ============
+      |          /            \                                /
+Icurr |         /              \                              /
+      |        /                \                            /
+      |       /                  \                          /   .....repeat
+      |      /                    \                        /
+      |   ---                      ---                  ---
+      |---                            ---            ---
+      +----------------------------------============------------> Time
+       < Tr1><Tr2><   Ton    ><Tf1><Tf2 ><  Toff    >< Tr1><Tr2>
+
+Timing description::
+
+Tr1:    First rising time for duty 0 to 30%.
+Tr2:    Second rising time for duty 31% to 100%.
+Ton:    On time for duty 100%.
+Tf1:    First falling time for duty 100% to 31%.
+Tf2:    Second falling time for duty 30% to 0%.
+Toff:   Off time for duty 0%.
+
+Tr1/Tr2/Tf1/Tf2/Ton: 125ms to 3125ms, 200ms per step.
+Toff: 250ms to 6250ms, 400ms per step.
+
+Pattern example::
+
+       "0 125 0 125 0 125 0 125 0 625 0 1050"
+
+This Will configure Tr1/Tr2/Tf1/Tf2 to 125m, Ton to 625ms, and Toff to 1050ms.