pinebookpro-uboot: update to 2022.04
This commit is contained in:
parent
7f0e13f2ee
commit
1c28912f8b
@ -0,0 +1,70 @@
|
||||
Source: https://lore.kernel.org/u-boot/20220222013131.3114990-3-pgwipeout@gmail.com/
|
||||
Upstream: no
|
||||
|
||||
From: Peter Geis <pgwipeout@gmail.com>
|
||||
To: Peng Fan <peng.fan@nxp.com>, Jaehoon Chung <jh80.chung@samsung.com>
|
||||
Cc: Peter Geis <pgwipeout@gmail.com>, u-boot@lists.denx.de
|
||||
Subject: [PATCH v1 02/11] mmc: sdhci: allow disabling sdma in spl
|
||||
Date: Mon, 21 Feb 2022 20:31:21 -0500
|
||||
|
||||
Rockchip emmc devices have a similar issue to Rockchip dwmmc devices,
|
||||
where performing dma to sram causes errors with suspend/resume.
|
||||
Allow us to toggle sdma in spl for sdhci similar to adma support, so we
|
||||
can ensure dma is not used when loading the sram code.
|
||||
|
||||
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
|
||||
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
---
|
||||
drivers/mmc/Kconfig | 7 +++++++
|
||||
drivers/mmc/sdhci.c | 6 +++---
|
||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
|
||||
index f04cc44e1973..1e4342285ce7 100644
|
||||
--- a/drivers/mmc/Kconfig
|
||||
+++ b/drivers/mmc/Kconfig
|
||||
@@ -468,6 +468,13 @@ config MMC_SDHCI_SDMA
|
||||
This enables support for the SDMA (Single Operation DMA) defined
|
||||
in the SD Host Controller Standard Specification Version 1.00 .
|
||||
|
||||
+config SPL_MMC_SDHCI_SDMA
|
||||
+ bool "Support SDHCI SDMA in SPL"
|
||||
+ depends on MMC_SDHCI
|
||||
+ help
|
||||
+ This enables support for the SDMA (Single Operation DMA) defined
|
||||
+ in the SD Host Controller Standard Specification Version 1.00 in SPL.
|
||||
+
|
||||
config MMC_SDHCI_ADMA
|
||||
bool "Support SDHCI ADMA2"
|
||||
depends on MMC_SDHCI
|
||||
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
|
||||
index 766e4a6b0c5e..6285e53d12a2 100644
|
||||
--- a/drivers/mmc/sdhci.c
|
||||
+++ b/drivers/mmc/sdhci.c
|
||||
@@ -70,7 +70,7 @@ static void sdhci_transfer_pio(struct sdhci_host *host, struct mmc_data *data)
|
||||
}
|
||||
}
|
||||
|
||||
-#if (defined(CONFIG_MMC_SDHCI_SDMA) || CONFIG_IS_ENABLED(MMC_SDHCI_ADMA))
|
||||
+#if (CONFIG_IS_ENABLED(MMC_SDHCI_SDMA) || CONFIG_IS_ENABLED(MMC_SDHCI_ADMA))
|
||||
static void sdhci_prepare_dma(struct sdhci_host *host, struct mmc_data *data,
|
||||
int *is_aligned, int trans_bytes)
|
||||
{
|
||||
@@ -177,7 +177,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data)
|
||||
}
|
||||
} while (!(stat & SDHCI_INT_DATA_END));
|
||||
|
||||
-#if (defined(CONFIG_MMC_SDHCI_SDMA) || CONFIG_IS_ENABLED(MMC_SDHCI_ADMA))
|
||||
+#if (CONFIG_IS_ENABLED(MMC_SDHCI_SDMA) || CONFIG_IS_ENABLED(MMC_SDHCI_ADMA))
|
||||
dma_unmap_single(host->start_addr, data->blocks * data->blocksize,
|
||||
mmc_get_dma_dir(data));
|
||||
#endif
|
||||
@@ -836,7 +836,7 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
|
||||
#endif
|
||||
debug("%s, caps: 0x%x\n", __func__, caps);
|
||||
|
||||
-#ifdef CONFIG_MMC_SDHCI_SDMA
|
||||
+#if CONFIG_IS_ENABLED(MMC_SDHCI_SDMA)
|
||||
if ((caps & SDHCI_CAN_DO_SDMA)) {
|
||||
host->flags |= USE_SDMA;
|
||||
} else {
|
@ -1,3 +1,5 @@
|
||||
Upstream: no
|
||||
|
||||
commit e061f5477ee8e8d14267c4ab98dd451d7ce137be
|
||||
Author: Cameron Nemo <cnemo@tutanota.com>
|
||||
Date: Mon Sep 7 09:14:07 2020 -0700
|
||||
@ -13,16 +15,16 @@ diff --git configs/pinebook-pro-rk3399_defconfig configs/pinebook-pro-rk3399_def
|
||||
index 9a7487b04f..e9605a0ffd 100644
|
||||
--- a/configs/pinebook-pro-rk3399_defconfig
|
||||
+++ b/configs/pinebook-pro-rk3399_defconfig
|
||||
@@ -11,7 +11,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI_SUPPORT=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
|
||||
@@ -13,7 +13,7 @@
|
||||
CONFIG_SPL_SPI=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_SYS_LOAD_ADDR=0x800800
|
||||
-CONFIG_BOOTDELAY=3
|
||||
+CONFIG_BOOTDELAY=0
|
||||
CONFIG_USE_PREBOOT=y
|
||||
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
|
||||
CONFIG_MISC_INIT_R=y
|
||||
@@ -87,3 +87,7 @@ CONFIG_VIDEO_ROCKCHIP=y
|
||||
CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
@@ -93,3 +93,7 @@
|
||||
CONFIG_DISPLAY_ROCKCHIP_EDP=y
|
||||
CONFIG_SPL_TINY_MEMSET=y
|
||||
CONFIG_ERRNO_STR=y
|
||||
|
@ -1,44 +1,44 @@
|
||||
From 1a01021c9361c4e017cb5b032300f5555c393710 Mon Sep 17 00:00:00 2001
|
||||
From: dhivael <dhivael.git@eno.space>
|
||||
Date: Sat, 11 Jan 2020 15:04:46 +0100
|
||||
Subject: rk3399: light pinebook power and standby leds during early boot
|
||||
Source: https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro/-/raw/master/0003-Turn-power-and-standby-LEDs-on-early.patch
|
||||
Upstream: no
|
||||
|
||||
this is a hack, but it works for now.
|
||||
From 354d4f9072b5c41e91d70d1569ba364603889868 Mon Sep 17 00:00:00 2001
|
||||
From: Dragan Simic <dragan.simic@gmail.com>
|
||||
Date: Fri, 22 Apr 2022 03:51:56 +0200
|
||||
Subject: [PATCH] Turn power and standby LEDs on early
|
||||
|
||||
Temporary (and ugly) hack to turn the Pinebook Pro's RGB status
|
||||
LED on as early as possible during boot.
|
||||
|
||||
Based on a patch created by dhivael <dhivael.git@eno.space>.
|
||||
---
|
||||
arch/arm/mach-rockchip/rk3399/rk3399.c | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
arch/arm/mach-rockchip/rk3399/rk3399.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
|
||||
index 863024d071..cf37129d55 100644
|
||||
index 01a05599cd..58b5cd1ce7 100644
|
||||
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
|
||||
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
|
||||
@@ -15,6 +15,8 @@
|
||||
#include <asm/arch-rockchip/grf_rk3399.h>
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <asm/arch-rockchip/hardware.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <power/regulator.h>
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/pinctrl/rockchip.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@@ -115,8 +117,8 @@ void board_debug_uart_init(void)
|
||||
struct rk3399_grf_regs * const grf = (void *)GRF_BASE;
|
||||
#ifdef CONFIG_TARGET_CHROMEBOOK_BOB
|
||||
struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
|
||||
- struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
|
||||
#endif
|
||||
+ struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
|
||||
|
||||
#if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE == 0xff180000)
|
||||
/* Enable early UART0 on the RK3399 */
|
||||
@@ -149,6 +151,14 @@ void board_debug_uart_init(void)
|
||||
spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_B, 4), GPIO_PULL_NORMAL);
|
||||
#endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
|
||||
@@ -157,6 +158,19 @@ void board_debug_uart_init(void)
|
||||
GPIO_PULL_NORMAL);
|
||||
}
|
||||
|
||||
+ {
|
||||
+ // set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
|
||||
+ // set GPIO0_A2/B3 to OUTPUT
|
||||
+ /*
|
||||
+ * Temporary (and ugly) hack to turn the Pinebook Pro's
|
||||
+ * RGB status LED on as early as possible during boot:
|
||||
+ * - Set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
|
||||
+ * - Set GPIO0_A2/B3 to OUTPUT
|
||||
+ */
|
||||
+ int mask = (1UL << RK_PA2) | (1UL << RK_PB3);
|
||||
+
|
||||
+ setbits_le32(&gpio->swport_dr, mask);
|
||||
+ setbits_le32(&gpio->swport_ddr, mask);
|
||||
+ }
|
||||
@ -47,5 +47,5 @@ index 863024d071..cf37129d55 100644
|
||||
rk_clrsetreg(&grf->gpio4c_iomux,
|
||||
GRF_GPIO4C3_SEL_MASK,
|
||||
--
|
||||
cgit v1.2.3
|
||||
2.33.1
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
commit 265376282a58c71f1ec9215653e98c602524b91c
|
||||
Author: Cameron Nemo <cnemo@tutanota.com>
|
||||
Date: Mon Sep 7 08:37:24 2020 -0700
|
||||
|
||||
rockchip: Pinebook Pro: fix mmc boot ordering
|
||||
|
||||
On the Pinebook Pro, and perhaps some other boards, the mmc indices are
|
||||
opposite from what is implied by the comment in
|
||||
include/configs/rockchip-common.h.
|
||||
|
||||
This commit fixes the boot ordering to prioritize the SD card over eMMC.
|
||||
|
||||
Most distributions of U-Boot that actually target rk3399 boards apply a
|
||||
similar patch, such as Manjaro (shipped by default on PBP) and armbian.
|
||||
|
||||
https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro/-/blob/60ed56b9bf8809309ec6252bfc45bca38c2b858a/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
|
||||
https://github.com/armbian/build/blob/5a2b2c360b9c26ca4bd0d309af7cd3994fd08b7d/patch/u-boot/u-boot-rockchip64-mainline/general-prioritize-sd.patch
|
||||
|
||||
Signed-off-by: Cameron Nemo <cnemo@tutanota.com>
|
||||
|
||||
diff --git include/configs/pinebook-pro-rk3399.h include/configs/pinebook-pro-rk3399.h
|
||||
index d478b19917..59780bfb0b 100644
|
||||
--- a/include/configs/pinebook-pro-rk3399.h
|
||||
+++ b/include/configs/pinebook-pro-rk3399.h
|
||||
@@ -14,6 +14,14 @@
|
||||
|
||||
#include <configs/rk3399_common.h>
|
||||
|
||||
+/* On Pinebook Pro, mmc1 is SD and mmc0 is eMMC */
|
||||
+#if CONFIG_IS_ENABLED(CMD_MMC)
|
||||
+ #undef BOOT_TARGET_MMC
|
||||
+ #define BOOT_TARGET_MMC(func) \
|
||||
+ func(MMC, mmc, 1) \
|
||||
+ func(MMC, mmc, 0)
|
||||
+#endif
|
||||
+
|
||||
#define SDRAM_BANK_SIZE (2UL << 30)
|
||||
|
||||
#define CONFIG_USB_OHCI_NEW
|
@ -1,11 +1,11 @@
|
||||
# Template file for 'pinebookpro-uboot'
|
||||
pkgname=pinebookpro-uboot
|
||||
reverts="20200212_1 20200212_2"
|
||||
version=2020.10
|
||||
version=2022.04
|
||||
revision=1
|
||||
archs="aarch64*"
|
||||
wrksrc="u-boot-${version}"
|
||||
hostmakedepends="flex bc dtc python3"
|
||||
hostmakedepends="flex bc dtc python3 openssl-devel"
|
||||
makedepends="atf-rk3399-bl31"
|
||||
depends="u-boot-tools"
|
||||
short_desc="U-Boot for Pinebook Pro"
|
||||
@ -13,7 +13,7 @@ maintainer="Renato Aguiar <renato@renatoaguiar.net>"
|
||||
license="GPL-2.0-only, BSD-3-Clause"
|
||||
homepage="https://www.denx.de/wiki/U-Boot/"
|
||||
distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
|
||||
checksum=0d481bbdc05c0ee74908ec2f56a6daa53166cc6a78a0e4fac2ac5d025770a622
|
||||
checksum=68e065413926778e276ec3abd28bb32fa82abaa4a6898d570c1f48fbdb08bcd0
|
||||
|
||||
do_configure() {
|
||||
unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
|
||||
|
Loading…
x
Reference in New Issue
Block a user