[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190708145733.GA9027@lunn.ch>
Date: Mon, 8 Jul 2019 16:57:33 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Benjamin Beckmeyer <beb@...-engel.de>
Cc: netdev@...r.kernel.org
Subject: Re: i.mx6ul with DSA in multi chip addressing mode - no MDIO access
> 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
Powered by blists - more mailing lists