All of lore.kernel.org
 help / color / mirror / Atom feed
From: Biju Das <biju.das.jz@bp.renesas.com>
To: Wolfram Sang <wsa@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Mark Brown <broonie@kernel.org>
Cc: "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"David Airlie" <airlied@gmail.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Hans Verkuil" <hverkuil-cisco@xs4all.nl>,
	"Alessandro Zummo" <a.zummo@towertech.it>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Corey Minyard" <cminyard@mvista.com>,
	"Marek Behún" <kabel@kernel.org>,
	"Jiasheng Jiang" <jiasheng@iscas.ac.cn>,
	"Antonio Borneo" <antonio.borneo@foss.st.com>,
	"Abhinav Kumar" <quic_abhinavk@quicinc.com>,
	"Ahmad Fatoum" <a.fatoum@pengutronix.de>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"Fabrizio Castro" <fabrizio.castro.jz@renesas.com>,
	"linux-renesas-soc@vger.kernel.org"
	<linux-renesas-soc@vger.kernel.org>,
	"Mark Brown" <broonie@kernel.org>
Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API
Date: Tue, 13 Jun 2023 19:31:46 +0000	[thread overview]
Message-ID: <OS0PR01MB59220D794AED55A6B795C3EF8655A@OS0PR01MB5922.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <OS0PR01MB592210CE54A9CF953980DFEE8655A@OS0PR01MB5922.jpnprd01.prod.outlook.com>

Hi Wolfram,

> Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API
> 
> Hi Wolfram,
> 
> Thanks for the feedback.
> 
> > Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device
> > API
> >
> > Hi Wolfram,
> >
> > Thanks for the feedback.
> >
> > > Subject: Re: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device
> > > API
> > >
> > > Hi everyone,
> > >
> > > > Perhaps we should first think through what an ancillary device
> > > > really is.  My understanding is that it is used to talk to
> > > > secondary addresses of a multi-address I2C slave device.
> > >
> > > As I mentioned somewhere before, this is not the case. Ancillary
> > > devices are when one *driver* handles more than one address.
> > > Everything else has been handled differently in the past (for  all
> > > the
> > uses I am aware of).
> > >
> > > Yet, I have another idea which is so simple that I wonder if it
> > > maybe has already been discussed so far?
> > >
> > > * have two regs in the bindings
> >
> > OK, it is inline with DT maintainers expectation as it is matching
> > with real hw as single device node having two regs.
> >
> > > * use the second reg with i2c_new_client_device to instantiate the
> > >   RTC sibling. 'struct i2c_board_info', which is one parameter, should
> > >   have enough options to pass data, e.g it has a software_node.
> >
> > OK, I can see the below can be passed from PMIC to new client device.
> >
> > 	client->addr = info->addr;
> >
> > 	client->init_irq = info->irq;
> >
> > >
> > > Should work or did I miss something here?
> >
> > I guess it will work. We instantiate appropriate device based On PMIC
> > revision and slave address and IRQ resource passed through 'struct
> > i2c_board_info'
> >
> > Will check this and update you.
> 
> info.irq = irq; -->Irq fine
> info.addr = addr; -->slave address fine
> size = strscpy(info.type, name, sizeof(info.type)); -->instantiation based
> on PMIC version fine.
> 
> 1) How do we share clk details on instantiated device to find is it
> connected to external crystal or external clock source? as we cannot pass
> of_node between PMIC and "i2c_board_info" as it results in pinctrl
> failure. info->platformdata and
> Client->dev.platformdata to retrieve this info??

Or 

I2C instantiation based on actual oscillator bit value, ie, two i2c_device_id's
with one for setting oscillator bit and another for clearing oscillator bit

PMIC driver parses the clock details. Based on firmware version and clock, 
It instantiates either i2c_device_id with setting oscillator bit or
clearing oscillator bit.

Cheers,
Biju

