2013-08-16 14:12:28

by Lad, Prabhakar

[permalink] [raw]
Subject: [PATCH v5 0/2] ARM: davinci: da850: add ethernet driver DT support

From: "Lad, Prabhakar" <[email protected]>

This patch set enables Ethernet support through device tree model.
This patch set enables mii interface only and is being tested to boot via
rootfs.

Patches 1-2 of v4 are queued for v3-12, just resending patch
4-5 by fixing review comments pointed by Sergei

Lad, Prabhakar (2):
ARM: davinci: da850: add DT node for ethernet
ARM: davinci: da850: add OF_DEV_AUXDATA entry for davinci_emac

arch/arm/boot/dts/da850-evm.dts | 5 +++++
arch/arm/boot/dts/da850.dtsi | 30 ++++++++++++++++++++++++++++++
arch/arm/mach-davinci/da8xx-dt.c | 2 ++
3 files changed, 37 insertions(+)

--
1.7.9.5


2013-08-16 14:12:40

by Lad, Prabhakar

[permalink] [raw]
Subject: [PATCH v5 1/2] ARM: davinci: da850: add DT node for ethernet

From: "Lad, Prabhakar" <[email protected]>

Add ethernet device tree node information and pinmux for mii to da850 by
providing interrupt details and local mac address.

Signed-off-by: Lad, Prabhakar <[email protected]>
---
arch/arm/boot/dts/da850-evm.dts | 5 +++++
arch/arm/boot/dts/da850.dtsi | 30 ++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)

diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 1f8cfdd..44f3fbc 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -96,6 +96,11 @@
pinctrl-0 = <&mdio_pins>;
bus_freq = <2200000>;
};
+ ethernet: emac@1e20000 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mii_pins>;
+ };
};
nand_cs3@62000000 {
status = "okay";
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index d5138b4..a5d30d9 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -131,6 +131,22 @@
0x10 0x00000088 0x000000ff
>;
};
+ mii_pins: pinmux_mii_pins {
+ pinctrl-single,bits = <
+ /*
+ * MII_TXEN, MII_TXCLK, MII_COL
+ * MII_TXD_3, MII_TXD_2, MII_TXD_1
+ * MII_TXD_0
+ */
+ 0x8 0x88888880 0xfffffff0
+ /*
+ * MII_RXER, MII_CRS, MII_RXCLK
+ * MII_RXDV, MII_RXD_3, MII_RXD_2
+ * MII_RXD_1, MII_RXD_0
+ */
+ 0xc 0x88888888 0xffffffff
+ >;
+ };

};
serial0: serial@1c42000 {
@@ -226,6 +242,20 @@
#size-cells = <0>;
reg = <0x224000 0x1000>;
};
+ ethernet: emac@1e20000 {
+ compatible = "ti,davinci-dm6467-emac";
+ reg = <0x220000 0x4000>;
+ ti,davinci-ctrl-reg-offset = <0x3000>;
+ ti,davinci-ctrl-mod-reg-offset = <0x2000>;
+ ti,davinci-ctrl-ram-offset = <0>;
+ ti,davinci-ctrl-ram-size = <0x2000>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <33
+ 34
+ 35
+ 36
+ >;
+ };
};
nand_cs3@62000000 {
compatible = "ti,davinci-nand";
--
1.7.9.5

2013-08-16 14:12:54

by Lad, Prabhakar

[permalink] [raw]
Subject: [PATCH v5 2/2] ARM: davinci: da850: add OF_DEV_AUXDATA entry for davinci_emac

From: "Lad, Prabhakar" <[email protected]>

Add OF_DEV_AUXDATA for ethernet davinci_emac driver in da850 board dt
file to use emac clock.

Signed-off-by: Lad, Prabhakar <[email protected]>
---
arch/arm/mach-davinci/da8xx-dt.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index d172563..d2bc574 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -44,6 +44,8 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("ns16550a", 0x01d0c000, "serial8250.1", NULL),
OF_DEV_AUXDATA("ns16550a", 0x01d0d000, "serial8250.2", NULL),
OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL),
+ OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1",
+ NULL),
{}
};

--
1.7.9.5

2013-08-16 16:09:39

by Sekhar Nori

[permalink] [raw]
Subject: Re: [PATCH v5 1/2] ARM: davinci: da850: add DT node for ethernet

