public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
From: Heiko Stuebner <heiko@sntech.de>
To: mturquette@baylibre.com, sboyd@kernel.org
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	heiko@sntech.de, quentin.schulz@cherry.de,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Subject: [PATCH 0/6] Binding and driver for "dumb" clock generators
Date: Tue,  9 Jul 2024 14:31:15 +0200	[thread overview]
Message-ID: <20240709123121.1452394-1-heiko@sntech.de> (raw)

Rockchip boards with PCIe3 controllers inside the soc (rk3568, rk3588) have
external clock generators on the board to generate the needed 100MHz
reference clock the PCIe3 controller needs.

Often these clock generators need supplies to be enabled to run.

Modelling this clock has taken a number of shapes:
- The rk3568 Rock-3a modelled the generator-regulator as "phy-supply" [0]
  &pcie30phy {
  	phy-supply = <&vcc3v3_pi6c_03>;
  	status = "okay";
  };
  which is of course not part of the binding

- On the Rock-5-ITX the supply of the clock generator is controlled by
  the same gpio as the regulator supplying the the port connected to the
  pcie30x4 controller, so if this controller probes first, both
  controllers will just run. But if the pcie30x2 controller probes first
  (which has a different supply), the controller will stall at the first
  dbi read.

- Recent Theobroma-Systems boards (Jaguar and Tiger) modelled their
  generator as a combination of fixed clock and gpio-gate, which works
  because the generator's vdd-supply is always on and only the output-
  enable pin needs to be toggled.


So this series attempts to improve the situation by allowing to model
these clock generators as actual entities in the devicetree, to not have
them just accidentially work or break bindings.


[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts#n605

Heiko Stuebner (6):
  dt-bindings: clocks: add binding for generic clock-generators
  clk: add driver for generic clock generators
  arm64: dts: rockchip: fix the pcie clock generator on Rock 5 ITX
  arm64: dts: rockchip: use clock-generator for pcie-refclk on
    rk3588-jaguar
  arm64: dts: rockchip: use clock-generator for pcie-refclk on
    rk3588-tiger
  arm64: dts: rockchip: add pinctrl for clk-generator gpio on
    rk3588-tiger

 .../bindings/clock/clock-generator.yaml       |  62 ++++++++
 .../arm64/boot/dts/rockchip/rk3588-jaguar.dts |  13 +-
 .../boot/dts/rockchip/rk3588-rock-5itx.dts    |  34 ++++-
 .../arm64/boot/dts/rockchip/rk3588-tiger.dtsi |  21 +--
 drivers/clk/Kconfig                           |   7 +
 drivers/clk/Makefile                          |   1 +
 drivers/clk/clk-generator.c                   | 133 ++++++++++++++++++
 7 files changed, 251 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/clock-generator.yaml
 create mode 100644 drivers/clk/clk-generator.c

-- 
2.39.2


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

             reply	other threads:[~2024-07-09 12:32 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-09 12:31 Heiko Stuebner [this message]
2024-07-09 12:31 ` [PATCH 1/6] dt-bindings: clocks: add binding for generic clock-generators Heiko Stuebner
2024-07-09 21:45   ` Stephen Boyd
2024-07-10  8:02     ` Heiko Stübner
2024-07-10 23:56       ` Stephen Boyd
2024-07-10  7:02   ` Alexander Stein
2024-07-10  7:45     ` Heiko Stübner
2024-07-10 23:21       ` Stephen Boyd
2024-07-11  5:27         ` Alexander Stein
2024-07-15 10:59           ` Heiko Stübner
2024-07-09 12:31 ` [PATCH 2/6] clk: add driver for generic clock generators Heiko Stuebner
2024-07-09 12:31 ` [PATCH 3/6] arm64: dts: rockchip: fix the pcie clock generator on Rock 5 ITX Heiko Stuebner
2024-07-09 12:31 ` [PATCH 4/6] arm64: dts: rockchip: use clock-generator for pcie-refclk on rk3588-jaguar Heiko Stuebner
2024-07-09 12:31 ` [PATCH 5/6] arm64: dts: rockchip: use clock-generator for pcie-refclk on rk3588-tiger Heiko Stuebner
2024-07-09 12:31 ` [PATCH 6/6] arm64: dts: rockchip: add pinctrl for clk-generator gpio " Heiko Stuebner
2024-07-10  3:02 ` [PATCH 0/6] Binding and driver for "dumb" clock generators Anand Moon
2024-07-10  7:50   ` Heiko Stübner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240709123121.1452394-1-heiko@sntech.de \
    --to=heiko@sntech.de \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mturquette@baylibre.com \
    --cc=quentin.schulz@cherry.de \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox