On Monday 29 December 2008, Stijn Devriendt wrote: > Setting the pinmux layer and 3V3PWDN registers is not > the kernel's responsibility, it's the bootloader's.
If there's a consensus in the Linux community on such issues, that's not it. Instead, the logic goes like: - Most bootloaders are broken to some degree; they're not often verified as doing much more than being able to load and start a kernel. The kernel can't trust that it's only started from a mythical "perfect boot loader". - Of the N drivers that need to work on any given board, the boot loader only needs to configure hardware for a small handful of them. The rest need to be configured by the OS kernel. - It's worse for development boards, which need to be able to support a variety of add-ons that need different pin configurations. Boot loaders can't, in general, know what boards to set up. - So the kernel *must* have code to properly set up almost everything. (Usually Linux doesn't touch the main PLL settings though, so if the boot loader detunes the CPU, the kernel won't change that.) This isn't to deny that having the bootloader set things up is a Good Thing. It's just that the OS can't expect every bootloader to do that right... and in fact it's got to work right when running on boards with semi-broken boot loaders too. - Dave _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source