Skip to contentSkip to conversation

Add MediaTek MT6370 PMIC support

PATCH Applied ChiaEn Wu 4 participants 12 messages Mar 10, 2023 – Mar 28, 2023

Subsystems (4)
lore
Share & tools
lore

ChiaEn Wu

author
#0 lore raw

v18 cover Add MediaTek MT6370 PMIC support

This patch series add MediaTek MT6370 LED indicator and flashlight support. The MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

In this series, the following patches have been applied,
- 'dt-binding: mfd' and 'mfd driver' have been applied by Lee in v7.
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/

- 'tcpci driver' has been applied by Greg in v8.
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=c2a8ea5997fdfeb43eda259d5533234c3cae05d7

- 'dt-binding: backlight' and 'backlight driver' have been applied by Lee in v9.
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/YxYS7%[email protected]/

- 'dt-binding: charger', 'charger driver' and 'linear_range.h' patch have been applied by Sebastian in v11.
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/

- 'dt-binding: leds: LED Indicator' and 'dt-binding: leds: LED Flash' have been applied by Rob in v12.
https://lore.kernel.org/all/[email protected]/

- 'ADC driver' has been applied by Jonathan in v14.
https://lore.kernel.org/all/20221015162217.41c4c112@jic23-huawei/

In addition, we made some changes for MT6370 Flash/RGB drivers and document. (see v18 section of the change log below).

Thank you,
ChiaEn Wu
---
Change in v18:
- In Patch 1/3 (MT6370 LED Indicator):
- Rename 'MT6370_VENID_MASK' to more human readable 'MT6370_VENDOR_ID_MASK'
- Define the const number vid.
- Unwrap each line by 100 chars limit.
- Remove the redudant space in 'mt6370_gen_breath_pattern()' comment for patterh data allocation.
- Define a sub function 'mt6370_assign_multicolor_info()' to tidy up 'mt6370_init_led_properties()' for multicolor case.
- Define a sub function 'mt6370_multicolor_led_register' to tidy up 'mt6370_led_register()' for multicolor case.
- Refine 'fwnode_handle_put' in probe function with 'goto'.

- In Patch 2/3 (MT6370 Flash):
- Unwrap each line by 100 chars limit.
- For joint flash, add more comments above the source code.
- Remove 'sentinel' comment in of_device_id table declaration.

- In Patch 3/3 (Document of MT6370 LED Indicator):
- Revise the text in document title and description.

Change in v17:
- In Patch 1/3 (MT6370 LED Indicator):
- Update the year of Copyright from 2022 to 2023

- In Patch 2/3 (MT6370 Flash):
- Update the year of Copyright from 2022 to 2023

- In Patch 3/3 (Document of MT6370 LED Indicator):
- Add MT6370 RGB LED document for describing how the pattern works, each timing period, and the pattern diagram.

Change in v16:
- In Patch 1/2 (MT6370 LED Indicator):
- Remove blank line in the head text.
- Move 'pwm_duty' to descrease the size of struct mt6370_pdata.
- Move the field 'F_RGB_EN' write out from if/else in 'mt6370_isnk_brightness_set'.
- Remove 'dev' in struct mt6370_priv.
- Remove the proprety reading for 'linux,default-trigger', led core already did it.
- Change the module license from 'GPL v2' to 'GPL'
In the head text, already deslcred SPDX license as 'GPL-2.0-only'.

- In Patch 2/2 (MT6370 Flash):
- Remove blank line in the head text.
- For enum, declared the first element as 0
- Remove unusd default state and state define.
- For mt6370_priv, 'dev' member only be used once. Remove it.
- Refine assign operator for '?:', no need to use brackets for the judgement.
- Refine '_mt6370_flash_brightness_set' function for else case.
- Modify 'struct led_flash_setting *setting' to 'struct led_flash_setting *s'. This can reduce line count.
- Remove the revert logic in 'mt6370_strobe_set' function. No need to do it.
- Remove mutex usage in timeout_set and fault_get.
Regmap lock already protect it.
- Add default label for switch case in fault_get.
- Directly assign fwnode as the parameter for 'mt6370_led_register' and 'mt6370_init_flash_config'.
- Due to struct mt6370_priv 'dev' member removed, pass 'dev' as the input parameter for 'mt6370_init_flash_config'.
- For some if judgement, remove 'num > MT6370_MAX_LEDS'. There's no need to check it. The below code already protect it.
- Group mt6360 and mt6370 in Makefile.
- SPDX already declared as 'GPL v2-only', change MODULE_LICENSE to 'GPL'.
- Add one more author for ChiYuan Huang.

Change in v15:
- In Patch 2/2 (MT6370 Flash):
- Remove 'depends on LEDS_CLASS_FLASH || !LEDS_CLASS_FLASH' in Kconfig

Change in v14:
- In Patch 3/3 (MT6370 Flash):
- Remove unused 'depend on OF' in Kconfig

