Raspberry Pi fixes, Enable a few AllWinner Tablets

This commit is contained in:
Peter Robinson 2018-04-15 12:31:00 +01:00
parent ffcc253f44
commit 2591231cce
6 changed files with 139 additions and 109 deletions

View File

@ -43,8 +43,15 @@ Hummingbird_A31
Hyundai_A7HD
i12-tvbox
icnova-a20-swac
iNet_86VS
inet1
inet86dz
inet97fv2
inet98v_rev2
inet9f_rev03
inet_q972
iNet_3F
iNet_3W
iNet_86VS
Itead_Ibox_A20
jesurun_q5
jetson-tk1

View File

@ -0,0 +1,40 @@
From patchwork Fri Apr 13 15:49:00 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot] rpi: Adjust fdt_addr_r to a sane address
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 898002
X-Patchwork-Delegate: agraf@suse.de
Message-Id: <20180413154900.84208-1-agraf@suse.de>
To: u-boot@lists.denx.de
Date: Fri, 13 Apr 2018 17:49:00 +0200
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
Back in the old days, 0x100 was used as the address to pass the device tree
from firmware into the kernel. This has since changed to a more dynamic
location, so using 0x100 actually breaks more things than it helps with.
Let's move the device tree default location for distro boot to a more sane
place that gives us enough head room in low memory.
Reported-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
include/configs/rpi.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index 325e52a019..fcf7e0976b 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -124,7 +124,7 @@
#define ENV_MEM_LAYOUT_SETTINGS \
"fdt_high=ffffffff\0" \
"initrd_high=ffffffff\0" \
- "fdt_addr_r=0x00000100\0" \
+ "fdt_addr_r=0x01f00000\0" \
"pxefile_addr_r=0x00100000\0" \
"kernel_addr_r=0x01000000\0" \
"scriptaddr=0x02000000\0" \

View File

@ -1,53 +0,0 @@
From patchwork Thu Apr 5 09:37:52 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot] rpi: Allow to boot without serial
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 895325
X-Patchwork-Delegate: agraf@suse.de
Message-Id: <20180405093752.32985-1-agraf@suse.de>
To: u-boot@lists.denx.de
Date: Thu, 5 Apr 2018 11:37:52 +0200
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
When we enable CONFIG_OF_BOARD on Raspberry Pis, we may end up without
serial console support in early boot. Hence we need to make the serial
port optional, otherwise we will never get to the point where serial
would be probed.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
configs/rpi_0_w_defconfig | 1 +
configs/rpi_2_defconfig | 1 +
configs/rpi_defconfig | 1 +
3 files changed, 3 insertions(+)
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
index 04717d5e50..6e02cf34e9 100644
--- a/configs/rpi_0_w_defconfig
+++ b/configs/rpi_0_w_defconfig
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_PHYS_TO_BUS=y
CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index f8203c9d47..dd3c60cc93 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_PHYS_TO_BUS=y
CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index d13d3d3e2e..2c0412d8ea 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -34,3 +34,4 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_PHYS_TO_BUS=y
CONFIG_OF_LIBFDT_OVERLAY=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set

View File

@ -1,52 +0,0 @@
From e8df52eda084c1610a2a3569960905e3aa2557c2 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Fri, 6 Apr 2018 16:27:26 +0100
Subject: [PATCH] rpi: Enable using the DT provided by the Raspberry Pi
firmware
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
configs/rpi_2_defconfig | 1 +
configs/rpi_3_32b_defconfig | 1 +
configs/rpi_3_defconfig | 1 +
3 files changed, 3 insertions(+)
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index dd3c60cc93..05aff1d700 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
CONFIG_DM_KEYBOARD=y
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index 4e59c14fdf..38704f67c9 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -14,6 +14,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
CONFIG_DM_KEYBOARD=y
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index 810b60344f..4f1509f4ee 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -14,6 +14,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
CONFIG_DM_KEYBOARD=y
--
2.17.0

View File

