[U-Boot] [RFC PATCH 2/5] arm: v7R: Add initial support

Lokesh Vutla lokeshvutla at ti.com
Tue Apr 24 14:48:29 UTC 2018



On Tuesday 24 April 2018 06:35 PM, Alexander Graf wrote:
> On 04/24/2018 02:54 PM, Lokesh Vutla wrote:
>> From: Michal Simek <michal.simek at xilinx.com>
>>
>> The Cortex-R* processors are a mid-range CPUs for use in deeply-embedded,
>> real-time systems. It implements the ARMv7-R architecture, and includes
>> Thumb-2 technology for optimum code density and processing throughput.
>>
>> Except for MPU(Memory Protection Unit) and few CP15 registers, most of
>> the
>> features are compatible with v7 architecture. So,reuse the same armv7
>> folder and introduce a new config CPU_V7R in order to differentiate
>> from v7 based platforms.
>>
>> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
>> ---
>>   arch/arm/Kconfig           | 7 +++++++
>>   arch/arm/Makefile          | 2 ++
>>   arch/arm/cpu/armv7/start.S | 2 ++
>>   3 files changed, 11 insertions(+)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 7212fc5afa..de36ab6701 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -192,6 +192,11 @@ config CPU_V7M
>>       select THUMB2_KERNEL
>>       select SYS_CACHE_SHIFT_5
>>   +config CPU_V7R
>> +    bool
>> +        select HAS_THUMB2
> 
> spaces vs tabs?
will fix it in next version.

> 
>> +    select SYS_CACHE_SHIFT_6
>> +
>>   config CPU_PXA
>>       bool
>>       select SYS_CACHE_SHIFT_5
>> @@ -208,6 +213,7 @@ config SYS_CPU
>>       default "arm1136" if CPU_ARM1136
>>       default "arm1176" if CPU_ARM1176
>>       default "armv7" if CPU_V7
>> +        default "armv7" if CPU_V7R
> 
> same here

will fix.

> 
>>       default "armv7m" if CPU_V7M
>>       default "pxa" if CPU_PXA
>>       default "sa1100" if CPU_SA1100
>> @@ -223,6 +229,7 @@ config SYS_ARM_ARCH
>>       default 6 if CPU_ARM1176
>>       default 7 if CPU_V7
>>       default 7 if CPU_V7M
>> +    default 7 if CPU_V7R
>>       default 5 if CPU_PXA
>>       default 4 if CPU_SA1100
>>       default 8 if ARM64
>> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
>> index 4fa8b38397..f4bc1f250d 100644
>> --- a/arch/arm/Makefile
>> +++ b/arch/arm/Makefile
>> @@ -18,6 +18,7 @@ arch-$(CONFIG_CPU_ARM1136)    =-march=armv5
>>   arch-$(CONFIG_CPU_ARM1176)    =-march=armv5t
>>   arch-$(CONFIG_CPU_V7)        =$(call cc-option, -march=armv7-a, \
>>                    $(call cc-option, -march=armv7, -march=armv5))
>> +arch-$(CONFIG_CPU_V7R)        =-march=armv7-r
>>   arch-$(CONFIG_ARM64)        =-march=armv8-a
>>     # On Tegra systems we must build SPL for the armv4 core on the device
>> @@ -41,6 +42,7 @@ tune-$(CONFIG_CPU_PXA)        =-mcpu=xscale
>>   tune-$(CONFIG_CPU_ARM1136)    =
>>   tune-$(CONFIG_CPU_ARM1176)    =
>>   tune-$(CONFIG_CPU_V7)        =
>> +tune-$(CONFIG_CPU_V7R)        =
>>   tune-$(CONFIG_ARM64)        =
>>     # Evaluate tune cc-option calls now
>> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
>> index 937f7051fe..97cd830dc5 100644
>> --- a/arch/arm/cpu/armv7/start.S
>> +++ b/arch/arm/cpu/armv7/start.S
>> @@ -82,7 +82,9 @@ switch_to_hypervisor_ret:
>>         /* the mask ROM code should have PLL and others stable */
>>   #ifndef CONFIG_SKIP_LOWLEVEL_INIT
>> +#ifdef CONFIG_CPU_V7
> 
> Shouldn't this be V7A now?

As Tom suggested, ill not update it for now.

Thanks and regards,
Lokesh

> 
> 
> Alex
> 
>>       bl    cpu_init_cp15
>> +#endif
>>   #ifndef CONFIG_SKIP_LOWLEVEL_INIT_ONLY
>>       bl    cpu_init_crit
>>   #endif
> 
> 


More information about the U-Boot mailing list