All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] clk: Add Baikal-T1 SoC Clock Control Unit support
@ 2020-03-06 13:00 Sergey.Semin
  0 siblings, 0 replies; 20+ messages in thread
From: Sergey.Semin @ 2020-03-06 13:00 UTC (permalink / raw)
  Cc: Serge Semin, Serge Semin, Alexey Malahov, Maxim Kaurkin,
	Pavel Parkhomenko, Ramil Zaripov, Ekaterina Skachko,
	Vadim Vlasov, Thomas Bogendoerfer, Paul Burton, Ralf Baechle,
	Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
	linux-clk, devicetree, linux-kernel

From: Serge Semin <fancer.lancer@gmail.com>

Clocks Control Unit is the core of Baikal-T1 SoC responsible for the chip
subsystems clocking and resetting. The CCU is connected with an external
fixed rate oscillator, which signal is transformed into clocks of various
frequencies and then propagated to either individual IP-blocks or to groups
of blocks (clock domains). The transformation is done by means of PLLs and
gateable/non-gateable, fixed/variable dividers embedded into the CCU. There
are five PLLs to create a clock for the MIPS P5600 cores, the embedded DDR
controller, SATA, Ethernet and PCIe domains. The last three PLLs CLKOUT are
then passed over CCU dividers to create signals required for the target clock
domains: individual AXI and APB bus clocks, SoC devices reference clocks.
The CCU divider registers may also provide a way to reset the target devices
state.

So this patchset introduces the Baikal-T1 clock and reset drivers of CCU
PLLs, AXI-bus clock dividers and system devices clock dividers.

This patchset is rebased and tested on the mainline Linux kernel 5.6-rc4:
commit 98d54f81e36b ("Linux 5.6-rc4").

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Cc: Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>
Cc: Vadim Vlasov <V.Vlasov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-clk@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (5):
  dt-bindings: clk: Add Baikal-T1 CCU PLLs bindings
  dt-bindings: clk: Add Baikal-T1 AXI-bus CCU bindings
  dt-bindings: clk: Add Baikal-T1 System Devices CCU bindings
  clk: Add Baikal-T1 CCU PLLs driver
  clk: Add Baikal-T1 CCU dividers driver

 .../bindings/clock/be,bt1-ccu-axi.yaml        | 151 +++++
 .../bindings/clock/be,bt1-ccu-pll.yaml        | 139 +++++
 .../bindings/clock/be,bt1-ccu-sys.yaml        | 169 ++++++
 drivers/clk/Kconfig                           |   1 +
 drivers/clk/Makefile                          |   1 +
 drivers/clk/baikal-t1/Kconfig                 |  46 ++
 drivers/clk/baikal-t1/Makefile                |   3 +
 drivers/clk/baikal-t1/ccu-div.c               | 531 ++++++++++++++++++
 drivers/clk/baikal-t1/ccu-div.h               | 114 ++++
 drivers/clk/baikal-t1/ccu-pll.c               | 474 ++++++++++++++++
 drivers/clk/baikal-t1/ccu-pll.h               |  73 +++
 drivers/clk/baikal-t1/clk-ccu-div.c           | 522 +++++++++++++++++
 drivers/clk/baikal-t1/clk-ccu-pll.c           | 217 +++++++
 drivers/clk/baikal-t1/common.h                |  51 ++
 include/dt-bindings/clock/bt1-ccu.h           |  54 ++
 include/dt-bindings/reset/bt1-ccu.h           |  27 +
 16 files changed, 2573 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-axi.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-pll.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-sys.yaml
 create mode 100644 drivers/clk/baikal-t1/Kconfig
 create mode 100644 drivers/clk/baikal-t1/Makefile
 create mode 100644 drivers/clk/baikal-t1/ccu-div.c
 create mode 100644 drivers/clk/baikal-t1/ccu-div.h
 create mode 100644 drivers/clk/baikal-t1/ccu-pll.c
 create mode 100644 drivers/clk/baikal-t1/ccu-pll.h
 create mode 100644 drivers/clk/baikal-t1/clk-ccu-div.c
 create mode 100644 drivers/clk/baikal-t1/clk-ccu-pll.c
 create mode 100644 drivers/clk/baikal-t1/common.h
 create mode 100644 include/dt-bindings/clock/bt1-ccu.h
 create mode 100644 include/dt-bindings/reset/bt1-ccu.h

-- 
2.25.1


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

end of thread, other threads:[~2020-04-26  6:18 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200306130048.8868-1-Sergey.Semin@baikalelectronics.ru>
2020-03-06 13:00 ` [PATCH 1/5] dt-bindings: clk: Add Baikal-T1 CCU PLLs bindings Sergey.Semin
2020-03-10  2:02   ` Stephen Boyd
     [not found]   ` <20200310021052.2E40F80307C5@mail.baikalelectronics.ru>
2020-04-05  9:59     ` Sergey Semin
2020-04-16 19:27       ` Sergey Semin
2020-04-26  6:18       ` Sergey Semin
2020-03-06 13:00 ` [PATCH 2/5] dt-bindings: clk: Add Baikal-T1 AXI-bus CCU bindings Sergey.Semin
2020-03-12 20:50   ` Rob Herring
2020-04-05 10:28     ` Sergey Semin
2020-03-06 13:00 ` [PATCH 3/5] dt-bindings: clk: Add Baikal-T1 System Devices " Sergey.Semin
2020-03-10  2:19   ` Stephen Boyd
     [not found]   ` <20200310021915.8A0E7803087C@mail.baikalelectronics.ru>
2020-04-05 15:35     ` Sergey Semin
2020-03-06 13:00 ` [PATCH 4/5] clk: Add Baikal-T1 CCU PLLs driver Sergey.Semin
2020-03-10 15:30   ` Stephen Boyd
2020-04-07 12:08     ` Sergey Semin
2020-04-16 19:29       ` Sergey Semin
2020-04-26  6:16       ` Sergey Semin
2020-03-06 13:00 ` [PATCH 5/5] clk: Add Baikal-T1 CCU dividers driver Sergey.Semin
2020-03-10  0:21 ` [PATCH 0/5] clk: Add Baikal-T1 SoC Clock Control Unit support Sergey Semin
2020-03-10  2:03   ` Stephen Boyd
2020-03-06 13:00 Sergey.Semin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.