Using a combination of fixed clock and gpio-gate clock works but does not describe the actual hardware. Use the new clock-generator binding to describe this in a nicer way. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> --- arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts index 71999f4f170af..b3c2aaedacf57 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts @@ -88,21 +88,16 @@ led-1 { * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE * clock generator. * The clock output is gated via the OE pin on the clock generator. - * This is modeled as a fixed-clock plus a gpio-gate-clock. */ - pcie_refclk_gen: pcie-refclk-gen-clock { - compatible = "fixed-clock"; + pcie_refclk: pcie-clock-generator { + compatible = "diodes,pi6c557-05b", "clock-generator"; #clock-cells = <0>; clock-frequency = <100000000>; - }; - - pcie_refclk: pcie-refclk-clock { - compatible = "gpio-gate-clock"; - clocks = <&pcie_refclk_gen>; - #clock-cells = <0>; + clock-output-names = "pcie3_refclk"; enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; /* PCIE30X4_CLKREQN_M0 */ pinctrl-names = "default"; pinctrl-0 = <&pcie30x4_clkreqn_m0>; + vdd-supply = <&vcca_3v3_s0>; }; pps { -- 2.39.2