I have a custom board with a KSZ9897 switch chip and a LAN7801 upstream. The KSZ9897 is connected to the Compute Module via i2c, and I can see it at
i2cdetect. Everything appears to be working correctly from a hardware perspective, but I can not seem to get the linux driver to work.
I have compiled and installed a custom kernel version with
CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m, which is successfully producing the modules I'd expect. I can load them with
modprobe with no errors.
What I cannot get my head around, is how the dt config is applied as shown in the documentation. I've attempted adding the bits I need as options in
/etc/modules and also manually when loading the driver. Nothing presents errors, but nothing seems to work either.
I think this is more of a question about modules and the device tree than the hardware itself, any guidance would be much appreciated.