Subject: Re: ID of (former "National") TI's PHY DP83848

From: Andrew Lunn <[email-masked]>
Date: Mon, 30 Apr 2018 14:22:26 +0200

On Fri, Apr 27, 2018 at 01:51:04PM +0200, Juergen Borleis wrote:
> Hi,
> 
> I have worked on a DP83848 variant without an interrupt line. While at it, I 
> read through all datasheets of existing variants of the DP83848 phy.
> 
> Here is what I've found so far:
> 
> +--------------+--------------+--------+-----+
> | Variant      |    Phy ID    |  Note  | IRQ |
> +--------------+--------------+--------+-----+
> | DP83848H     |  0x20005c90  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848J     |  0x20005c90  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848K     |  0x20005c90  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848M     |  0x20005c90  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848T     |  0x20005c90  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848EP    |  0x20005c90  |        | YES |
> +--------------+--------------+--------+-----+
> | DP83848HT    |  0x20005c90  |        | YES |
> +--------------+--------------+--------+-----+
> | DP83848Q     |  0x20005ca2  |  MINI  | NO  |
> +--------------+--------------+--------+-----+
> | DP83848V     |  0x20005ca2  |        | YES |
> +--------------+--------------+--------+-----+
> | DP83848C     |  0x20005ca2  |        | YES |
> +--------------+--------------+--------+-----+
> 
> "MINI" means a less pin count variant.
> "IRQ"-"YES" means, the device has a interrupt line,
> "IRQ"-"NO" means, the device has no interrupt line.
> 
> How to deal with interrupts, if the device itself has no interrupt line (and 
> uses the same phy ID)? How to deal with the same Phy ID used for different 
> devices and different features?

Hi Juergen

Interrupts are always in two parts. One part is the PHY driver side,
saying it supports interrupts, providing the functions to configure
interrupts, check if an interrupt did happen, and acknowledge it. The
second part is somehow specifying which specific interrupt is used,
via device tree, or platform data. Only when both are supplied will
PHYLIB try to use the interrupts.

So it should be safe if they PHY driver always says it supports
interrupts. The platform then must not provide an interrupt number
when there is not one.

As for other features, you probably need to take same approach. How
does a mini differ? Less LEDs? Only RGMII, not GMII?

     Andrew