mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
core/linux-armv7 to 4.6.0-1
This commit is contained in:
parent
4d7b6519a1
commit
e7714f1941
12 changed files with 298 additions and 514 deletions
|
@ -1,7 +1,7 @@
|
||||||
From dd57cddf4b28cbccf358e7d6995d262c3e47eecb Mon Sep 17 00:00:00 2001
|
From dccadc9e5eb4dc16815e27c286c16d235e4ff8e8 Mon Sep 17 00:00:00 2001
|
||||||
From: Willy Tarreau <w@xxxxxx>
|
From: Willy Tarreau <w@xxxxxx>
|
||||||
Date: Sun, 2 Dec 2012 19:59:28 +0100
|
Date: Sun, 2 Dec 2012 19:59:28 +0100
|
||||||
Subject: [PATCH 01/10] ARM: atags: add support for Marvell's u-boot
|
Subject: [PATCH 1/8] ARM: atags: add support for Marvell's u-boot
|
||||||
|
|
||||||
Marvell uses a specific atag in its u-boot which includes among other
|
Marvell uses a specific atag in its u-boot which includes among other
|
||||||
information the MAC addresses for up to 4 network interfaces.
|
information the MAC addresses for up to 4 network interfaces.
|
||||||
|
@ -47,5 +47,5 @@ index 979ff40..d1d0c19 100644
|
||||||
};
|
};
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
From 0f33dd3cbffb1f8cf75c8955ad0ce0ad747d6964 Mon Sep 17 00:00:00 2001
|
From 2fe6588b6ca5cb817c78ee0b44ca9b2a6f6bdeb1 Mon Sep 17 00:00:00 2001
|
||||||
From: Willy Tarreau <w@xxxxxx>
|
From: Willy Tarreau <w@xxxxxx>
|
||||||
Date: Sun, 2 Dec 2012 19:56:58 +0100
|
Date: Sun, 2 Dec 2012 19:56:58 +0100
|
||||||
Subject: [PATCH 02/10] ARM: atags/fdt: retrieve MAC addresses from Marvell
|
Subject: [PATCH 2/8] ARM: atags/fdt: retrieve MAC addresses from Marvell boot
|
||||||
boot loader
|
loader
|
||||||
|
|
||||||
The atags are parsed and if a Marvell atag is found, up to 4 MAC
|
The atags are parsed and if a Marvell atag is found, up to 4 MAC
|
||||||
addresses are extracted there and assigned to node aliases eth0..3
|
addresses are extracted there and assigned to node aliases eth0..3
|
||||||
|
@ -43,5 +43,5 @@ index 9448aa0..ac7b6ae 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 2177f601828cab3482f837a6d34f187629b13743 Mon Sep 17 00:00:00 2001
|
From 66047514f80a831be0461566faffa79113151783 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Fri, 5 Sep 2014 15:41:19 -0600
|
Date: Fri, 5 Sep 2014 15:41:19 -0600
|
||||||
Subject: [PATCH 03/10] SMILE Plug device tree file
|
Subject: [PATCH 3/8] SMILE Plug device tree file
|
||||||
|
|
||||||
This adds a dts file for the SMILE Plug, which only differs from the Mirabox
|
This adds a dts file for the SMILE Plug, which only differs from the Mirabox
|
||||||
dts with the LED definitions.
|
dts with the LED definitions.
|
||||||
|
@ -14,10 +14,10 @@ Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
create mode 100644 arch/arm/boot/dts/armada-370-smileplug.dts
|
create mode 100644 arch/arm/boot/dts/armada-370-smileplug.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||||
index a4a6d70..c710c30 100644
|
index 95c1923..38c06e4 100644
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -767,6 +767,7 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
|
@@ -793,6 +793,7 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
|
||||||
armada-370-db.dtb \
|
armada-370-db.dtb \
|
||||||
armada-370-dlink-dns327l.dtb \
|
armada-370-dlink-dns327l.dtb \
|
||||||
armada-370-mirabox.dtb \
|
armada-370-mirabox.dtb \
|
||||||
|
@ -205,5 +205,5 @@ index 0000000..d01308a
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From ee60ccbad5446a51d434b39d2e7582a9a88ad8e7 Mon Sep 17 00:00:00 2001
|
From 57abb5f14c98e72b246083465441ce75086304e0 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Fri, 5 Sep 2014 15:43:56 -0600
|
Date: Fri, 5 Sep 2014 15:43:56 -0600
|
||||||
Subject: [PATCH 04/10] fix mvsdio eMMC timing
|
Subject: [PATCH 4/8] fix mvsdio eMMC timing
|
||||||
|
|
||||||
These changes from Globalscale change the MMC timing to allow the eMMC versions
|
These changes from Globalscale change the MMC timing to allow the eMMC versions
|
||||||
of the Mirabox and SMILE Plug to work.
|
of the Mirabox and SMILE Plug to work.
|
||||||
|
@ -34,5 +34,5 @@ index 42296e5..e5ce6d2 100644
|
||||||
host->clock = ios->clock;
|
host->clock = ios->clock;
|
||||||
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));
|
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
From 75f7a861ec5a0f19d2724be0327914b658aec00c Mon Sep 17 00:00:00 2001
|
From 573ed812140e4319d2333206679e55a2f03ae632 Mon Sep 17 00:00:00 2001
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
||||||
Subject: [PATCH 05/10] net/smsc95xx: Allow mac address to be set as a
|
Subject: [PATCH 5/8] net/smsc95xx: Allow mac address to be set as a parameter
|
||||||
parameter
|
|
||||||
|
|
||||||
---
|
---
|
||||||
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 56 insertions(+)
|
1 file changed, 56 insertions(+)
|
||||||
|
|
||||||
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
||||||
index 66b3ab9..3cc50f6 100644
|
index 2edc2bc..2445b56 100644
|
||||||
--- a/drivers/net/usb/smsc95xx.c
|
--- a/drivers/net/usb/smsc95xx.c
|
||||||
+++ b/drivers/net/usb/smsc95xx.c
|
+++ b/drivers/net/usb/smsc95xx.c
|
||||||
@@ -59,6 +59,7 @@
|
@@ -60,6 +60,7 @@
|
||||||
#define SUSPEND_SUSPEND3 (0x08)
|
#define SUSPEND_SUSPEND3 (0x08)
|
||||||
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
|
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
|
||||||
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
|
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
|
||||||
|
@ -20,7 +19,7 @@ index 66b3ab9..3cc50f6 100644
|
||||||
|
|
||||||
struct smsc95xx_priv {
|
struct smsc95xx_priv {
|
||||||
u32 mac_cr;
|
u32 mac_cr;
|
||||||
@@ -74,6 +75,10 @@ static bool turbo_mode = true;
|
@@ -75,6 +76,10 @@ static bool turbo_mode = true;
|
||||||
module_param(turbo_mode, bool, 0644);
|
module_param(turbo_mode, bool, 0644);
|
||||||
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
|
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
|
||||||
|
|
||||||
|
@ -31,7 +30,7 @@ index 66b3ab9..3cc50f6 100644
|
||||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||||
u32 *data, int in_pm)
|
u32 *data, int in_pm)
|
||||||
{
|
{
|
||||||
@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
@@ -764,8 +769,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,9 +87,9 @@ index 66b3ab9..3cc50f6 100644
|
||||||
+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
|
+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
/* try reading mac address from EEPROM */
|
const u8 *mac_addr;
|
||||||
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
|
||||||
dev->net->dev_addr) == 0) {
|
/* maybe the boot loader passed the MAC address in devicetree */
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 35c16823a040eae8f0c1bbb3f3812c11efe898f8 Mon Sep 17 00:00:00 2001
|
From c211758069c908d9d76c31f16cccaf521c42e5f0 Mon Sep 17 00:00:00 2001
|
||||||
From: dobatog <dobatog@gmail.com>
|
From: dobatog <dobatog@gmail.com>
|
||||||
Date: Thu, 26 Feb 2015 12:32:27 +0100
|
Date: Thu, 26 Feb 2015 12:32:27 +0100
|
||||||
Subject: [PATCH 06/10] ARM: TLV320AIC23 SoC Audio Codec: Fix errors reported
|
Subject: [PATCH 6/8] ARM: TLV320AIC23 SoC Audio Codec: Fix errors reported
|
||||||
related to input routing signals.
|
related to input routing signals.
|
||||||
|
|
||||||
The following patch, based on stable v3.19, corrects the errors that are reported in the boot trace in reference to the Input Signals of the audio codec TLV320AIC23:
|
The following patch, based on stable v3.19, corrects the errors that are reported in the boot trace in reference to the Input Signals of the audio codec TLV320AIC23:
|
||||||
|
@ -45,5 +45,5 @@ index cd8c02b..95e6b11 100644
|
||||||
/* input mux */
|
/* input mux */
|
||||||
{"Capture Source", "Line", "Line Input"},
|
{"Capture Source", "Line", "Line Input"},
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c10150c254d704496c2a832434069cc47dbbe7cc Mon Sep 17 00:00:00 2001
|
From b5e99f293a21f1d27222c9e262831588e206bfc5 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Sat, 14 Feb 2015 12:32:27 +0100
|
Date: Sat, 14 Feb 2015 12:32:27 +0100
|
||||||
Subject: [PATCH 07/10] set default cubietruck led triggers
|
Subject: [PATCH 7/8] set default cubietruck led triggers
|
||||||
|
|
||||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
---
|
---
|
||||||
|
@ -29,5 +29,5 @@ index 8da939a..9957d5f 100644
|
||||||
};
|
};
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 07ccea6eaa471307f5f7513862b47c040178a40a Mon Sep 17 00:00:00 2001
|
From 4709ed524ab21c1578e96f837c77ce23bb25c108 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Sat, 7 Feb 2015 12:32:27 +0100
|
Date: Sat, 7 Feb 2015 12:32:27 +0100
|
||||||
Subject: [PATCH 08/10] USB armory support
|
Subject: [PATCH 8/8] USB armory support
|
||||||
|
|
||||||
---
|
---
|
||||||
arch/arm/boot/dts/Makefile | 5 +
|
arch/arm/boot/dts/Makefile | 5 +
|
||||||
|
@ -20,10 +20,10 @@ Subject: [PATCH 08/10] USB armory support
|
||||||
create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
|
create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||||
index c710c30..e9a95ef 100644
|
index 38c06e4..ce5c9de 100644
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -287,6 +287,11 @@ dtb-$(CONFIG_SOC_IMX53) += \
|
@@ -295,6 +295,11 @@ dtb-$(CONFIG_SOC_IMX53) += \
|
||||||
imx53-smd.dtb \
|
imx53-smd.dtb \
|
||||||
imx53-tx53-x03x.dtb \
|
imx53-tx53-x03x.dtb \
|
||||||
imx53-tx53-x13x.dtb \
|
imx53-tx53-x13x.dtb \
|
||||||
|
@ -452,5 +452,5 @@ index 0000000..902a73b
|
||||||
+ status = "okay";
|
+ status = "okay";
|
||||||
+};
|
+};
|
||||||
--
|
--
|
||||||
2.7.3
|
2.8.2
|
||||||
|
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
From 026b3cec564af35100ec9c3bdd7ce949768575b8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
||||||
Date: Wed, 16 Mar 2016 07:39:26 -0600
|
|
||||||
Subject: [PATCH 09/10] Revert "stmmac: Fix 'eth0: No PHY found' regression"
|
|
||||||
|
|
||||||
This reverts commit 88f8b1bb41c6208f81b6a480244533ded7b59493.
|
|
||||||
---
|
|
||||||
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 11 ++++++++++-
|
|
||||||
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +--------
|
|
||||||
include/linux/stmmac.h | 1 -
|
|
||||||
3 files changed, 11 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
index efb54f3..0faf163 100644
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
@@ -199,12 +199,21 @@ int stmmac_mdio_register(struct net_device *ndev)
|
|
||||||
struct stmmac_priv *priv = netdev_priv(ndev);
|
|
||||||
struct stmmac_mdio_bus_data *mdio_bus_data = priv->plat->mdio_bus_data;
|
|
||||||
int addr, found;
|
|
||||||
- struct device_node *mdio_node = priv->plat->mdio_node;
|
|
||||||
+ struct device_node *mdio_node = NULL;
|
|
||||||
+ struct device_node *child_node = NULL;
|
|
||||||
|
|
||||||
if (!mdio_bus_data)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_OF)) {
|
|
||||||
+ for_each_child_of_node(priv->device->of_node, child_node) {
|
|
||||||
+ if (of_device_is_compatible(child_node,
|
|
||||||
+ "snps,dwmac-mdio")) {
|
|
||||||
+ mdio_node = child_node;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (mdio_node) {
|
|
||||||
netdev_dbg(ndev, "FOUND MDIO subnode\n");
|
|
||||||
} else {
|
|
||||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
index 4514ba7..6a52fa1 100644
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
@@ -110,7 +110,6 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
|
|
||||||
struct device_node *np = pdev->dev.of_node;
|
|
||||||
struct plat_stmmacenet_data *plat;
|
|
||||||
struct stmmac_dma_cfg *dma_cfg;
|
|
||||||
- struct device_node *child_node = NULL;
|
|
||||||
|
|
||||||
plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL);
|
|
||||||
if (!plat)
|
|
||||||
@@ -141,19 +140,13 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
|
|
||||||
plat->phy_node = of_node_get(np);
|
|
||||||
}
|
|
||||||
|
|
||||||
- for_each_child_of_node(np, child_node)
|
|
||||||
- if (of_device_is_compatible(child_node, "snps,dwmac-mdio")) {
|
|
||||||
- plat->mdio_node = child_node;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* "snps,phy-addr" is not a standard property. Mark it as deprecated
|
|
||||||
* and warn of its use. Remove this when phy node support is added.
|
|
||||||
*/
|
|
||||||
if (of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr) == 0)
|
|
||||||
dev_warn(&pdev->dev, "snps,phy-addr property is deprecated\n");
|
|
||||||
|
|
||||||
- if ((plat->phy_node && !of_phy_is_fixed_link(np)) || !plat->mdio_node)
|
|
||||||
+ if ((plat->phy_node && !of_phy_is_fixed_link(np)) || plat->phy_bus_name)
|
|
||||||
plat->mdio_bus_data = NULL;
|
|
||||||
else
|
|
||||||
plat->mdio_bus_data =
|
|
||||||
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
|
|
||||||
index 881a79d..eead8ab 100644
|
|
||||||
--- a/include/linux/stmmac.h
|
|
||||||
+++ b/include/linux/stmmac.h
|
|
||||||
@@ -100,7 +100,6 @@ struct plat_stmmacenet_data {
|
|
||||||
int interface;
|
|
||||||
struct stmmac_mdio_bus_data *mdio_bus_data;
|
|
||||||
struct device_node *phy_node;
|
|
||||||
- struct device_node *mdio_node;
|
|
||||||
struct stmmac_dma_cfg *dma_cfg;
|
|
||||||
int clk_csr;
|
|
||||||
int has_gmac;
|
|
||||||
--
|
|
||||||
2.7.3
|
|
||||||
|
|
|
@ -1,235 +0,0 @@
|
||||||
From be3687ac6bf12bd89059742faac2fb40ec8af419 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
|
|
||||||
Date: Wed, 16 Mar 2016 10:38:49 +0100
|
|
||||||
Subject: [PATCH 10/10] stmmac: fix MDIO settings
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Initially the phy_bus_name was added to manipulate the
|
|
||||||
driver name but it was recently just used to manage the
|
|
||||||
fixed-link and then to take some decision at run-time.
|
|
||||||
So the patch uses the is_pseudo_fixed_link and removes
|
|
||||||
the phy_bus_name variable not necessary anymore.
|
|
||||||
|
|
||||||
The driver can manage the mdio registration by using phy-handle,
|
|
||||||
dwmac-mdio and own parameter e.g. snps,phy-addr.
|
|
||||||
This patch takes care about all these possible configurations
|
|
||||||
and fixes the mdio registration in case of there is a real
|
|
||||||
transceiver or a switch (that needs to be managed by using
|
|
||||||
fixed-link).
|
|
||||||
|
|
||||||
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
|
|
||||||
Reviewed-by: Andreas Färber <afaerber@suse.de>
|
|
||||||
Tested-by: Frank Schäfer <fschaefer.oss@googlemail.com>
|
|
||||||
Cc: Gabriel Fernandez <gabriel.fernandez@linaro.org>
|
|
||||||
Cc: Dinh Nguyen <dinh.linux@gmail.com>
|
|
||||||
Cc: David S. Miller <davem@davemloft.net>
|
|
||||||
Cc: Phil Reid <preid@electromag.com.au>
|
|
||||||
---
|
|
||||||
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 11 +--
|
|
||||||
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 19 +----
|
|
||||||
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 84 +++++++++++++++++-----
|
|
||||||
include/linux/stmmac.h | 2 +-
|
|
||||||
4 files changed, 71 insertions(+), 45 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
|
||||||
index c21015b..389d7d0 100644
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
|
||||||
@@ -271,7 +271,6 @@ static void stmmac_eee_ctrl_timer(unsigned long arg)
|
|
||||||
*/
|
|
||||||
bool stmmac_eee_init(struct stmmac_priv *priv)
|
|
||||||
{
|
|
||||||
- char *phy_bus_name = priv->plat->phy_bus_name;
|
|
||||||
unsigned long flags;
|
|
||||||
bool ret = false;
|
|
||||||
|
|
||||||
@@ -283,7 +282,7 @@ bool stmmac_eee_init(struct stmmac_priv *priv)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
/* Never init EEE in case of a switch is attached */
|
|
||||||
- if (phy_bus_name && (!strcmp(phy_bus_name, "fixed")))
|
|
||||||
+ if (priv->phydev->is_pseudo_fixed_link)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
/* MAC core supports the EEE feature. */
|
|
||||||
@@ -820,12 +819,8 @@ static int stmmac_init_phy(struct net_device *dev)
|
|
||||||
phydev = of_phy_connect(dev, priv->plat->phy_node,
|
|
||||||
&stmmac_adjust_link, 0, interface);
|
|
||||||
} else {
|
|
||||||
- if (priv->plat->phy_bus_name)
|
|
||||||
- snprintf(bus_id, MII_BUS_ID_SIZE, "%s-%x",
|
|
||||||
- priv->plat->phy_bus_name, priv->plat->bus_id);
|
|
||||||
- else
|
|
||||||
- snprintf(bus_id, MII_BUS_ID_SIZE, "stmmac-%x",
|
|
||||||
- priv->plat->bus_id);
|
|
||||||
+ snprintf(bus_id, MII_BUS_ID_SIZE, "stmmac-%x",
|
|
||||||
+ priv->plat->bus_id);
|
|
||||||
|
|
||||||
snprintf(phy_id_fmt, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, bus_id,
|
|
||||||
priv->plat->phy_addr);
|
|
||||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
index 0faf163..3f5512f 100644
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
|
|
||||||
@@ -198,29 +198,12 @@ int stmmac_mdio_register(struct net_device *ndev)
|
|
||||||
struct mii_bus *new_bus;
|
|
||||||
struct stmmac_priv *priv = netdev_priv(ndev);
|
|
||||||
struct stmmac_mdio_bus_data *mdio_bus_data = priv->plat->mdio_bus_data;
|
|
||||||
+ struct device_node *mdio_node = priv->plat->mdio_node;
|
|
||||||
int addr, found;
|
|
||||||
- struct device_node *mdio_node = NULL;
|
|
||||||
- struct device_node *child_node = NULL;
|
|
||||||
|
|
||||||
if (!mdio_bus_data)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- if (IS_ENABLED(CONFIG_OF)) {
|
|
||||||
- for_each_child_of_node(priv->device->of_node, child_node) {
|
|
||||||
- if (of_device_is_compatible(child_node,
|
|
||||||
- "snps,dwmac-mdio")) {
|
|
||||||
- mdio_node = child_node;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (mdio_node) {
|
|
||||||
- netdev_dbg(ndev, "FOUND MDIO subnode\n");
|
|
||||||
- } else {
|
|
||||||
- netdev_warn(ndev, "No MDIO subnode found\n");
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
new_bus = mdiobus_alloc();
|
|
||||||
if (new_bus == NULL)
|
|
||||||
return -ENOMEM;
|
|
||||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
index 6a52fa1..190fb6d 100644
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
|
|
||||||
@@ -96,6 +96,69 @@ static int dwmac1000_validate_ucast_entries(int ucast_entries)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
+ * stmmac_dt_phy - parse device-tree driver parameters to allocate PHY resources
|
|
||||||
+ * @plat: driver data platform structure
|
|
||||||
+ * @np: device tree node
|
|
||||||
+ * @dev: device pointer
|
|
||||||
+ * Description:
|
|
||||||
+ * The mdio bus will be allocated in case of a phy transceiver is on board;
|
|
||||||
+ * it will be NULL if the fixed-link is configured.
|
|
||||||
+ * If there is the "snps,dwmac-mdio" sub-node the mdio will be allocated
|
|
||||||
+ * in any case (for DSA, mdio must be registered even if fixed-link).
|
|
||||||
+ * The table below sums the supported configurations:
|
|
||||||
+ * -------------------------------
|
|
||||||
+ * snps,phy-addr | Y
|
|
||||||
+ * -------------------------------
|
|
||||||
+ * phy-handle | Y
|
|
||||||
+ * -------------------------------
|
|
||||||
+ * fixed-link | N
|
|
||||||
+ * -------------------------------
|
|
||||||
+ * snps,dwmac-mdio |
|
|
||||||
+ * even if | Y
|
|
||||||
+ * fixed-link |
|
|
||||||
+ * -------------------------------
|
|
||||||
+ *
|
|
||||||
+ * It returns 0 in case of success otherwise -ENODEV.
|
|
||||||
+ */
|
|
||||||
+static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
|
|
||||||
+ struct device_node *np, struct device *dev)
|
|
||||||
+{
|
|
||||||
+ bool mdio = true;
|
|
||||||
+
|
|
||||||
+ /* If phy-handle property is passed from DT, use it as the PHY */
|
|
||||||
+ plat->phy_node = of_parse_phandle(np, "phy-handle", 0);
|
|
||||||
+ if (plat->phy_node)
|
|
||||||
+ dev_dbg(dev, "Found phy-handle subnode\n");
|
|
||||||
+
|
|
||||||
+ /* If phy-handle is not specified, check if we have a fixed-phy */
|
|
||||||
+ if (!plat->phy_node && of_phy_is_fixed_link(np)) {
|
|
||||||
+ if ((of_phy_register_fixed_link(np) < 0))
|
|
||||||
+ return -ENODEV;
|
|
||||||
+
|
|
||||||
+ dev_dbg(dev, "Found fixed-link subnode\n");
|
|
||||||
+ plat->phy_node = of_node_get(np);
|
|
||||||
+ mdio = false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* If snps,dwmac-mdio is passed from DT, always register the MDIO */
|
|
||||||
+ for_each_child_of_node(np, plat->mdio_node) {
|
|
||||||
+ if (of_device_is_compatible(plat->mdio_node, "snps,dwmac-mdio"))
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (plat->mdio_node) {
|
|
||||||
+ dev_dbg(dev, "Found MDIO subnode\n");
|
|
||||||
+ mdio = true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (mdio)
|
|
||||||
+ plat->mdio_bus_data =
|
|
||||||
+ devm_kzalloc(dev, sizeof(struct stmmac_mdio_bus_data),
|
|
||||||
+ GFP_KERNEL);
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
* stmmac_probe_config_dt - parse device-tree driver parameters
|
|
||||||
* @pdev: platform_device structure
|
|
||||||
* @plat: driver data platform structure
|
|
||||||
@@ -129,30 +192,15 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
|
|
||||||
/* Default to phy auto-detection */
|
|
||||||
plat->phy_addr = -1;
|
|
||||||
|
|
||||||
- /* If we find a phy-handle property, use it as the PHY */
|
|
||||||
- plat->phy_node = of_parse_phandle(np, "phy-handle", 0);
|
|
||||||
-
|
|
||||||
- /* If phy-handle is not specified, check if we have a fixed-phy */
|
|
||||||
- if (!plat->phy_node && of_phy_is_fixed_link(np)) {
|
|
||||||
- if ((of_phy_register_fixed_link(np) < 0))
|
|
||||||
- return ERR_PTR(-ENODEV);
|
|
||||||
-
|
|
||||||
- plat->phy_node = of_node_get(np);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* "snps,phy-addr" is not a standard property. Mark it as deprecated
|
|
||||||
* and warn of its use. Remove this when phy node support is added.
|
|
||||||
*/
|
|
||||||
if (of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr) == 0)
|
|
||||||
dev_warn(&pdev->dev, "snps,phy-addr property is deprecated\n");
|
|
||||||
|
|
||||||
- if ((plat->phy_node && !of_phy_is_fixed_link(np)) || plat->phy_bus_name)
|
|
||||||
- plat->mdio_bus_data = NULL;
|
|
||||||
- else
|
|
||||||
- plat->mdio_bus_data =
|
|
||||||
- devm_kzalloc(&pdev->dev,
|
|
||||||
- sizeof(struct stmmac_mdio_bus_data),
|
|
||||||
- GFP_KERNEL);
|
|
||||||
+ /* To Configure PHY by using all device-tree supported properties */
|
|
||||||
+ if (stmmac_dt_phy(plat, np, &pdev->dev))
|
|
||||||
+ return ERR_PTR(-ENODEV);
|
|
||||||
|
|
||||||
of_property_read_u32(np, "tx-fifo-depth", &plat->tx_fifo_size);
|
|
||||||
|
|
||||||
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
|
|
||||||
index eead8ab..8b1ff2b 100644
|
|
||||||
--- a/include/linux/stmmac.h
|
|
||||||
+++ b/include/linux/stmmac.h
|
|
||||||
@@ -94,12 +94,12 @@ struct stmmac_dma_cfg {
|
|
||||||
};
|
|
||||||
|
|
||||||
struct plat_stmmacenet_data {
|
|
||||||
- char *phy_bus_name;
|
|
||||||
int bus_id;
|
|
||||||
int phy_addr;
|
|
||||||
int interface;
|
|
||||||
struct stmmac_mdio_bus_data *mdio_bus_data;
|
|
||||||
struct device_node *phy_node;
|
|
||||||
+ struct device_node *mdio_node;
|
|
||||||
struct stmmac_dma_cfg *dma_cfg;
|
|
||||||
int clk_csr;
|
|
||||||
int has_gmac;
|
|
||||||
--
|
|
||||||
2.7.3
|
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
buildarch=4
|
buildarch=4
|
||||||
|
|
||||||
pkgbase=linux-armv7
|
pkgbase=linux-armv7
|
||||||
_srcname=linux-4.5
|
_srcname=linux-4.6
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
_desc="ARMv7 multi-platform"
|
_desc="ARMv7 multi-platform"
|
||||||
pkgver=4.5.4
|
pkgver=4.6.0
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
rcnrel=armv7-x2
|
rcnrel=armv7-x2
|
||||||
arch=('armv7h')
|
arch=('armv7h')
|
||||||
|
@ -16,7 +16,7 @@ license=('GPL2')
|
||||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
|
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
|
||||||
options=('!strip')
|
options=('!strip')
|
||||||
source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
||||||
"http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
|
#"http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
|
||||||
"http://rcn-ee.com/deb/sid-armhf/v${pkgver}-${rcnrel}/patch-${pkgver%.0}-${rcnrel}.diff.gz"
|
"http://rcn-ee.com/deb/sid-armhf/v${pkgver}-${rcnrel}/patch-${pkgver%.0}-${rcnrel}.diff.gz"
|
||||||
'0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
|
'0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
|
||||||
'0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
|
'0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
|
||||||
|
@ -26,27 +26,22 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
||||||
'0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch'
|
'0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch'
|
||||||
'0007-set-default-cubietruck-led-triggers.patch'
|
'0007-set-default-cubietruck-led-triggers.patch'
|
||||||
'0008-USB-armory-support.patch'
|
'0008-USB-armory-support.patch'
|
||||||
'0009-Revert-stmmac-Fix-eth0-No-PHY-found-regression.patch'
|
|
||||||
'0010-stmmac-fix-MDIO-settings.patch'
|
|
||||||
'config'
|
'config'
|
||||||
'cmdline'
|
'cmdline'
|
||||||
'kernel.its'
|
'kernel.its'
|
||||||
'kernel.keyblock'
|
'kernel.keyblock'
|
||||||
'kernel_data_key.vbprivk')
|
'kernel_data_key.vbprivk')
|
||||||
md5sums=('a60d48eee08ec0536d5efb17ca819aef'
|
md5sums=('d2927020e24a76da4ab482a8bc3e9ef3'
|
||||||
'137460a1e32335e2eedc61fcfc2643fa'
|
'a85c24fc75d62d8b81324130dbe9fba9'
|
||||||
'0018cb724884c720b95339ec13e5d1c6'
|
'1b4bb8c2a33606ede339e5661f0e7fb8'
|
||||||
'2382c661e820edbf4cba5a39e19d0bd5'
|
'8e2d392b751e5cf1862f1472d0d7a992'
|
||||||
'b38e6003768a6cf9d46f1a5f9e47925c'
|
'56ce0f700dcee0584183452d15c96b58'
|
||||||
'99a159bd9b2ea2dcfd338b29a8551043'
|
'3a66481fa1aabbff1ed8a947d5aadc99'
|
||||||
'525fb306ab827296e402efc67d8ed435'
|
'4864a3dc1188c51d505034932adadf92'
|
||||||
'79cbb7fc66b1e0da6e28fb41bc596712'
|
'2f7506cf70805d688a880e19e2f3e20a'
|
||||||
'6132290c2ef75d20278299c05f138fa2'
|
'276e39a7d0ff9bac45607ef4d50e0ab9'
|
||||||
'5859ce0b9f17671aabf606e346359377'
|
'1c76d22a3281e9539222ee242da5a7fb'
|
||||||
'ef109fafa606732d8993a3fdb538c3df'
|
'f48cbc883a82a7b401845caf1eb15a44'
|
||||||
'a9b7d60e76b8d8b426c27d15c5b21466'
|
|
||||||
'3a6fd8d0de5d8e396c2a7d68873cd627'
|
|
||||||
'c2164745c065d535f0899bf2ab06ffc2'
|
|
||||||
'1813b39074d01af6548951764a0f6444'
|
'1813b39074d01af6548951764a0f6444'
|
||||||
'4f2379ed84258050edb858ee8d281678'
|
'4f2379ed84258050edb858ee8d281678'
|
||||||
'61c5ff73c136ed07a7aadbf58db3d96a'
|
'61c5ff73c136ed07a7aadbf58db3d96a'
|
||||||
|
@ -56,7 +51,7 @@ prepare() {
|
||||||
cd "${srcdir}/${_srcname}"
|
cd "${srcdir}/${_srcname}"
|
||||||
|
|
||||||
# add upstream patch
|
# add upstream patch
|
||||||
git apply --whitespace=nowarn ../patch-${pkgver}
|
#git apply --whitespace=nowarn ../patch-${pkgver}
|
||||||
|
|
||||||
# RCN patch
|
# RCN patch
|
||||||
git apply ../patch-${pkgver%.0}-${rcnrel}.diff
|
git apply ../patch-${pkgver%.0}-${rcnrel}.diff
|
||||||
|
@ -70,8 +65,6 @@ prepare() {
|
||||||
git apply ../0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch
|
git apply ../0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch
|
||||||
git apply ../0007-set-default-cubietruck-led-triggers.patch
|
git apply ../0007-set-default-cubietruck-led-triggers.patch
|
||||||
git apply ../0008-USB-armory-support.patch
|
git apply ../0008-USB-armory-support.patch
|
||||||
git apply ../0009-Revert-stmmac-Fix-eth0-No-PHY-found-regression.patch
|
|
||||||
git apply ../0010-stmmac-fix-MDIO-settings.patch
|
|
||||||
|
|
||||||
cat "${srcdir}/config" > ./.config
|
cat "${srcdir}/config" > ./.config
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue