From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: How to encode being an I2C slave in DT? Date: Wed, 06 May 2015 09:57:37 -0600 Message-ID: <554A39F1.9060507@wwwdotorg.org> References: <1427745615-5428-1-git-send-email-danindrey@mail.ru> <20150505105513.GA1841@katana> <20150506065928.GP25193@pengutronix.de> <3394114.re5da8pjTi@fb07-iapwap2> <20150506080951.GS25193@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20150506080951.GS25193-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: =?windows-1252?Q?Uwe_Kleine-K=F6nig?= , Marc Dietrich Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Wolfram Sang , Greg Kroah-Hartman , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andrey Danin , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-tegra@vger.kernel.org On 05/06/2015 02:09 AM, Uwe Kleine-K=F6nig wrote: > Hello Marc, > > On Wed, May 06, 2015 at 09:53:55AM +0200, Marc Dietrich wrote: >> Am Mittwoch, 6. Mai 2015, 08:59:28 schrieb Uwe Kleine-K=F6nig: >>> On Tue, May 05, 2015 at 12:55:13PM +0200, Wolfram Sang wrote: >>>> So what about adding a new property "i2c-slave-reg"? This does not= only >>>> prevent the confusion above, but also makes it very clear that thi= s node >>>> is an I2C slave without the need to encode that somehow in the >>>> compatible property (although it probably should be described ther= e as >>>> well, still). >>> >>> I admit I didn't follow the discussions referenced in the footnotes= , but >>> I wonder if the slave part should be added to the device tree at al= l. >>> AFAICT it could (and so should) be completely userspace-defined whi= ch >>> slave driver is used on which address. I imagine that for most >>> controllers the bus addresses to use can be chosen more or less fre= ely. >>> So what am I missing? >> >> if you had read the footnotes you would know :-) Our usecase is conn= ect an >> embeedded controller via i2c to the host soc, similar to cros-ec, bu= t here the >> ec is the i2c master. The ec connects keyboard, mouse, pwrmngt, and = other >> stuff, for which the drivers are best implemented in kernel code AFA= IK. > > Right, the driver might sensibly be implemented in kernel space. But = I'd > vote that you still need to do the binding of these drivers to your > slave controller from userspace. Then there is no need to specify > anything in your dtb. I think the set of I2C slave devices that are implemented by the Linux=20 system can reasonably be considered part of the HW definition. Most DT=20 content to date has been a definition of the HW that's available to SW,= =20 but at least in this case, this I2C slave device is something that must= =20 be implemented (admittedly in conjunction with SW) using the I2C slave=20 HW on the main SoC, in order for the overall HW to work as intended. BTW, I believe devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org was created to address=20 subsystem-level DT schema questions like this. It's much lower volume,=20 so perhaps the thread would get noticed by the DT maintainers if posted= =20 there (or perhaps just CC them)? -- To unsubscribe from this list: send the line "unsubscribe devicetree" i= n the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html