On Wed, 2017-06-28 at 17:50 -0500, Rob Herring wrote: > > > > + #clock-cells = <0>; > > > > + compatible = "fixed-clock"; > > > > + clock-frequency = <1000000000>; > > > > + }; > > > > + > > > > + core_intc: archs-intc@cpu { > > > > > > cpu is not a valid unit-address. How are these interrupt > > > controllers addressed? > > > > We have per-core INTC so each core communicates to its own INTC and > > there's no way > > for any core to talk with INTC of another core. > > > > But then we have the next level INTC which is IDU (Interrupt > > Distribution Unit) > > which dispatches "common" IRQs to different upstream per-core INTC, > > see below its node. > > Okay, I'd just do "cpu-interrupt-controller" for the node name then. > There doesn't seem to be an easy way to use just "interrupt- > controller" > since you have 2 nodes at the same level and no unit-address (i.e. a > reg property). > To be more clarify, what is better way do describe such hardware in device tree? ------------- ------------- | cpu core 0| | cpu core 1| ------------- ------------- | interrupt | | interrupt | | controller| | controller| | 0 | | 1 | ------------- ------------- ^ ^ | | ----------- | | ---------------- | interrupt | | distribution | | unit | ---------------- ^ | |<--other devices interrupt lines We can't just create a node for each core interrupt controller because we wouldn't able to specify which one is parent for interrupt distribution unit: ------------>>>------------- cpus { cpu@0 { intc@0 }; cpu@1 { intc@1 }; }; interrupt-distribution-unit { interrupt-parent = ???? }; ------------>>>------------- Should we simply create one core interrupt controller node for all cpus (instead of one per each cpu core), or where is a better option? -- Eugeniy Paltsev��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f