One thing is clear. Just putting CONFIG_ETH_DESIGNWARE into s5p6818_nanopi3_defconfig does not get things done. As it turns out you must also select CONFIG_NETDEVICES, and then you get more of what you would hope for. Some of this can be discerned by looking at other _defconfig files (and there are a lot of them) that include the designware driver. Also instructive is to look at the Kconfig files themselves. As it turns out, you cannot select an option in the _defconfig file that is not available via the Kconfig tree, which includes conditionals itself. Building this and running it yield:
Net: Net Initialization Skipped No ethernet found.These messages come from ./net/eth.c It has two flavors of code on a conditional depending on whether CONFIG_DM_ETH is defined or not (it is not in our case). The first message comes from eth_common_init(). The second comes from eth_init() or eth_initialize().
So, the driver is now linked into the executable, but more needs to be done. Adding some code to u-boot/board/s5p6818/nanopi3/board.c I can print out the mac address, which is sort of comforting amidst all of the effort to get cozy with U-Boot.
MAC address: [d2:a5:61:c9:2e:xx] (tjt)Just as a note, the linux boot names the following driver:
nexell-dwmac c0060000.ethernet: snps,phy-addr property is deprecatedAfter some more work, (adding board_eth_init() to board.c) we get:
GENERIC ether read: -1 MAC address: [d2:a5:61:c9:2e:e4] (tjt) Net: dwmac.c0060000 Hit any key to stop autoboot: 0As near as I can tell, the "Net:" message comes from xx() in common/board_r.c while the rest of the line is the value of dev->name in the eth_device structure. This gets set in designware.c and is printed in xxxx
Tom's electronics pages / [email protected]