Change in v13:
- In Patch 1/5 (dt-bindings: MT6370 LED Indicator):
- Remove 'allOf' property
- Add '$ref' and 'unevaluatedProperties: false' in 'multi-led'

Change in v12:
- In Patch 5/5 (MT6370 Flash):
- Rename all 'led_flash_setting *s' --> 'led_flash_setting *setting'
- Rename 'max_uA' --> 'max_ua' in mt6370_init_flash_properties()

Change in v11:
- In Patch 1/8 (dt-bindings: MT6370 Charger):
- Add more detailed description of irqs.
- Adujust the order of irqs

Change in v10:
- In Patch 6/8 (MT6370 Charger):
- Add a feature (disable input current limit) in 'mt6370_chg_init_setting()'
- Add the header file <linux/devm-helpers.h> for using 'devm_work_autocancel()' and 'devm_delayed_work_autocancel()
- Rename 'pwr_rdy' to 'opposite_pwr_rdy' in 'mt6370_chg_pwr_rdy_check()'
- Rename enum elements ('MT6370_ATTACH_STAT_ATTACH_BC12_NOT_DONE' --> 'MT6370_ATTACH_STAT_ATTACH_WAIT_FOR_BC12')
- Revise the assignment value of 'val.intval' in 'mt6370_chg_pwr_rdy_check()' to make the code easy to read.
- Revise the initialization of bc12_work (INIT_WORK() --> using devm_work_autocancel()) and mivr_dwork (INIT_DELAYED_WORK + devm_add_action_or_reset() --> devm_delayed_work_autocancel())

- In Patch 8/8 (MT6370 LED Flashlight):
- Add the revert code when '__mt6370_flash_brightness_set()' return failed.
- Revise type of 'led_no' (u32 -> u8)
- Revise type of 'default_state' (u32 -> enum led_default_state)
- Revise the return value of '_mt6370_flash_brightness_set()'
- Remove the useless function 'mt6370_init_common_properties()'
- Use 'led_init_default_state_get()' to init 'led->default_state'

Changes in v9:
- In Patch 05/10:
- Revise LINEAR_RANGE() and LINEAR_RANGE_IDX()

- In Patch 07/10:
- Fix wrong 'F_IINLMTSEL' setting in 'mt6370_chg_init_setting()'
- Revise the usage of LINEAR_RANGE_IDX()

- In Patch 09/10:
- Revise the format of the comments.

- In Patch 10/10:
- Revise the format of the comments.

Changes in v8:
- In Patch 06/12:
- Add linear_range_idx macro for declaring the linear_range struct simply.

- In Patch 09/12:
- Remove MT6370_CHG_LINEAR_RANGE() macro, and change to use LINEAR_RANGE_IDX() macro

- In Patch 10/12:
- Add include header file <linux/leds.h>
- Remove useless 'enum mt6370_state' because of using 'enum led_default_state'
- Revise the calculation of 'val' in 'mt6370_gen_breath_pattern()'
- Replace the medthod of getting default-state by using led_init_default_state_get()

- In Patch 11/12:
- Add missing 'dependency config' in Kconfig
- Revise all multi-line comments

- In Patch 12/12:
- Add missing header file <linux/property.h>
- Remove useledd header file <linux/of_device.h>
- Revise the comment of 'mt6370_check_vendor_info()'

Changes in v7:
- In Patch 05/13:
- Add the second compatible string for 'mt6372'
- Add 'mediatek,bled-exponential-mode-enable' property for enable the exponential mode of backlight brightness
- Add validation for the maximum value of 'default-brightness' and 'max-brightness'

- In Patch 07/13:
- Move '#define MT6370_REG_MAXADDR' to the next line of '#define MT6370_REG_CHG_MASK1'
- Rename 'MT6370_REG_ADDRLEN' to 'MT6370_MAX_ADDRLEN'

- In Patch 08/13:
- Revise 'devm_add_action_or_reset(dev, ...)' to one line
- Revise 'return regmap_update_bits(...)' with using positive conditional

- In Patch 09/13:
- Add AICR(100mA ~ 350mA), ICHG(100mA ~ 800mA) macros
- Remove 400mA AICR and 900mA ICHG macros
- Revise using 'if-else' to 'switch-case' in mt6370_adc_read_scale() where the adc channel is ibus or ibat

- In Patch 10/13:
- Revise the method to enable/disable irq
- Revise all 'if (ret < 0)' to 'if (ret)' after using mt6370_chg_field_set/get()
- Revise all 'OTG' text again

- In Patch 11/13:
- Add the comment for the union of 'struct mt6370_led'
- Revise the wrong description of 'Authors'
- Revise some typos (e.g. led --> LED)
- Revise 'if (!fwnode_property_read_string())' to 'ret = fwnode_property_read_string()'
- Replace 'memcpy(...)' with 'put_unaligned_be24()' in mt6370_gen_breath_pattern()
- Replace all 'LED_OFF' with 0
- Remove the redundant assignment in mt6370_mc_pattern_clear()

