AmigaOne X1000 platform specific issues related to Linux only.
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Sat Feb 03, 2018 8:13 pm
Hi All,
More success! I only need to replace the following files for solving the problem with the PA Semi PWRficient Gigabit Ethernet:
Code: Select all
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/mdio_bus.c drivers/net/phy/mdio_bus.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/phy-core.c drivers/net/phy/phy-core.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/marvell.c drivers/net/phy/marvell.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/realtek.c drivers/net/phy/realtek.c
cp /home/christian/Downloads/linux-4.15/a/drivers/net/phy/phy_device.c drivers/net/phy/phy_device.c
In my point of view, the problematic code is in the file
drivers/net/phy/mdio_bus.c .
Cheers,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Sun Feb 04, 2018 11:22 am
I think I have solved the problem with the PA Semi PWRficient Gigabit Ethernet.
Here you are!
Code: Select all
--- a/drivers/net/phy/mdio_bus.c 2018-02-03 17:34:46.973045321 +0100
+++ b/drivers/net/phy/mdio_bus.c 2018-02-04 11:03:14.909093360 +0100
@@ -47,41 +47,11 @@
#include "mdio-boardinfo.h"
-static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
-{
- struct gpio_desc *gpiod = NULL;
-
- /* Deassert the optional reset signal */
- if (mdiodev->dev.of_node)
- gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
- "reset-gpios", 0, GPIOD_OUT_LOW,
- "PHY reset");
- if (PTR_ERR(gpiod) == -ENOENT)
- gpiod = NULL;
- else if (IS_ERR(gpiod))
- return PTR_ERR(gpiod);
-
- mdiodev->reset = gpiod;
-
- /* Assert the reset signal again */
- mdio_device_reset(mdiodev, 1);
-
- return 0;
-}
-
int mdiobus_register_device(struct mdio_device *mdiodev)
{
- int err;
-
if (mdiodev->bus->mdio_map[mdiodev->addr])
return -EBUSY;
- if (mdiodev->flags & MDIO_DEVICE_FLAG_PHY) {
- err = mdiobus_register_gpiod(mdiodev);
- if (err)
- return err;
- }
-
mdiodev->bus->mdio_map[mdiodev->addr] = mdiodev;
return 0;
I will test it with the latest git kernel version.
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Sun Feb 04, 2018 5:18 pm
xeno74 wrote:
I will test it with the latest git kernel version.
Hi All,
I have compiled the latest Git kernel
without the '
mdio_bus.patch '.
Without this patch the PA Semi PWRficient Gigabit Ethernet doesn't work. After patching with the '
mdio_bus.patch ' and compiling the kernel, the PA Semi PWRficient Gigabit Ethernet works without any problems.
Cheers,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Sun Feb 04, 2018 9:58 pm
Hi All,
I reported the issue with the PA Semi PWRficient Gigabit Ethernet on the following mailing lists today:
Cheers,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Mon Feb 05, 2018 7:27 am
Hi All,
I compiled the
alpha5 yesterday.
New:
Issue:
The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download:
vmlinux-4.16-alpha5-AmigaOne_X1000_X5000.tar.gz
Screenshot of Debian Buster/Sid PPC64 with the kernel 4.16-alpha5:
Please test the alpha5.
Thanks,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Mon Feb 05, 2018 9:47 am
FYI:
Cloning the Linux Git
without version history:
Code: Select all
git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
With
--depth=1 you download only the latest version of the Linux git repository. This saves storage space.
Latest Radeon firmwares for ubuntu MATE 16.04.3 LTS PowerPC Xenial Xerus:
linux-firmware (1.157.15)
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Mon Feb 05, 2018 11:09 am
Hi All,
Andrew Lunn created a new patch for solving the problem with the PA Semi PWRficient Gigabit Ethernet yesterday.
mdio_bus-v2.patch :
Code: Select all
drivers/net/phy/mdio_bus.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 88272b3ac2e2..24b5511222c8 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -56,7 +56,8 @@ static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
"reset-gpios", 0, GPIOD_OUT_LOW,
"PHY reset");
- if (PTR_ERR(gpiod) == -ENOENT)
+ if (PTR_ERR(gpiod) == -ENOENT ||
+ PTR_ERR(gpiod) == -ENOSYS)
gpiod = NULL;
else if (IS_ERR(gpiod))
return PTR_ERR(gpiod);
I compiled the latest git kernel today and the PA Semi PWRficient Gigabit Ethernet works with his patch.
Further information:
Cheers,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Tue Feb 06, 2018 8:56 am
Hi All,
I released the
alpha6 for the X5000 and X1000 today.
New:
Issue:
The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download:
vmlinux-4.16-alpha6-AmigaOne_X1000_X5000.tar.gz
Screenshot of Lubuntu 16.04.3 LTS PowerPC with the new kernel
4.16-alpha6 and with Mesa
17.2.8 :
Please test the alpha6.
Thanks,
Christian
xeno74
Posts: 9387 Joined: Fri Mar 23, 2012 7:58 am
Post
by xeno74 » Wed Feb 07, 2018 5:55 am
Hi All,
I compiled the
alpha7 for the X5000 and X1000 yesterday.
New:
Issue:
The QorIQ DPAA Ethernet driver works but unfortunately it losts the connection after a while.
Download:
vmlinux-4.16-alpha7-AmigaOne_X1000_X5000.tar.gz
Screenshot of Lubuntu 16.04.3 Netbook version LTS PowerPC with the new kernel 4.16-alpha7:
Please test the alpha7.
Thanks,
Christian