On Thu, Apr 11, 2013 at 11:22 AM, Benoit Cousson <b-cousson@xxxxxx> wrote: > Hi Javier, > > On 04/11/2013 01:58 AM, Javier Martinez Canillas wrote: >> On Wed, Apr 10, 2013 at 7:31 PM, Jon Hunter <jon-hunter@xxxxxx> 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 > Hi Benoit, I (wrongly) assumed that this was made just to bypass the fact that neither the ks881 driver nor the DT core call omap_gpio_request() to enable the GPIO bank module. But now thanks to your explanation I understand that gpio48 is also necessary to control the regulator and as Jon said the lucky fact is that both GPIO 48 and 34 are from the same GPIO bank module (gpio2). If that was not the case, this would probably not work. I should learn to not comment without looking at the schematic first. Thanks a lot and best regards, Javier -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html