- In Patch 12/13:
- Fix the indentation.
- For the well defined macro, the parenthesis is needed for input parameters.
- Replace some dev_warn to dev_info in 'init_flash_properties'.
- Add sentinel comment for the terminator entry of of_device_id.
- Use priv->fled_torch_used directly.
- Delete 0 in {}.
- Use _uA instead of _UA in definition.
- Refine the description.
- Use usleep_range instead of udelay.
- Rename config to LEDS_MT6370_FLASH.
- Add missing ">" in copyright.
- Change the Kconfig order

- In Patch 13/13:
- Add support 'exponential mode' property parsing
- Add 'return dev_err_probe()' after 'if (IS_ERR(priv->enable_gpio))'
- Add 'mt6372' compatible string
- Revise Kconfig help text
- Revise update()/get() for supporting 16384 steps (MT6372)
- Revise all shift usages form using 'ffs() and fls()' to defining the _SHIFT macros.
- Revise 'brightness ? 1 : 0' to '!!brightness' in gpiod_set_value()

Changes in v6:
- In Patch 03/13:
- Add 'reg' property of led of multi-led to prevent checking error.

- In Patch 08/13:
- Convert tcpci as device resource managed with 'devm_add_action_or_reset' api.
- Refine remvoe callback.
- Refine the commit text from 'this commit add' to 'add'.

- In Patch 09/13:
- Using 'struct device *dev = &pdev->dev' in probe()
- Revise the sixth parameter of regmap_read_poll_timeout() by Replacing '1000' with 'MILLI'
- Revise the units of three macros
- MT6370_AICR_400MA --> MT6370_AICR_400_mA
- MT6370_ICHG_500MA --> MT6370_ICHG_500_mA
- MT6370_ICHG_900MA --> MT6370_ICHG_900_mA

- In patch 10/13:
- Remove the varable (*psy_desc) of struct mt6370_priv
- Remove the deprecated usb type (POWER_SUPPLY_TYPE_USB_CDP and POWER_SUPPLY_TYPE_USB_DCP)
- Remove useless remove()
- Revise all units from mini- to micro-
- Revise get/set power_supply_prop (change to directly return get/set regmap_field)
- Revise probe() and use devm_add_action_or_reset() for handling of the workqueue/delayed_work/mutex
- Revise mt6370_chg_psy_desc
- Add '.name = "mt6370-charger"'
- Use 'static const'

- In patch 11/13:
- Remove the 'ko' from mt6370 led Kconfig description.
- Add both authors for Alice and ChiYuan.
- Use pdata to distinguish the code from mt6370/71 to mt6372.
- Instead of 'state' define, use the 'state' enum.
- Fix the typo for 'MT6372_PMW_DUTY'.
- For pwm_duty define, replace with bit macro - 1.
- Refine all the labels from 'out' to 'out_unlock'.
- Use struct 'dev' variable and 'dev_err_probe' to optimize the LOC.
- Revise for the array initialization from {0} to {}.
- Move into rgb folder and rename file name to 'leds-mt6370-rgb'.
- Refine the 'comma' usage in struct/enum.

- In patch 12/13:
- Use 'GENMASK' instead of 'BIT'.
- Use dev_err_probe to decrease LOC.
- Use 'dev' variable to make probe function more clean.
- Refine the return of _mt6370_flash_brightness_set function.
- Refine the descriptions.
- Use mt6370_clamp() instead of clamp_align().
- Use device resource managed API for v4l2 flash_release.

Changes in v5:
- In patch 07/13:
- Add the comma in the last REGMAP_IRQ_REG_LINE(), DEFINE_RES_IRQ_NAMED() and MFD_CELL_RES()
- Add the prefix in the first parameter of all mfd_cell
- Move enum and struct mt6370_info to mt6370.h
- Remove struct device *dev in struct mt6370_info
- Revise the description of Kconfig help text
- Revise MODULE_DESCRIPTION()

- In patch 08/13:
- Add comma for the last index of mt6370_reg_init.
- Use dev_err_probe to decrease LOC.
- Use 'dev' variable to make probe function more clean.
- Refine kconfig text.
- Remove both 'else' in set_vbus callback.
- Remove comma for of_device_id if the assigned member is only one.

- In patch 09/13:
- Replace using snprintf() with sysfs_emit() in mt6370_adc_read_label()
- Remove macro ADC_CONV_TIME_US
- Revise all variable ordering
- Revise the description of Kconfig help text
- Revise MODULE_DESCRIPTION()

- In patch 10/13:
- Replace unsigned int type of pwr_rdy with bool in mt6370_chg_set_online()
- Remove redundant 'else' in mt6370_chg_field_get()
- Revise 'if-else' in mt6370_chg_field_set()
- Revise 'if' condition in mt6370_chg_enable_irq()
- Revise all text 'otg' --> 'OTG'
- Revise MT6370_MIVR_IBUS_TH_100_MA --> MT6370_MIVR_IBUS_TH_100_mA
- Revise the description of Kconfig help text

