Thread (39 messages) 39 messages, 6 authors, 2012-07-02
STALE5089d

[PATCH v2 2/2] net: flexcan: add transceiver switch gpios support

From: mkl@pengutronix.de (Marc Kleine-Budde)
Date: 2012-06-29 09:27:04
Also in: linux-can

On 06/28/2012 02:18 PM, Dong Aisheng wrote:
On Thu, Jun 28, 2012 at 08:05:14PM +0800, Marc Kleine-Budde wrote:
quoted
On 06/28/2012 01:46 PM, Shawn Guo wrote:
quoted
On Thu, Jun 28, 2012 at 07:33:28PM +0800, Dong Aisheng wrote:
quoted
quoted
+		phy_stby_gpio = of_get_named_gpio_flags(pdev->dev.of_node,
+							"phy-standby-gpios",
+							0, &flags);
+		if (gpio_is_valid(phy_stby_gpio)) {
+			if (flags == OF_GPIO_ACTIVE_LOW)
+				phy_stby_high = false;
+			err = devm_gpio_request_one(&pdev->dev, phy_stby_gpio,
+						    GPIOF_DIR_OUT,
+						    "phy-standby");
+			if (err) {
+				dev_err(&pdev->dev,
+					"failed to request gpio %d: %d\n",
+					phy_stby_gpio, err);
+				goto failed_gpio;
I checked mx28 evk, it seems the phy only has a STB gpio and shared by both CAN0&CAN1.
I wonder the CAN1 probe may fail here.
It can be managed by dts.  Here is what I have in imx28-evk.dts, where
only can0 has phy-enable-gpios property.


	can0: can at 80032000 {
		pinctrl-names = "default";
		pinctrl-0 = <&can0_pins_a>;
		phy-enable-gpios = <&gpio2 13 0>;
		status = "okay";
	};

	can1: can at 80034000 {
		pinctrl-names = "default";
		pinctrl-0 = <&can1_pins_a>;
		status = "okay";
	};
Will this work if can0 is down and can1 is up?

Can we abstract the transceiver power as a regulator? Or a clock? :P
Hmm, it may not be a power.
For mx28evk, it's a STBY pin.
So it may hard to abstract it as a regulator or clock.
I just talked to Sascha, He pointed out, that there already is regulator
that toggles a gpio (only one, not several). I haven't looked at the
details, but a regulator should solve the "two CAN ports share the same
transceiver/phy" problem.

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120629/6732d95d/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help