On 12/10/2026 17:24, Alex Elder wrote:
> 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 <[email protected]>
> Signed-off-by: Daniel Thompson <[email protected]>
> Signed-off-by: Alex Elder <[email protected]>
> ---
> 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>
Unused.
> #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>;
So here is DTS which is supposed to be the argument why you need inner
device representation in DTS and... no usage of that at all. Otherwise
point me which part of this patch references tc9564_clock0 via phandle.
Best regards,
Krzysztof