@ -2,7 +2,7 @@
Name: uboot-tools
Version: 2018.03
Release: 4%{?candidate:.%{candidate}}%{?dist}
Release: 5%{?candidate:.%{candidate}}%{?dist}
Summary: U-Boot utilities
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
URL: http://www.denx.de/wiki/U-Boot
@ -24,14 +24,14 @@ Patch4: Add-fix-for-Pine64-gigabit-throughput-issues.patch
Patch5: rk33xx-make_fit_atf-fix.patch
Patch6: rk33xx-enable-make-itb.patch
Patch7: net-Only-access-network-devices-after-init.patch
Patch8: uefi-fixes.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
Patch14: rpi-Allow-to-boot-without-serial.patch
Patch15: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Patch14: rpi-Adjust-fdt_addr_r-to-a-sane-address.patch
Patch16: mmc-use-core-clock-frequency-in-bcm2835-sdhost.patch
Patch19: mmc-mv_sdhci-zero-out-sdhci_host-structure.patch
Patch20: mvneta-support-setting-hardware-address.patch
@ -296,6 +296,10 @@ cp -p board/warp7/README builds/docs/README.warp7
%endif
%changelog
* Sun Apr 15 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-5
- Raspberry Pi fixes
- Enable a few AllWinner Tablets
* Fri Apr 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-4
- Improvements for Raspberry Pi, AllWinner MMC perf, mvebu devices

84
uefi-fixes.patch Normal file
View File

@ -0,0 +1,84 @@
From patchwork Thu Mar 15 16:33:38 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [U-Boot] efi_loader: Fix network DP with DM_ETH
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
X-Patchwork-Id: 886355
Message-Id: <20180315163338.77456-1-agraf@suse.de>
To: u-boot@lists.denx.de
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Thu, 15 Mar 2018 17:33:38 +0100
From: Alexander Graf <agraf@suse.de>
List-Id: U-Boot discussion <u-boot.lists.denx.de>
When CONFIG_DM_ETH is set, we assemble the device path properly with a
full device hierarchy. Our helper function dp_fill() even put the MAC
node itself in it for us.
However, for non-DM compatibility we also have code in that added the
MAC node manually. That code now runs on top of the existing MAC node:
Handle 0x3db2f6b0
/HardwareVendor(e61d73b9-a384-4acc-aeab-82e828f3628b)[0: ]
/USBClass(0,0,9,0,0)/USBClass(424,9514,9,0,2)/MacAddr(b8:27:eb:e1:81:47,1)
/MacAddr(b8:27:eb:e1:81:47,57)/EndEntire
We obviously don't need the additional node and in fact, grub chokes on
it and fails to match the DP against the ethernet device node. So this
patch moves the additional MAC node into the non-DM code path:
Handle 0x3db3fde0
/HardwareVendor(e61d73b9-a384-4acc-aeab-82e828f3628b)[0: ]
/USBClass(0,0,9,0,0)/USBClass(424,9514,9,0,2)/MacAddr(b8:27:eb:e1:81:47,1)
/EndEntire
While at it, we also mark the non-DM MAC node as ethernet.
Fixes: b66c60dde9d ("efi_loader: add device-path utils")
Signed-off-by: Alexander Graf <agraf@suse.de>
---
lib/efi_loader/efi_device_path.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
index 3c735e60d3..22627824f0 100644
--- a/lib/efi_loader/efi_device_path.c
+++ b/lib/efi_loader/efi_device_path.c
@@ -749,7 +749,9 @@ struct efi_device_path *efi_dp_from_file(struct blk_desc *desc, int part,
#ifdef CONFIG_CMD_NET
struct efi_device_path *efi_dp_from_eth(void)
{
+#ifndef CONFIG_DM_ETH
struct efi_device_path_mac_addr *ndp;
+#endif
void *buf, *start;
unsigned dpsize = 0;
@@ -759,8 +761,8 @@ struct efi_device_path *efi_dp_from_eth(void)
dpsize += dp_size(eth_get_dev());
#else
dpsize += sizeof(ROOT);
-#endif
dpsize += sizeof(*ndp);
+#endif
start = buf = dp_alloc(dpsize + sizeof(END));
if (!buf)
@@ -771,14 +773,15 @@ struct efi_device_path *efi_dp_from_eth(void)
#else
memcpy(buf, &ROOT, sizeof(ROOT));
buf += sizeof(ROOT);
-#endif
ndp = buf;
ndp->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE;
ndp->dp.sub_type = DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR;
ndp->dp.length = sizeof(*ndp);
+ ndp->if_type = 1; /* Ethernet */
memcpy(ndp->mac.addr, eth_get_ethaddr(), ARP_HLEN);
buf = &ndp[1];
+#endif
*((struct efi_device_path *)buf) = END;