Subject: Re: i.mx6ul with DSA in multi chip addressing mode - no MDIO access

From: Andrew Lunn <[email-masked]>
Date: Mon, 8 Jul 2019 16:57:33 +0200

> Hi Andrew,
> I got it working a little bit better. When I'm fast enough I can read
> the registers I want but it isn't a solution.

Why do you need to read registers?

What you actually might be interested in is the debugfs patches in
Viviens github tree.

> Here is an output of the tracing even with my custom accesses.
> mii -i 2 0 0x9b60; mii -i 2 1
> phyid:2, reg:0x01 -> 0xc801
> 
> Do you know how to delete EEInt bit? It is always one. And now all 
> accesses coming from the kworker thread. Maybe this is your polling 
> function?

EEInt should clear on read for older chips. For 6390, it might be
necessary to read global 2, register 0x13, index 03.
 
> I view the INT pin on an oscilloscope but it never changed. So maybe
> this is the problem. We just soldered a pull-up to that pin but it 
> still never changend. Maybe you have an idea?

The EEInt bit is probably masked. So it will not generate in
interrupt.

> So what I think is, because of the EEInt bit is never set back to one 
> i will poll it as fast as possible.

Is it forever looping in mv88e6xxx_g1_irq_thread_work? Or is it the
polling code, mv88e6xxx_irq_poll() firing every 100ms?

	Andrew