mbox series

[v2,00/15] Add Mediatek MT6370 PMIC support

Message ID 20220613111146.25221-1-peterwu.pub@gmail.com (mailing list archive)
Headers show
Series Add Mediatek MT6370 PMIC support | expand

Message

ChiaEn Wu June 13, 2022, 11:11 a.m. UTC
From: ChiaEn Wu <chiaen_wu@richtek.com>

This patch series add Mediatek MT6370 PMIC 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.

Among with this we took some changes and refined the device tree files to
comply with DT specifications.

Thank you,
ChiaEn Wu

---
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()

Alice Chen (2):
  dt-bindings: leds: Add Mediatek MT6370 flashlight
  leds: flashlight: mt6370: Add Mediatek MT6370 flashlight support

ChiYuan Huang (8):
  dt-bindings: usb: Add Mediatek MT6370 TCPC
  dt-bindings: leds: mt6370: Add Mediatek mt6370 current sink type LED
    indicator
  dt-bindings: backlight: Add Mediatek MT6370 backlight
  dt-bindings: mfd: Add Mediatek MT6370
  mfd: mt6370: Add Mediatek MT6370 support
  usb: typec: tcpci_mt6370: Add Mediatek MT6370 tcpci driver
  regulator: mt6370: Add mt6370 DisplayBias and VibLDO support
  leds: mt6370: Add Mediatek MT6370 current sink type LED Indicator
    support

ChiaEn Wu (5):
  dt-bindings: power: supply: Add Mediatek MT6370 Charger
  Documentation: ABI: testing: mt6370: Add ADC sysfs guideline
  iio: adc: mt6370: Add Mediatek MT6370 support
  power: supply: mt6370: Add Mediatek MT6370 charger driver
  video: backlight: mt6370: Add Mediatek MT6370 support

 .../ABI/testing/sysfs-bus-iio-adc-mt6370      |   36 +
 .../backlight/mediatek,mt6370-backlight.yaml  |  107 ++
 .../leds/mediatek,mt6370-flashlight.yaml      |   44 +
 .../leds/mediatek,mt6370-indicator.yaml       |   48 +
 .../bindings/mfd/mediatek,mt6370.yaml         |  279 ++++
 .../power/supply/mediatek,mt6370-charger.yaml |   60 +
 .../bindings/usb/mediatek,mt6370-tcpc.yaml    |   36 +
 drivers/iio/adc/Kconfig                       |    9 +
 drivers/iio/adc/Makefile                      |    1 +
 drivers/iio/adc/mt6370-adc.c                  |  262 ++++
 drivers/leds/Kconfig                          |   11 +
 drivers/leds/Makefile                         |    1 +
 drivers/leds/flash/Kconfig                    |    9 +
 drivers/leds/flash/Makefile                   |    1 +
 drivers/leds/flash/leds-mt6370-flash.c        |  657 ++++++++++
 drivers/leds/leds-mt6370.c                    |  989 ++++++++++++++
 drivers/mfd/Kconfig                           |   13 +
 drivers/mfd/Makefile                          |    1 +
 drivers/mfd/mt6370.c                          |  349 +++++
 drivers/power/supply/Kconfig                  |   11 +
 drivers/power/supply/Makefile                 |    1 +
 drivers/power/supply/mt6370-charger.c         | 1132 +++++++++++++++++
 drivers/regulator/Kconfig                     |    8 +
 drivers/regulator/Makefile                    |    1 +
 drivers/regulator/mt6370-regulator.c          |  388 ++++++
 drivers/usb/typec/tcpm/Kconfig                |    8 +
 drivers/usb/typec/tcpm/Makefile               |    1 +
 drivers/usb/typec/tcpm/tcpci_mt6370.c         |  212 +++
 drivers/video/backlight/Kconfig               |    9 +
 drivers/video/backlight/Makefile              |    1 +
 drivers/video/backlight/mt6370-backlight.c    |  339 +++++
 .../dt-bindings/iio/adc/mediatek,mt6370_adc.h |   18 +
 32 files changed, 5042 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-adc-mt6370
 create mode 100644 Documentation/devicetree/bindings/leds/backlight/mediatek,mt6370-backlight.yaml
 create mode 100644 Documentation/devicetree/bindings/leds/mediatek,mt6370-flashlight.yaml
 create mode 100644 Documentation/devicetree/bindings/leds/mediatek,mt6370-indicator.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/mediatek,mt6370.yaml
 create mode 100644 Documentation/devicetree/bindings/power/supply/mediatek,mt6370-charger.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/mediatek,mt6370-tcpc.yaml
 create mode 100644 drivers/iio/adc/mt6370-adc.c
 create mode 100644 drivers/leds/flash/leds-mt6370-flash.c
 create mode 100644 drivers/leds/leds-mt6370.c
 create mode 100644 drivers/mfd/mt6370.c
 create mode 100644 drivers/power/supply/mt6370-charger.c
 create mode 100644 drivers/regulator/mt6370-regulator.c
 create mode 100644 drivers/usb/typec/tcpm/tcpci_mt6370.c
 create mode 100644 drivers/video/backlight/mt6370-backlight.c
 create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6370_adc.h