Add support for Raspberry Pi 3+

This commit is contained in:
Peter Robinson 2018-03-16 06:09:09 +00:00
parent 30f2e8f650
commit d7be3592de
3 changed files with 193 additions and 2 deletions

View File

@ -0,0 +1,48 @@
From patchwork Thu Mar 15 14:07:09 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot] net: Only access network devices after init
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 886255
Message-Id: <20180315140709.10346-1-agraf@suse.de>
To: u-boot@lists.denx.de
Cc: Joe Hershberger <joe.hershberger@ni.com>
Date: Thu, 15 Mar 2018 15:07:09 +0100
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
In the efi_loader main loop we call eth_rx() occasionally. This rx function
might end up calling into devices that haven't been initialized yet,
potentially resulting in a lot of transfer timeouts.
Instead, let's make sure the ethernet device is actually initialized before
reading from or writing to it.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
net/eth-uclass.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index d30b04ba86..240b596534 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -336,7 +336,7 @@ int eth_send(void *packet, int length)
if (!current)
return -ENODEV;
- if (!device_active(current))
+ if (!eth_is_active(current))
return -EINVAL;
ret = eth_get_ops(current)->send(current, packet, length);
@@ -359,7 +359,7 @@ int eth_rx(void)
if (!current)
return -ENODEV;
- if (!device_active(current))
+ if (!eth_is_active(current))
return -EINVAL;
/* Process up to 32 packets at one time */

138
rpi-3-plus-support.patch Normal file
View File

@ -0,0 +1,138 @@
From patchwork Thu Mar 15 14:10:20 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot] lan7xxx: Require phylib
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 886258
Message-Id: <20180315141020.11581-1-agraf@suse.de>
To: u-boot@lists.denx.de
Cc: Joe Hershberger <joe.hershberger@ni.com>
Date: Thu, 15 Mar 2018 15:10:20 +0100
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
The lan75xx and lan78xx drivers need to drive their phy via the generic
phylib framework. Let's reflect that dependency in Kconfig, so that we
don't get build errors when phylib does not get selected.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
drivers/usb/eth/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/eth/Kconfig b/drivers/usb/eth/Kconfig
index 496a6d1933..2f6bfa8e71 100644
--- a/drivers/usb/eth/Kconfig
+++ b/drivers/usb/eth/Kconfig
@@ -23,6 +23,7 @@ config USB_ETHER_ASIX88179
config USB_ETHER_LAN75XX
bool "Microchip LAN75XX support"
depends on USB_HOST_ETHER
+ depends on PHYLIB
---help---
Say Y here if you would like to support Microchip LAN75XX Hi-Speed
USB 2.0 to 10/100/1000 Gigabit Ethernet controller.
@@ -32,6 +33,7 @@ config USB_ETHER_LAN75XX
config USB_ETHER_LAN78XX
bool "Microchip LAN78XX support"
depends on USB_HOST_ETHER
+ depends on PHYLIB
---help---
Say Y here if you would like to support Microchip LAN78XX USB 3.1
Gen 1 to 10/100/1000 Gigabit Ethernet controller.
From patchwork Thu Mar 15 14:05:36 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot,1/2] rpi3: Enable lan78xx driver
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 886254
Message-Id: <20180315140537.9818-1-agraf@suse.de>
To: u-boot@lists.denx.de
Date: Thu, 15 Mar 2018 15:05:36 +0100
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
The new Raspberry Pi B 3+ has a lan78xx device attached to it. Let's add
driver support in U-Boot for it.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
configs/rpi_3_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index 0f3a54ec9a..810b60344f 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -36,3 +36,5 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_PHYS_TO_BUS=y
CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_PHYLIB=y
+CONFIG_USB_ETHER_LAN78XX=y
From patchwork Thu Mar 15 14:05:37 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot,2/2] rpi: Add identifier for the new RPi3 B+
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 886253
Message-Id: <20180315140537.9818-2-agraf@suse.de>
To: u-boot@lists.denx.de
Date: Thu, 15 Mar 2018 15:05:37 +0100
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
The Raspberr Pi Foundation released a new RPi3 version which we want
to detect as well, so we can enable ethernet on it and know the correct
device tree file name.
Add an identifier for it.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
board/raspberrypi/rpi/rpi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 177f4af265..279a9c3cda 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -111,6 +111,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
DTB_DIR "bcm2835-rpi-zero-w.dtb",
false,
},
+ [0xD] = {
+ "3 Model B+",
+ DTB_DIR "bcm2837-rpi-3-b-plus.dtb",
+ true,
+ },
};
static const struct rpi_model rpi_models_old_scheme[] = {
From 2ce61c377f5cb1175f3fd0ad05857d4f56ce3966 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Fri, 16 Mar 2018 02:24:41 +0000
Subject: [PATCH] Raspberry Pi B 3+ has a lan78xx device
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
configs/rpi_3_32b_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index 317fc28f71..4e59c14fdf 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -36,3 +36,5 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_PHYS_TO_BUS=y
CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_PHYLIB=y
+CONFIG_USB_ETHER_LAN78XX=y
--
2.16.2

View File

@ -2,7 +2,7 @@
Name: uboot-tools
Version: 2018.03
Release: 1%{?candidate:.%{candidate}}%{?dist}
Release: 2%{?candidate:.%{candidate}}%{?dist}
Summary: U-Boot utilities
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
URL: http://www.denx.de/wiki/U-Boot
@ -23,11 +23,13 @@ Patch3: usb-kbd-fixes.patch
Patch4: Add-fix-for-Pine64-gigabit-throughput-issues.patch
Patch5: rk33xx-make_fit_atf-fix.patch
Patch6: rk33xx-enable-make-itb.patch
Patch7: mx6cuboxi-add-support-for-detecting-Revision-1.5-SoM.patch
Patch7: net-Only-access-network-devices-after-init.patch
# Board fixes and enablement
Patch10: dragonboard-fixes.patch
Patch11: BeagleBoard.org-PocketBeagle.patch
Patch12: mx6cuboxi-add-support-for-detecting-Revision-1.5-SoM.patch
Patch13: rpi-3-plus-support.patch
# Patch19: mvebu-enable-generic-distro-boot-config.patch
BuildRequires: bc
@ -287,6 +289,9 @@ cp -p board/warp7/README builds/docs/README.warp7
%endif
%changelog
* Fri Mar 16 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-2
- Add support for Raspberry Pi 3+
* Tue Mar 13 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-1
- 2018.03 GA