From: "Ivan T. Ivanov" <iivanov@mm-sol.com>
To: Bjorn Andersson <bjorn@kryo.se>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Samuel Ortiz <sameo@linux.intel.com>,
Lee Jones <lee.jones@linaro.org>,
Stanimir Varbanov <svarbanov@mm-sol.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH] mfd: qcom-spmi-pmic: Add support for more chips versions
Date: Fri, 07 Nov 2014 17:40:52 +0200 [thread overview]
Message-ID: <1415374852.26058.3.camel@mm-sol.com> (raw)
In-Reply-To: <1415374390.26058.1.camel@mm-sol.com>
On Fri, 2014-11-07 at 17:33 +0200, Ivan T. Ivanov wrote:
> On Thu, 2014-11-06 at 08:55 -0800, Bjorn Andersson wrote:
> > On Wed, Nov 5, 2014 at 11:54 PM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> > > On Wed, 2014-11-05 at 17:36 -0800, Bjorn Andersson wrote:
> > > > On Wed, Nov 5, 2014 at 10:31 AM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> > [..]
> > > > > Some of the child device drivers have to know PMIC chip revision.
> > > > >
> > > >
> > > > So your plan is to have a strstr(parent->compatible, "-v2") there?
> > >
> > > Actually also PMIC subtype (pm8841, pm8226...) is also required, so
> > > the plan is to have something like this:
> > >
> > > {
> > > static const struct of_device_id pmic_match_table[] = {
> > > { .compatible = "qcom,pm8941-v1.0" },
> > > { .compatible = "qcom,pm8841-v0.0" },
> > > { }
> > >
> > > };
> > >
> > > const struct of_device_id *match;
> > >
> > > match = of_match_device(pmic_match_table, pdev->dev.parent);
> > > if (match) {
> > > dev_info(&pdev->dev, "%s chip detected\n", match->compatible);
> > > }
> > > }
> > >
> >
> > To me this is a hack, you should not alter the devicetree to make it
> > "better express the hardware". Either you know these things from boot
> > and they go in device tree, or you can probe them and they should not
> > go in device tree.
> >
> > If you really need these values you should expose them through some api.
>
> I would like to avoid compile time dependency between these drivers.
> There are several precedents of using of_update_property() for enhancing
> compatible property already.
>
> > > > Could you be a little bit more elaborate on what you're trying to do
> > > > and which child devices that might be?
> > >
> > > For example ADC drivers are required temperature compensation based
> > > on PMIC variant and chip manufacturer.
> > >
> >
> > I see, is that compensation of any practical value? Or is the
> > compensation of academic proportions?
>
> It depends of what you mean by academic :-). Attached file have test
> application which dump difference between non compensated and compensated
> values for different temperature, manufacture and input value.
>
> Output format of the program is:
> Column 1: manufacturer GF=0, SMIC=1, TSMC=2
> Column 2: chip revision
> Column 3: die temperature in mili deg Celsius
> Column 4: input for compensation in micro Volts
> Column 5: compensated result in micro Volts
> Column 6: difference in micro Volts
Forgot to add. PMIC subtype and version are used also in charger and BMS
drivers to workaround hardware issues.
Ivan
next prev parent reply other threads:[~2014-11-07 15:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-04 13:33 [PATCH] mfd: qcom-spmi-pmic: Add support for more chips versions Ivan T. Ivanov
2014-11-04 14:56 ` Fabio Estevam
2014-11-04 15:17 ` Ivan T. Ivanov
[not found] ` <1415108003-16387-1-git-send-email-iivanov-NEYub+7Iv8PQT0dZR+AlfA@public.gmane.org>
2014-11-04 15:06 ` Stanimir Varbanov
2014-11-04 15:06 ` Stanimir Varbanov
2014-11-04 15:22 ` Ivan T. Ivanov
2014-11-04 15:26 ` Stanimir Varbanov
2014-11-04 15:49 ` Ivan T. Ivanov
2014-11-05 12:49 ` Andreas Färber
2014-11-05 13:50 ` Ivan T. Ivanov
2014-11-05 18:11 ` Bjorn Andersson
2014-11-05 18:31 ` Ivan T. Ivanov
[not found] ` <1415212271.14949.1.camel-NEYub+7Iv8PQT0dZR+AlfA@public.gmane.org>
2014-11-06 1:36 ` Bjorn Andersson
2014-11-06 1:36 ` Bjorn Andersson
[not found] ` <CAJAp7OgXHGWQj7MWh51LTUdmZpgZc=6m=o-Az=z8QxR7yfrw7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-06 7:54 ` Ivan T. Ivanov
2014-11-06 7:54 ` Ivan T. Ivanov
2014-11-06 16:55 ` Bjorn Andersson
2014-11-07 15:33 ` Ivan T. Ivanov
2014-11-07 15:40 ` Ivan T. Ivanov [this message]
[not found] ` <1415374852.26058.3.camel-NEYub+7Iv8PQT0dZR+AlfA@public.gmane.org>
2014-11-11 20:27 ` Courtney Cavin
2014-11-11 20:27 ` Courtney Cavin
2014-11-12 9:12 ` Ivan T. Ivanov
2014-11-08 0:08 ` Gilad Avidov
2014-11-10 7:46 ` Ivan T. Ivanov
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=1415374852.26058.3.camel@mm-sol.com \
--to=iivanov@mm-sol.com \
--cc=bjorn@kryo.se \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lee.jones@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=sameo@linux.intel.com \
--cc=svarbanov@mm-sol.com \
/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.