Hi Stefan and Florian On Mon, 30 Sept 2024 at 19:36, Stefan Wahren <wahrenst@xxxxxxx> 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@40000000 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@40000000 { > 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