Punting over to Rob and DT team's wisdom.. On 13:17-20201119, Grygorii Strashko wrote: > > > On 18/11/2020 17:12, Nishanth Menon wrote: > > On 13:38-20201118, Grygorii Strashko wrote: > > > Hi Rob, > > > > > > On 17/11/2020 18:19, Sekhar Nori wrote: > > > > With dtc 1.6.0, building TI device-tree files with W=2 results in warnings > > > > like below for all interrupt controllers. > > > > > > > > /bus@100000/bus@30000000/interrupt-controller1: Missing #address-cells in interrupt provider > > > > > > > > Fix these by adding #address-cells = <0>; for all interrupt controllers in > > > > TI device-tree files. Any other #address-cells value is really only needed > > > > if interrupt-map property is being used (which is not the case for existing > > > > TI device-tree files) > > > > > > > > Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> > > > > --- > > > > arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 5 +++++ > > > > arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi | 2 ++ > > > > arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 1 + > > > > arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 3 +++ > > > > arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 1 + > > > > arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts | 1 + > > > > arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 11 +++++++++++ > > > > arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 3 +++ > > > > 8 files changed, 27 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > > > > index aa8725db0187..55aaa1404d7d 100644 > > > > --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > > > > +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > > > > @@ -440,6 +440,7 @@ > > > > interrupt-controller; > > > > interrupt-parent = <&gic500>; > > > > #interrupt-cells = <1>; > > > > + #address-cells = <0>; > > > Does it really required or mandatory to have #address-cells = <0>; defined for interrupt-controller DT nodes which > > > do not have child nodes and no "interrupt-map"? > > > > Just to help clarify (I could be mistaken as well): is'nt the > > interrupt map for user interrupt map nodes that refer to this > > interrupt controller node to state they dont need a parent address > > specifier - so are we claiming none of the users will have an > > interrupt-map (now and never in the future as well) - we we might want > > to explain why we think that is the case, and if we are expecting dtc > > to deduce that (if so how?)? > > > > The main reason I commented - is hope to get some clarification from DT maintainers. > 90% of interrupt-controller nodes do not have #address-cells and I never seen in in GPIO nodes > (most often is present in PCI and GIC nodes). > and nobody seems fixing it. So, if we are going to move this direction it's reasonable to get clarification to be sure. > > And there is no "never" here - #address-cells always can be added if really required. OK - as a GPIO node, but as an interrupt-controller node, I was looking at [1] and wondering if that was the precedence. Yes, will be good to get direction from the DT maintainers on this topic. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/interrupt-controller/open-pic.txt -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D