- In patch 12/13:
- Refine the coding style.
- Use "dev" instead of "&pdev->dev".

- In patch 13/13:
- Add missed <mod_devicetable.h>
- Add struct device *dev in probe() to make code cleaning
- Remove useless including header file <gpio/driver.h>, <of.h>
- Remove useless variable uasage in mt6370_init_backlight_properties()
- Remove redundant checking enable_gpio in mt6370_bl_update_status()
- Remove redundant parentheses in mt6370_bl_get_brightness()
- Revise the description of Kconfig help text
- Revise the calculation of hys_th_steps

Changes in v4:
- In patch 02/13:
- Add minItems of "io-channel-names"
- Replace text "Mediatek" with "MediaTek"

- In patch 06/13:
- Roll back all "$ref: " to v2 patch style (using "/schemas/...")

- In patch 07/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig
- Replace "first break and then return" with "return directly" in "mt6370_check_vendor_info()"
- Add module name related description in Kconfig helptext
- Add Copyright in the source code
- Add header file "mt6370.h" for all "#define IRQ"
- Adjust Makefile order of MT6370
- Refine "bank_idx" and "bank_addr" in "mt6375_regmap_read()" / "mt6375_regmap_write()"
- Refine redundant "else if" in "mt6370_regmap_read()"

- In patch 08/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig
- Replace "first ret=regulator_(dis/en)able and then return" with "return directly" in "mt6370_tcpc_set_vbus()"
- Replace header file <linux/of.h> with <linux/mod_devicetable.h>
- Add Copyright in the source code
- Add module name related description in Kconfig helptext
- Remove header file <linux/of.h>
- Refine all probe error by using dev_err_probe()

- In patch 09/13:
- Replace text "Mediatek" with "MediaTek"
- Replace all "first dev_err() and then return" with "return dev_err_probe()"
- Add Copyright in the source code
- Add module name related description in Kconfig
- Add unit suffix of macro "ADC_CONV_POLLING_TIME"
- Add new macro "ADC_CONV_TIME_MS"
- Adjust the position of include file <mediatek,mt6370_adc.h>
- Adjust the postions between <linux/module.h> and <linux/mod_devicetable.h>
- Fix some incorrect characters

- In patch 10/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig and MODULE_DESCRIPTION()
- Replace "mt6370_chg_val_to_reg" and "mt6370_chg_reg_to_val" with "linear_range" API
- Replace "first break and then return" with "return directly" in all cases of get/set power_supply_property
- Replace all "first dev_err() and then return" with "return dev_err_probe()"
- Replace all "return IS_ERR(priv->rdev) ? PTR_ERR(priv->rdev) : 0" with "PTR_ERR_OR_ZERO()"
- Replace "priv->dev->of_node" with "dev_of_node()"
- Add Copyright in the source code
- Add module name related description in Kconfig helptext
- Add proper unit of "MT6370_MIVR_IBUS_TH"
- Add error check in "mt6370_chg_get_status"
- Remove including <mediatek,mt6370_adc.h> header file
- Remove redundant comma of every enum terminator line
- Remove unwanted blank lines
- Remove the useless label (toggle_cfo_exit:)
- Remove using atomic
- Remove using of_match_ptr()
- Fix some incorrect characters
- Fix updating wrong bits when using ena_gpiod of OTG regulator
- Adjust the probe order in probe()

- In patch 11/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig
- Replace text "const" with "constant" in Kconfig
- Add Copyright in the source code

- In patch 12/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig
- Add Copyright in the source code

- In patch 13/13:
- Replace text "Mediatek" with "MediaTek" in Kconfig
- Add Copyright in the source code
- Revise the comment of "PWM HYS STEPS"

Changes in v3:
- Remove ADC ABI file, which is added in v2 Patch 7
- In patch 02/14:
- Add items and remove maxItems of io-channels
- Add io-channel-names and describe each item
- Add "unevaluatedProperties: false" in "usb-otg-vbus-regulator"
- Rename "enable-gpio" to "enable-gpios" in "usb-otg-vbus-regulator"

- In patch 03/14:
- Use leds-class-multicolor.yaml instead of common.yaml.
- Split multi-led and led node.
- Add subdevice "led" in "multi-led".

- In patch 04/14:
- Remove the description of enum.

- In patch 05/14:
- Rename "mediatek,bled-pwm-hys-input-threshold-steps" to "mediatek,bled-pwm-hys-input-th-steps"
- Refine "bled-pwm-hys-input-th-steps", "bled-ovp-microvolt", "bled-ocp-microamp" enum values

- In patch 06/14:
- Use " in entire patchset
- Refine ADC description
- Rename "enable-gpio" to "enable-gpios" in "regualtor"

