I've checked the TA bit. The TA bit is 11 which means the TA bit is not correct. I changed the code to not verify the TA bit, It still returns all ones. Then I printed out all the values get. All that I get is 1. I'm going to check the MDIO with a oscilloscope. Thanks paul, you give me another way of thinking the unworkable PHYs.
2010/4/2 p...@conspiracy.net <paul...@conspiracy.net>: > Actually remembered the issue on our 8247 (now 8567) systems when we > went to the later kernels/u-boot. We were using a Broadcom PHY and the > power on reset did not meet the minimum specifications. At times the > PHY's would work properly, many times they were inconsistent, but the > often the indication was that the turn around bit was invalid (so driver > returned all one's). A CPLD change on our side fixed this. It may be > that it was not working correctly at all times with the old kernel, but > since the TA bit as not checked we never knew. > Not sure if this is applicable but might be worth verifying. > Paul > > > On 3/31/2010 7:56 PM, Peter Pan wrote: >> Yes, the PHY address is correct, I've checked the schematics, and >> 2.6.22 is also using this PHY address. >> The different between 2.6.22 and 2.6.32.6 is that: >> In 2.6.22, we use arch/ppc/8260_io/fcc_enet.c as the driver. IMMR >> address 0xf0000000 is directly used. >> In 2.6.32.6, cpm2-fcc-enet driver is used. In that driver, the >> register address is ioremaped and used. The others are the same. >> I've tried to use the dir and data register address directly in >> mii-bitbang.c, but that leads to kernel oops. >> I've wrote a low level gpio driver for our processor MPC8247, and I >> used that for our external hardware watchdog, it works fine. Then I >> use the low level driver in the mii-bitbang.c, it still works >> incorrect, all I get from MDIO is 1. >> I'm really confused. >> >> >> 2010/3/31 Scott Wood <scottw...@freescale.com>: >> >>> Peter Pan wrote: >>> >>>> Recently, I'm porting Linux 2.6.32.6 to our customized MPC8247 based >>>> board. Everything is fine out except my ethernets. I uses >>>> cpm2-scc-enet and cpm2-fcc-enet drivers. >>>> My ethernet works fine in U-Boot with the same setting, and our >>>> previous Linux 2.6.22 is also working, so there should be nothing >>>> wrong with the hardware. >>>> The boot log of the MII part is: >>>> >>>> CPM2 Bitbanged MII: probed >>>> mdio_bus f0010d00: error probing PHY at address 0 >>>> mdio_bus f0010d00: error probing PHY at address 1 >>>> >>> Are 0 and 1 the addresses you're expecting the PHYs to be at? >>> >>> If that's not it, I'd try to examine the specific register accesses that >>> 2.6.22 is doing and see what's different. >>> >>> -Scott >>> >>> >> _______________________________________________ >> Linuxppc-dev mailing list >> Linuxppc-dev@lists.ozlabs.org >> https://lists.ozlabs.org/listinfo/linuxppc-dev >> > > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev