Here's a detailed overview of what I have been grappling with: https://stackoverflow.com/questions/62311589/feedback-on-marvell-6176-dsa-switch-device-tree-and-driver-module-codeI also tried a version of the device tree where the mdio device is in the dts file without being a subnode of the pci node. With that, the kernel doesn't crash but igb based eth0 and ports on the 6176 switch are NOT enumerated.
Thanks, Sriram