- In patch 07/14:
- Refine Kconfig help text
- Refine error message of unknown vendor ID in mt6370_check_vendor_info()
- Refine return value handling of mt6370_regmap_read()
- Refine all probe error by using dev_err_probe()
- Refine "bank_idx" and "bank_addr" in mt6370_regmap_read() and mt6370_regmap_write()
- Add "#define VENID*" and drop the comments in mt6370_check_vendor_info()
- Drop "MFD" in MODULE_DESCRIPTION()

- In patch 09/14:
- Refine Kconfig help text

- In patch 10/14:
- Refine Kconfig help text
- Refine all channel value in read_scale()
a. current: uA --> mA
b. voltage: uV --> mV
c. temperature: degrees Celsius --> milli degrees Celsius
- Add "default:" condition of switch statement in read_scale() and read_raw()
- Add error message for reading ADC register failed
- Add the comment for adc_lock
- Add <linux/mod_devicetable.h> header file for struct of_device_id
- Replace "adc" text with "ADC" in all of the error messages

- In patch 12/14:
- Refine the grammer of the Kconfig.
- Change reg mode to the const current mode.

- In patch 14/14:
- Refine bool properties parsing (pwm-enable, ovp-shutdown, ocp-shutdown) in DT parsing function
- Refine u32 and u8 properties parsing (pwm-hys-input-th-steps, ovp-microvolt, ocp-microamp), from using register value to using actual value
- Refine error string of "channle-use" parsing failed
- Refine Kconfig help text

Changes in v2:
- In patch 01/15:
- Add "unevaluatedProperties: false".
- Delete "DT bindings".
- Refine the description to fit in 80 columns.
- Skip the connector description.

- In patch 02/15:
- Refine items description of interrupt-name
- Rename "usb-otg-vbus" to "usb-otg-vbus-regulator"
- Add constraint properties for ADC

- In patch 03/15:
- Skip not useful description of "^(multi-)?led@[0-3]$" and reg.
- Due to the dependency, remove the mention of mfd document directory.
- Delete Soft-start property. In design aspect, we think soft-restart should always be enabled, our new chip has deleted the related setting register , also, we don’t allow user adjust this parameter in this chip.
- Refine the commit message.

- In patch 04/15:
- Skip not useful description of "^led@[0-1]$" and reg.
- Add apace after '#'.
- Refine the commit message.

- In patch 05/15:
- Remove "binding documentation" in subject title
- Refine description of mt6370 backlight binding document
- Refine properties name(bled-pwm-hys-input-bit, bled-ovp-microvolt, bled-ocp-microamp) and their description

- In patch 06/15:
- Refine ADC and Regulator descriptions
- Refine include header usage in example
- Refine node name to generic node name("pmic@34")
- Refine led example indentation
- Refine license of mediatek,mt6370_adc.h
- Rename the dts example from IRQ define to number.
- Remove mediatek,mt6370.h

- In patch 07/15:
- Add ABI documentation for mt6370 non-standard ADC sysfs interfaces.

- In patch 08/15:
- Add all IRQ define into mt6370.c.
- Refine include header usage

- In patch 09/15:
- No changes.

- In patch 10/15:
- Use 'gpiod_get_from_of_node' to replace
'fwnode_gpiod_get_index'.

- In patch 11/15:
- Refine Kconfig mt6370 help text
- Refine mask&shift to FIELD_PREP()
- Refine mutex lock name ("lock" -> "adc_lock")
- Refine mt6370_adc_read_scale()
- Refine mt6370_adc_read_offset()
- Refine mt6370_channel_labels[] by using enum to index chan spec
- Refine MT6370_ADC_CHAN()
- Refine indio_dev->name
- Remove useless include header files

- In patch 12/15:
- Refine mt6370_chg_otg_rdesc.of_match ("mt6370,otg-vbus" -> "usb-otg-vbus-regulator") to match DT binding

- In patch 13/15:
- Refine Kconfig description.
- Remove include "linux/of.h" and use "linux/mod_devicetable.h".
- Place a comma for the last element of the const unsigned int array.
- Add a comment line for the mutex 'lock'.
- In probe function, use 'dev_err_probe' in some judgement to reduce the LOC.
- Refine include header usage. BIT/GENMASK -> linux/bits.h
FIELD_GET -> linux/bitfield.h

- In patch 14/15:
- Add blank line.
- Replace container_of() with to_mt6370_led() .
- Refine description of ramping.
- Refine the mt6370_init_common_properties function.
- Refine the probe return.

- In patch 15/15:
- Refine MT6370 help text in Kconfig
- Refine DT Parse function
- Remove useless enum
- Add comment for 6372 backward compatible in bl_update_status() and
check_vendor_info()
- Using dev_err_probe(); insteads dev_err()&return; in the probe()

 Documentation/leds/leds-mt6370-rgb.rst |   64 ++
 drivers/leds/flash/Kconfig             |   13 +
 drivers/leds/flash/Makefile            |    1 +
 drivers/leds/flash/leds-mt6370-flash.c |  573 ++++++++++++++++++
 drivers/leds/rgb/Kconfig               |   13 +
 drivers/leds/rgb/Makefile              |    1 +
 drivers/leds/rgb/leds-mt6370-rgb.c     | 1010 ++++++++++++++++++++++++++++++++
 7 files changed, 1675 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
 create mode 100644 drivers/leds/flash/leds-mt6370-flash.c
 create mode 100644 drivers/leds/rgb/leds-mt6370-rgb.c
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH v18 1/3 leds: rgb: mt6370: Add MediaTek MT6370 current sink type LED Indicator support

