diff options
authorPraveen Rao2013-08-08 13:47:43 -0500
committerPraneeth Bajjuri2013-08-09 17:05:33 -0500
commite9d2d62aaf51514a2a84ef28262ef300b37df69a (patch)
parent6d90709163afd1f314ad688428bb929215f8e295 (diff)
HACK: ARM: DRA7XX: ETH: Use n_latch in pcf8575 to drive P10 for ETH0HEADmaster
Use n_latch to hack the pcf8575 driver to "drive P10" to not hold ETH0 in reset. Description: nETH_RST is a pin that controls the phy reset -> this was the core of the issue -> we have pcf8575 GPIO expander on i2c1 whose P10(ETH0) and P11(ETH1) hold or release the ETH from reset. On the very first write by Display Panel driver (which rightly control's it's own GPIO expander pin P15), all other pins are written as 0 -> since this is the first write(by panel), this is precisely when pcf8575 starts to drive the signal -> at this point the default pulls are overridden by pcf8575's pulls. As ETH driver does not drive it's pin, the ETH0_RST is driven low, holding Ethernet in reset. Nishanth Menon helped in isolatng this issue. REVISIT: This is a ethernet driver bug and has to be fixed properly post release. Change-Id: I45ddb1202761f052f8a8a04faf14b841da5af2ec Signed-off-by: Praveen Rao <prao@ti.com>
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 238a28d3dc7a..03f0862ba130 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -247,6 +247,8 @@
247 reg = <0x20>; 247 reg = <0x20>;
248 gpio-controller; 248 gpio-controller;
249 #gpio-cells = <2>; 249 #gpio-cells = <2>;
250 /* HACK: Using n_latch in cf8575 driver to "drive P10" to not hold ETH0 in reset */
251 n_latch = <0xfeff>;
250 }; 252 };
251 253
252 /* TLC chip for LCD panel power and backlight */ 254 /* TLC chip for LCD panel power and backlight */