[PATCH] ARM64: juno: add NOR flash to device tree
sudeep.holla at arm.com
Tue Oct 27 05:33:03 PDT 2015
On 27/10/15 12:22, Linus Walleij wrote:
> On Tue, Oct 27, 2015 at 1:01 PM, Sudeep Holla <sudeep.holla at arm.com> wrote:
>> On 27/10/15 11:55, Linus Walleij wrote:
>>> Then it is safe to enable NOR flash and AFS in the kernel.
>> *No*, not on Juno. If we need to enable them for other platforms, then
>> we should either disable NOR flash in DT(or even remove it completely
>> whichever is appropriate).
>> Since idle is enable in defconfig and if DT has idle states, then it
>> can't boot for the reason I previously mentioned.
> Yeah right I remember that now. Let's say it is safe to enable
> for the tamper-security reason. There may be other reasons
> not to...
> If this is about different idle functionalities blocking flash
> access, what we should do is to in Kconfig make it impossible
> to compile in both deep idle states and flash support at the
> same time, as that is how the system really behaves.
> I.e do you mean something like this, or am I getting it wrong?
But with this you will never enable idle on all VEXPRESS platforms, what
if the issue on Juno is resolved in future silicon. So I prefer DT way
if we have to enable NOR flash in defconfig.
> index 21340e0be73e..07d91776bcfe 100644
> --- a/drivers/cpuidle/Kconfig.arm
> +++ b/drivers/cpuidle/Kconfig.arm
> @@ -4,6 +4,7 @@
> config ARM_CPUIDLE
> bool "Generic ARM/ARM64 CPU idle Driver"
> select DT_IDLE_STATES
> + depends on !(ARCH_VEXPRESS && MTD)
> Select this to enable generic cpuidle driver for ARM.
> It provides a generic idle driver whose idle states are configured
> Hiding hardware from the devicetree seems over the top to me,
OK, I agree with you on not hiding. But disabling it seems OK for me as
it's a hardware errata(SROM can't be used and hence NOR is used in warm
> it is better to keep the device trees describing the actual hardware
Agreed, but we need a way to specify that it used as alternative for
SROM to workaround the hardware issue and hence not available for Linux.
One way I believe is setting the status as disabled.
More information about the linux-arm-kernel