Re: [PATCH v5 05/10] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
From: Rob Herring <robh@kernel.org>
Date: 2019-02-13 20:40:33
Also in:
linux-devicetree, lkml
On Wed, Feb 13, 2019 at 07:26:20AM -0800, Tony Lindgren wrote:
* Lokesh Vutla [off-list ref] [190213 04:26]:quoted
Hi Tony, On 12/02/19 9:52 PM, Tony Lindgren wrote:quoted
Hi, * Lokesh Vutla [off-list ref] [190212 07:43]:quoted
+Example: +-------- +The following example demonstrates both interrupt router node and the consumer +node(main gpio) on the AM654 SoC: + +main_intr: interrupt-controller0 { + compatible = "ti,sci-intr"; + interrupt-controller; + interrupt-parent = <&gic500>; + #interrupt-cells = <4>; + ti,sci = <&dmsc>; + ti,sci-dst-id = <56>; + ti,sci-rm-range-girq = <0x1>; +};Can you describe a bit what the "ti,sci-dst-id" is above? These IDs seem to be listed at at [0] below, but is it really a property of the hardware? Or is it some enumeration of SoC devices in the firmware?This is the way that sysfw describes the hardware. In this case it is GIC and it is identified by this ID.If this ID is an enumeration in the sysfw rather than an actual hardware property it should not be in the device tree. If so, the device driver should request the id from the sysfw based on a name. That is, if no struct device or device phandle can be used. The problem with using enumeration in the dts is that it requires maintaining the dts, driver(s) and possibly firmware in sync. And that might change between SoCs variants when new devices get added and removed.
IOW, don't repeat h/w designers mistakes and make your firmware discoverable. We have DT only for what is not discoverable. Rob _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel