[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPY8ntDVEuyPE6ftYaP0B46ToC1v1AAXiO-h8KpoScB=gXkUyA@mail.gmail.com>
Date: Tue, 1 Oct 2024 11:54:19 +0100
From: Dave Stevenson <dave.stevenson@...pberrypi.com>
To: Stefan Wahren <wahrenst@....net>
Cc: Florian Fainelli <florian.fainelli@...adcom.com>,
Karan Sanghavi <karansanghvi98@...il.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>, kernel-list@...pberrypi.com,
devicetree@...r.kernel.org, linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Shuah Khan <skhan@...uxfoundation.org>, Anup <anupnewsmail@...il.com>,
Phil Elwell <phil@...pberrypi.com>
Subject: Re: [PATCH] arm: dts: broadcom: Add missing required fields
Hi Stefan and Florian
On Mon, 30 Sept 2024 at 19:36, Stefan Wahren <wahrenst@....net> wrote:
>
> Hi Florian,
>
> Am 25.09.24 um 22:38 schrieb Florian Fainelli:
> > On 9/25/24 09:39, Stefan Wahren wrote:
> >> Hi Karan,
> >>
> >> Am 25.09.24 um 18:14 schrieb Karan Sanghavi:
> >>> Added below mentioned required fields
> >>> 1. interrupt-controller
> >>> 2. #interrupt-cells
> >>> in the bcm2711.dtsi file for the
> >>> interrupt-controller@...00000 block as defined in the
> >>> bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml.
> >>> This issue was noticed while compiling the dtb file
> >>> for broadcom/bcm2711-rpi-4-b.dts file.
> >>> After including the above fields in the dtsi file
> >>> interrupt-conntroller error was resolved.
> >> looks like you made the same mistake like me [1]. This change breaks
> >> boot of Raspberry Pi 4 [2].
> >>
> >> There are a lot of DT schema warnings to fix, but this doesn't belong to
> >> the trivial ones.
> >
> > Including the #interrupt-cells would not have a functional impact
> > however, and we ought to be able to do that.
> >
> > The 'interrupt-controller' property presence means that the controller
> > will be picked up by of_irq_init() and that is was causes problems for
> > people testing this. Stefan, do you know if the VPU firmware
> > removes/inserts that property to tell Linux which interrupt controller
> > (bcm2836-l1-intc or ARM GIC) to use or does it make use of the
> > "status" property which would be the canonical way about doing that?
> There is a config.txt parameter for this, which is called "enable_gic".
> But if i use this i couldn't see any difference to /proc/device-tree.
> Also i couldn't see any modifications by the firmware to the node in
> general:
>
> interrupt-controller@...00000 {
> compatible = "brcm,bcm2836-l1-intc";
> reg = <0x40000000 0x100>;
> phandle = <0x8e>;
> };
>
> Except of this i don't have any clue about the VPU firmware.
cc Phil so he can correct me if I get this wrong.
The firmware looks at the DTB and automatically sets the enable_gic
property if DT /interrupt-parent points at a node with compatible
string "arm,gic-400". It doesn't modify DT around the interrupt
controller nodes.
Manually setting enable_gic should only be necessary on a system which
isn't using DT where they wish to control whether to use the GIC or
bcm2836-l1-intc.
Dave
Powered by blists - more mailing lists