From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-path: From: Pascal PAILLET-LME To: "dmitry.torokhov@gmail.com" , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "lee.jones@linaro.org" , "lgirdwood@gmail.com" , "broonie@kernel.org" , "wim@linux-watchdog.org" , "linux@roeck-us.net" , "linux-input@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-watchdog@vger.kernel.org" , "benjamin.gaignard@linaro.org" , "eballetbo@gmail.com" CC: Pascal PAILLET-LME Subject: [PATCH v3 1/8] dt-bindings: mfd: document stpmic1 Date: Mon, 8 Oct 2018 16:29:39 +0000 Message-ID: <1539016176-4072-2-git-send-email-p.paillet@st.com> References: <1539016176-4072-1-git-send-email-p.paillet@st.com> In-Reply-To: <1539016176-4072-1-git-send-email-p.paillet@st.com> Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 List-ID: From: pascal paillet stpmic1 is a pmic from STMicroelectronics. The STPMIC1 integrates 10 regulators ,3 switches, a watchdog and an input for a power on key. Signed-off-by: pascal paillet --- changes in v3: * Replace st,onkey-long-press-seconds by power-off-time-sec. * Replace interrupts-extended by interrupts. * Remove wakeup interrupt. * Cosmetics. .../devicetree/bindings/mfd/st,stpmic1.txt | 133 +++++++++++++++++= ++++ include/dt-bindings/mfd/st,stpmic1.h | 46 +++++++ 2 files changed, 179 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/st,stpmic1.txt create mode 100644 include/dt-bindings/mfd/st,stpmic1.h diff --git a/Documentation/devicetree/bindings/mfd/st,stpmic1.txt b/Documen= tation/devicetree/bindings/mfd/st,stpmic1.txt new file mode 100644 index 0000000..989bd58 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/st,stpmic1.txt @@ -0,0 +1,133 @@ +* STMicroelectronics STPMIC1 Power Management IC + +Required parent device properties: +- compatible: "st,stpmic1" +- reg: The I2C slave address for the STPMIC1 chip. +- interrupt-parent Phandle to the parent interrupt controller. +- interrupts: The interrupt line the device is connected to. +- #interrupt-cells: Should be 1. +- interrupt-controller: Describes the STPMIC1 as an interrupt + controller (has its own domain). Interrupt number are the following: + /* Interrupt Register 1 (0x50 for latch) */ + IT_SWOUT_R=3D0 + IT_SWOUT_F=3D1 + IT_VBUS_OTG_R=3D2 + IT_VBUS_OTG_F=3D3 + IT_WAKEUP_R=3D4 + IT_WAKEUP_F=3D5 + IT_PONKEY_R=3D6 + IT_PONKEY_F=3D7 + /* Interrupt Register 2 (0x51 for latch) */ + IT_OVP_BOOST=3D8 + IT_OCP_BOOST=3D9 + IT_OCP_SWOUT=3D10 + IT_OCP_OTG=3D11 + IT_CURLIM_BUCK4=3D12 + IT_CURLIM_BUCK3=3D13 + IT_CURLIM_BUCK2=3D14 + IT_CURLIM_BUCK1=3D15 + /* Interrupt Register 3 (0x52 for latch) */ + IT_SHORT_SWOUT=3D16 + IT_SHORT_SWOTG=3D17 + IT_CURLIM_LDO6=3D18 + IT_CURLIM_LDO5=3D19 + IT_CURLIM_LDO4=3D20 + IT_CURLIM_LDO3=3D21 + IT_CURLIM_LDO2=3D22 + IT_CURLIM_LDO1=3D23 + /* Interrupt Register 3 (0x52 for latch) */ + IT_SWIN_R=3D24 + IT_SWIN_F=3D25 + IT_RESERVED_1=3D26 + IT_RESERVED_2=3D27 + IT_VINLOW_R=3D28 + IT_VINLOW_F=3D29 + IT_TWARN_R=3D30 + IT_TWARN_F=3D31 + +Optional parent device properties: +- st,main-control-register: + -bit 1: Power cycling will be performed on turn OFF condition + -bit 2: PWRCTRL is functional + -bit 3: PWRCTRL active high +- st,pads-pull-register: + -bit 1: WAKEUP pull down is not active + -bit 2: PWRCTRL pull up is active + -bit 3: PWRCTRL pull down is active + -bit 4: WAKEUP detector is disabled +- st,vin-control-register: + -bit 0: VINLOW monitoring is enabled + -bit [1...3]: VINLOW rising threshold + 000 VINOK_f + 50mV + 001 VINOK_f + 100mV + 010 VINOK_f + 150mV + 011 VINOK_f + 200mV + 100 VINOK_f + 250mV + 101 VINOK_f + 300mV + 110 VINOK_f + 350mV + 111 VINOK_f + 400mV + -bit [4...5]: VINLOW hyst + 00 100mV + 01 200mV + 10 300mV + 11 400mV + -bit 6: SW_OUT detector is disabled + -bit 7: SW_IN detector is enabled. +- st,usb-control-register: + -bit 3: SW_OUT current limit + 0: 600mA + 1: 1.1A + -bit 4: VBUS_OTG discharge is enabled + -bit 5: SW_OUT discharge is enabled + -bit 6: VBUS_OTG detection is enabled + -bit 7: BOOST_OVP is disabled + +STPMIC1 consists in a varied group of sub-devices. +Each sub-device binding is be described in own documentation file. + +Device Description +------ ------------ +st,stpmic1-onkey : Power on key, see ../input/st,stpmic1-onkey.txt +st,stpmic1-regulators : Regulators, see ../regulator/st,stpmic1-regulator.= txt +st,stpmic1-wdt : Watchdog, see ../watchdog/st,stpmic1-wdt.txt + +Example: + +pmic: pmic1@33 { + compatible =3D "st,stpmic1"; + reg =3D <0x33>; + interrupt-parent =3D <&gpioa>; + interrupts =3D <0 2>; + st,main-control-register=3D<0x0c>; + interrupt-controller; + #interrupt-cells =3D <2>; + + onkey { + compatible =3D "st,stpmic1-onkey"; + interrupt-parent =3D <&pmic>; + interrupts =3D ,; + interrupt-names =3D "onkey-falling", "onkey-rising"; + power-off-time-sec =3D <10>; + }; + + watchdog { + compatible =3D "st,stpmic1-wdt"; + }; + + regulators { + compatible =3D "st,stpmic1-regulators"; + + vdd_core: buck1 { + regulator-name =3D "vdd_core"; + regulator-boot-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1200000>; + }; + vdd: buck3 { + regulator-name =3D "vdd"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-boot-on; + regulator-pull-down; + }; + }; diff --git a/include/dt-bindings/mfd/st,stpmic1.h b/include/dt-bindings/mfd= /st,stpmic1.h new file mode 100644 index 0000000..b2d6c83 --- /dev/null +++ b/include/dt-bindings/mfd/st,stpmic1.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) STMicroelectronics 2018 - All Rights Reserved + * Author: Philippe Peurichard , + * Pascal Paillet for STMicroelectronics. + */ + +#ifndef __DT_BINDINGS_STPMIC1_H__ +#define __DT_BINDINGS_STPMIC1_H__ + +/* IRQ definitions */ +#define IT_PONKEY_F 0 +#define IT_PONKEY_R 1 +#define IT_WAKEUP_F 2 +#define IT_WAKEUP_R 3 +#define IT_VBUS_OTG_F 4 +#define IT_VBUS_OTG_R 5 +#define IT_SWOUT_F 6 +#define IT_SWOUT_R 7 + +#define IT_CURLIM_BUCK1 8 +#define IT_CURLIM_BUCK2 9 +#define IT_CURLIM_BUCK3 10 +#define IT_CURLIM_BUCK4 11 +#define IT_OCP_OTG 12 +#define IT_OCP_SWOUT 13 +#define IT_OCP_BOOST 14 +#define IT_OVP_BOOST 15 + +#define IT_CURLIM_LDO1 16 +#define IT_CURLIM_LDO2 17 +#define IT_CURLIM_LDO3 18 +#define IT_CURLIM_LDO4 19 +#define IT_CURLIM_LDO5 20 +#define IT_CURLIM_LDO6 21 +#define IT_SHORT_SWOTG 22 +#define IT_SHORT_SWOUT 23 + +#define IT_TWARN_F 24 +#define IT_TWARN_R 25 +#define IT_VINLOW_F 26 +#define IT_VINLOW_R 27 +#define IT_SWIN_F 30 +#define IT_SWIN_R 31 + +#endif /* __DT_BINDINGS_STPMIC1_H__ */ --=20 1.9.1