|
@@ -33,8 +33,6 @@
|
|
#include <linux/of_net.h>
|
|
#include <linux/of_net.h>
|
|
#include <linux/of_device.h>
|
|
#include <linux/of_device.h>
|
|
#include <linux/if_vlan.h>
|
|
#include <linux/if_vlan.h>
|
|
-#include <linux/mfd/syscon.h>
|
|
|
|
-#include <linux/regmap.h>
|
|
|
|
|
|
|
|
#include <linux/pinctrl/consumer.h>
|
|
#include <linux/pinctrl/consumer.h>
|
|
|
|
|
|
@@ -1936,36 +1934,6 @@ static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv,
|
|
slave->port_vlan = data->dual_emac_res_vlan;
|
|
slave->port_vlan = data->dual_emac_res_vlan;
|
|
}
|
|
}
|
|
|
|
|
|
-#define AM33XX_CTRL_MAC_LO_REG(id) (0x630 + 0x8 * id)
|
|
|
|
-#define AM33XX_CTRL_MAC_HI_REG(id) (0x630 + 0x8 * id + 0x4)
|
|
|
|
-
|
|
|
|
-static int cpsw_am33xx_cm_get_macid(struct device *dev, int slave,
|
|
|
|
- u8 *mac_addr)
|
|
|
|
-{
|
|
|
|
- u32 macid_lo;
|
|
|
|
- u32 macid_hi;
|
|
|
|
- struct regmap *syscon;
|
|
|
|
-
|
|
|
|
- syscon = syscon_regmap_lookup_by_phandle(dev->of_node, "syscon");
|
|
|
|
- if (IS_ERR(syscon)) {
|
|
|
|
- if (PTR_ERR(syscon) == -ENODEV)
|
|
|
|
- return 0;
|
|
|
|
- return PTR_ERR(syscon);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- regmap_read(syscon, AM33XX_CTRL_MAC_LO_REG(slave), &macid_lo);
|
|
|
|
- regmap_read(syscon, AM33XX_CTRL_MAC_HI_REG(slave), &macid_hi);
|
|
|
|
-
|
|
|
|
- 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;
|
|
|
|
-
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static int cpsw_probe_dt(struct cpsw_platform_data *data,
|
|
static int cpsw_probe_dt(struct cpsw_platform_data *data,
|
|
struct platform_device *pdev)
|
|
struct platform_device *pdev)
|
|
{
|
|
{
|
|
@@ -2090,7 +2058,8 @@ no_phy_slave:
|
|
memcpy(slave_data->mac_addr, mac_addr, ETH_ALEN);
|
|
memcpy(slave_data->mac_addr, mac_addr, ETH_ALEN);
|
|
} else {
|
|
} else {
|
|
if (of_machine_is_compatible("ti,am33xx")) {
|
|
if (of_machine_is_compatible("ti,am33xx")) {
|
|
- ret = cpsw_am33xx_cm_get_macid(&pdev->dev, i,
|
|
|
|
|
|
+ ret = cpsw_am33xx_cm_get_macid(&pdev->dev,
|
|
|
|
+ 0x630, i,
|
|
slave_data->mac_addr);
|
|
slave_data->mac_addr);
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|