This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/DP83822I: What's the workflow for configuring internal registers with Device Tree enabled kernels?

Part Number: DP83822I

Tool/software: Linux

Hello everyone,

let me write a bit of background info first:

I'm working on my first Ethernet design using Linux 4.1.6 on a Cortex-A9 processor. Right now, we're moving from a development board which uses Micrel KSZ9031, to our own PCB, where we'd like to use the DP83822I. I tried out the DP83822I driver from the mainline and it seems to compile fine on our BSP, but since the PCB isn't ready yet, I can't test it out and see what's happening.

Now onto the question: I'm a bit confused about the official recommended way to actually perform the configuration of the DP83822I. I'm thinking about the more or less permanent settings like impedance settings on the MAC side, EEE, phase shift, or clock shifts, that would need to be reapplied during every boot.

Namely, the Micrel has some configuration options in its device tree, but, from what I can see, the DP83822I driver doesn't read the device tree at all, so it seems that it doesn't want any more setting than are needed for the regular phy.c devices.

I've read Documentation/networking/phy.txt which is a bit old. From what I gathered there, the expectation was to edit driver and put any settings directly inside. This seems to conflict with the new device tree phylosophy, so I'm wondering if there are any newer practices on how to set up the register configuration.

  • Hi Andreja,

    The DP83822I is a generic driver. We did not include additional configurations in the mainline.
    However, like you mentioned above, the expectation is for the user to implement this themselves.
    I am open for suggestions though on future driver developments.
    If you have any documentation on current best practices that would be much appreciated.