net: cpsw: Support for am335x chip MACIDs
v3 cover net: cpsw: Support for am335x chip MACIDs
Hi,
This series adds support to the cpsw driver to read the MACIDs of the am335x chip and use them as fallback. These addresses are only used if there are no mac addresses in the devicetree, for example set by a bootloader.
In v3 I removed the previously seperate driver and included the changes into the main cpsw driver. I now check for a am33xx machine to not make this operation when running on davinci.
Patches 1-4 are some minor fixes for the cpsw driver. Patch 5 adds the readout support.
Patches 6 and 7 are for am33xx.dtsi to actually enable this feature.
Best regards,
Markus Pargmann
Markus Pargmann (7):
DT doc: net: cpsw mac-address is optional
net: cpsw: Add missing return value
net: cpsw: header, Add missing include
net: cpsw: Replace pr_err by dev_err
net: cpsw: Add am33xx MACID readout
am33xx: define syscon control module device node
arm: dts: am33xx, Add syscon phandle to cpsw node
Documentation/devicetree/bindings/net/cpsw.txt | 6 +++- arch/arm/boot/dts/am33xx.dtsi | 6 ++++ drivers/net/ethernet/ti/Kconfig | 2 ++ drivers/net/ethernet/ti/Makefile | 1 + drivers/net/ethernet/ti/cpsw.c | 49 ++++++++++++++++++++++++-- drivers/net/ethernet/ti/cpsw.h | 1 + 6 files changed, 61 insertions(+), 4 deletions(-)
Signature · 1 line
2.0.1
PATCH v3 1/7 DT doc: net: cpsw mac-address is optional
mac-address is an optional property. If no mac-address is set, a random mac-address will be generated.
--- Documentation/devicetree/bindings/net/cpsw.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/devicetree/bindings/net/cpsw.txt +1 -1
@@ -29,10 +29,10 @@ Slave Properties: Required properties: - phy_id : Specifies slave phy id - phy-mode : See ethernet.txt file in the same directory -- mac-address : See ethernet.txt file in the same directory Optional properties: - dual_emac_res_vlan : Specifies VID to be used to segregate the ports +- mac-address : See ethernet.txt file in the same directory Note: "ti,hwmods" field is used to fetch the base address and irq resources from TI, omap hwmod data base during device registration.
Signature · 1 line
2.0.1
PATCH v3 2/7 net: cpsw: Add missing return value
In reply to Markus Pargmannret is set 0 at this point, so jumping to that error label would result in a return value of 0. Set ret to -ENOMEM to return a proper error value.
--- drivers/net/ethernet/ti/cpsw.c | 1 + 1 file changed, 1 insertion(+)
drivers/net/ethernet/ti/cpsw.c +1 -0
@@ -2043,6 +2043,7 @@ static int cpsw_probe(struct platform_device *pdev) priv->irq_enabled = true;if (!priv->cpts) {dev_err (&pdev->dev,"error allocating cpts\n" ); + ret = -ENOMEM ; goto clean_ndev_ret; }
Signature · 1 line
2.0.1
PATCH v3 3/7 net: cpsw: header, Add missing include
In reply to Markus Pargmann"MII_BUS_ID_SIZE" is defined in linux/phy.h which is not included in the cpsw.h file.
--- drivers/net/ethernet/ti/cpsw.h | 1 + 1 file changed, 1 insertion(+)
drivers/net/ethernet/ti/cpsw.h +1 -0
@@ -15,6 +15,7 @@#define __CPSW_H__#include <linux/if_ether.h> +#include <linux/phy.h> struct cpsw_slave_data {char phy_id[MII_BUS_ID_SIZE ];
Signature · 1 line
2.0.1
PATCH v3 4/7 net: cpsw: Replace pr_err by dev_err
In reply to Markus PargmannUse dev_err instead of pr_err.
--- drivers/net/ethernet/ti/cpsw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/ti/cpsw.c +1 -1
@@ -1901,7 +1901,7 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data, mdio =of_find_device_by_node (mdio_node);of_node_put (mdio_node);if (!mdio) { -pr_err ("Missing mdio platform device\n" ); +dev_err (&pdev->dev,"Missing mdio platform device\n" );return -EINVAL ; } snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
Signature · 1 line
2.0.1
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
In reply to Markus PargmannThis patch adds a function to get the MACIDs from the am33xx SoC control module registers which hold unique vendor MACIDs. This is only used if of_get_mac_address() fails to get a valid mac address.
--- Documentation/devicetree/bindings/net/cpsw.txt | 4 +++ drivers/net/ethernet/ti/Kconfig | 2 ++ drivers/net/ethernet/ti/Makefile | 1 + drivers/net/ethernet/ti/cpsw.c | 46 ++++++++++++++++++++++++-- 4 files changed, 51 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/net/cpsw.txt +4 -0
@@ -24,6 +24,8 @@ Optional properties: - ti,hwmods : Must be "cpgmac0" - no_bd_ram : Must be 0 or 1 - dual_emac : Specifies Switch to act as Dual EMAC +- syscon : Phandle to the system control device node, which is + the control module device of the am33x Slave Properties: Required properties:
@@ -57,6 +59,7 @@ Examples: active_slave = <0>; cpts_clock_mult = <0x80000000>; cpts_clock_shift = <29>; + syscon = <&cm>; cpsw_emac0: slave at 0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-txid";
@@ -85,6 +88,7 @@ Examples: active_slave = <0>; cpts_clock_mult = <0x80000000>; cpts_clock_shift = <29>; + syscon = <&cm>; cpsw_emac0: slave at 0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-txid";
drivers/net/ethernet/ti/Kconfig +2 -0
@@ -62,6 +62,8 @@ config TI_CPSW select TI_DAVINCI_CPDMA select TI_DAVINCI_MDIO select TI_CPSW_PHY_SEL + select MFD_SYSCON + select REGMAP ---help--- This driver supports TI's CPSW Ethernet Switch.
drivers/net/ethernet/ti/Makefile +1 -0
@@ -8,5 +8,6 @@ obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o obj-$(CONFIG_TI_DAVINCI_MDIO) += davinci_mdio.o obj-$(CONFIG_TI_DAVINCI_CPDMA) += davinci_cpdma.o obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o +obj-$(CONFIG_TI_CPSW_CTRL_MACID) += cpsw-ctrl-macid.o obj-$(CONFIG_TI_CPSW) += ti_cpsw.o ti_cpsw-y := cpsw_ale.o cpsw.o cpts.o
drivers/net/ethernet/ti/cpsw.c +44 -2
64 lines not on this page · raw message
Signature · 1 line
2.0.1
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
drivers/net/ethernet/ti/Makefile obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o · line 13
Quoted 12 lines
drivers/net/ethernet/ti/Makefile +1
-0@@ -8,5 +8,6 @@ obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o obj-$(CONFIG_TI_DAVINCI_MDIO) += davinci_mdio.o obj-$(CONFIG_TI_DAVINCI_CPDMA) += davinci_cpdma.o obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o +obj-$(CONFIG_TI_CPSW_CTRL_MACID) += cpsw-ctrl-macid.o obj-$(CONFIG_TI_CPSW) += ti_cpsw.o ti_cpsw-y := cpsw_ale.o cpsw.o cpts.o
Leftover from your last series?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140816/928038f0/attachment.sig>
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Hi,
Quoted 14 lines · Wolfram Sang
drivers/net/ethernet/ti/Makefile obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o · line 13
Quoted 12 lines
drivers/net/ethernet/ti/Makefile +1
-0@@ -8,5 +8,6 @@ obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o obj-$(CONFIG_TI_DAVINCI_MDIO) += davinci_mdio.o obj-$(CONFIG_TI_DAVINCI_CPDMA) += davinci_cpdma.o obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o +obj-$(CONFIG_TI_CPSW_CTRL_MACID) += cpsw-ctrl-macid.o obj-$(CONFIG_TI_CPSW) += ti_cpsw.o ti_cpsw-y := cpsw_ale.o cpsw.o cpts.oLeftover from your last series?
Yes thanks, will remove it for the next version.
Best regards,
Markus
Signature · 11 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140818/0fcc2d8b/attachment.sig>
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
In reply to Markus Pargmanndrivers/net/ethernet/ti/cpsw.c static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv, · line 1829
Quoted 7 lines
drivers/net/ethernet/ti/cpsw.c +6
-0+ mac_addr[5 ] = (macid_lo >>8 ) &0xff ; + mac_addr[4 ] = macid_lo &0xff ; + mac_addr[3 ] = (macid_hi >>24 ) &0xff ; + mac_addr[2 ] = (macid_hi >>16 ) &0xff ; + mac_addr[1 ] = (macid_hi >>8 ) &0xff ; + mac_addr[0 ] = macid_hi &0xff ;
That looks twisted, but I assume that you tested it is correct.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140816/7124d40a/attachment.sig>
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Quoted 9 lines · Wolfram Sang
drivers/net/ethernet/ti/cpsw.c static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv, · line 1829
Quoted 7 lines
drivers/net/ethernet/ti/cpsw.c +6
-0+ mac_addr[5 ] = (macid_lo >>8 ) &0xff ; + mac_addr[4 ] = macid_lo &0xff ; + mac_addr[3 ] = (macid_hi >>24 ) &0xff ; + mac_addr[2 ] = (macid_hi >>16 ) &0xff ; + mac_addr[1 ] = (macid_hi >>8 ) &0xff ; + mac_addr[0 ] = macid_hi &0xff ;That looks twisted, but I assume that you tested it is correct.
The registers are twisted that way.
Best regards,
Markus
Signature · 11 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140818/8d653ce7/attachment.sig>
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
In reply to Markus Pargmanndrivers/net/ethernet/ti/cpsw.c static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv, · line 1830
Quoted 7 lines · Markus Pargmann
drivers/net/ethernet/ti/cpsw.c +7
-0+ mac_addr[5 ] = (macid_lo >>8 ) &0xff ; + mac_addr[4 ] = macid_lo &0xff ; + mac_addr[3 ] = (macid_hi >>24 ) &0xff ; + mac_addr[2 ] = (macid_hi >>16 ) &0xff ; + mac_addr[1 ] = (macid_hi >>8 ) &0xff ; + mac_addr[0 ] = macid_hi &0xff ; +
This will fail incase of DRA74x and DRA72x platforms, please check for u-boot src for parsing logic as TRM is not out yet. Below is the actual code for DRA7 platforms for MAC address parsing
mac_addr[0] = (mac_hi & 0xFF0000) >> 16;
mac_addr[1] = (mac_hi & 0xFF00) >> 8;
mac_addr[2] = mac_hi & 0xFF;
mac_addr[3] = (mac_lo & 0xFF0000) >> 16;
mac_addr[4] = (mac_lo & 0xFF00) >> 8;
mac_addr[5] = mac_lo & 0xFF;
Regards
Mugunthan V N
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Quoted 12 lines · On Mon, 18 Aug 2014 23:54:26 +0530 Mugunthan V N <[email protected]> wrote:
drivers/net/ethernet/ti/cpsw.c static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv, · line 1830
Quoted 7 lines · Markus Pargmann
drivers/net/ethernet/ti/cpsw.c +7
-0+ mac_addr[5 ] = (macid_lo >>8 ) &0xff ; + mac_addr[4 ] = macid_lo &0xff ; + mac_addr[3 ] = (macid_hi >>24 ) &0xff ; + mac_addr[2 ] = (macid_hi >>16 ) &0xff ; + mac_addr[1 ] = (macid_hi >>8 ) &0xff ; + mac_addr[0 ] = macid_hi &0xff ; +This will fail incase of DRA74x and DRA72x platforms, please check for u-boot src for parsing logic as TRM is not out yet. Below is the actual code for DRA7 platforms for MAC address parsing
Quoted 7 lines
mac_addr[0] = (
mac_hi&0xFF0000) >> 16;
mac_addr[1] = (mac_hi&0xFF00) >> 8;
mac_addr[2] =mac_hi&0xFF;
mac_addr[3] = (mac_lo&0xFF0000) >> 16;
mac_addr[4] = (mac_lo&0xFF00) >> 8;
mac_addr[5] =mac_lo&0xFF;
But this fails with my beaglebone white.
I tested Markus's patches and it came up with the same ethaddr that U-Boot had.
Quoted 1 line
From U-Boot:
ethaddr=d4:94:a1:8b:ec:78
With Markus's changes:
eth0 Link encap:Ethernet HWaddr D4:94:A1:8B:EC:78
But when I changed the code to match what you wrote, I got this:
eth0 Link encap:Ethernet HWaddr CE:5A:8B:0E:44:45
but it also gave me:
cpsw 4a100000.ethernet: Random MACID = ce:5a:8b:0e:44:45
which means it failed the valid mac test.
Here's how I implemented your change:
#if 1
mac_addr[0] = (macid_hi & 0xFF0000) >> 16;
mac_addr[1] = (macid_hi & 0xFF00) >> 8;
mac_addr[2] = macid_hi & 0xFF;
mac_addr[3] = (macid_lo & 0xFF0000) >> 16;
mac_addr[4] = (macid_lo & 0xFF00) >> 8;
mac_addr[5] = macid_lo & 0xFF;#else
mac_addr[5] = (macid_lo >> 8) & 0xff;
mac_addr[4] = macid_lo & 0xff;
mac_addr[3] = (macid_hi >> 24) & 0xff;
mac_addr[2] = (macid_hi >> 16) & 0xff;
mac_addr[1] = (macid_hi >> 8) & 0xff;
mac_addr[0] = macid_hi & 0xff;#endif
Just to be consistent, I updated the code as this too:
mac_addr[0] = (macid_hi >> 16) & 0xFF;
mac_addr[1] = (macid_hi >> 8) & 0xFF;
mac_addr[2] = macid_hi & 0xFF;
mac_addr[3] = (macid_lo >> 16) & 0xFF;
mac_addr[4] = (macid_lo >> 8) & 0xFF;
mac_addr[5] = macid_lo & 0xFF;With the same affect.
Thus, for this patchset, as is:
-- Steve
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Quoted 73 lines · Steven Rostedt
Quoted 12 lines · On Mon, 18 Aug 2014 23:54:26 +0530 Mugunthan V N <[email protected]> wrote:
drivers/net/ethernet/ti/cpsw.c static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv, · line 1830
Quoted 7 lines · Markus Pargmann
drivers/net/ethernet/ti/cpsw.c +7
-0+ mac_addr[5 ] = (macid_lo >>8 ) &0xff ; + mac_addr[4 ] = macid_lo &0xff ; + mac_addr[3 ] = (macid_hi >>24 ) &0xff ; + mac_addr[2 ] = (macid_hi >>16 ) &0xff ; + mac_addr[1 ] = (macid_hi >>8 ) &0xff ; + mac_addr[0 ] = macid_hi &0xff ; +This will fail incase of DRA74x and DRA72x platforms, please check for u-boot src for parsing logic as TRM is not out yet. Below is the actual code for DRA7 platforms for MAC address parsing
Quoted 7 lines
mac_addr[0] = (
mac_hi&0xFF0000) >> 16;
mac_addr[1] = (mac_hi&0xFF00) >> 8;
mac_addr[2] =mac_hi&0xFF;
mac_addr[3] = (mac_lo&0xFF0000) >> 16;
mac_addr[4] = (mac_lo&0xFF00) >> 8;
mac_addr[5] =mac_lo&0xFF;But this fails with my beaglebone white.
I tested Markus's patches and it came up with the same ethaddr that U-Boot had.
From U-Boot:
ethaddr=d4:94:a1:8b:ec:78
With Markus's changes:
eth0 Link encap:Ethernet HWaddr D4:94:A1:8B:EC:78
But when I changed the code to match what you wrote, I got this:
eth0 Link encap:Ethernet HWaddr CE:5A:8B:0E:44:45
but it also gave me:
cpsw 4a100000.ethernet: Random MACID = ce:5a:8b:0e:44:45
which means it failed the valid mac test.
Here's how I implemented your change:
#if 1 mac_addr[0] = (macid_hi & 0xFF0000) >> 16; mac_addr[1] = (macid_hi & 0xFF00) >> 8; mac_addr[2] = macid_hi & 0xFF; mac_addr[3] = (macid_lo & 0xFF0000) >> 16; mac_addr[4] = (macid_lo & 0xFF00) >> 8; mac_addr[5] = macid_lo & 0xFF;#else mac_addr[5] = (macid_lo >> 8) & 0xff; mac_addr[4] = macid_lo & 0xff; mac_addr[3] = (macid_hi >> 24) & 0xff; mac_addr[2] = (macid_hi >> 16) & 0xff; mac_addr[1] = (macid_hi >> 8) & 0xff; mac_addr[0] = macid_hi & 0xff;#endif
Just to be consistent, I updated the code as this too:
mac_addr[0] = (macid_hi >> 16) & 0xFF; mac_addr[1] = (macid_hi >> 8) & 0xFF; mac_addr[2] = macid_hi & 0xFF; mac_addr[3] = (macid_lo >> 16) & 0xFF; mac_addr[4] = (macid_lo >> 8) & 0xFF; mac_addr[5] = macid_lo & 0xFF;
Quoted 5 lines
With the same affect.
Thus, for this patchset, as is:
Tested-by Steven Rostedt <[email protected]>
This will fail for DRA7xx not in AM33xx
Regards
Mugunthan V N
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Quoted 1 line · On Tue, 19 Aug 2014 01:28:09 +0530 Mugunthan V N <[email protected]> wrote:
This will fail for DRA7xx not in AM33xx
OK, is there a way to test the difference?
-- Steve
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
In reply to Mugunthan V NHello Mugunthan,
Quoted 7 lines · Mugunthan V N
Quoted 4 lines
Thus, for this patchset, as is:
Tested-by Steven Rostedt <[email protected]>This will fail for DRA7xx not in AM33xx
cpsw_am33xx_cm_get_macid() checks for of_machine_is_compatible("ti,am33xx") and returns 0 if the machine is not an am33xx. cpsw_probe_dt() only propagates the return value if is not 0 so this patch does not change the semantics for other SoCs besides am33xx.
If the driver already fails for DRA7xx that certainly is not this patch's fault. Of course it would be nice to add support for DRA7xx as well but I think that could be a follow-up patch and shouldn't be a blocker to merge this change if is useful for users.
Quoted 3 lines
Regards
Mugunthan V N
--
Best regards,
Javier
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Hi,
Quoted 8 lines · Javier Martinez Canillas
Hello Mugunthan,
Quoted 5 lines · Mugunthan V N
Quoted 4 lines
Thus, for this patchset, as is:
Tested-by Steven Rostedt <[email protected]>
Quoted 8 lines
Quoted 2 lines
This will fail for DRA7xx not in AM33xx
cpsw_am33xx_cm_get_macid()checks forof_machine_is_compatible("ti,am33xx")and returns 0 if the machine is not an am33xx.cpsw_probe_dt()only propagates the return value if is not 0 so this patch does not change the semantics for other SoCs besides am33xx.
Yes, this patch is only about the am33xx. I don't have the DRA7xx hardware so I am not able to test on that hardware. Mugunthan, perhaps you can supply some followup patches for DRA7xx.
Best regards,
Markus
Signature · 11 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140819/ce9402ff/attachment-0001.sig>
PATCH v3 5/7 net: cpsw: Add am33xx MACID readout
Quoted 11 lines · Markus Pargmann
Hi,
Quoted 8 lines · Javier Martinez Canillas
Hello Mugunthan,
Quoted 5 lines · Mugunthan V N
Quoted 3 lines
Thus, for this patchset, as is:
Tested-by Steven Rostedt <[email protected]>This will fail for DRA7xx not in AM33xx
Quoted 10 lines
Quoted 5 lines
cpsw_am33xx_cm_get_macid()checks forof_machine_is_compatible("ti,am33xx")and returns 0 if the machine is not an am33xx.cpsw_probe_dt()only propagates the return value if is not 0 so this patch does not change the semantics for other SoCs besides am33xx.Yes, this patch is only about the am33xx. I don't have the DRA7xx hardware so I am not able to test on that hardware. Mugunthan, perhaps you can supply some followup patches for DRA7xx.
I will check on this thursday and update.
Regards
Mugunthan V N
PATCH v3 6/7 am33xx: define syscon control module device node
In reply to Markus Pargmann--- arch/arm/boot/dts/am33xx.dtsi | 5 +++++ 1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -132,6 +132,11 @@ }; }; + cm: syscon at 44e10000 { + compatible = "ti,am33xx-controlmodule", "syscon"; + reg = <0x44e10000 0x800>; + }; + intc: interrupt-controller at 48200000 { compatible = "ti,omap2-intc"; interrupt-controller;
Signature · 1 line
2.0.1
PATCH v3 7/7 arm: dts: am33xx, Add syscon phandle to cpsw node
In reply to Markus PargmannThere are 2 MACIDs stored in the control module of the am33xx. These are read by the cpsw driver if no valid MACID was found in the devicetree.
--- arch/arm/boot/dts/am33xx.dtsi | 1 + 1 file changed, 1 insertion(+)
arch/arm/boot/dts/am33xx.dtsi +1 -0
@@ -692,6 +692,7 @@ */ interrupts = <40 41 42 43>; ranges; + syscon = <&cm>; status = "disabled"; davinci_mdio: mdio at 4a101000 {
Signature · 1 line
2.0.1
v3 cover net: cpsw: Support for am335x chip MACIDs
In reply to Markus PargmannQuoted 6 lines · Markus Pargmann
Hi,
This series adds support to the cpsw driver to read the MACIDs of the am335x chip and use them as fallback. These addresses are only used if there are no mac addresses in the devicetree, for example set by a bootloader.
Quoted 7 lines
In v3 I removed the previously seperate driver and included the changes into the main cpsw driver. I now check for a am33xx machine to not make this operation when running on davinci.
Patches 1-4 are some minor fixes for the cpsw driver. Patch 5 adds the readout support.
Patches 6 and 7 are foram33xx.dtsito actually enable this feature.
Minor comments, but in general, looks good to me:
Tests on real HW need to wait another 9 days...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140816/91783b38/attachment-0001.sig>