Re: [PATCH 4/4] ARM: dts: sun7i: Use syscon-based implementation for gmac

From: Maxime Ripard
Date: Mon Apr 20 2020 - 08:59:27 EST


On Sat, Apr 18, 2020 at 01:17:30AM +0300, Priit Laes wrote:
> Use syscon-based approach to access gmac clock configuration
> register, instead of relying on a custom clock driver.
>
> As a bonus, we can now drop the custom clock implementation
> and dummy clocks making sun7i fully CCU-compatible.
>
> Signed-off-by: Priit Laes <plaes@xxxxxxxxx>
> ---
> arch/arm/boot/dts/sun7i-a20.dtsi | 36 +++-----------------------------
> 1 file changed, 3 insertions(+), 33 deletions(-)
>
> diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
> index ffe1d10a1a84..750962a94fad 100644
> --- a/arch/arm/boot/dts/sun7i-a20.dtsi
> +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
> @@ -219,37 +219,6 @@ osc32k: clk-32k {
> clock-frequency = <32768>;
> clock-output-names = "osc32k";
> };
> -
> - /*
> - * The following two are dummy clocks, placeholders
> - * used in the gmac_tx clock. The gmac driver will
> - * choose one parent depending on the PHY interface
> - * mode, using clk_set_rate auto-reparenting.
> - *
> - * The actual TX clock rate is not controlled by the
> - * gmac_tx clock.
> - */
> - mii_phy_tx_clk: clk-mii-phy-tx {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <25000000>;
> - clock-output-names = "mii_phy_tx";
> - };
> -
> - gmac_int_tx_clk: clk-gmac-int-tx {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <125000000>;
> - clock-output-names = "gmac_int_tx";
> - };
> -
> - gmac_tx_clk: clk@1c20164 {
> - #clock-cells = <0>;
> - compatible = "allwinner,sun7i-a20-gmac-clk";
> - reg = <0x01c20164 0x4>;
> - clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
> - clock-output-names = "gmac_tx";
> - };
> };
>
>
> @@ -1511,11 +1480,12 @@ mali: gpu@1c40000 {
>
> gmac: ethernet@1c50000 {
> compatible = "allwinner,sun7i-a20-gmac";
> + syscon = <&ccu>;
> reg = <0x01c50000 0x10000>;
> interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "macirq";
> - clocks = <&ccu CLK_AHB_GMAC>, <&gmac_tx_clk>;
> - clock-names = "stmmaceth", "allwinner_gmac_tx";
> + clocks = <&ccu CLK_AHB_GMAC>;
> + clock-names = "stmmaceth";

I guess you also need to update the binding so that it considers it valid?

Maxime

Attachment: signature.asc
Description: PGP signature