devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add clockevet for timer-nps driver to NPS400 SoC
@ 2016-10-13 14:52 Noam Camus
  2016-10-13 14:52 ` [PATCH 2/3] ARC: [plat-eznps] remove macros for timer0 TSI Noam Camus
       [not found] ` <1476370350-3853-1-git-send-email-noamca-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 2 replies; 10+ messages in thread
From: Noam Camus @ 2016-10-13 14:52 UTC (permalink / raw)
  To: robh+dt, mark.rutland
  Cc: daniel.lezcano, tglx, devicetree, linux-kernel, Noam Camus

From: Noam Camus <noamca@mellanox.com>

In first version of this driver we supported clocksource for the NPS400.
The support for clockevent was taken from Synopsys ARC timer driver.
This was good for working with our simulator of NPS400.
However in NPS400 ASIC the timers behave differently than simulation.
The timers in ASIC are shared between all threads whithin a core
and hence need different driver to support this behaviour.

The idea of this design is that we got 16 HW threads per core
each represented at bimask in a shared register in this core.
So when thread wants that next clockevent expiration will produce
timer interrupt to itself the correspondance bit in this register
should be set.
So theoretically if all 16 bits are set then all HW threads will get
timer interrupt on next expiration of timer 0.

Note that we use Synopsys ARC design naming convention for the timers
where:
timer0 is used for clockevents
timer1 is used for clocksource.

Noam Camus (3):
  soc: Support for NPS HW scheduling
  ARC: [plat-eznps] remove macros for timer0 TSI
  clocksource: Add clockevent support to NPS400 driver

 .../bindings/timer/ezchip,nps400-timer.txt         |   15 --
 .../bindings/timer/ezchip,nps400-timer0.txt        |   17 ++
 .../bindings/timer/ezchip,nps400-timer1.txt        |   15 ++
 arch/arc/plat-eznps/include/plat/ctop.h            |    2 -
 drivers/clocksource/timer-nps.c                    |  239 +++++++++++++++++++-
 include/soc/nps/mtm.h                              |   61 +++++
 6 files changed, 322 insertions(+), 27 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer.txt
 create mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer0.txt
 create mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer1.txt
 create mode 100644 include/soc/nps/mtm.h

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-10-21 15:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-13 14:52 [PATCH 0/3] Add clockevet for timer-nps driver to NPS400 SoC Noam Camus
2016-10-13 14:52 ` [PATCH 2/3] ARC: [plat-eznps] remove macros for timer0 TSI Noam Camus
     [not found]   ` <1476370350-3853-3-git-send-email-noamca-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-10-21 14:12     ` Daniel Lezcano
     [not found] ` <1476370350-3853-1-git-send-email-noamca-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-10-13 14:52   ` [PATCH 1/3] soc: Support for NPS HW scheduling Noam Camus
2016-10-21 13:52     ` Daniel Lezcano
2016-10-13 14:52   ` [PATCH 3/3] clocksource: Add clockevent support to NPS400 driver Noam Camus
2016-10-18 13:57     ` Rob Herring
2016-10-18 14:32       ` Noam Camus
2016-10-18 14:51       ` Noam Camus
     [not found]     ` <1476370350-3853-4-git-send-email-noamca-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-10-21 15:08       ` Daniel Lezcano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).