[].. >> + >> + cpus { >> + cpu@0 { >> + compatible = "arm,cortex-a15"; >> + timer { >> + compatible = "arm,armv7-timer"; >> + /* >> + * PPI secure/nonsecure IRQ, >> + * active low level-sensitive >> + */ >> + interrupts = <1 13 0x308>, >> + <1 14 0x308>; >> + clock-frequency = <6144000>; >> + }; >> + }; > > The cpu nodes should have a reg matching their unit-address, and a > device_type = "cpu". > > The timer nodes should *not* be under the CPU nodes. They should be > under under the root node. I realise that it makes intuitive sense to > describe per-cpu resources this way, but that's not the way the bindings > are intended to be used (does thei DT even work?). > > No virtual/hypervisor interrupts? Mark, all valid points. I just updated the patch to include all the missing interrupts and registers for timer and gic and moved the timer node out as its supposed to be. > > Do you really need the clock-frequency property? It's far preferrable to > have your bootloader do the right thing and program CNTFRQ with the > correct value. I kept the clock-frequency property since our bootloader does not handle this and I am not sure if its a good idea to have the dependency on bootloader to do this. Updated patch: ----