From: gg@slimlogic.co.uk
To: "J, KEERTHY" <j-keerthy@ti.com>
Cc: linux-doc@vger.kernel.org, linus.walleij@linaro.org,
lgirdwood@gmail.com, grant.likely@secretlab.ca, wim@iguana.be,
ldewangan@nvidia.com, linux-leds@vger.kernel.org,
sfr@canb.auug.org.au, mturquette@linaro.org,
sameo@linux.intel.com, linux-watchdog@vger.kernel.org,
Stephen Warren <swarren@wwwdotorg.org>,
devicetree-discuss@lists.ozlabs.org, cooloney@gmail.com,
rob.herring@calxeda.com, linux-arm-kernel@lists.infradead.org,
broonie@opensource.wolfsonmicro.com,
linux-kernel@vger.kernel.org, "Kristo, Tero" <t-kristo@ti.com>,
rpurdie@rpsys.net, rob@landley.net, akpm@linux-foundation.org
Subject: RE: [PATCH v10 01/12] mfd: DT bindings for the palmas family MFD
Date: Tue, 04 Jun 2013 07:24:36 +0100 [thread overview]
Message-ID: <6af100d1d4ba82de24f96561b5108072@slimlogic.co.uk> (raw)
In-Reply-To: <DC88CAD03C0052499C1907B327FC63229E662E@DBDE04.ent.ti.com>
On 2013-06-03 07:55, J, KEERTHY wrote:
> Hi Stephen,
>
>> -----Original Message-----
>> From: Stephen Warren [mailto:swarren@wwwdotorg.org]
>> Sent: Friday, May 31, 2013 4:34 AM
>> To: J, KEERTHY
>> Cc: gg@slimlogic.co.uk; Ian Lartey; linux-kernel@vger.kernel.org;
>> linux-doc@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
>> linux-
>> leds@vger.kernel.org; linux-watchdog@vger.kernel.org; devicetree-
>> discuss@lists.ozlabs.org; grant.likely@secretlab.ca;
>> broonie@opensource.wolfsonmicro.com; rob.herring@calxeda.com;
>> rob@landley.net; mturquette@linaro.org; linus.walleij@linaro.org;
>> cooloney@gmail.com; sfr@canb.auug.org.au; rpurdie@rpsys.net;
>> akpm@linux-foundation.org; sameo@linux.intel.com; wim@iguana.be;
>> lgirdwood@gmail.com; ldewangan@nvidia.com; Kristo, Tero
>> Subject: Re: [PATCH v10 01/12] mfd: DT bindings for the palmas family
>> MFD
>>
>> On 05/30/2013 05:33 AM, keerthy wrote:
>> >
>> > On 03/25/2013 11:29 PM, Stephen Warren wrote:
>> >
>> >> On 03/22/2013 08:55 AM, Ian Lartey wrote:
>> >>> From: Graeme Gregory <gg@slimlogic.co.uk>
>> >>>
>> >>> Add the various binding files for the palmas family of chips. There
>> >>> is a top level MFD binding then a seperate binding for IP blocks on
>> chips.
>> >>
>> >>> diff --git a/Documentation/devicetree/bindings/clock/palmas-clk.txt
>> >>> b/Documentation/devicetree/bindings/clock/palmas-clk.txt
>> >>
>> >> Where is the reg property; if you're instantiating the clk device as
>> >> a standalone DT node and driver, it should be possible to retrieve
>> >> the address of this IP block instance from DT, not using driver-
>> internal APIs.
>> >>
>> >> This same comment likely applies everywhere, so I won't repeat it.
>> >>
>> >>> +Example:
>> >>> +
>> >>> +clk {
>> >>> + compatible = "ti,twl6035-clk", "ti,palmas-clk";
>> >>> + ti,clk32kg-mode-sleep = <0>;
>> >>> + ti,clk32kgaudio-mode-sleep = <0>;
>> >>
>> >>> + #clock-cells = <1>;
>> >>> + clock-frequency = <32000000>;
>> >>> + clock-names = "clk32kg", "clk32kgaudio";
>> >>
>> >> The binding description itself should describe what clocks this node
>> >> provides and consumes.
>> >>
>> >> What is clock-frequency; which clock does it affect?
>> >>
>> >> The presence of #clock-cells implies this is a clock provider. This
>> >> binding should define the format of the clock cells that this
>> >> property implies. I assume it's just the ID of the output clocks,
>> but
>> >> what values correspond to which output clocks? That mapping table
>> >> needs to be listed here.
>> >>
>> >> The presence of clock-names implies this is a clock consumer.
>> >> However, there is no clocks property in the example. Is clks missing
>> >> from the example, or should this property be clock-output-names
>> >> instead? If this node is a clock consumer, the list of which clocks
>> >> it requires should be documented.
>> >>
>> >>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
>> >>> b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
>> >>
>> >>> +- gpio-controller: mark the device as a GPIO controller
>> >>> +- gpio-cells = <1>: GPIO lines are provided.
>> >>
>> >> That's #gpio-cells not gpio-cells.
>> >>
>> >> I assume that cell simply contains the GPIO ID/number. That should
>> be
>> >> documented for clarity.
>> >>
>> >> Surely gpio-cells should be 2 not 1, so there is space for flags. At
>> >> least an "inverted" or "active-low" flag should be included; GPIO
>> >> consumers would typically implement that flag in SW, so there' no
>> >> requirement that the flag only be supported if the HW supports the
>> feature.
>> >>
>> >>> +- interrupt-controller : palmas has its own internal IRQs
>> >>> +- #interrupt-cells : should be set to 2 for IRQ number and flags
>> >>> + The first cell is the IRQ number.
>> >>> + The second cell is the flags, encoded as the trigger masks from
>> >>> + Documentation/devicetree/bindings/interrupts.txt
>> >>
>> >> You need "/interrupt-controller" before the filename there.
>> >>
>> >>> +- interrupt-parent : The parent interrupt controller.
>> >>
>> >> If this IP block has interrupt outputs, it should require an
>> >> "interrupts" property too. This is the same concept that drives the
>> >> need for a reg property. This same comment likely applies
>> everywhere,
>> >> so I won't repeat it.
>> >>
>> >>> diff --git
>> >>> a/Documentation/devicetree/bindings/input/palmas-pwrbutton.txt
>> >>> b/Documentation/devicetree/bindings/input/palmas-pwrbutton.txt
>> >>
>> >>> +- interrupts: the interrupt outputs of the controller.
>> >>
>> >> How many entries are there, what do they mean, and in what order
>> must
>> >> they appear? (Note that the binding of a node must define the order
>> >> of the interrupts property, since historically it's been accessed by
>> >> index, not by name, and all bindings must allow that access method
>> to be used).
>> >>
>> >>> +- interrupt-names : Should be the name of irq resource. Each
>> >>> +interrupt
>> >>> + binds its interrupt-name.
>> >>
>> >> The binding needs to define standard names for the entries in this
>> >> property, or define that interrupts are only retrieved by index, in
>> >> which case interrupt-names shouldn't be present. This same comment
>> >> likely applies everywhere, so I won't repeat it.
>> >>
>> >>> diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt
>> >>> b/Documentation/devicetree/bindings/mfd/palmas.txt
>> >>
>> >>> +Required properties:
>> >> ...
>> >>
>> >> I believe the Palmas devices have many separate I2C addresses, even
>> >> buses, which are I think are at least partially independently SW
>> >> configurable. In that case, the reg property for this node should
>> >> probably enumerate all the I2C addresses that this chip responds to,
>> >> so that they can each be passed down to the child nodes.
>> >
>> >
>> > Stephen,
>> >
>> > The palmas devices do have multiple I2C slave IDs. From OMAP5 as the
>> > master all the palmas slave devices are connected via I2C1 bus.
>> >
>> > I did not understand the SW configurable part. It is more board
>> > dependent. Correct me if i understood it wrongly.
>>
>> IIRC (and I may not sine it's been a while since I looked at this),
>> there are SW registers that can modify the I2C address that the chip
>> will respond to, so you could access the main I2C address, then
>> program
>> which other I2C addresses get used.
>
> Ok. I guess you are referring to the I2C_SPI register of Palmas.
> This register is indeed SW configurable and I tried changing the
> Slave IDs on the fly and I could change them. AFAIK these are OTP
> And never changed through software on the fly.
>
>>
>> Or, perhaps I was just thinking of the fact that there are strapping
>> pins on the chip that affect both the main I2C address, and some/all
>> of
>> the other I2C addresses, so the driver needs to be told each and every
>> I2C address, not just one single overall I2C address.
>
> Looking at the register spec there seem to be 2 possible combinations:
> 0x48, 0x49, 0x4A or 0x58, 0x59, 0x5A. Again these are OTP. By default
> It is 0x48, 0x49, 0x4A. So passing 0x48 or 0x58 as the main I2C
> Address seems sufficient here.
>
The I2C addresses are set in OTP, I do not think they should ever be
changed
on the fly.
Graeme
next prev parent reply other threads:[~2013-06-04 6:24 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-22 14:55 [PATCH v10 0/12] Palmas updates Ian Lartey
2013-03-22 14:55 ` [PATCH v10 01/12] mfd: DT bindings for the palmas family MFD Ian Lartey
2013-03-25 17:59 ` Stephen Warren
2013-03-25 19:47 ` Mark Brown
2013-05-30 11:33 ` keerthy
[not found] ` <51A73908.7020206-l0cyMroinI0@public.gmane.org>
2013-05-30 23:03 ` Stephen Warren
2013-06-03 6:55 ` J, KEERTHY
2013-06-04 6:24 ` gg [this message]
2013-03-22 14:55 ` [PATCH v10 02/12] mfd: palmas: is_palmas_charger needed by multiple drivers Ian Lartey
[not found] ` <1363964122-19201-3-git-send-email-ian-kDsPt+C1G03kYMGBc/C6ZA@public.gmane.org>
2013-04-08 15:51 ` Samuel Ortiz
2013-03-22 14:55 ` [PATCH v10 03/12] mfd: palmas add variant and OTP detection Ian Lartey
2013-04-05 16:32 ` Samuel Ortiz
2013-03-22 14:55 ` [PATCH v10 04/12] watchdog: add Palmas Watchdog support Ian Lartey
2013-03-24 3:19 ` Guenter Roeck
2013-08-20 20:31 ` Wim Van Sebroeck
2013-03-22 14:55 ` [PATCH v10 05/12] watchdog: Kconfig for Palmas watchdog Ian Lartey
2013-03-24 4:09 ` Guenter Roeck
2013-03-22 14:55 ` [PATCH v10 06/12] gpio: palmas: add in GPIO support for palmas charger Ian Lartey
2013-03-22 14:55 ` [PATCH v10 07/12] gpio: palmas: Enable DT support for palmas gpio Ian Lartey
2013-03-22 14:55 ` [PATCH v10 08/12] gpio: Palmas palmas_gpio_(read|write|update) factoring Ian Lartey
2013-03-22 14:55 ` [PATCH v10 09/12] leds: Add support for Palmas LEDs Ian Lartey
2013-03-26 2:55 ` Kim, Milo
2013-03-22 14:55 ` [PATCH v10 10/12] clk: add a clock driver for palmas Ian Lartey
2013-03-22 14:55 ` [PATCH v10 11/12] clk: Kconfig for Palmas clock driver Ian Lartey
2013-03-22 14:55 ` [PATCH v10 12/12] regulator: palmas remove palmas-charger option from DT bindings Ian Lartey
2013-03-25 1:07 ` Mark Brown
2013-03-22 19:04 ` [PATCH v10 0/12] Palmas updates Stephen Rothwell
2013-03-24 21:13 ` Mark Brown
[not found] ` <1363964122-19201-1-git-send-email-ian-kDsPt+C1G03kYMGBc/C6ZA@public.gmane.org>
2013-03-25 7:30 ` Laxman Dewangan
2013-04-05 16:30 ` Samuel Ortiz
2013-04-08 15:55 ` Graeme Gregory
[not found] ` <5162E88E.9010204-kDsPt+C1G03kYMGBc/C6ZA@public.gmane.org>
2013-04-08 16:11 ` Samuel Ortiz
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=6af100d1d4ba82de24f96561b5108072@slimlogic.co.uk \
--to=gg@slimlogic.co.uk \
--cc=akpm@linux-foundation.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=cooloney@gmail.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=j-keerthy@ti.com \
--cc=ldewangan@nvidia.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=rpurdie@rpsys.net \
--cc=sameo@linux.intel.com \
--cc=sfr@canb.auug.org.au \
--cc=swarren@wwwdotorg.org \
--cc=t-kristo@ti.com \
--cc=wim@iguana.be \
/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).