devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakob Hauser <jahau@rocketmail.com>
To: Linus Walleij <linus.walleij@linaro.org>
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>,
	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 v2 9/9] dt-bindings: Add documentation for rt5033 mfd, regulator and charger
Date: Sat, 22 Apr 2023 00:15:42 +0200	[thread overview]
Message-ID: <bf1dc565-a8d7-7e1d-477e-f9662f2884c4@rocketmail.com> (raw)
In-Reply-To: <CACRpkdaYaE+1GKNv5SczC+Xn8UuBonZcW4RSdbsU53HWTR_tTg@mail.gmail.com>

Hi Linus,

On 21.04.23 11:20, Linus Walleij wrote:
> On Thu, Apr 20, 2023 at 11:16 PM Jakob Hauser <jahau@rocketmail.com> wrote:
...
>> I agree to you that actually the physical battery is determining how
>> these values should be set. In the end, as far as I can see, it is a
>> representation thing in the devicetree. At least in our case here.
> 
> The DT bindings should reflect the hardware, and not what some
> or any driver "would like to see" (to make its life easier...)
> 
> As these things are programmed into registers, clearly the
> hardware is adoptable for different batteries, and the purpose
> of these registers is to support different batteries. Ergo: they
> belong in a battery node.
> 
>> Not sure how to proceed here. I would stick to the current
>> implementation. If someone strongly prefers the "battery" representation
>> style, I'm open to switch to this.
> 
> Again this is not an implementation but a hardware description.
> 
> It should use a phandle to a montored-battery and follow that to
> read the battery properties.

OK, this is expressing a strong preference. I’ll switch to the "battery" 
node in v3.

>> However, I'm not sure how the dt-bindings would look like in that case.
> 
> Just like you sketched above, just reuse simple-battery if the battery
> is hardcoded into the platform, such as soldered in or has a form
> factor such that no different battery can be fitted.
> 
>> Those battery properties would not be part of the RT5033 node, thus they
>> basically would not be part of the RT5033 documentation. Again I think
>> it makes sense to handle those properties within the charger node as
>> "charger settings" properties.
> 
> Why?
> 
> This is like saying that the number of pixels on your monitor should
> be part of the graphics card DT node as "configuration". And we
> clearly do not do that.

The charger driver needs five parameters. And the person writing the dts 
file should know about what range and granularity is possible for those 
values. This information could be put into the description of the 
"monitored-battery", as shown below, but that's less strict and clear as 
it is currently in patch 9.

     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>;
         };

Kind regards,
Jakob

  reply	other threads:[~2023-04-21 22:15 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1681646904.git.jahau.ref@rocketmail.com>
2023-04-16 12:44 ` [PATCH v2 0/9] Add RT5033 charger device driver Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 1/9] mfd: rt5033: Drop rt5033-battery sub-device Jakob Hauser
2023-04-20  8:05     ` Linus Walleij
2023-04-16 12:44   ` [PATCH v2 2/9] mfd: rt5033: Fix chip revision readout Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 3/9] mfd: rt5033: Fix STAT_MASK, HZ_MASK and AICR defines Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 4/9] mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 5/9] regulator: rt5033: Change regulator names to lowercase Jakob Hauser
2023-04-16 18:32     ` Krzysztof Kozlowski
2023-04-18 21:24       ` Jakob Hauser
2023-04-19  8:40         ` Krzysztof Kozlowski
2023-04-19 22:21           ` Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 6/9] power: supply: rt5033_charger: Add RT5033 charger device driver Jakob Hauser
2023-04-23  1:22     ` kernel test robot
2023-04-23  9:55       ` Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 7/9] power: supply: rt5033_charger: Add cable detection and USB OTG supply Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 8/9] power: supply: rt5033_battery: Adopt status property from charger Jakob Hauser
2023-04-23  9:46     ` Jakob Hauser
2023-04-16 12:44   ` [PATCH v2 9/9] dt-bindings: Add documentation for rt5033 mfd, regulator and charger Jakob Hauser
2023-04-16 18:39     ` Krzysztof Kozlowski
2023-04-18 21:37       ` Jakob Hauser
2023-04-19  8:42         ` Krzysztof Kozlowski
2023-04-19 22:41           ` Jakob Hauser
2023-04-20  7:59     ` Linus Walleij
2023-04-20  8:03       ` Linus Walleij
2023-04-20 21:16         ` Jakob Hauser
2023-04-21  9:20           ` Linus Walleij
2023-04-21 22:15             ` Jakob Hauser [this message]
2023-04-16 18:29   ` [PATCH v2 0/9] Add RT5033 charger device driver Krzysztof Kozlowski

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=bf1dc565-a8d7-7e1d-477e-f9662f2884c4@rocketmail.com \
    --to=jahau@rocketmail.com \
    --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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).