On Wed, Feb 13, 2019 at 07:26:20AM -0800, Tony Lindgren wrote: > * Lokesh Vutla <lokeshvu...@ti.com> [190213 04:26]: > > Hi Tony, > > > > On 12/02/19 9:52 PM, Tony Lindgren wrote: > > > Hi, > > > > > > * Lokesh Vutla <lokeshvu...@ti.com> [190212 07:43]: > > >> +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