[U-Boot] [PATCH 2/2] ARMv7: at91: enable ICache and DCache.
Josh Wu
josh.wu at atmel.com
Fri May 16 11:17:54 CEST 2014
Hi, Bo
Thanks for the review ;-)
On 5/16/2014 4:29 PM, Bo Shen wrote:
> Hi Josh,
>
> On 05/16/2014 04:15 PM, Josh Wu wrote:
>> As SAMA5D3 is a at91 ARMv7 cpu, so we should enable LCD DCache
>> flush for SAMA5D3X-EK.
>>
>> Signed-off-by: Josh Wu <josh.wu at atmel.com>
>> ---
>> arch/arm/cpu/armv7/at91/cpu.c | 6 ++++++
>> board/atmel/sama5d3xek/sama5d3xek.c | 6 +++++-
>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/cpu/armv7/at91/cpu.c
>> b/arch/arm/cpu/armv7/at91/cpu.c
>> index 2fbf60d..6f2164f 100644
>> --- a/arch/arm/cpu/armv7/at91/cpu.c
>> +++ b/arch/arm/cpu/armv7/at91/cpu.c
>> @@ -61,6 +61,12 @@ int print_cpuinfo(void)
>>
>> void enable_caches(void)
>> {
>> +#ifndef CONFIG_SYS_ICACHE_OFF
>> + icache_enable();
>> +#endif
>
> No need this one. Ifdef CONFIG_SYS_ICACHE_OFF, it will be disabled.
ok, good. I will remove this #if.
>
>> +#ifndef CONFIG_SYS_DCACHE_OFF
>> + dcache_enable();
>> +#endif
This will be removed too.
>> }
>>
>> unsigned int get_chip_id(void)
>> diff --git a/board/atmel/sama5d3xek/sama5d3xek.c
>> b/board/atmel/sama5d3xek/sama5d3xek.c
>> index c835c12..1fc91d9 100644
>> --- a/board/atmel/sama5d3xek/sama5d3xek.c
>> +++ b/board/atmel/sama5d3xek/sama5d3xek.c
>> @@ -200,8 +200,12 @@ int board_init(void)
>> at91_gmac_hw_init();
>> #endif
>> #ifdef CONFIG_LCD
>> - if (has_lcdc())
>> + if (has_lcdc()) {
>> sama5d3xek_lcd_hw_init();
>> +
>> + /* Enable flushing as we enabled dcache */
>> + lcd_set_flush_dcache(1);
>
> Why not implement in driver, or else, each SoC enable dcache will need
> add this.
hmm, the thing is some at91 board, for example at91sam9x5ek board, not
defined CONFIG_SYS_DCACHE_OFF, that means DCache is enabled. But
actually it doesn't implement dcache_enable().
In above situation, if we implement it in driver, I can't tell whether
dcache is really enabled or not.
For this reason, I manually call lcd_set_flush_dcache(1) in the board file.
In the future if all boards (use hlcd driver) enabled dcache I will move
this function to hlcd driver.
Best Regards,
Josh Wu
>
>> + }
>> #endif
>> return 0;
>> }
>>
>
> Best Regards,
> Bo Shen
>
More information about the U-Boot
mailing list