summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-09-20 14:49:21 +0000
committerian <ian@FreeBSD.org>2014-09-20 14:49:21 +0000
commit319be157241498cf19a2da5e65e91f008a9fbafc (patch)
treef79d513065d0023cca6983c04ad1c91c2ce4eaa1 /share
parentf75ee4cff8ab1e9becfc0edd410dc08ff36aba3a (diff)
downloadFreeBSD-src-319be157241498cf19a2da5e65e91f008a9fbafc.zip
FreeBSD-src-319be157241498cf19a2da5e65e91f008a9fbafc.tar.gz
Make the ARM MPCore Timer driver work with published standard FDT bindings.
We've always considered the mpcore timers to be a single monolithic device and we defined our own fdt binding for it with our own compat string. The published bindings treat the timers as two separate devices, a global timer and a "timer-watchdog" device for the per-cpu private timers. Thus our binding has two tuples in the regs property, one set of registers for the global timer and one for the private timers. The published bindings have two separate devices, each with a single set of registers. (Note that we don't use the optional watchdog feature of the hardware.) These changes add the compat strings for the published bindings. If our own compat string appears, we expect to get two sets of memory resources. For the published bindings, there's only one set of memory resources, and only the private timers have an associated interrupt. The other major change is that there can no longer be a single global var for the softc pointer because now there may be multiple devices at runtime. Since the global timer is used only as a timecounter and the private timers only as eventtimers, and there will only be one of each, those are now the pointers which are global, and the priv fields of those structures backlink to the device softc.
Diffstat (limited to 'share')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud