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 0x5f using 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=m and 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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.