Re: [PATCH] Fix the LPC47M192 SuperIO on the MPC8641 HPCN
From: Segher Boessenkool <hidden>
Date: 2007-06-08 08:22:57
quoted
quoted
I suppose I could create a device node for the Super I/O config registers and use those instead of hardcoding it here.I'd just hide it all, do this setup in the firmware, where it belongs, and don't expose the superio config in the device tree.No more. No more firmware-only initializations.
This setup is very board specific, and the board cannot reasonably work without that setup being done right. You really want to push _that_ into Linux? Alternatively, you could put it into the device tree, but that doesn't help anything either.
It sounds great, in principle, until you actually have to figure out why someone's setup isn't working. I'm tired of having to see if the dts, u-boot, and Linux are in sync. If Linux wants to use a device, I think it's not unreasonable to have it setup the device itself. That way, Linux can do whatever it wants with the device, and not have to rely on U-Boot (or some other firmware) setting up the appropriate bits.
There is one and only one way to set up the superio for a certain board (assuming the legacy I/O and IRQ values are considered fixed values).
Please...no. What happens next is that we find a small bug that requires we modify U-Boot to do the initialization slightly differently, and then requires Linux to act slightly differently.
This is equivalent to needing a board-level fix really. Segher