lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160113130227.GG1540@katana>
Date:	Wed, 13 Jan 2016 14:02:28 +0100
From:	Wolfram Sang <wsa@...-dreams.de>
To:	Jan Lübbe <jlu@...gutronix.de>
Cc:	linux-i2c@...r.kernel.org, linux-sh@...r.kernel.org,
	Magnus Damm <magnus.damm@...il.com>,
	devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
	Pantelis Antoniou <pantelis.antoniou@...sulko.com>
Subject: Re: [RFC v2 2/4] dt-bindings: i2c: mux: demux-pinctrl: add bindings

Hi Jan,

> > +Required properties:
> > +- compatible: "i2c-demux-pinctrl"
> > +- i2c-parent: List of phandles of I2C masters available for selection. The first
> > +	      one will be used as default.
> > +- i2c-bus-name: The name of this bus. Also needed as pinctrl-name for the I2C
> > +		parents.
> [...]
> > +	i2chdmi: i2c@8 {
> > +		compatible = "i2c-demux-pinctrl";
> > +		i2c-parent = <&gpioi2c>, <&iic2>, <&i2c2>;
> > +		i2c-bus-name = "i2c-hdmi";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> [...]
> > +	gpioi2c: i2c@9 {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		compatible = "i2c-gpio";
> [...]
> > +&i2c2	{
> > +	pinctrl-0 = <&i2c2_pins>;
> > +	pinctrl-names = "i2c-hdmi";
> > +
> > +	clock-frequency = <100000>;
> > +};
> [...]
> > +&iic2	{
> > +	pinctrl-0 = <&iic2_pins>;
> > +	pinctrl-names = "i2c-hdmi";
> > +
> > +	clock-frequency = <100000>;
> > +};
> [...]
> 
> It seems that the demux-pinctrl driver reconfigures the pinctrl settings
> for the parent devices. I would have expected to have alternative
> pinctrl state on the demux node support switching the same external pins
> between the different controllers. Wouldn't it be possible to have
> pinctrl conflicts between &i2c2_pins and &iic2_pins otherwise?

I don't think so. Before i2c2 is enabled, iic2 gets disabled (status =
"disabled" via OF_DYNAMIC) and thus the pins get free. Doing it this
way, you could even have something like this:

	pinctrl-0 = <&iic2_pins>, <&iic2_c_pins>;
	pinctrl-names = "i2c-hdmi", "i2c-sensors";

which allows you to demux this controller to this or that bus. I haven't
tested this, though.

   Wolfram


Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