All of lore.kernel.org
 help / color / mirror / Atom feed
From: Henrik Grimler <henrik@grimler.se>
To: Jakob Hauser <jahau@rocketmail.com>
Cc: Sebastian Reichel <sre@kernel.org>, Lee Jones <lee@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Beomho Seo <beomho.seo@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Stephan Gerhold <stephan@gerhold.net>,
	Raymond Hackley <raymondhackley@protonmail.com>,
	Pavel Machek <pavel@ucw.cz>, Axel Lin <axel.lin@ingics.com>,
	ChiYuan Huang <cy_huang@richtek.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org,
	~postmarketos/upstreaming@lists.sr.ht
Subject: Re: [PATCH v3 8/8] dt-bindings: Add rt5033 mfd, regulator and charger
Date: Fri, 28 Apr 2023 16:39:07 +0200	[thread overview]
Message-ID: <ZEvaixFJGk/Nr1m2@L14.lan> (raw)
In-Reply-To: <5bd8b90713a61129acf292a941eb7fb5ccaa3db4.1682636929.git.jahau@rocketmail.com>

Hi Jakob,

One question inline.

On Fri, Apr 28, 2023 at 01:30:11AM +0200, Jakob Hauser wrote:
> Add device tree binding documentation for rt5033 multifunction device, voltage
> regulator and battery charger.
> 
> Cc: Beomho Seo <beomho.seo@samsung.com>
> Cc: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Jakob Hauser <jahau@rocketmail.com>
> ---
> The patch is based on next-20230413.
> 
> The drivers for rt5033 (mfd) and rt5033-regulator are existing. Whereas the
> the driver rt5033-charger is new in this patchset.
> 
> The extcon phandle is still there, as I didn't know what Rob meant by
> "standard connector bindings".
> 
> Changes in v3:
>  - Removed redundant "documentation" in the commit title.
>  - Squashed regulator into the mfd binding.
>  - Restored the regulator node names to uppercase because it is an existing
>    driver.
>  - In the charger binding replaced the vendor properties by "battery" node
>    style. Accodringly updated the example in the mfd.
> 
>  .../bindings/mfd/richtek,rt5033.yaml          | 105 ++++++++++++++++++
>  .../power/supply/richtek,rt5033-charger.yaml  |  63 +++++++++++
>  2 files changed, 168 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml
>  create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml b/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml
> new file mode 100644
> index 000000000000..ee704914201f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml
> @@ -0,0 +1,105 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Richtek RT5033 Power Management Integrated Circuit
> +
> +maintainers:
> +  - Jakob Hauser <jahau@rocketmail.com>
> +
> +description:
> +  RT5033 is a multifunction device which includes battery charger, fuel gauge,
> +  flash LED current source, LDO and synchronous Buck converter for portable
> +  applications. It is interfaced to host controller using I2C interface. The
> +  battery fuel gauge uses a separate I2C bus.
> +
> +properties:
> +  compatible:
> +    const: richtek,rt5033
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  regulators:
> +    description:
> +      The regulators of RT5033 have to be instantiated under a sub-node named
> +      "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO

Is only 4.9 V valid for SAFE_LDO? If I am reading driver found in
vendor kernel for SM-A500F it seems to to allow values between 3.3 and
4.95 V [1]. Same range is also written in the devicetree for the
device [2].

[1] https://github.com/msm8916-mainline/linux-downstream/blob/SM-A500F/drivers/regulator/rt5033_regulator.c#L109-L114
[2] https://github.com/msm8916-mainline/linux-downstream/blob/SM-A500F/arch/arm/boot/dts/samsung/msm8916/msm8916-sec-a5u-eur-r01.dtsi#L148-L149

Best regards,
Henrik Grimler

