Thread (1 message) 1 message, 1 author, 2015-11-12

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

From: Måns Rullgård <hidden>
Date: 2015-11-12 16:57:57
Also in: lkml

Mason [off-list ref] writes:
[ CCing a few knowledgeable people ]

Despite the subject, this is about an Atheros 8035 PHY :-)

On 12/11/2015 15:04, Måns Rullgård wrote:
quoted
Mason wrote:
quoted
BTW, you're not using the PHY IRQ, right? I think I remember you saying
it didn't work reliably?
It doesn't seem to be wired up on any of my boards, or there's some
magic required to activate it that I'm unaware of.
Weird. The board schematics for the 1172 show Tango ETH0_MDINT# pin
properly connected to AR8035 INT pin (pin 20).
I have a different board.
<Thinking out loud>

http://www.redeszone.net/app/uploads/2014/04/AR8035.pdf

INT pin 20
I/O, D, PD
Interrupt Signal to System; default OD-gate, needs an external
10Kohm pull-up, active low; can be configured to I/O by register,
active high.

4.1.17 Interrupt Enable
Offset: 0x12
Mode: Read/Write
Hardware Reset: 0

Strange... it looks like AT803X_INER and AT803X_INTR_ENABLE refer to
the same "Interrupt Enable" register?
Seems like someone missed that it was already defined.
In fact, AT803X_INER_INIT == 0xec00 makes sense for register 0x12:
link success/fail, speed/duplex changed, autoneg error

Looks like at803x_config_intr() is used for 8031, but not for 8035...

Relevant commit:
77a9939426f7a "phy/at8031: enable at8031 to work on interrupt mode"

If I add .config_intr and .ack_interrupt to the 8035 struct, then I get
(also added some traces)
I tried that just now, and I get nothing.  What interrupt did you
specify in your device tree?
Questions:

Can't at803x_ack_interrupt() just return phy_read(phydev, AT803X_INSR);
No, that would return the actual value of the register.  The caller
doesn't care about the value, but should be notified if there was an
error.
Can at803x_config_intr() be used with the 8035
Probably.  The person who sent the patch for 8031 probably happened to
have that model.
What about AT803X_INER/AT803X_INTR_ENABLE and AT803X_INSR/AT803X_INTR_STATUS
Accidental duplicates.

-- 
Måns Rullgård
mans@mansr.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help