I can not get my MII working on MPC8247 with Linux 2.6.32.6

Peter Pan pppeterpppan at gmail.com
Tue Apr 6 10:29:36 EST 2010


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 paul at conspiracy.net <paulfax at 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 <scottwood at 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 at lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/linuxppc-dev
>>
>
>


More information about the Linuxppc-dev mailing list