[PATCH] arm: gic-v3-its: Add irq UCLASS_DRIVER

Stefan Roese sr at denx.de
Thu Sep 10 09:46:27 CEST 2020


On 10.09.20 07:58, Rayagonda Kokatanur wrote:
> Hi Stefan,
> 
> On Thu, Sep 10, 2020 at 10:53 AM Stefan Roese <sr at denx.de> wrote:
>>
>> Hi Rayagonda,
>>
>> On 09.09.20 19:15, Rayagonda Kokatanur wrote:
>>> Hi Stefan,
>>>
>>> On Wed, Sep 9, 2020 at 1:57 PM Stefan Roese <sr at denx.de> wrote:
>>>>
>>>> On 09.09.20 10:14, Priyanka Jain wrote:
>>>>> This is required to fix
>>>>> "Error binding driver 'gic-v3': -96"
>>>>> on lx2160a platforms.
>>>>>
>>>>> Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
>>>>> ---
>>>>>     arch/arm/lib/gic-v3-its.c | 5 +++++
>>>>>     1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm/lib/gic-v3-its.c b/arch/arm/lib/gic-v3-its.c
>>>>> index a1657e3853..6c6b7c430c 100644
>>>>> --- a/arch/arm/lib/gic-v3-its.c
>>>>> +++ b/arch/arm/lib/gic-v3-its.c
>>>>> @@ -208,3 +208,8 @@ U_BOOT_DRIVER(gic_lpi_syscon) = {
>>>>>         .id             = UCLASS_SYSCON,
>>>>>         .of_match       = gic_lpi_syscon_ids,
>>>>>     };
>>>>> +
>>>>> +UCLASS_DRIVER(irq) = {
>>>>> +     .id = UCLASS_IRQ,
>>>>> +     .name = "irq",
>>>>> +};
>>>>
>>>> I tested this on LX2160 and get this error when booting into Linux:
>>>>
>>>>       Loading Device Tree to 000000009fff6000, end 000000009fffff3e ... OK
>>>> gic_v3_its_get_gic_lpi_addr: failed to get gic-lpi-base syscon device
>>>>
>>>> Starting kernel ...
>>>>
>>>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
>>>>
>>>> I did not look closely yet. Any idea whats going wrong here?
>>>
>>> I added the following patch to use UCLASS_SYSCON to get gic lpi details.
>>>
>>> commit id - 2ae7adc659f7fca9ea65df4318e5bca2b8274310
>>>
>>> because the above commit is failing, hence we need this patch.
>>> When I tested this I didn't face any issue hence didn't push the above change.
>>> In my case it was failing only in the lower uboot version without this patch.
>>
>> What's the "lower uboot version"?
> 
> U-Boot 2020.01 version.
> 
>>
>> In any case, it's failing now on the lx2160, since no SYSCON device is
>> found:
>>
>> $ git grep "gic-lpi-base"
>> arch/arm/lib/gic-v3-its.c:      { .compatible = "gic-lpi-base" },
>> arch/arm/lib/gic-v3-its.c:      .name           = "gic-lpi-base",
>>
>> So no device is providing this compatible in the dts anywhere. Or am I
>> missing something?
> 
> If you apply this patch it will work.

This patch is already applied.

> Please let me know if anything more is required or if this patch is
> the not right way to address the issue.

Again, its not working, as no device is providing "gic-lpi-base" AFICT.

Thanks,
Stefan


More information about the U-Boot mailing list