devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] CREG clk driver for NXP LPC18xx family
@ 2016-02-24 22:04 Joachim Eastwood
  2016-02-24 22:04 ` [PATCH v4 1/2] clk: add lpc18xx creg clk driver Joachim Eastwood
  2016-02-24 22:04 ` [PATCH v4 2/2] doc: dt: add documentation for lpc1850-creg-clk driver Joachim Eastwood
  0 siblings, 2 replies; 7+ messages in thread
From: Joachim Eastwood @ 2016-02-24 22:04 UTC (permalink / raw)
  To: mturquette, sboyd; +Cc: Joachim Eastwood, linux-clk, devicetree

This patch set adds a clk driver for the low power clocks found in
the CREG block on lpc18xx. CREG is a collection of miscellaneous
configuration registers that can be accessed through a syscon
regmap interface. The clk driver makes it possible to setup and
enabled these two clocks.

This need to support peripherals like the internal RTC on the
lpc18xx platform.

The driver has one early init using CLK_OF_DECLARE and a standard
platform driver. The early init is used to register the 32KHZ clk
which may be needed early on. The other clock (1KHZ) is registered
when the platform driver probe runs.

This version splits clk array into clk_creg_early and clk_creg. I
think this will work as long as clk_creg_early is _not_ used after
the clk_creg is registered.

This seems to work, but I currently don't have a setup that requires
the 32khz clock early so that part isn't really tested.

The probe deferral seems to work for the RTC:
[    3.386861] lpc24xx-rtc 40046000.rtc: error getting rtc clock
[    6.737615] lpc24xx-rtc 40046000.rtc: rtc core: registered lpc24xx-rtc as rtc0


Changes since v3:
 - Add .is_enabled function to both creg clks.
 - Remove unit address from bindings as requested by Rob Herring.

Changes since v2:
 - Use two clk arrays for registration.
 - Couple of minor cleanups.

Changes since v1:
 - Split driver with one early init and one platform driver
   probe.
 - Rebase on v4.5-rc1.

Joachim Eastwood (2):
  clk: add lpc18xx creg clk driver
  doc: dt: add documentation for lpc1850-creg-clk driver

 .../devicetree/bindings/clock/lpc1850-creg-clk.txt |  52 +++++
 drivers/clk/nxp/Makefile                           |   1 +
 drivers/clk/nxp/clk-lpc18xx-creg.c                 | 222 +++++++++++++++++++++
 3 files changed, 275 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/lpc1850-creg-clk.txt
 create mode 100644 drivers/clk/nxp/clk-lpc18xx-creg.c

-- 
1.8.0


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

end of thread, other threads:[~2016-03-03 20:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-24 22:04 [PATCH v4 0/2] CREG clk driver for NXP LPC18xx family Joachim Eastwood
2016-02-24 22:04 ` [PATCH v4 1/2] clk: add lpc18xx creg clk driver Joachim Eastwood
2016-03-02 23:01   ` Michael Turquette
2016-03-02 23:27     ` Joachim Eastwood
2016-03-03 20:13       ` Stephen Boyd
2016-02-24 22:04 ` [PATCH v4 2/2] doc: dt: add documentation for lpc1850-creg-clk driver Joachim Eastwood
2016-03-02 17:31   ` Rob Herring

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).