From: ChiYuan Huang <[email protected]>

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MediaTek MT6370 Current Sink Type LED Indicator driver. It can control four channels current-sink RGB LEDs with 3 modes:
constant current, PWM, and breath mode.

---
v18:
- Rename 'MT6370_VENID_MASK' to more human readable 'MT6370_VENDOR_ID_MASK'
- Define the const number vid.
- Unwrap each line by 100 chars limit.
- Remove the redudant space in 'mt6370_gen_breath_pattern()' comment for patterh data allocation.
- Define a sub function 'mt6370_assign_multicolor_info()' to tidy up 'mt6370_init_led_properties()' for multicolor case.
- Define a sub function 'mt6370_multicolor_led_register' to tidy up 'mt6370_led_register()' for multicolor case.
- Refine 'fwnode_handle_put' in probe function with 'goto'.

---
 drivers/leds/rgb/Kconfig           |   13 +
 drivers/leds/rgb/Makefile          |    1 +
 drivers/leds/rgb/leds-mt6370-rgb.c | 1010 ++++++++++++++++++++++++++++++++++++
 3 files changed, 1024 insertions(+)
 create mode 100644 drivers/leds/rgb/leds-mt6370-rgb.c
drivers/leds/rgb/Kconfig +13 -0
index 204cf47..7d86bb2 100644
@@ -26,4 +26,17 @@ config LEDS_QCOM_LPG
 
 	  If compiled as a module, the module will be named leds-qcom-lpg.
 
+config LEDS_MT6370_RGB
+	tristate "LED Support for MediaTek MT6370 PMIC"
+	depends on MFD_MT6370
+	select LINEAR_RANGE
+	help
+	  Say Y here to enable support for MT6370_RGB LED device.
+	  In MT6370, there are four channel current-sink LED drivers that
+	  support hardware pattern for constant current, PWM, and breath mode.
+	  Isink4 channel can also be used as a CHG_VIN power good indicator.
+
+	  This driver can also be built as a module. If so, the module
+	  will be called "leds-mt6370-rgb".
+
 endif # LEDS_CLASS_MULTICOLOR
drivers/leds/rgb/Makefile +1 -0
index 0675bc0..8c01daf 100644
@@ -2,3 +2,4 @@
 
 obj-$(CONFIG_LEDS_PWM_MULTICOLOR)	+= leds-pwm-multicolor.o
 obj-$(CONFIG_LEDS_QCOM_LPG)		+= leds-qcom-lpg.o
+obj-$(CONFIG_LEDS_MT6370_RGB)		+= leds-mt6370-rgb.o
drivers/leds/rgb/leds-mt6370-rgb.c new file +1010 -0

1,010 lines not on this page · raw message

Signature · 1 line
2.7.4
maintainer Applied
#2 lore raw

Re: [PATCH v18 1/3] leds: rgb: mt6370: Add MediaTek MT6370 current sink type LED Indicator support

Quoted 30 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MediaTek MT6370 Current Sink Type LED Indicator driver. It can control four channels current-sink RGB LEDs with 3 modes:
constant current, PWM, and breath mode.

---
v18:
- Rename 'MT6370_VENID_MASK' to more human readable 'MT6370_VENDOR_ID_MASK'
- Define the const number vid.
- Unwrap each line by 100 chars limit.
- Remove the redudant space in 'mt6370_gen_breath_pattern()' comment for patterh data allocation.
- Define a sub function 'mt6370_assign_multicolor_info()' to tidy up 'mt6370_init_led_properties()' for multicolor case.
- Define a sub function 'mt6370_multicolor_led_register' to tidy up 'mt6370_led_register()' for multicolor case.
- Refine 'fwnode_handle_put' in probe function with 'goto'.

Quoted 6 lines
---
 drivers/leds/rgb/Kconfig           |   13 +
 drivers/leds/rgb/Makefile          |    1 +
 drivers/leds/rgb/leds-mt6370-rgb.c | 1010 ++++++++++++++++++++++++++++++++++++
 3 files changed, 1024 insertions(+)
 create mode 100644 drivers/leds/rgb/leds-mt6370-rgb.c

Applied, thanks

--
Lee Jones [李琼斯]

#3 lore raw

Re: [PATCH v18 1/3] leds: rgb: mt6370: Add MediaTek MT6370 current sink type LED Indicator support

In reply to ChiaEn Wu

Hi!

Quoted 19 lines

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MediaTek MT6370 Current Sink Type LED Indicator driver. It can control four channels current-sink RGB LEDs with 3 modes:
constant current, PWM, and breath mode.

