From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benoit Cousson Subject: Re: 4430sdp nfsroot broken with ff5c9059 Date: Thu, 11 Apr 2013 11:22:13 +0200 Message-ID: <516680C5.9040505@ti.com> References: <20130409212318.GR10155@atomide.com> <5165A1DB.3020404@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from devils.ext.ti.com ([198.47.26.153]:53384 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752394Ab3DKJWT (ORCPT ); Thu, 11 Apr 2013 05:22:19 -0400 In-Reply-To: Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: Javier Martinez Canillas Cc: Jon Hunter , Tony Lindgren , "linux-omap@vger.kernel.org" Hi Javier, On 04/11/2013 01:58 AM, Javier Martinez Canillas wrote: > On Wed, Apr 10, 2013 at 7:31 PM, Jon Hunter wrote: >> Hi Tony, >> >> On 04/09/2013 04:23 PM, Tony Lindgren wrote: >>> Hi Jon, >>> >>> Looks like at least 4430sdp nfsroot got broken with commit >>> ff5c9059 (ARM: dts: OMAP3+: Correct gpio #interrupts-cells >>> property). >> >> Thanks for reporting. I am actually amazed that ethernet is >> working on any OMAP board (with device-tree) that requires a >> gpio as an interrupt because we have still not come to an >> agreement on [1]. Looking at the OMAP4 SDP I believe this is >> working by luck because there are other gpios in the same >> bank that are active and so the bank is enabled. If that were >> not the case then this would not work. >> > > Hi Jon, > > Ethernet is working on 4430sdp since the optional "gpio" property is > specified on the fixed regulator used by the eth device node. > > From arch/arm/boot/dts/omap4-sdp.dts: > > vdd_eth: fixedregulator-vdd-eth { > compatible = "regulator-fixed"; > regulator-name = "VDD_ETH"; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > gpio = <&gpio2 16 0>; /* gpio line 48 */ > enable-active-high; > regulator-boot-on; > }; > ... > &mcspi1 { > eth@0 { > compatible = "ks8851"; > spi-max-frequency = <24000000>; > reg = <0>; > interrupt-parent = <&gpio2>; > interrupts = <2>; /* gpio line 34 */ > vdd-supply = <&vdd_eth>; > }; > }; > > So is the regulator who is calling gpio_request() and enabling the > GPIO bank and no the ks881 ethernet driver. That's why it was working > although I think is just a DT hack and should be changed once we found > a proper solution to fhis. It is not really a hack. There is a regulator controlled by a GPIO that can control the Ethernet chip power. Both gpio48 and gpio34 are used for Ethernet. On some SDP version there is even a third line, but I was not able to find any evidence in the schematic I was using. Regards, Benoit