Rob: please grep your name for some feedback.

On Thu, 18 Oct 2018, Pascal PAILLET-LME wrote:

> From: pascal paillet <[email protected]>

Please use `git send-email` to send patches.

Please capitalise your name: Pascal Paillet

> stpmic1 is a pmic from STMicroelectronics. The STPMIC1 integrates 10

"STPMIC1"
"PMIC"

> regulators , 3 switches, a watchdog and an input for a power on key.

Whitespace.

What is a switch?

> Signed-off-by: pascal paillet <[email protected]>
> ---
> changes in v4:
> * remove interrupt-parent description
> * pmic1@33 renamed to pmic@33
> * fix indentation
> 
>  .../devicetree/bindings/mfd/st,stpmic1.txt         | 131 
> +++++++++++++++++++++
>  include/dt-bindings/mfd/st,stpmic1.h               |  46 ++++++++
>  2 files changed, 177 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/Documentation/devicetree/bindings/mfd/st,stpmic1.txt
> new file mode 100644
> index 0000000..bb19cc8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/st,stpmic1.txt
> @@ -0,0 +1,131 @@
> +* STMicroelectronics STPMIC1 Power Management IC
> +
> +Required parent device properties:
> +- compatible:                        "st,stpmic1"
> +- reg:                               The I2C slave address for the STPMIC1 
> chip.
> +- interrupts:                        The interrupt line the device is 
> connected to.
> +- #interrupt-cells:          Should be 1.
> +- interrupt-controller:      Describes the STPMIC1 as an interrupt

Tabbing (this could just be a patch quirk).

Either use full-stops or don't - please be consistent.

> +  controller (has its own domain). Interrupt number are the following:

"numbers"

Actually consider rewording - sounds funny.

> +     /* Interrupt Register 1 (0x50 for latch) */
> +     IT_SWOUT_R=0
> +     IT_SWOUT_F=1
> +     IT_VBUS_OTG_R=2
> +     IT_VBUS_OTG_F=3
> +     IT_WAKEUP_R=4
> +     IT_WAKEUP_F=5
> +     IT_PONKEY_R=6
> +     IT_PONKEY_F=7
> +     /* Interrupt Register 2 (0x51 for latch) */
> +     IT_OVP_BOOST=8
> +     IT_OCP_BOOST=9
> +     IT_OCP_SWOUT=10
> +     IT_OCP_OTG=11
> +     IT_CURLIM_BUCK4=12
> +     IT_CURLIM_BUCK3=13
> +     IT_CURLIM_BUCK2=14
> +     IT_CURLIM_BUCK1=15
> +     /* Interrupt Register 3 (0x52 for latch) */
> +     IT_SHORT_SWOUT=16
> +     IT_SHORT_SWOTG=17
> +     IT_CURLIM_LDO6=18
> +     IT_CURLIM_LDO5=19
> +     IT_CURLIM_LDO4=20
> +     IT_CURLIM_LDO3=21
> +     IT_CURLIM_LDO2=22
> +     IT_CURLIM_LDO1=23
> +     /* Interrupt Register 3 (0x52 for latch) */
> +     IT_SWIN_R=24
> +     IT_SWIN_F=25
> +     IT_RESERVED_1=26
> +     IT_RESERVED_2=27
> +     IT_VINLOW_R=28
> +     IT_VINLOW_F=29
> +     IT_TWARN_R=30
> +     IT_TWARN_F=31

Do you really need these in here?  I suspect not.

> +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

I'm surprised Rob allowed you to add register bits in a DT property?

> +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: pmic@33 {
> +     compatible = "st,stpmic1";
> +     reg = <0x33>;
> +     interrupt-parent = <&gpioa>;
> +     interrupts = <0 2>;
> +     st,main-control-register=<0x0c>;
> +     interrupt-controller;
> +     #interrupt-cells = <2>;
> +
> +     onkey {
> +             compatible = "st,stpmic1-onkey";
> +             interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>;
> +             interrupt-names = "onkey-falling", "onkey-rising";
> +             power-off-time-sec = <10>;
> +     };
> +
> +     watchdog {
> +             compatible = "st,stpmic1-wdt";
> +     };
> +
> +     regulators {
> +             compatible = "st,stpmic1-regulators";
> +
> +             vdd_core: buck1 {
> +                     regulator-name = "vdd_core";
> +                     regulator-boot-on;
> +                     regulator-min-microvolt = <700000>;
> +                     regulator-max-microvolt = <1200000>;
> +             };
> +             vdd: buck3 {
> +                     regulator-name = "vdd";
> +                     regulator-min-microvolt = <3300000>;
> +                     regulator-max-microvolt = <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 <[email protected]>,
> + * Pascal Paillet <[email protected]> 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__ */

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Reply via email to