On 05.03.2008 07:23, ron minnich wrote:
One thing I plan to change pretty soon: power button control can move from stage1 to stage2,
That depends on your goals. We once discussed how to fail over to a initram/stage2/payload downloaded via serial. That can take a lot of time. I seem to remember that some power button control on some Geode boards has to be done in the first 4 seconds after poweron. That timing constraint will bite us when downloading over serial. Of course, if I'm wrong (or we can perform failsafe powerbutton control in stage 1), discard my objection.
and power button control will be managed in dts (another dts setting we would NOT want visible in Kconfig; you could render a board totally unbootable and unrepairable with the wrong setting. Kconfig should be for settings that are safe to change).
We currently abuse Kconfig for settings which should be available before/outside stage2, iow when the device tree is not available. Depending on our design stategy, we may want to generate a subset of the device tree as #defines suitable for inclusion outside stage2.
There are other things in stage1 for the lx that we should try to move to stage 2: cs5536_setup_extmsr(); cs5536_setup_cis_mode();
msr = rdmsr(GLCP_SYS_RSTPLL); if (msr.lo & (0x3f << 26)) { /* PLL is already set and we are reboot from PLL reset. */ return; } cs5536_setup_idsel(); cs5536_usb_swapsif(); cs5536_setup_iobase(); cs5536_setup_smbus_gpio(); /* cs5536_enable_smbus(); -- Leave this out for now. */
// cs5536_setup_power_button();
how much of this do we want managed in stage1? How much is unchanging, board to board? How much MUST be there? Really, a lot is going on; what can we leave to stage 2. Power button for sure; what else?
I'd say anything which is neither time-critical (in the sense of time after poweron) nor essential for emergency initram+stage2 downloads over serial/usbdebug nor a ROM access/execution speedup can move to stage2 phase 1.
And how do we parameterize this? Just pass in a set of booleans for those things we wish to control (e.g. smbus).
See my device tree subset generation idea above.
At this rate, carl-daniel, we may soon have another board for your list.
Nice.
Regards, Carl-Daniel