All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description
@ 2018-01-16  0:34 Emiliano Ingrassia
       [not found] ` <1516097873.2608.70.camel@baylibre.com>
       [not found] ` <CAFBinCBdjMVw1d=c4P0fZi395mMPG_uZQ9en1MRq6zfQNxEbiA@mail.gmail.com>
  0 siblings, 2 replies; 4+ messages in thread
From: Emiliano Ingrassia @ 2018-01-16  0:34 UTC (permalink / raw)
  To: linus-amlogic

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@epigenesys.com>
---
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description
       [not found] ` <1516097873.2608.70.camel@baylibre.com>
@ 2018-01-17 14:09   ` Emiliano Ingrassia
  0 siblings, 0 replies; 4+ messages in thread
From: Emiliano Ingrassia @ 2018-01-17 14:09 UTC (permalink / raw)
  To: linus-amlogic

Hi Jerome,

On Tue, Jan 16, 2018 at 11:17:53AM +0100, Jerome Brunet wrote:
> On Tue, 2018-01-16 at 01:34 +0100, Emiliano Ingrassia 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@epigenesys.com>
> > ---
> >  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";
> 
> Does meson8 shared the same IP block ? is yes, then this compatible should
> probably be changed one level up, along with the regs
>

I don't have any information about S802 SoC (aka meson8). It seems that
no public informations are available. If you have any, please share.

> If not, it means that ethmac node should not be defined in meson.dtsi but in
> meson8.dtsi and meson8b.dtsi
>

Sounds logic! As I understand, Martin has a plan about this.

> In any case, overloading the node like this really clean, even if it works.
> 
> > +
> > +	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 {
> 
> 
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic

Thanks,

Emiliano

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description
       [not found] ` <CAFBinCBdjMVw1d=c4P0fZi395mMPG_uZQ9en1MRq6zfQNxEbiA@mail.gmail.com>
@ 2018-01-17 14:13   ` Emiliano Ingrassia
  2018-01-17 14:52     ` Martin Blumenstingl
  0 siblings, 1 reply; 4+ messages in thread
From: Emiliano Ingrassia @ 2018-01-17 14:13 UTC (permalink / raw)
  To: linus-amlogic

Hi Martin,

thanks for the feedback!

On Tue, Jan 16, 2018 at 11:14:37AM +0100, Martin Blumenstingl wrote:
> On Tue, Jan 16, 2018 at 1:34 AM, Emiliano Ingrassia
> <ingrassia@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@epigenesys.com>
> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@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.
>

Ok, I could send a second version of the patch integrating these
informations in log message.
What do you think?

> 
> > ---
> >  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
> >

Regards,

Emiliano

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description
  2018-01-17 14:13   ` Emiliano Ingrassia
@ 2018-01-17 14:52     ` Martin Blumenstingl
  0 siblings, 0 replies; 4+ messages in thread
From: Martin Blumenstingl @ 2018-01-17 14:52 UTC (permalink / raw)
  To: linus-amlogic

Hi Emiliano,

On Wed, Jan 17, 2018 at 3:13 PM, Emiliano Ingrassia
<ingrassia@epigenesys.com> wrote:
> Hi Martin,
>
> thanks for the feedback!
>
> On Tue, Jan 16, 2018 at 11:14:37AM +0100, Martin Blumenstingl wrote:
>> On Tue, Jan 16, 2018 at 1:34 AM, Emiliano Ingrassia
>> <ingrassia@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@epigenesys.com>
>> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@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.
>>
>
> Ok, I could send a second version of the patch integrating these
> informations in log message.
> What do you think?
if you send a v2 of this series anyways then it would be great if you
could include it (feel free to change it where needed)

>>
>> > ---
>> >  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
>> >
>
> Regards,
>
> Emiliano

Regards
Martin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-17 14:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-16  0:34 [PATCH 1/2] ARM: dts: meson8b: extend ethernet controller description Emiliano Ingrassia
     [not found] ` <1516097873.2608.70.camel@baylibre.com>
2018-01-17 14:09   ` Emiliano Ingrassia
     [not found] ` <CAFBinCBdjMVw1d=c4P0fZi395mMPG_uZQ9en1MRq6zfQNxEbiA@mail.gmail.com>
2018-01-17 14:13   ` Emiliano Ingrassia
2018-01-17 14:52     ` Martin Blumenstingl

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.