[PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description

Martin Blumenstingl martin.blumenstingl at googlemail.com
Tue Jan 16 02:14:37 PST 2018


On Tue, Jan 16, 2018 at 1:34 AM, Emiliano Ingrassia
<ingrassia at epigenesys.com> wrote:
> Extend ethernet controller description adding pin multiplexing and
> setting the needed attributes in ethmac node.
> As reported in S805 SoC manual, the MAC clock source is MPLL2 only.
>
> Signed-off-by: Emiliano Ingrassia <ingrassia at epigenesys.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>

I had your patch also in my local tree, where I added the following
comments to the patch description (this is nothing final though, I
just added them so I don't forget about these facts):
Until now we have been using the "amlogic,meson6-dwmac" binding with the
register offset (0xc1108108) defined in meson.dtsi.
During testing (and by reading Hardkernel's u-boot sources for the
Odroid-C1) it turns out that the actual register that should be used is
at 0xc1108140. This also requires us to switch to the new
"amlogic,meson8b-dwmac" binding, because the dwmac-meson8b driver knows
how to configure that register. The old register is a no-op, so using
the old "amlogic,meson6-dwmac" binding with the old register meant that
we relied on the bootloader to set up the Ethernet clocks etc.
correctly.


> ---
>  arch/arm/boot/dts/meson8b.dtsi | 35 +++++++++++++++++++++++++++++++++--
>  1 file changed, 33 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
> index 7cd03ed3742e..3c66d9bdc3a8 100644
> --- a/arch/arm/boot/dts/meson8b.dtsi
> +++ b/arch/arm/boot/dts/meson8b.dtsi
> @@ -185,6 +185,27 @@
>                         #gpio-cells = <2>;
>                         gpio-ranges = <&pinctrl_cbus 0 0 130>;
>                 };
> +
> +               eth_rgmii_pins: eth-rgmii {
> +                       mux {
> +                               groups = "eth_tx_clk",
> +                                        "eth_tx_en",
> +                                        "eth_txd1_0",
> +                                        "eth_txd1_1",
> +                                        "eth_txd0_0",
> +                                        "eth_txd0_1",
> +                                        "eth_rx_clk",
> +                                        "eth_rx_dv",
> +                                        "eth_rxd1",
> +                                        "eth_rxd0",
> +                                        "eth_mdio_en",
> +                                        "eth_mdc",
> +                                        "eth_ref_clk",
> +                                        "eth_txd2",
> +                                        "eth_txd3";
> +                               function = "ethernet";
> +                       };
> +               };
>         };
>  };
>
> @@ -203,8 +224,18 @@
>  };
>
>  &ethmac {
> -       clocks = <&clkc CLKID_ETH>;
> -       clock-names = "stmmaceth";
> +       compatible = "amlogic,meson8b-dwmac", "snps,dwmac-3.70a", "snps,dwmac";
> +
> +       reg = <0xc9410000 0x10000
> +              0xc1108140 0x4>;
> +
> +       clocks = <&clkc CLKID_ETH>,
> +                <&clkc CLKID_MPLL2>,
> +                <&clkc CLKID_MPLL2>;
> +       clock-names = "stmmaceth", "clkin0", "clkin1";
> +
> +       resets = <&reset RESET_ETHERNET>;
> +       reset-names = "stmmaceth";
>  };
>
>  &gpio_intc {
> --
> 2.15.1
>



More information about the linux-amlogic mailing list