OK, to use this I still see a problem.
In order to make the pnp devices not be dynamic, we have lost the ability to have default superio settings that don't have to be done in the mainboard.
In other words, in the current system, we have this *in the superio*:
- /* Floppy */ - floppydev = "0x0"; - floppyenable = "0"; - floppyio = "0x3f0"; - floppyirq = "0x60"; - floppydrq = "0x02"; - - /* Parallel port */ - ppdev = "2"; - ppenable = "0"; - ppio = "0x378"; - ppirq = "7"; - - /* COM1 */ - com1dev = "2"; - com1enable = "0"; - com1io = "0x3f8"; - com1irq = "4"; - - /* COM2 */ - com2dev = "3"; - com2enable = "0"; - com2io = "0x2f8"; - com2irq = "3"; - - /* Keyboard */ - kbdev = "5"; - kbenable = "0"; - kbio = "0x60"; - kbio2 = "0x62"; - kbirq = "1"; - kbirq2 = "12"; - - /* Consumer IR */ - cirdev = "6"; - cirenable = "0"; - - /* Game port */ - gamedev = "7"; - gameenable = "0"; - gameio = "0x220"; - gameio2 = "0x400"; - gameirq = "9"; - - /* GPIO2 */ - gpio2dev = "8"; - gpio2enable = "0"; - - /* GPIO3 */ - gpio3dev = "9"; - gpio3enable = "0"; - - /* ACPI */ - acpidev = "0xa"; - acpienable = "0"; - - /* Hardware Monitor */ - hwmdev = "0xb"; - hwmenable = "0"; - hwmio = "0x290"; - hwmirq = "5";
now, for each and every *mainboard* that uses that superio, we have to set these defaults in the mainboard.
That's not good.
The problem is easily solved: create files such as superio/common/com1.dts, and use them instead of the pnp.dts which has non-optimal default settings. Or, just create superio/winbond/whatever/comport.dts, keyboard.dts, etc. and use them.
I think this is closer but maybe still not right. This could be the template for all other dts setups if we get it right.
ron