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 ...