+++ b/drivers/leds/rgb/Makefile

drivers/leds/rgb/Makefile line 5

Quoted 4 lines
drivers/leds/rgb/Makefile +1 -0
@@ -2,3 +2,4 @@
 
 obj-$(CONFIG_LEDS_PWM_MULTICOLOR)	+= leds-pwm-multicolor.o
 obj-$(CONFIG_LEDS_QCOM_LPG)		+= leds-qcom-lpg.o
+obj-$(CONFIG_LEDS_MT6370_RGB)		+= leds-mt6370-rgb.o

I'd preffer leds-mt6370 name. We already have "rgb" in directory name...

Otherwise looks good. Thanks for doing this.

BR,
Pavel

Signature · 1 line
People of Russia, stop Putin before his war on Ukraine escalates.
#4 lore raw

Re: [PATCH v18 1/3] leds: rgb: mt6370: Add MediaTek MT6370 current sink type LED Indicator support

Quoted 22 lines · Pavel Machek

Hi!

Quoted 20 lines

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MediaTek MT6370 Current Sink Type LED Indicator driver. It can control four channels current-sink RGB LEDs with 3 modes:
constant current, PWM, and breath mode.

+++ b/drivers/leds/rgb/Makefile

(quoted diff) +0 -0
@@ -2,3 +2,4 @@
 
Quoted 7 lines

drivers/leds/rgb/Makefile line 5

Quoted 3 lines
drivers/leds/rgb/Makefile +1 -0
 obj-$(CONFIG_LEDS_PWM_MULTICOLOR)	+= leds-pwm-multicolor.o
 obj-$(CONFIG_LEDS_QCOM_LPG)		+= leds-qcom-lpg.o
+obj-$(CONFIG_LEDS_MT6370_RGB)		+= leds-mt6370-rgb.o

I'd preffer leds-mt6370 name. We already have "rgb" in directory name...

Yap, sure,

But for mt6370 leds, except rgb indicators, there are also flashes for camera. To keep the postfix in filename can more precisely tell what the file for.

Quoted 6 lines

Otherwise looks good. Thanks for doing this.

BR,
Pavel

Signature · 1 line
People of Russia, stop Putin before his war on Ukraine escalates.
author
#5 lore raw

PATCH v18 2/3 leds: flash: mt6370: Add MediaTek MT6370 flashlight support

In reply to ChiaEn Wu

From: ChiYuan Huang <[email protected]>

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MT6370 Flash LED driver. Flash LED in MT6370 has 2 channels and support torch/strobe mode.

---
v18:
- Unwrap each line by 100 chars limit.
- For joint flash, add more comments above the source code.
- Remove 'sentinel' comment in of_device_id table declaration.

---
 drivers/leds/flash/Kconfig             |  13 +
 drivers/leds/flash/Makefile            |   1 +
 drivers/leds/flash/leds-mt6370-flash.c | 573 +++++++++++++++++++++++++++++++++
 3 files changed, 587 insertions(+)
 create mode 100644 drivers/leds/flash/leds-mt6370-flash.c
drivers/leds/flash/Kconfig +13 -0
index d3eb689..49d8922 100644
@@ -61,6 +61,19 @@ config LEDS_MT6360
 	  Independent current sources supply for each flash LED support torch
 	  and strobe mode.
 
+config LEDS_MT6370_FLASH
+	tristate "Flash LED Support for MediaTek MT6370 PMIC"
+	depends on LEDS_CLASS
+	depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
+	depends on MFD_MT6370
+	help
+	  Support 2 channels and torch/strobe mode.
+	  Say Y here to enable support for
+	  MT6370_FLASH_LED device.
+
+	  This driver can also be built as a module. If so, the module
+	  will be called "leds-mt6370-flash".
+
 config LEDS_RT4505
 	tristate "LED support for RT4505 flashlight controller"
 	depends on I2C && OF
drivers/leds/flash/Makefile +1 -0
index 0acbddc..4665e8e 100644
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 
 obj-$(CONFIG_LEDS_MT6360)	+= leds-mt6360.o
+obj-$(CONFIG_LEDS_MT6370_FLASH)	+= leds-mt6370-flash.o
 obj-$(CONFIG_LEDS_AAT1290)	+= leds-aat1290.o
 obj-$(CONFIG_LEDS_AS3645A)	+= leds-as3645a.o
 obj-$(CONFIG_LEDS_KTD2692)	+= leds-ktd2692.o
drivers/leds/flash/leds-mt6370-flash.c new file +573 -0

573 lines not on this page · raw message

Signature · 1 line
2.7.4
maintainer Applied
#6 lore raw

Re: [PATCH v18 2/3] leds: flash: mt6370: Add MediaTek MT6370 flashlight support

Quoted 21 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MT6370 Flash LED driver. Flash LED in MT6370 has 2 channels and support torch/strobe mode.