> +      voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges
> +      from 1.0 V to 3.0 V in 0.1 V steps.
> +    type: object
> +    patternProperties:
> +      "^(SAFE_LDO|LDO|BUCK)$":
> +        type: object
> +        $ref: /schemas/regulator/regulator.yaml#
> +        unevaluatedProperties: false
> +    additionalProperties: false
> +
> +  charger:
> +    type: object
> +    $ref: /schemas/power/supply/richtek,rt5033-charger.yaml#
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    battery: battery {
> +        compatible = "simple-battery";
> +        precharge-current-microamp = <450000>;
> +        constant-charge-current-max-microamp = <1000000>;
> +        charge-term-current-microamp = <150000>;
> +        precharge-upper-limit-microvolt = <3500000>;
> +        constant-charge-voltage-max-microvolt = <4350000>;
> +    };
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        pmic@34 {
> +            compatible = "richtek,rt5033";
> +            reg = <0x34>;
> +
> +            interrupt-parent = <&msmgpio>;
> +            interrupts = <62 IRQ_TYPE_EDGE_FALLING>;
> +
> +            pinctrl-names = "default";
> +            pinctrl-0 = <&pmic_int_default>;
> +
> +            regulators {
> +                safe_ldo_reg: SAFE_LDO {
> +                    regulator-name = "SAFE_LDO";
> +                    regulator-min-microvolt = <4900000>;
> +                    regulator-max-microvolt = <4900000>;
> +                    regulator-always-on;
> +                };
> +                ldo_reg: LDO {
> +                    regulator-name = "LDO";
> +                    regulator-min-microvolt = <2800000>;
> +                    regulator-max-microvolt = <2800000>;
> +                };
> +                buck_reg: BUCK {
> +                    regulator-name = "BUCK";
> +                    regulator-min-microvolt = <1200000>;
> +                    regulator-max-microvolt = <1200000>;
> +                };
> +            };
> +
> +            charger {
> +                compatible = "richtek,rt5033-charger";
> +                monitored-battery = <&battery>;
> +                extcon = <&muic>;
> +            };
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml b/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml
> new file mode 100644
> index 000000000000..bf08e8db365e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml
> @@ -0,0 +1,63 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/richtek,rt5033-charger.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Richtek RT5033 PIMC Battery Charger
> +
> +maintainers:
> +  - Jakob Hauser <jahau@rocketmail.com>
> +
> +description:
> +  The battery charger of the multifunction device RT5033 has to be instantiated
> +  under sub-node named "charger" using the following format.
> +
> +properties:
> +  compatible:
> +    const: richtek,rt5033-charger
> +
> +  monitored-battery:
> +    description: |
> +      Phandle to the monitored battery according to battery.yaml. The battery
> +      node needs to contain five parameters.
> +
> +      precharge-current-microamp:
> +      Current of pre-charge mode. The pre-charge current levels are 350 mA
> +      to 650 mA programmed by I2C per 100 mA.
> +
> +      constant-charge-current-max-microamp:
> +      Current of fast-charge mode. The fast-charge current levels are 700 mA
> +      to 2000 mA programmed by I2C per 100 mA.
> +
> +      charge-term-current-microamp:
> +      This property is end of charge current. Its level ranges from 150 mA
> +      to 600 mA. Between 150 mA and 300 mA in 50 mA steps, between 300 mA and
> +      600 mA in 100 mA steps.
> +
> +      precharge-upper-limit-microvolt:
> +      Voltage of pre-charge mode. If the battery voltage is below the pre-charge
> +      threshold voltage, the charger is in pre-charge mode with pre-charge
> +      current. Its levels are 2.3 V to 3.8 V programmed by I2C per 0.1 V.
> +
> +      constant-charge-voltage-max-microvolt:
> +      Battery regulation voltage of constant voltage mode. This voltage levels
> +      from 3.65 V to 4.4 V by I2C per 0.025 V.
> +
> +  extcon:
> +    description:
> +      Phandle to the extcon device.
> +    maxItems: 1
> +
> +required:
> +  - monitored-battery
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    charger {
> +        compatible = "richtek,rt5033-charger";
> +        monitored-battery = <&battery>;
> +        extcon = <&muic>;
> +    };
> -- 
> 2.39.2
> 

  reply	other threads:[~2023-04-28 14:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1682636929.git.jahau.ref@rocketmail.com>
2023-04-27 23:30 ` [PATCH v3 0/8] Add RT5033 charger device driver Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 1/8] mfd: rt5033: Drop rt5033-battery sub-device Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 2/8] mfd: rt5033: Fix chip revision readout Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 3/8] mfd: rt5033: Fix STAT_MASK, HZ_MASK and AICR defines Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 4/8] mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 5/8] power: supply: rt5033_charger: Add RT5033 charger device driver Jakob Hauser
2023-05-05 11:51     ` Linus Walleij
2023-04-27 23:30   ` [PATCH v3 6/8] power: supply: rt5033_charger: Add cable detection and USB OTG supply Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 7/8] power: supply: rt5033_battery: Adopt status property from charger Jakob Hauser
2023-04-27 23:30   ` [PATCH v3 8/8] dt-bindings: Add rt5033 mfd, regulator and charger Jakob Hauser
2023-04-28 14:39     ` Henrik Grimler [this message]
2023-04-28 15:42       ` Jakob Hauser
2023-05-01  7:21     ` Krzysztof Kozlowski
2023-05-01 17:35       ` Jakob Hauser
2023-05-01 21:16         ` Jakob Hauser
2023-05-02 10:59           ` Krzysztof Kozlowski
2023-05-03 19:33             ` Jakob Hauser
2023-05-05 20:13               ` Rob Herring
2023-05-06 10:48                 ` Jakob Hauser
2023-05-01  9:13     ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZEvaixFJGk/Nr1m2@L14.lan \
    --to=henrik@grimler.se \
    --cc=axel.lin@ingics.com \
    --cc=beomho.seo@samsung.com \
    --cc=broonie@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=cy_huang@richtek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jahau@rocketmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=phone-devel@vger.kernel.org \
    --cc=raymondhackley@protonmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sre@kernel.org \
    --cc=stephan@gerhold.net \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.