On Thu, Nov 20, 2014 at 02:57:40PM +0100, Niklas Svensson wrote: > On 11/20/2014 01:34 PM, Paul Burton wrote: > > On Thu, Nov 20, 2014 at 01:29:00PM +0100, Niklas Svensson wrote: > >> Each CM_REGION_TARGET is set to disabled at boot, > > > > That part is true... > > > >> so there is no need to disable the matching > >> CM_GCR_REG explicitly. > > > > ...however there is no guarantee that the bootloader, or another kernel, > > or some other piece of code didn't program the registers differently > > before Linux starts. So I believe this patch to be incorrect. > > > That is the reason for this patch. This will overwrite settings written by the bootloader. > > Say if the bootloader sets up an iocu, then these writes will clear those settings. The kernel has to be firmware agnostic, can't know how these registers have been initialized as long as there is no proper boot protocol for the handover to the kernel which includes this status. At this point I think a solution that hands over the required information as part of the DT is probably the way to go. Ralf