WARNING: multiple messages have this Message-ID (diff)
From: Biju Das <biju.das.jz@bp.renesas.com>
To: Wolfram Sang <wsa@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	 Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Mark Brown <broonie@kernel.org>
Cc: "Corey Minyard" <cminyard@mvista.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Antonio Borneo" <antonio.borneo@foss.st.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Marek Behún" <kabel@kernel.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Alessandro Zummo" <a.zummo@towertech.it>,
	"Jiasheng Jiang" <jiasheng@iscas.ac.cn>,
	"Abhinav Kumar" <quic_abhinavk@quicinc.com>,
	"Fabrizio Castro" <fabrizio.castro.jz@renesas.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Ahmad Fatoum" <a.fatoum@pengutronix.de>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"linux-renesas-soc@vger.kernel.org"
	<linux-renesas-soc@vger.kernel.org>,
	"Mark Brown" <broonie@kernel.org>,
	"Hans Verkuil" <hverkuil-cisco@xs4all.nl>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>
Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API
Date: Tue, 13 Jun 2023 19:31:46 +0000	[thread overview]
Message-ID: <OS0PR01MB59220D794AED55A6B795C3EF8655A@OS0PR01MB5922.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <OS0PR01MB592210CE54A9CF953980DFEE8655A@OS0PR01MB5922.jpnprd01.prod.outlook.com>

Hi Wolfram,

> Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API
> 
> Hi Wolfram,
> 
> Thanks for the feedback.
> 
> > Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device
> > API
> >
> > Hi Wolfram,
> >
> > Thanks for the feedback.
> >
> > > Subject: Re: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device
> > > API
> > >
> > > Hi everyone,
> > >
> > > > Perhaps we should first think through what an ancillary device
> > > > really is.  My understanding is that it is used to talk to
> > > > secondary addresses of a multi-address I2C slave device.
> > >
> > > As I mentioned somewhere before, this is not the case. Ancillary
> > > devices are when one *driver* handles more than one address.
> > > Everything else has been handled differently in the past (for  all
> > > the
> > uses I am aware of).
> > >
> > > Yet, I have another idea which is so simple that I wonder if it
> > > maybe has already been discussed so far?
> > >
> > > * have two regs in the bindings
> >
> > OK, it is inline with DT maintainers expectation as it is matching
> > with real hw as single device node having two regs.
> >
> > > * use the second reg with i2c_new_client_device to instantiate the
> > >   RTC sibling. 'struct i2c_board_info', which is one parameter, should
> > >   have enough options to pass data, e.g it has a software_node.
> >
> > OK, I can see the below can be passed from PMIC to new client device.
> >
> > 	client->addr = info->addr;
> >
> > 	client->init_irq = info->irq;
> >
> > >
> > > Should work or did I miss something here?
> >
> > I guess it will work. We instantiate appropriate device based On PMIC
> > revision and slave address and IRQ resource passed through 'struct
> > i2c_board_info'
> >
> > Will check this and update you.
> 
> info.irq = irq; -->Irq fine
> info.addr = addr; -->slave address fine
> size = strscpy(info.type, name, sizeof(info.type)); -->instantiation based
> on PMIC version fine.
> 
> 1) How do we share clk details on instantiated device to find is it
> connected to external crystal or external clock source? as we cannot pass
> of_node between PMIC and "i2c_board_info" as it results in pinctrl
> failure. info->platformdata and
> Client->dev.platformdata to retrieve this info??

Or 

I2C instantiation based on actual oscillator bit value, ie, two i2c_device_id's
with one for setting oscillator bit and another for clearing oscillator bit

PMIC driver parses the clock details. Based on firmware version and clock, 
It instantiates either i2c_device_id with setting oscillator bit or
clearing oscillator bit.

