mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
Merge branches 'ib-mfd-cros-watchdog-6.9' and 'ib-mfd-input-thermal-6.9' into ibs-for-mfd-merged
This commit is contained in:
commit
3eeadf8ff9
7 changed files with 291 additions and 245 deletions
|
@ -1,47 +0,0 @@
|
|||
* Dialog DA9061/62/63 OnKey Module
|
||||
|
||||
This module is part of the DA9061/DA9062/DA9063. For more details about entire
|
||||
DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
|
||||
For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
|
||||
|
||||
This module provides the KEY_POWER event.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be one of the following valid compatible string lines:
|
||||
"dlg,da9061-onkey", "dlg,da9062-onkey"
|
||||
"dlg,da9062-onkey"
|
||||
"dlg,da9063-onkey"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- dlg,disable-key-power : Disable power-down using a long key-press. If this
|
||||
entry exists the OnKey driver will remove support for the KEY_POWER key
|
||||
press when triggered using a long press of the OnKey.
|
||||
|
||||
Example: DA9063
|
||||
|
||||
pmic0: da9063@58 {
|
||||
onkey {
|
||||
compatible = "dlg,da9063-onkey";
|
||||
dlg,disable-key-power;
|
||||
};
|
||||
};
|
||||
|
||||
Example: DA9062
|
||||
|
||||
pmic0: da9062@58 {
|
||||
onkey {
|
||||
compatible = "dlg,da9062-onkey";
|
||||
dlg,disable-key-power;
|
||||
};
|
||||
};
|
||||
|
||||
Example: DA9061 using a fall-back compatible for the DA9062 onkey driver
|
||||
|
||||
pmic0: da9061@58 {
|
||||
onkey {
|
||||
compatible = "dlg,da9061-onkey", "dlg,da9062-onkey";
|
||||
dlg,disable-key-power;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,38 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/input/dlg,da9062-onkey.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Dialog DA9061/62/63 OnKey Module
|
||||
|
||||
maintainers:
|
||||
- Biju Das <biju.das.jz@bp.renesas.com>
|
||||
|
||||
description: |
|
||||
This module is part of the DA9061/DA9062/DA9063. For more details about entire
|
||||
DA906{1,2,3} chips see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
|
||||
|
||||
This module provides the KEY_POWER event.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- dlg,da9062-onkey
|
||||
- dlg,da9063-onkey
|
||||
- items:
|
||||
- const: dlg,da9061-onkey
|
||||
- const: dlg,da9062-onkey
|
||||
|
||||
dlg,disable-key-power:
|
||||
type: boolean
|
||||
description:
|
||||
Disable power-down using a long key-press. If this entry exists
|
||||
the OnKey driver will remove support for the KEY_POWER key press
|
||||
when triggered using a long press of the OnKey.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
|
@ -1,124 +0,0 @@
|
|||
* Dialog DA9062 Power Management Integrated Circuit (PMIC)
|
||||
|
||||
Product information for the DA9062 and DA9061 devices can be found here:
|
||||
- https://www.dialog-semiconductor.com/products/da9062
|
||||
- https://www.dialog-semiconductor.com/products/da9061
|
||||
|
||||
The DA9062 PMIC consists of:
|
||||
|
||||
Device Supply Names Description
|
||||
------ ------------ -----------
|
||||
da9062-regulator : : LDOs & BUCKs
|
||||
da9062-rtc : : Real-Time Clock
|
||||
da9062-onkey : : On Key
|
||||
da9062-watchdog : : Watchdog Timer
|
||||
da9062-thermal : : Thermal
|
||||
da9062-gpio : : GPIOs
|
||||
|
||||
The DA9061 PMIC consists of:
|
||||
|
||||
Device Supply Names Description
|
||||
------ ------------ -----------
|
||||
da9062-regulator : : LDOs & BUCKs
|
||||
da9062-onkey : : On Key
|
||||
da9062-watchdog : : Watchdog Timer
|
||||
da9062-thermal : : Thermal
|
||||
|
||||
======
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Should be
|
||||
"dlg,da9062" for DA9062
|
||||
"dlg,da9061" for DA9061
|
||||
- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
|
||||
modified to match the chip's OTP settings).
|
||||
|
||||
Optional properties:
|
||||
|
||||
- gpio-controller : Marks the device as a gpio controller.
|
||||
- #gpio-cells : Should be two. The first cell is the pin number and the
|
||||
second cell is used to specify the gpio polarity.
|
||||
|
||||
See Documentation/devicetree/bindings/gpio/gpio.txt for further information on
|
||||
GPIO bindings.
|
||||
|
||||
- interrupts : IRQ line information.
|
||||
- interrupt-controller
|
||||
|
||||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
|
||||
further information on IRQ bindings.
|
||||
|
||||
Sub-nodes:
|
||||
|
||||
- regulators : This node defines the settings for the LDOs and BUCKs.
|
||||
The DA9062 regulators are bound using their names listed below:
|
||||
|
||||
buck1 : BUCK_1
|
||||
buck2 : BUCK_2
|
||||
buck3 : BUCK_3
|
||||
buck4 : BUCK_4
|
||||
ldo1 : LDO_1
|
||||
ldo2 : LDO_2
|
||||
ldo3 : LDO_3
|
||||
ldo4 : LDO_4
|
||||
|
||||
The DA9061 regulators are bound using their names listed below:
|
||||
|
||||
buck1 : BUCK_1
|
||||
buck2 : BUCK_2
|
||||
buck3 : BUCK_3
|
||||
ldo1 : LDO_1
|
||||
ldo2 : LDO_2
|
||||
ldo3 : LDO_3
|
||||
ldo4 : LDO_4
|
||||
|
||||
The component follows the standard regulator framework and the bindings
|
||||
details of individual regulator device can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
regulator-initial-mode may be specified for buck regulators using mode values
|
||||
from include/dt-bindings/regulator/dlg,da9063-regulator.h.
|
||||
|
||||
- rtc : This node defines settings required for the Real-Time Clock associated
|
||||
with the DA9062. There are currently no entries in this binding, however
|
||||
compatible = "dlg,da9062-rtc" should be added if a node is created.
|
||||
|
||||
- onkey : See ../input/da9062-onkey.txt
|
||||
|
||||
- watchdog: See ../watchdog/da9062-wdt.txt
|
||||
|
||||
- thermal : See ../thermal/da9062-thermal.txt
|
||||
|
||||
Example:
|
||||
|
||||
pmic0: da9062@58 {
|
||||
compatible = "dlg,da9062";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
|
||||
rtc {
|
||||
compatible = "dlg,da9062-rtc";
|
||||
};
|
||||
|
||||
regulators {
|
||||
DA9062_BUCK1: buck1 {
|
||||
regulator-name = "BUCK1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <500000>;
|
||||
regulator-max-microamp = <2000000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
DA9062_LDO1: ldo1 {
|
||||
regulator-name = "LDO_1";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
$id: http://devicetree.org/schemas/mfd/dlg,da9063.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)
|
||||
title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit (PMIC)
|
||||
|
||||
maintainers:
|
||||
- Steve Twiss <stwiss.opensource@diasemi.com>
|
||||
|
@ -17,10 +17,17 @@ description: |
|
|||
moment where all voltage monitors are disabled. Next, as da9063 only supports
|
||||
UV *and* OV monitoring, both must be set to the same severity and value
|
||||
(0: disable, 1: enable).
|
||||
Product information for the DA906{3L,3,2,1} devices can be found here:
|
||||
- https://www.dialog-semiconductor.com/products/da9063l
|
||||
- https://www.dialog-semiconductor.com/products/da9063
|
||||
- https://www.dialog-semiconductor.com/products/da9062
|
||||
- https://www.dialog-semiconductor.com/products/da9061
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- dlg,da9061
|
||||
- dlg,da9062
|
||||
- dlg,da9063
|
||||
- dlg,da9063l
|
||||
|
||||
|
@ -35,20 +42,28 @@ properties:
|
|||
"#interrupt-cells":
|
||||
const: 2
|
||||
|
||||
dlg,use-sw-pm:
|
||||
type: boolean
|
||||
description:
|
||||
Disable the watchdog during suspend.
|
||||
Only use this option if you can't use the watchdog automatic suspend
|
||||
function during a suspend (see register CONTROL_B).
|
||||
gpio-controller: true
|
||||
|
||||
watchdog:
|
||||
"#gpio-cells":
|
||||
const: 2
|
||||
|
||||
gpio:
|
||||
type: object
|
||||
$ref: /schemas/watchdog/watchdog.yaml#
|
||||
unevaluatedProperties: false
|
||||
additionalProperties: false
|
||||
properties:
|
||||
compatible:
|
||||
const: dlg,da9063-watchdog
|
||||
const: dlg,da9062-gpio
|
||||
|
||||
onkey:
|
||||
$ref: /schemas/input/dlg,da9062-onkey.yaml
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
patternProperties:
|
||||
"^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
|
||||
$ref: /schemas/regulator/regulator.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
rtc:
|
||||
type: object
|
||||
|
@ -56,37 +71,85 @@ properties:
|
|||
unevaluatedProperties: false
|
||||
properties:
|
||||
compatible:
|
||||
const: dlg,da9063-rtc
|
||||
enum:
|
||||
- dlg,da9062-rtc
|
||||
- dlg,da9063-rtc
|
||||
|
||||
onkey:
|
||||
thermal:
|
||||
$ref: /schemas/thermal/dlg,da9062-thermal.yaml
|
||||
|
||||
watchdog:
|
||||
$ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
|
||||
|
||||
patternProperties:
|
||||
"^(.+-hog(-[0-9]+)?)$":
|
||||
type: object
|
||||
$ref: /schemas/input/input.yaml#
|
||||
unevaluatedProperties: false
|
||||
properties:
|
||||
compatible:
|
||||
const: dlg,da9063-onkey
|
||||
|
||||
dlg,disable-key-power:
|
||||
type: boolean
|
||||
description: |
|
||||
Disable power-down using a long key-press.
|
||||
If this entry does not exist then by default the key-press triggered
|
||||
power down is enabled and the OnKey will support both KEY_POWER and
|
||||
KEY_SLEEP.
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
patternProperties:
|
||||
"^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$":
|
||||
$ref: /schemas/regulator/regulator.yaml
|
||||
unevaluatedProperties: false
|
||||
required:
|
||||
- gpio-hog
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-controller
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- dlg,da9063
|
||||
- dlg,da9063l
|
||||
then:
|
||||
properties:
|
||||
gpio-controller: false
|
||||
"#gpio-cells": false
|
||||
gpio: false
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^buck[1-4]$": false
|
||||
thermal: false
|
||||
required:
|
||||
- interrupts
|
||||
- interrupt-controller
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- dlg,da9062
|
||||
then:
|
||||
properties:
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
|
||||
required:
|
||||
- gpio
|
||||
- onkey
|
||||
- rtc
|
||||
- thermal
|
||||
- watchdog
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- dlg,da9061
|
||||
then:
|
||||
properties:
|
||||
gpio-controller: false
|
||||
"#gpio-cells": false
|
||||
gpio: false
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
|
||||
rtc: false
|
||||
required:
|
||||
- onkey
|
||||
- thermal
|
||||
- watchdog
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
@ -143,4 +206,121 @@ examples:
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/regulator/dlg,da9063-regulator.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic@58 {
|
||||
compatible = "dlg,da9062";
|
||||
reg = <0x58>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
sd0-pwr-sel-hog {
|
||||
gpio-hog;
|
||||
gpios = <1 0>;
|
||||
input;
|
||||
line-name = "SD0_PWR_SEL";
|
||||
};
|
||||
|
||||
sd1-pwr-sel-hog {
|
||||
gpio-hog;
|
||||
gpios = <2 0>;
|
||||
input;
|
||||
line-name = "SD1_PWR_SEL";
|
||||
};
|
||||
|
||||
sw-et0-en-hog {
|
||||
gpio-hog;
|
||||
gpios = <3 0>;
|
||||
input;
|
||||
line-name = "SW_ET0_EN#";
|
||||
};
|
||||
|
||||
pmic-good-hog {
|
||||
gpio-hog;
|
||||
gpios = <4 0>;
|
||||
output-high;
|
||||
line-name = "PMIC_PGOOD";
|
||||
};
|
||||
|
||||
gpio {
|
||||
compatible = "dlg,da9062-gpio";
|
||||
};
|
||||
|
||||
onkey {
|
||||
compatible = "dlg,da9062-onkey";
|
||||
};
|
||||
|
||||
regulators {
|
||||
buck1 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1380000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck2 {
|
||||
regulator-name = "vdd_soc";
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1380000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck3 {
|
||||
regulator-name = "vdd_ddr3";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck4 {
|
||||
regulator-name = "vdd_eth";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo1 {
|
||||
regulator-name = "vdd_snvs";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-name = "vdd_high";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo3 {
|
||||
regulator-name = "vdd_eth_io";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
ldo4 {
|
||||
regulator-name = "vdd_emmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
compatible = "dlg,da9062-rtc";
|
||||
};
|
||||
|
||||
thermal {
|
||||
compatible = "dlg,da9062-thermal";
|
||||
};
|
||||
|
||||
watchdog {
|
||||
compatible = "dlg,da9062-watchdog";
|
||||
dlg,use-sw-pm;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
* Dialog DA9062/61 TJUNC Thermal Module
|
||||
|
||||
This module is part of the DA9061/DA9062. For more details about entire
|
||||
DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
|
||||
|
||||
Junction temperature thermal module uses an interrupt signal to identify
|
||||
high THERMAL_TRIP_HOT temperatures for the PMIC device.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be one of the following valid compatible string lines:
|
||||
"dlg,da9061-thermal", "dlg,da9062-thermal"
|
||||
"dlg,da9062-thermal"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- polling-delay-passive : Specify the polling period, measured in
|
||||
milliseconds, between thermal zone device update checks.
|
||||
|
||||
Example: DA9062
|
||||
|
||||
pmic0: da9062@58 {
|
||||
thermal {
|
||||
compatible = "dlg,da9062-thermal";
|
||||
polling-delay-passive = <3000>;
|
||||
};
|
||||
};
|
||||
|
||||
Example: DA9061 using a fall-back compatible for the DA9062 onkey driver
|
||||
|
||||
pmic0: da9061@58 {
|
||||
thermal {
|
||||
compatible = "dlg,da9061-thermal", "dlg,da9062-thermal";
|
||||
polling-delay-passive = <3000>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/thermal/dlg,da9062-thermal.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Dialog DA9062/61 TJUNC Thermal Module
|
||||
|
||||
maintainers:
|
||||
- Biju Das <biju.das.jz@bp.renesas.com>
|
||||
|
||||
description: |
|
||||
This module is part of the DA9061/DA9062. For more details about entire
|
||||
DA906{1,2} chips see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
|
||||
|
||||
Junction temperature thermal module uses an interrupt signal to identify
|
||||
high THERMAL_TRIP_HOT temperatures for the PMIC device.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: dlg,da9062-thermal
|
||||
- items:
|
||||
- const: dlg,da9061-thermal
|
||||
- const: dlg,da9062-thermal
|
||||
|
||||
polling-delay-passive:
|
||||
description:
|
||||
Specify the polling period, measured in milliseconds, between
|
||||
thermal zone device update checks.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
|
@ -6152,16 +6152,16 @@ DIALOG SEMICONDUCTOR DRIVERS
|
|||
M: Support Opensource <support.opensource@diasemi.com>
|
||||
S: Supported
|
||||
W: http://www.dialog-semiconductor.com/products
|
||||
F: Documentation/devicetree/bindings/input/da90??-onkey.txt
|
||||
F: Documentation/devicetree/bindings/input/dlg,da72??.txt
|
||||
F: Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
|
||||
F: Documentation/devicetree/bindings/mfd/da90*.txt
|
||||
F: Documentation/devicetree/bindings/mfd/dlg,da90*.yaml
|
||||
F: Documentation/devicetree/bindings/regulator/da92*.txt
|
||||
F: Documentation/devicetree/bindings/regulator/dlg,da9*.yaml
|
||||
F: Documentation/devicetree/bindings/regulator/dlg,slg51000.yaml
|
||||
F: Documentation/devicetree/bindings/sound/da[79]*.txt
|
||||
F: Documentation/devicetree/bindings/thermal/da90??-thermal.txt
|
||||
F: Documentation/devicetree/bindings/watchdog/dlg,da90??-watchdog.yaml
|
||||
F: Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
|
||||
F: Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
|
||||
F: Documentation/hwmon/da90??.rst
|
||||
F: drivers/gpio/gpio-da90??.c
|
||||
F: drivers/hwmon/da90??-hwmon.c
|
||||
|
|
Loading…
Reference in a new issue