Skip to content

Commit

Permalink
Merge tag 'mfd-next-5.14' of git://git.kernel.org/pub/scm/linux/kerne…
Browse files Browse the repository at this point in the history
…l/git/lee/mfd

Pull mfd updates from Lee Jones:
 "Core Frameworks:
   - Fix Software Node clean-up code

  New Drivers:
   - Add support for MediaTek MT6359 PMIC
   - Add support for Qualcomm PM8008 PMIC
   - Add support for Richtek RT4831

  New Device Support:
   - Add support for Audio CODECs to Rockchip RK817
   - Add support for Alder Lake-M to Intel LPSS PCI
   - Add support for Periph Device Charge to ChromeOS EC

  New Functionality:
   - Provide additional IRQs for wcd934x
   - Add optional Reset functionality to lp87565

  Fix-ups:
   - Namespacing & visibility fixes to lp87565
   - Differentiate between Power and Home key IRQs in mt6358
   - Export I2C device tables in da9052-i2c, stmpe-i2c
   - Adapt IRQ flags in max8907, rn5t61, max8907
   - Make some functions/devices optional in axp20x, cros_ec_dev
   - Explicitly include used header files in ioc3
   - Remove superfluous lines in MAINTAINERS, sec-core, st,stm32-timers
   - Resolve Kerneldoc issues in omap-usb-host, omap-usb-tll, si476x-cmd, si476x-i2c
   - Convert arizona-core to a module
   - Copyright changes in hi655x-pmic
   - Drop support for board file initialisation in sec-core
   - Trivial spelling, whitespace etc updates in lp87565, si476x-cmd,
     mt6360-core, wm831x-core, twl-core, db8500-prcmu
   - Simplify various implementations of wcd934x, mt6360-core, max8997,
     max8998, da9052-i2c, da9062-core, sec-core,
   - Device Tree binding changes in google,cros-ec,
     richtek,rt4831-backlight, db8500-prcmu, qcom,pm8008, qcom,spmi-pmic
   - Use provided APIs to simplify t7l66xb, as3722, da9055-core,
     tps80031, 88pm800, 88pm805, asic3, sun6i-prcm, wm831x-core,
     wm831x-otp, ucb1x00-assabet, timberdale, sm501, pcf50633-core,
     kempld-core, janz-cmodio, intel_soc_pmic_bxtwc, ab8500-core

  Bug Fixes:
   - Fix unused variable warning in rk817_codec
   - Fix regulator voltage configuration in rohm-bd71828
   - Fix ongoing freeing of regmap_config 'name' issue in syscon
   - Fix error handling path in da9063-i2c
   - Fix Kconfig issues in MFD_MP2629
   - Fix DMA mask warnings in motorola-cpcap"

* tag 'mfd-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (83 commits)
  mfd: cros_ec: Add peripheral device charger
  mfd: max8907: Remove IRQF_NO_AUTOEN flag
  mfd: ab8500-core: Use DEVICE_ATTR_RO/RW macro
  mfd: intel_soc_pmic_bxtwc: Use DEVICE_ATTR_ADMIN_RW macro
  mfd: janz-cmodio: Use DEVICE_ATTR_RO macro
  mfd: kempld-core: Use DEVICE_ATTR_RO macro
  mfd: pcf50633: Use DEVICE_ATTR_ADMIN_RO macro
  mfd: sm501: Use DEVICE_ATTR_RO macro
  mfd: timberdale: Use DEVICE_ATTR_RO macro
  mfd: ucb1x00-assabet: Use DEVICE_ATTR_RO macro
  mfd: wm831x: Use DEVICE_ATTR_RO macro
  mfd: wm831x: Use DEFINE_RES_IRQ_NAMED() and DEFINE_RES_IRQ() to simplify code
  dt-bindings: mfd: stm32-timers: Remove #address/size cells from required properties
  mfd: sun6i-prcm: Use DEFINE_RES_MEM() to simplify code
  mfd: asic3: Use DEFINE_RES_MEM() and DEFINE_RES_IRQ() to simplify code
  mfd: 88pm805: Use DEFINE_RES_IRQ_NAMED() to simplify code
  mfd: 88pm800: Use DEFINE_RES_IRQ_NAMED() to simplify code
  mfd: tps80031: Use DEFINE_RES_IRQ() to simplify code
  mfd: da9055: Use DEFINE_RES_IRQ_NAMED() to simplify code
  mfd: as3722: Use DEFINE_RES_IRQ_NAMED() to simplify code
  ...
  • Loading branch information
torvalds committed Jul 5, 2021
2 parents 18ef082 + 8a14ded commit 463c09d
Show file tree
Hide file tree
Showing 68 changed files with 1,753 additions and 1,067 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/backlight/richtek,rt4831-backlight.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT4831 Backlight

maintainers:
- ChiYuan Huang <[email protected]>

description: |
RT4831 is a mutifunctional device that can provide power to the LCD display
and LCD backlight.
For the LCD backlight, it can provide four channel WLED driving capability.
Each channel driving current is up to 30mA
Datasheet is available at
https://www.richtek.com/assets/product_file/RT4831A/DS4831A-05.pdf
allOf:
- $ref: common.yaml#

properties:
compatible:
const: richtek,rt4831-backlight

default-brightness:
minimum: 0
maximum: 2048

max-brightness:
minimum: 0
maximum: 2048

richtek,pwm-enable:
description: |
Specify the backlight dimming following by PWM duty or by SW control.
type: boolean

richtek,bled-ovp-sel:
description: |
Backlight OVP level selection, currently support 17V/21V/25V/29V.
$ref: /schemas/types.yaml#/definitions/uint8
default: 1
minimum: 0
maximum: 3

