Hi Vikas

On 11/14/2017 11:16 PM, Vikas MANOCHA wrote:
> Hi Patrice,
> 
> Cheers,
> Vikas
> 
>> -----Original Message-----
>> From: Patrice CHOTARD
>> Sent: Tuesday, November 14, 2017 12:41 AM
>> To: Vikas MANOCHA <vikas.mano...@st.com>; u-boot@lists.denx.de; 
>> albert.u.b...@aribaud.net; s...@chromium.org
>> Cc: Patrick DELAUNAY <patrick.delau...@st.com>; Christophe KERELLO 
>> <christophe.kere...@st.com>
>> Subject: Re: [PATCH] mach-stm32: Fix mpu region's attribute for STM32H7
>>
>> Hi Vikas
>>
>> On 11/14/2017 03:16 AM, Vikas MANOCHA wrote:
>>> Hi Patrice,
>>>
>>>> -----Original Message-----
>>>> From: Patrice CHOTARD
>>>> Sent: Monday, November 13, 2017 8:26 AM
>>>> To: u-boot@lists.denx.de; albert.u.b...@aribaud.net;
>>>> s...@chromium.org; Vikas MANOCHA <vikas.mano...@st.com>
>>>> Cc: Patrice CHOTARD <patrice.chot...@st.com>; Patrick DELAUNAY
>>>> <patrick.delau...@st.com>; Christophe KERELLO
>>>> <christophe.kere...@st.com>
>>>> Subject: [PATCH] mach-stm32: Fix mpu region's attribute for STM32H7
>>>>
>>>> From: Patrice Chotard <patrice.chot...@st.com>
>>>>
>>>> The SDRAM region was setup with the wrong attributes.
>>>> It must be set to :
>>>>     _ XN_EN (Execution of an instruction fetched from this region 
>>>> permitted)
>>>>     _ O_I_WB_RD_WR_ALLOC (Outer and inner write-back, write and read
>>>> allocate)
>>>>
>>>
>>> H7 mpu configuration seems same as F7, can we have one config for F7 & H7.
>>
>> Between F7 and H7, there is one difference regarding the F7's region 3 which 
>> is not needed on H7 because FMC/QSPI registers are
>> located inside H7's region 2.
> 
> Yes, that’s correct. Any way we can handle it at one place.
> In any case, for easy maintenance let's keep the same configuration/code for 
> two with this above exception.

Agree, i will abandon this patch and will propose a new one which will 
factorize code between STM32F4/F7 and H7 SoCs family.

> 
>>
>> Just one question about F7's region 1, why is it only 512MB and not 1GB 
>> long, to include ITCM and DTCM area ? (see Embedded SRAM
>> chapter of
>> RM0385 Reference manual)
> 
> because 512MB (0x2000_0000) is size of armv7m code area.

Ok

Thanks

Patrice

> 
> Cheers,
> Vikas
> 
>>
>> Nevertheless, i just notice that for H7, i can remove region 1 which 
>> overlaps region 0 with exactly the same attribute.
>>
>> Thanks
>>
>>>
>>>> This fixes hard fault when trying to load and execute kernel linux in this 
>>>> area.
>>>>
>>>> Signed-off-by: Patrice Chotard <patrice.chot...@st.com>
>>>
>>> In any case,
>>> Reviewed-by: Vikas Manocha <vikas.mano...@st.com>
>>>
>>> Cheers,
>>> Vikas
>>>
>>>> ---
>>>>    arch/arm/mach-stm32/stm32h7/soc.c | 9 ++++++---
>>>>    1 file changed, 6 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-stm32/stm32h7/soc.c
>>>> b/arch/arm/mach-stm32/stm32h7/soc.c
>>>> index 692dbcc..e0d3f11 100644
>>>> --- a/arch/arm/mach-stm32/stm32h7/soc.c
>>>> +++ b/arch/arm/mach-stm32/stm32h7/soc.c
>>>> @@ -30,9 +30,12 @@ int arch_cpu_init(void)
>>>>                    { 0x00000000, REGION_0, XN_DIS, PRIV_RW_USR_RW,
>>>>                    O_I_WB_RD_WR_ALLOC, REGION_4GB },
>>>>
>>>> -          /* Code area, executable & strongly ordered */
>>>> -          { 0xD0000000, REGION_1, XN_EN, PRIV_RW_USR_RW,
>>>> -          STRONG_ORDER, REGION_8MB },
>>>> +          /*
>>>> +           * Code area, executable, Outer and inner write-back,
>>>> +           * no write allocate
>>>> +           */
>>>> +          { 0xD0000000, REGION_1, XN_DIS, PRIV_RW_USR_RW,
>>>> +          O_I_WB_RD_WR_ALLOC, REGION_32MB },
>>>>
>>>>                    /* Device area in all H7 : Not executable */
>>>>                    { 0x40000000, REGION_2, XN_EN, PRIV_RW_USR_RW,
>>>> --
>>>> 1.9.1
>>>
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to