On 8/16/2013 7:41 PM, Lad, Prabhakar wrote:
> From: "Lad, Prabhakar" <[email protected]>
>
> Add ethernet device tree node information and pinmux for mii to da850 by
> providing interrupt details and local mac address.
>
> Signed-off-by: Lad, Prabhakar <[email protected]>
> ---
> arch/arm/boot/dts/da850-evm.dts | 5 +++++
> arch/arm/boot/dts/da850.dtsi | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 35 insertions(+)
>
> diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
> index 1f8cfdd..44f3fbc 100644
> --- a/arch/arm/boot/dts/da850-evm.dts
> +++ b/arch/arm/boot/dts/da850-evm.dts
> @@ -96,6 +96,11 @@
> pinctrl-0 = <&mdio_pins>;
> bus_freq = <2200000>;
> };
> + ethernet: emac@1e20000 {

You misunderstood what Sergei said. This should be:

eth0: ethernet@1e20000 {

Thanks,
Sekhar

2013-08-16 16:14:41

by Sekhar Nori

[permalink] [raw]
Subject: Re: [PATCH v5 2/2] ARM: davinci: da850: add OF_DEV_AUXDATA entry for davinci_emac

On 8/16/2013 7:41 PM, Lad, Prabhakar wrote:
> From: "Lad, Prabhakar" <[email protected]>
>
> Add OF_DEV_AUXDATA for ethernet davinci_emac driver in da850 board dt
> file to use emac clock.
>
> Signed-off-by: Lad, Prabhakar <[email protected]>

Queuing this for v3.12. Please fix the address of devicetree list in
future submissions.

Thanks,
Sekhar

2013-08-16 18:46:09

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH v5 1/2] ARM: davinci: da850: add DT node for ethernet

Hello.

On 08/16/2013 06:11 PM, Lad, Prabhakar wrote:

> From: "Lad, Prabhakar" <[email protected]>

> Add ethernet device tree node information and pinmux for mii to da850 by
> providing interrupt details and local mac address.

> Signed-off-by: Lad, Prabhakar <[email protected]>
> ---
> arch/arm/boot/dts/da850-evm.dts | 5 +++++
> arch/arm/boot/dts/da850.dtsi | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 35 insertions(+)

> diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
> index 1f8cfdd..44f3fbc 100644
> --- a/arch/arm/boot/dts/da850-evm.dts
> +++ b/arch/arm/boot/dts/da850-evm.dts
> @@ -96,6 +96,11 @@
> pinctrl-0 = <&mdio_pins>;
> bus_freq = <2200000>;
> };
> + ethernet: emac@1e20000 {

Why label the node in the board file too?

> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mii_pins>;
> + };
> };
> nand_cs3@62000000 {
> status = "okay";
> diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
> index d5138b4..a5d30d9 100644
> --- a/arch/arm/boot/dts/da850.dtsi
> +++ b/arch/arm/boot/dts/da850.dtsi
[...]
> @@ -226,6 +242,20 @@
> #size-cells = <0>;
> reg = <0x224000 0x1000>;
> };
> + ethernet: emac@1e20000 {

I said node should be named "ethernet", not labelled. You're the second
person that doesn't know the difference between the two. :-)

WBR, Sergei

2013-08-18 16:55:51

by Sekhar Nori

[permalink] [raw]
Subject: Re: [PATCH v5 1/2] ARM: davinci: da850: add DT node for ethernet

On 8/17/2013 12:16 AM, Sergei Shtylyov wrote:
> Hello.
>
> On 08/16/2013 06:11 PM, Lad, Prabhakar wrote:
>
>> From: "Lad, Prabhakar" <[email protected]>
>
>> Add ethernet device tree node information and pinmux for mii to da850 by
>> providing interrupt details and local mac address.
>
>> Signed-off-by: Lad, Prabhakar <[email protected]>
>> ---
>> arch/arm/boot/dts/da850-evm.dts | 5 +++++
>> arch/arm/boot/dts/da850.dtsi | 30 ++++++++++++++++++++++++++++++
>> 2 files changed, 35 insertions(+)
>
>> diff --git a/arch/arm/boot/dts/da850-evm.dts
>> b/arch/arm/boot/dts/da850-evm.dts
>> index 1f8cfdd..44f3fbc 100644
>> --- a/arch/arm/boot/dts/da850-evm.dts
>> +++ b/arch/arm/boot/dts/da850-evm.dts
>> @@ -96,6 +96,11 @@
>> pinctrl-0 = <&mdio_pins>;
>> bus_freq = <2200000>;
>> };
>> + ethernet: emac@1e20000 {
>
> Why label the node in the board file too?

May be not required, but all other entries in da850-evm.dts have labels
too. Other .dts files like am335x-bone.dts use labels too (even though
they are never used in references). So I am inclined to let this be like
this and if needed have all the labels removed through a separate patch
- at least we remain consistent within the file that way.

Prabhakar,

Please mind the new e-mail address of the devicetree list.

Thanks,
Sekhar