(WIP) Porting OpenWrt to Cavium CN6640-SNIC10E Octeon II NIC

Let me start by saying: Feel free to submit code into my trees; you may use https://git.laboratoryb.org/user/sign_up or just e-mail me patches.

Yes, Aaro Koskinen's patchset for the CN68XX series also contains one patch to prevent that hang on XAUI init. I believe there are some hardware queues that get initialized by that reset. Not sure. There are also some PKO / SSO differences between CN66XX and CN68XX. What that actually means, I do not know; I am just repeating the complaints in the response to that patchset.

If I find time I will pull your 5.10 branch and compile and take a look. Porting forward VSC848X was completely over my head: the use of the OF_MEMORY_ACCESSOR framework does not port forward easily as the concepts have been completely paved over with a different way of dealing with / mapping OpenFirmware / Device Tree objects into memory. I never really understood that part of that patch.

I essentially used the same setup as you did, but rather than overriding using u-boot env, I used the control scheme suggested in the documents in the SDK: based on the U-boot of stderr, stdout, stdin, you can control whether the card will listen on the physical serial console in the top right corner, the PCIe console (oct-pci-console I believe?), etc. Once linux boots, it makes its own determinations about which consoles to listen to and at which baudrate.

Specifically, though, I set up the includes/snic10e.h in the SDK's u-boot tree so that it defaults stdin / stdout / stderr properly to the PCI console.

That all having been said -- there is some overriding going on with the aforementioned variables that I haven't gotten to the root of, so that's probably what you hit upon. I wonder if by setting the variables correctly in the envfile, you can force which console will work and how ...

1 Like