Re: [PATCH] arm64: dts: exynos: correct GIC CPU interfaces address range on Exynos7

From: Krzysztof Kozlowski
Date: Thu Aug 05 2021 - 05:45:31 EST


On 05/08/2021 11:43, Krzysztof Kozlowski wrote:
> On 05/08/2021 11:26, Alim Akhtar wrote:
>> Hi Krzysztof,
>>
>>> -----Original Message-----
>>> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
>>> Sent: 05 August 2021 13:07
>>> To: Rob Herring <robh+dt@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-
>>> arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx; linux-
>>> kernel@xxxxxxxxxxxxxxx
>>> Cc: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>; Chanwoo Choi
>>> <cw00.choi@xxxxxxxxxxx>; Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx>;
>>> Sam Protsenko <semen.protsenko@xxxxxxxxxx>; Marc Zyngier
>>> <maz@xxxxxxxxxx>
>>> Subject: Re: [PATCH] arm64: dts: exynos: correct GIC CPU interfaces address
>>> range on Exynos7
>>>
>>> On 05/08/2021 09:21, Krzysztof Kozlowski wrote:
>>>> The GIC-400 CPU interfaces address range is defined as 0x2000-0x3FFF
>>>> (by ARM).
>>>>
>>>
>> Looking at DDI0471B_gic400_r0p1_trm.pdf, CPU interface range is 0x0000 ~ 0x10000
>>
>>> I underestimated the issue - this is actually bug as there is a GICC_DIR
>>> register at offset 0x1000. Therefore:
>>>
>> Looking at the exynos7 and exynos5433 UMs looks like GICC_DIR is at offset 0x2100 (from 0x1100_0000 GIC base)
>> It is possible for you to cross check once?
>>
>
> That's a mistake in Exynos manual. GICC_DIR is at 0x1000:

0x1000 from CPU base offset, so 0x3000 from GIC base.

> https://developer.arm.com/documentation/ddi0471/b/programmers-model/cpu-interface-register-summary
>
> We have discussion here:
> https://lore.kernel.org/linux-samsung-soc/0277c701-cc25-cdc5-d3b9-cf2cc2ba4de5@xxxxxxxxxxxxx/T/#m1ced9a28bed27f5cf74e281fb68efe1b57d5609e
>
> Range of 0x10000 is definitely wrong as it overlaps with two other
> ranges.


Best regards,
Krzysztof