richtek,channel-use:
description: |
Backlight LED channel to be used.
BIT 0/1/2/3 is used to indicate led channel 1/2/3/4 enable or disable.
$ref: /schemas/types.yaml#/definitions/uint8
minimum: 1
maximum: 15

required:
- compatible
- richtek,channel-use

additionalProperties: false
20 changes: 20 additions & 0 deletions Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,22 @@ properties:
- "#address-cells"
- "#size-cells"

cbas:
type: object

description:
This device is used to signal when a detachable base is attached
to a Chrome OS tablet. This device cannot be detected at runtime.

properties:
compatible:
const: google,cros-cbas

required:
- compatible

additionalProperties: false

patternProperties:
"^i2c-tunnel[0-9]*$":
type: object
Expand Down Expand Up @@ -187,6 +203,10 @@ examples:
proximity {
compatible = "google,cros-ec-mkbp-proximity";
};
cbas {
compatible = "google,cros-cbas";
};
};
};
Expand Down
121 changes: 121 additions & 0 deletions Documentation/devicetree/bindings/mfd/qcom,pm8008.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/qcom,pm8008.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. PM8008 PMIC bindings

maintainers:
- Guru Das Srinagesh <[email protected]>

description: |
Qualcomm Technologies, Inc. PM8008 is a dedicated camera PMIC that integrates
all the necessary power management, housekeeping, and interface support
functions into a single IC.
properties:
compatible:
const: qcom,pm8008

reg:
description:
I2C slave address.

maxItems: 1

interrupts:
maxItems: 1

description: Parent interrupt.

"#interrupt-cells":
const: 2

description: |
The first cell is the IRQ number, the second cell is the IRQ trigger
flag. All interrupts are listed in include/dt-bindings/mfd/qcom-pm8008.h.
interrupt-controller: true

"#address-cells":
const: 1

"#size-cells":
const: 0

patternProperties:
"^gpio@[0-9a-f]+$":
type: object

description: |
The GPIO peripheral. This node may be specified twice, one for each GPIO.
properties:
compatible:
const: qcom,pm8008-gpio

reg:
description: Peripheral address of one of the two GPIO peripherals.
maxItems: 1

gpio-controller: true

interrupt-controller: true

"#interrupt-cells":
const: 2

"#gpio-cells":
const: 2

required:
- compatible
- reg
- gpio-controller
- interrupt-controller
- "#gpio-cells"
- "#interrupt-cells"

additionalProperties: false

required:
- compatible
- reg
- interrupts
- "#address-cells"
- "#size-cells"
- "#interrupt-cells"

additionalProperties: false

examples:
- |
#include <dt-bindings/mfd/qcom-pm8008.h>
#include <dt-bindings/interrupt-controller/irq.h>
qupv3_se13_i2c {
#address-cells = <1>;
#size-cells = <0>;
pm8008i@8 {
compatible = "qcom,pm8008";
reg = <0x8>;
#address-cells = <1>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&tlmm>;
interrupts = <32 IRQ_TYPE_EDGE_RISING>;
gpio@c000 {
compatible = "qcom,pm8008-gpio";
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
};
...
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ Required properties:
"qcom,pm8998",
"qcom,pmi8998",
"qcom,pm8005",
"qcom,pm8350c",
"qcom,pmk8350",
"qcom,pm7325",
"qcom,pmr735a",
or generalized "qcom,spmi-pmic".
- reg: Specifies the SPMI USID slave address for this device.
For more information see:
Expand Down
90 changes: 90 additions & 0 deletions Documentation/devicetree/bindings/mfd/richtek,rt4831.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/richtek,rt4831.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT4831 DSV and Backlight Integrated IC

maintainers:
- ChiYuan Huang <[email protected]>

description: |
RT4831 is a multifunctional device that can provide power to the LCD display
and LCD backlight.
For Display Bias Voltage DSVP and DSVN, the output range is about 4V to 6.5V.
It's sufficient to meet the current LCD power requirement.
For the LCD backlight, it can provide four channel WLED driving capability.
Each channel driving current is up to 30mA
Datasheet is available at
https://www.richtek.com/assets/product_file/RT4831A/DS4831A-05.pdf
properties:
compatible:
const: richtek,rt4831

reg:
description: I2C device address.
maxItems: 1

enable-gpios:
description: |
GPIO to enable/disable the chip. It is optional.
Some usage directly tied this pin to follow VIO 1.8V power on sequence.
maxItems: 1

regulators:
$ref: ../regulator/richtek,rt4831-regulator.yaml

backlight:
$ref: ../leds/backlight/richtek,rt4831-backlight.yaml

required:
- compatible
- reg

additionalProperties: false

examples:
- |
#include <dt-bindings/leds/rt4831-backlight.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
rt4831@11 {
compatible = "richtek,rt4831";
reg = <0x11>;
regulators {
DSVLCM {
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <7150000>;
regulator-allow-bypass;
};
DSVP {
regulator-name = "rt4831-dsvp";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6500000>;
regulator-boot-on;
};
DSVN {
regulator-name = "rt4831-dsvn";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6500000>;
regulator-boot-on;
};
};
backlight {
compatible = "richtek,rt4831-backlight";
default-brightness = <1024>;
max-brightness = <2048>;
richtek,bled-ovp-sel = /bits/ 8 <RT4831_BLOVPLVL_21V>;
richtek,channel-use = /bits/ 8 <RT4831_BLED_ALLCHEN>;
};
};
};
2 changes: 0 additions & 2 deletions Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,6 @@ patternProperties:
- compatible

required:
- "#address-cells"
- "#size-cells"
- compatible
- reg
- clocks
Expand Down
Loading

0 comments on commit 463c09d

Please sign in to comment.