---
v18:
- Unwrap each line by 100 chars limit.
- For joint flash, add more comments above the source code.
- Remove 'sentinel' comment in of_device_id table declaration.

Quoted 6 lines
---
 drivers/leds/flash/Kconfig             |  13 +
 drivers/leds/flash/Makefile            |   1 +
 drivers/leds/flash/leds-mt6370-flash.c | 573 +++++++++++++++++++++++++++++++++
 3 files changed, 587 insertions(+)
 create mode 100644 drivers/leds/flash/leds-mt6370-flash.c

Applied, thanks

--
Lee Jones [李琼斯]

maintainer
#7 lore raw

Re: [PATCH v18 2/3] leds: flash: mt6370: Add MediaTek MT6370 flashlight support

Quoted 30 lines · Lee Jones
Quoted 21 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

The MediaTek MT6370 is a highly-integrated smart power management IC, which includes a single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C & Power Delivery (PD) controller, dual Flash LED current sources, a RGB LED driver, a backlight WLED driver, a display bias driver and a general LDO for portable devices.

Add support for the MT6370 Flash LED driver. Flash LED in MT6370 has 2 channels and support torch/strobe mode.

---
v18:
- Unwrap each line by 100 chars limit.
- For joint flash, add more comments above the source code.
- Remove 'sentinel' comment in of_device_id table declaration.

Quoted 6 lines
---
 drivers/leds/flash/Kconfig             |  13 +
 drivers/leds/flash/Makefile            |   1 +
 drivers/leds/flash/leds-mt6370-flash.c | 573 +++++++++++++++++++++++++++++++++
 3 files changed, 587 insertions(+)
 create mode 100644 drivers/leds/flash/leds-mt6370-flash.c
Quoted 1 line

Applied, thanks

Next time, please make checkpatch.pl happy before submitting.

--
Lee Jones [李琼斯]

author
#8 lore raw

PATCH v18 3/3 docs: leds: Add MT6370 RGB LED pattern document

In reply to ChiaEn Wu

From: ChiYuan Huang <[email protected]>

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.

---
v18:
- Revise the text in document title and description.

---
 Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
Documentation/leds/leds-mt6370-rgb.rst new file +64 -0
new file mode 100644
index 00000000..abf739e
@@ -0,0 +1,64 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================================
+The device 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 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 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.
Signature · 1 line
2.7.4
maintainer
#9 lore raw

Re: [PATCH v18 3/3] docs: leds: Add MT6370 RGB LED pattern document

Quoted 7 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

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.

Quoted 7 lines

---
v18:
- Revise the text in document title and description.

---
 Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++

These 3 patches now look good.

You do not need to make any more changes to these.

Quoted 20 lines
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
Documentation/leds/leds-mt6370-rgb.rst new file +11 -0
new file mode 100644
index 00000000..abf739e
@@ -0,0 +1,64 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================================
+The device 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 devices

Documentation/leds/leds-mt6370-rgb.rst line 21

Quoted 10 lines
Documentation/leds/leds-mt6370-rgb.rst new file +10 -0
+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 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

However, this needs an entry in Documentation/ABI/testing.

Quoted 44 lines
Documentation/leds/leds-mt6370-rgb.rst new file +43 -1
+--------------------------------
+
+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.
--
Quoted 2 lines

2.7.4

--
Lee Jones [李琼斯]

#10 lore raw

Re: [PATCH v18 3/3] docs: leds: Add MT6370 RGB LED pattern document

Quoted 45 lines · Lee Jones
Quoted 7 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

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.

Quoted 7 lines

---
v18:
- Revise the text in document title and description.

---
 Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++

These 3 patches now look good.

You do not need to make any more changes to these.

Quoted 24 lines
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst
Documentation/leds/leds-mt6370-rgb.rst new file +15 -0
new file mode 100644
index 00000000..abf739e
@@ -0,0 +1,64 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================================
+The device 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 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
Quoted 9 lines

Documentation/leds/leds-mt6370-rgb.rst line 21

Quoted 6 lines
Documentation/leds/leds-mt6370-rgb.rst new file +6 -0
+can increase or decrease the brightness of the RGB LED via 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

However, this needs an entry in Documentation/ABI/testing.

This comes from the led-trigger-pattern and already documented in 'sysfs-class-led-trigger-pattern'.

Quoted 49 lines
Quoted 44 lines
Documentation/leds/leds-mt6370-rgb.rst new file +43 -1
+--------------------------------
+
+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.
--
Quoted 2 lines

2.7.4

--
Lee Jones [李琼斯]

maintainer Applied
#11 lore raw

Re: [PATCH v18 3/3] docs: leds: Add MT6370 RGB LED pattern document

In reply to ChiaEn Wu
Quoted 9 lines · ChiaEn Wu

From: ChiYuan Huang <[email protected]>

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.

Quoted 7 lines

---
v18:
- Revise the text in document title and description.

---
 Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/leds/leds-mt6370-rgb.rst

Applied, thanks

--
Lee Jones [李琼斯]