[PATCH v3 4/4] arm64: dts: qcom: qcs6490-rb3gen2: add the clock controller

From: Alex Elder

Date: Mon Oct 12 2026 - 11:32:06 EST


The clock controller within the TC9564 SoC is accessed via a PCI
endpoint bus through BAR 4 of the first embedded PCIe function.
A syscon node is created to provide access to a range of memory
that is used by the clock controller and shared with other devices.

Co-developed-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Alex Elder <elder@xxxxxxxxxxxx>
---
v3:
- What was formerly described as a "clock" node is now "clock-controller"
- Label for the 25 MHz input clock is added (new in this version)
- The clock-controller node is now a sub-device of the config syscon
- The config syscon is now (also) compatible with "simple-mfd"
- The clock-controller DTS node no longer defines a toshiba,config-syscon
property, and the config syscon no longer requires a label
- The clock-controller now requires a (parent) clock property, which
refers to the new 25 MHz clock

arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index b8d290eed2f38..e7601daf1bc5a 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -9,6 +9,7 @@
#define PM7250B_SID 8
#define PM7250B_SID1 9

+#include <dt-bindings/clock/toshiba,tc9564.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
#include <dt-bindings/leds/common.h>
@@ -891,7 +892,7 @@ pcie@0,0 {
pinctrl-0 = <&tc9563_resx_n>;
pinctrl-names = "default";

- clock-25000000 {
+ tc9564_xo_board: clock-25000000 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <25000000>;
@@ -967,7 +968,7 @@ dev@0,0 {
#size-cells = <2>;
ranges; /* This will be updated dynamically */

- pci-ep-bus@4 {
+ pcie_s1b5d0f0_bar4_bus: pci-ep-bus@4 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@@ -995,6 +996,19 @@ pci-ep-bus@4 {
};
};

+&pcie_s1b5d0f0_bar4_bus {
+ syscon@0 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x0 0x2000>;
+
+ tc9564_clock0: clock-controller {
+ compatible = "toshiba,tc9564-clock";
+ clocks = <&tc9564_xo_board>;
+ #clock-cells = <1>;
+ };
+ };
+};
+
&pm7325_gpios {
kypd_vol_up_n: kypd-vol-up-n-state {
pins = "gpio6";
--
2.53.0