Cheers,
Biju

  reply	other threads:[~2023-06-13 19:32 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 10:18 [PATCH v5 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
2023-05-22 10:18 ` [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API Biju Das
2023-05-22 10:18   ` Biju Das
2023-05-23  9:50   ` Hans Verkuil
2023-05-23  9:50     ` Hans Verkuil
2023-05-25 16:49   ` Geert Uytterhoeven
2023-05-25 16:49     ` Geert Uytterhoeven
2023-05-29  8:05   ` Laurent Pinchart
2023-05-29  8:05     ` Laurent Pinchart
2023-05-29  9:00     ` Biju Das
2023-05-29  9:00       ` Biju Das
2023-05-31  8:59       ` Laurent Pinchart
2023-05-31  8:59         ` Laurent Pinchart
2023-05-31  9:34         ` Biju Das
2023-05-31  9:34           ` Biju Das
2023-05-31 11:41           ` Laurent Pinchart
2023-05-31 11:41             ` Laurent Pinchart
2023-05-31 12:53             ` Biju Das
2023-05-31 12:53               ` Biju Das
2023-05-31 13:35               ` Laurent Pinchart
2023-05-31 13:35                 ` Laurent Pinchart
2023-05-31 13:44                 ` Biju Das
2023-05-31 13:44                   ` Biju Das
2023-06-02  7:40                   ` Biju Das
2023-06-02  7:40                     ` Biju Das
2023-05-31 13:37               ` Geert Uytterhoeven
2023-05-31 13:37                 ` Geert Uytterhoeven
2023-05-31 13:47                 ` Biju Das
2023-05-31 13:47                   ` Biju Das
2023-05-31 12:51         ` Geert Uytterhoeven
2023-05-31 12:51           ` Geert Uytterhoeven
2023-05-31 13:37           ` Laurent Pinchart
2023-05-31 13:37             ` Laurent Pinchart
2023-05-31 13:39             ` Geert Uytterhoeven
2023-05-31 13:39               ` Geert Uytterhoeven
2023-06-05  9:30           ` Wolfram Sang
2023-06-05  9:30             ` Wolfram Sang
2023-06-07  8:53           ` Wolfram Sang
2023-06-07  8:53             ` Wolfram Sang
2023-06-07 10:58             ` Biju Das
2023-06-07 10:58               ` Biju Das
2023-06-08  6:41               ` Biju Das
2023-06-08  6:41                 ` Biju Das
2023-06-08 10:39                 ` Laurent Pinchart
2023-06-08 10:39                   ` Laurent Pinchart
2023-06-08 11:00                   ` Biju Das
2023-06-08 11:00                     ` Biju Das
2023-06-08 12:50                     ` Laurent Pinchart
2023-06-08 12:50                       ` Laurent Pinchart
2023-06-08 12:57                       ` Biju Das
2023-06-08 12:57                         ` Biju Das
2023-06-12  9:53                         ` Biju Das
2023-06-12  9:53                           ` Biju Das
2023-06-12 12:23                           ` Laurent Pinchart
2023-06-12 12:23                             ` Laurent Pinchart
2023-06-12 12:42                             ` Biju Das
2023-06-12 12:42                               ` Biju Das
2023-06-12 12:54                               ` Laurent Pinchart
2023-06-12 12:54                                 ` Laurent Pinchart
2023-06-12 13:08                                 ` Geert Uytterhoeven
2023-06-12 13:08                                   ` Geert Uytterhoeven
2023-06-12 13:19                                   ` Laurent Pinchart
2023-06-12 13:19                                     ` Laurent Pinchart
2023-06-12 12:44                             ` Geert Uytterhoeven
2023-06-12 12:44                               ` Geert Uytterhoeven
2023-06-12 13:02                               ` Laurent Pinchart
2023-06-12 13:02                                 ` Laurent Pinchart
2023-06-12 12:35                           ` Wolfram Sang
2023-06-12 12:35                             ` Wolfram Sang
2023-06-12 12:42                             ` Geert Uytterhoeven
2023-06-12 12:42                               ` Geert Uytterhoeven
2023-06-12 12:48                               ` Wolfram Sang
2023-06-12 12:48                                 ` Wolfram Sang
2023-06-12 13:00                                 ` Geert Uytterhoeven
2023-06-12 13:00                                   ` Geert Uytterhoeven
2023-06-12 20:43                                   ` Wolfram Sang
2023-06-12 20:43                                     ` Wolfram Sang
2023-06-13  7:24                                     ` Biju Das
2023-06-13  7:24                                       ` Biju Das
2023-06-13 17:57                                       ` Biju Das
2023-06-13 17:57                                         ` Biju Das
2023-06-13 19:31                                         ` Biju Das [this message]
2023-06-13 19:31                                           ` Biju Das
2023-06-14  8:13                                           ` Laurent Pinchart
2023-06-14  8:13                                             ` Laurent Pinchart
2023-06-14  8:21                                             ` Biju Das
2023-06-14  8:21                                               ` Biju Das
2023-06-14  9:18                                               ` Geert Uytterhoeven
2023-06-14  9:18                                                 ` Geert Uytterhoeven
2023-06-14 11:04                                                 ` Biju Das
2023-06-14 11:04                                                   ` Biju Das
2023-06-15  9:00                                                   ` Geert Uytterhoeven
2023-06-15  9:00                                                     ` Geert Uytterhoeven
2023-06-14  9:54                                               ` Laurent Pinchart
2023-06-14  9:54                                                 ` Laurent Pinchart
2023-06-14 11:30                                                 ` Biju Das
2023-06-14 11:30                                                   ` Biju Das
2023-06-15  9:26                                                   ` Laurent Pinchart
2023-06-15  9:26                                                     ` Laurent Pinchart
2023-06-20  8:06                                                     ` Biju Das
2023-06-20  8:06                                                       ` Biju Das
2023-06-13  7:25                                     ` Geert Uytterhoeven
2023-06-13 10:45                                       ` Biju Das
2023-06-13 14:51                                         ` Geert Uytterhoeven
2023-06-13 14:51                                           ` Geert Uytterhoeven
2023-06-13 16:11                                           ` Biju Das
2023-06-13 16:11                                             ` Biju Das
2023-06-14  7:53                                             ` Geert Uytterhoeven
2023-06-14  7:53                                               ` Geert Uytterhoeven
2023-06-14  8:02                                               ` Biju Das
2023-06-14  8:02                                                 ` Biju Das
2023-06-15  8:07                                               ` Geert Uytterhoeven
2023-06-15  8:07                                                 ` Geert Uytterhoeven
2023-06-15  9:23                                                 ` Laurent Pinchart
2023-06-15  9:23                                                   ` Laurent Pinchart
2023-06-16  6:32                                                   ` Wolfram Sang
2023-06-16  6:32                                                     ` Wolfram Sang
2023-06-19  8:17                                                     ` Biju Das
2023-06-19  8:17                                                       ` Biju Das
2023-06-12 13:00                             ` Biju Das
2023-06-12 13:00                               ` Biju Das
2023-05-22 10:18 ` [PATCH v5 02/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
2023-05-22 10:18 ` [PATCH v5 03/11] dt-bindings: rtc: isil,isl1208: Document clock and clock-names properties Biju Das
2023-05-25 16:52   ` Geert Uytterhoeven
2023-05-22 10:18 ` [PATCH v5 04/11] rtc: isl1208: Drop name variable Biju Das
2023-05-22 10:18 ` [PATCH v5 05/11] rtc: isl1208: Make similar I2C and DT-based matching table Biju Das
2023-05-22 10:18 ` [PATCH v5 06/11] rtc: isl1208: Drop enum isl1208_id and split isl1208_configs[] Biju Das
2023-05-22 10:18 ` [PATCH v5 07/11] rtc: isl1208: Add isl1208_set_xtoscb() Biju Das
2023-05-26  7:20   ` Geert Uytterhoeven
2023-05-30 16:48     ` Biju Das
2023-05-22 10:18 ` [PATCH v5 08/11] rtc: isl1208: Add support for the built-in RTC on the PMIC RAA215300 Biju Das
2023-05-26  7:35   ` Geert Uytterhoeven
2023-05-30 17:28     ` Biju Das
2023-05-22 10:18 ` [PATCH v5 09/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings Biju Das
2023-05-26  7:37   ` Geert Uytterhoeven
2023-05-22 10:18 ` [PATCH v5 10/11] regulator: Add Renesas PMIC RAA215300 driver Biju Das
2023-05-24 10:57   ` Mark Brown
2023-05-24 13:26     ` Biju Das
2023-05-22 10:18 ` [PATCH v5 11/11] arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC Biju Das
2023-05-26  7:55   ` Geert Uytterhoeven
2023-05-26  8:48     ` Biju Das
2023-05-30 18:26 ` [PATCH v5 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das

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=OS0PR01MB59220D794AED55A6B795C3EF8655A@OS0PR01MB5922.jpnprd01.prod.outlook.com \
    --to=biju.das.jz@bp.renesas.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=a.zummo@towertech.it \
    --cc=airlied@gmail.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrzej.hajda@intel.com \
    --cc=antonio.borneo@foss.st.com \
    --cc=broonie@kernel.org \
    --cc=cminyard@mvista.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fabrizio.castro.jz@renesas.com \
    --cc=geert@linux-m68k.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jernej.skrabec@gmail.com \
    --cc=jiasheng@iscas.ac.cn \
    --cc=jonas@kwiboo.se \
    --cc=kabel@kernel.org \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=rfoss@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=wsa@kernel.org \
    /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.