mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
* meson64: bump u-boot to 2021.07, rework patches
- as always based on chewitt's tree, with differences:
- squashed versions of HC4+SATA, Radxa Zero, DT tree sync patches
- so that DTB/config/code changes related to the same feature/board are grouped
- removed documentation changes and Makefile reordering patches
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* meson64: ODROID HC4/N2: simplify/remove board vs family hacks; better SPI support
- thanks to mainline 2021.07 u-boot and it's HC4 config we can remove the conditionals
- boards now define the u-boot vars instead of conditionals in family
- on the HC4, build u-boot twice: one for SD (old C4 config) and one for HC4 (new SATA/SPI config)
- reason is that the HC4 version does not work very well unless it is actually booted from SPI
- meson64_common: don't override UBOOT_TARGET_MAP if board-defined
- but the default UBOOT_TARGET_MAP is still defined if the board didn't
- (sneakily) add lm-sensors fancontrol to the HC4's board packages
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
227 lines
6.4 KiB
Diff
227 lines
6.4 KiB
Diff
From 249acc18e674f8750c2ff2473e23f9c11a6abdaf Mon Sep 17 00:00:00 2001
|
|
From: Ricardo Pardini <ricardo@pardini.net>
|
|
Date: Sun, 19 Sep 2021 13:26:27 +0200
|
|
Subject: [CHEWITT] SQUASHED: Support for ODROID HC4, with SPI-NOR chip and
|
|
SATA booting
|
|
|
|
- WIP: boards: amlogic: add SPI/SPIFC support to Odroid-HC4
|
|
- FROMLIST(v1): ARM: amlogic: add support for Odroid-HC4 device
|
|
- FROMLIST(v1): distro_bootcmd: run pci enum for scsi_boot just like it is done for nvme_boot
|
|
- FROMLIST(v1): configs: meson64: add SCSI boot target
|
|
- FROMGIT: mtd: spi-nor-ids: Add XTX XT25F128B
|
|
|
|
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
|
index 88c73be03f..e23e169bb8 100644
|
|
--- a/arch/arm/dts/Makefile
|
|
+++ b/arch/arm/dts/Makefile
|
|
@@ -179,6 +179,7 @@ dtb-$(CONFIG_ARCH_MESON) += \
|
|
meson-g12b-a311d-khadas-vim3.dtb \
|
|
meson-sm1-khadas-vim3l.dtb \
|
|
meson-sm1-odroid-c4.dtb \
|
|
+ meson-sm1-odroid-hc4.dtb \
|
|
meson-sm1-sei610.dtb
|
|
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
|
|
tegra20-medcom-wide.dtb \
|
|
diff --git a/arch/arm/dts/meson-sm1-odroid-hc4-u-boot.dtsi b/arch/arm/dts/meson-sm1-odroid-hc4-u-boot.dtsi
|
|
new file mode 100644
|
|
index 0000000000..963bf96b25
|
|
--- /dev/null
|
|
+++ b/arch/arm/dts/meson-sm1-odroid-hc4-u-boot.dtsi
|
|
@@ -0,0 +1,23 @@
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
+/*
|
|
+ * Copyright (c) 2020 BayLibre, SAS
|
|
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
|
+ */
|
|
+
|
|
+#include "meson-sm1-u-boot.dtsi"
|
|
+
|
|
+ðmac {
|
|
+ snps,reset-gpio = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
|
|
+ snps,reset-delays-us = <0 10000 1000000>;
|
|
+ snps,reset-active-low;
|
|
+};
|
|
+
|
|
+/* SARADC is needed for proper board variant detection */
|
|
+&saradc {
|
|
+ status = "okay";
|
|
+ vref-supply = <&vddao_1v8>;
|
|
+};
|
|
+
|
|
+&tflash_vdd {
|
|
+ gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>;
|
|
+};
|
|
diff --git a/configs/odroid-hc4_defconfig b/configs/odroid-hc4_defconfig
|
|
new file mode 100644
|
|
index 0000000000..c900624a06
|
|
--- /dev/null
|
|
+++ b/configs/odroid-hc4_defconfig
|
|
@@ -0,0 +1,95 @@
|
|
+CONFIG_ARM=y
|
|
+CONFIG_SYS_BOARD="odroid-n2"
|
|
+CONFIG_ARCH_MESON=y
|
|
+CONFIG_SYS_TEXT_BASE=0x01000000
|
|
+CONFIG_NR_DRAM_BANKS=1
|
|
+CONFIG_ENV_SIZE=0x2000
|
|
+CONFIG_DM_GPIO=y
|
|
+CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-odroid-hc4"
|
|
+CONFIG_MESON_G12A=y
|
|
+CONFIG_DEBUG_UART_BASE=0xff803000
|
|
+CONFIG_DEBUG_UART_CLOCK=24000000
|
|
+CONFIG_IDENT_STRING=" odroid-hc4"
|
|
+CONFIG_DEBUG_UART=y
|
|
+CONFIG_AHCI=y
|
|
+CONFIG_OF_BOARD_SETUP=y
|
|
+# CONFIG_DISPLAY_CPUINFO is not set
|
|
+CONFIG_MISC_INIT_R=y
|
|
+# CONFIG_CMD_BDI is not set
|
|
+# CONFIG_CMD_IMI is not set
|
|
+CONFIG_CMD_GPIO=y
|
|
+# CONFIG_CMD_LOADS is not set
|
|
+CONFIG_CMD_MMC=y
|
|
+CONFIG_CMD_PCI=y
|
|
+CONFIG_CMD_SPI=y
|
|
+CONFIG_CMD_USB=y
|
|
+CONFIG_CMD_USB_MASS_STORAGE=y
|
|
+# CONFIG_CMD_SETEXPR is not set
|
|
+CONFIG_CMD_REGULATOR=y
|
|
+CONFIG_OF_CONTROL=y
|
|
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
+CONFIG_NET_RANDOM_ETHADDR=y
|
|
+CONFIG_ADC=y
|
|
+CONFIG_SARADC_MESON=y
|
|
+CONFIG_SATA=y
|
|
+CONFIG_SCSI_AHCI=y
|
|
+CONFIG_AHCI_PCI=y
|
|
+CONFIG_DM_MMC=y
|
|
+CONFIG_MMC_MESON_GX=y
|
|
+CONFIG_MTD=y
|
|
+CONFIG_DM_MTD=y
|
|
+CONFIG_DM_SPI_FLASH=y
|
|
+CONFIG_SPI_FLASH_XTX=y
|
|
+CONFIG_PHY_REALTEK=y
|
|
+CONFIG_DM_ETH=y
|
|
+CONFIG_DM_MDIO=y
|
|
+CONFIG_DM_MDIO_MUX=y
|
|
+CONFIG_ETH_DESIGNWARE_MESON8B=y
|
|
+CONFIG_MDIO_MUX_MESON_G12A=y
|
|
+CONFIG_PCI=y
|
|
+CONFIG_PCIE_DW_MESON=y
|
|
+CONFIG_MESON_G12A_USB_PHY=y
|
|
+CONFIG_PINCTRL=y
|
|
+CONFIG_PINCTRL_MESON_G12A=y
|
|
+CONFIG_POWER_DOMAIN=y
|
|
+CONFIG_MESON_EE_POWER_DOMAIN=y
|
|
+CONFIG_DM_REGULATOR=y
|
|
+CONFIG_DM_REGULATOR_FIXED=y
|
|
+CONFIG_DM_REGULATOR_GPIO=y
|
|
+CONFIG_DM_RESET=y
|
|
+CONFIG_SCSI=y
|
|
+CONFIG_DM_SCSI=y
|
|
+CONFIG_DEBUG_UART_ANNOUNCE=y
|
|
+CONFIG_DEBUG_UART_SKIP_INIT=y
|
|
+CONFIG_MESON_SERIAL=y
|
|
+CONFIG_SPI=y
|
|
+CONFIG_DM_SPI=y
|
|
+CONFIG_MESON_SPIFC=y
|
|
+CONFIG_DM_USB=y
|
|
+CONFIG_USB=y
|
|
+CONFIG_USB_XHCI_HCD=y
|
|
+CONFIG_USB_XHCI_DWC3=y
|
|
+CONFIG_USB_DWC3=y
|
|
+# CONFIG_USB_DWC3_GADGET is not set
|
|
+CONFIG_USB_DWC3_MESON_G12A=y
|
|
+CONFIG_USB_KEYBOARD=y
|
|
+CONFIG_USB_GADGET=y
|
|
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
|
|
+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
|
|
+CONFIG_USB_GADGET_DWC2_OTG=y
|
|
+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y
|
|
+CONFIG_USB_GADGET_DOWNLOAD=y
|
|
+CONFIG_DM_VIDEO=y
|
|
+# CONFIG_VIDEO_BPP8 is not set
|
|
+# CONFIG_VIDEO_BPP16 is not set
|
|
+CONFIG_SYS_WHITE_ON_BLACK=y
|
|
+CONFIG_VIDEO_MESON=y
|
|
+CONFIG_VIDEO_DT_SIMPLEFB=y
|
|
+CONFIG_SPLASH_SCREEN=y
|
|
+CONFIG_SPLASH_SCREEN_ALIGN=y
|
|
+CONFIG_VIDEO_BMP_RLE8=y
|
|
+CONFIG_BMP_16BPP=y
|
|
+CONFIG_BMP_24BPP=y
|
|
+CONFIG_BMP_32BPP=y
|
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
|
+CONFIG_DM_PCI=y
|
|
diff --git a/drivers/mtd/spi/Kconfig b/drivers/mtd/spi/Kconfig
|
|
index f8db8e5213..8c797d1e03 100644
|
|
--- a/drivers/mtd/spi/Kconfig
|
|
+++ b/drivers/mtd/spi/Kconfig
|
|
@@ -162,6 +162,12 @@ config SPI_FLASH_XMC
|
|
Add support for various XMC (Wuhan Xinxin Semiconductor
|
|
Manufacturing Corp.) SPI flash chips (XM25xxx)
|
|
|
|
+config SPI_FLASH_XTX
|
|
+ bool "XTX SPI flash support"
|
|
+ help
|
|
+ Add support for various XTX (XTX Technology Limited)
|
|
+ SPI flash chips (XT25xxx).
|
|
+
|
|
endif
|
|
|
|
config SPI_FLASH_USE_4K_SECTORS
|
|
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
|
|
index 2b57797954..d772b73a53 100644
|
|
--- a/drivers/mtd/spi/spi-nor-ids.c
|
|
+++ b/drivers/mtd/spi/spi-nor-ids.c
|
|
@@ -336,6 +336,10 @@ const struct flash_info spi_nor_ids[] = {
|
|
/* XMC (Wuhan Xinxin Semiconductor Manufacturing Corp.) */
|
|
{ INFO("XM25QH64A", 0x207017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
|
{ INFO("XM25QH128A", 0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
|
+#endif
|
|
+#ifdef CONFIG_SPI_FLASH_XTX
|
|
+ /* XTX Technology (Shenzhen) Limited */
|
|
+ { INFO("xt25f128b", 0x0b4018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
|
#endif
|
|
{ },
|
|
};
|
|
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
|
index 2627c2a6a5..f4f6fa8f8a 100644
|
|
--- a/include/config_distro_bootcmd.h
|
|
+++ b/include/config_distro_bootcmd.h
|
|
@@ -226,6 +226,7 @@
|
|
"fi\0" \
|
|
\
|
|
"scsi_boot=" \
|
|
+ BOOTENV_RUN_PCI_ENUM \
|
|
BOOTENV_RUN_SCSI_INIT \
|
|
BOOTENV_SHARED_BLKDEV_BODY(scsi)
|
|
#define BOOTENV_DEV_SCSI BOOTENV_DEV_BLKDEV
|
|
diff --git a/include/configs/meson64.h b/include/configs/meson64.h
|
|
index 6224722941..0f8b7ecb18 100644
|
|
--- a/include/configs/meson64.h
|
|
+++ b/include/configs/meson64.h
|
|
@@ -64,6 +64,12 @@
|
|
#define BOOT_TARGET_NVME(func)
|
|
#endif
|
|
|
|
+#ifdef CONFIG_CMD_SCSI
|
|
+ #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
|
|
+#else
|
|
+ #define BOOT_TARGET_SCSI(func)
|
|
+#endif
|
|
+
|
|
#ifndef BOOT_TARGET_DEVICES
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
func(ROMUSB, romusb, na) \
|
|
@@ -72,6 +78,7 @@
|
|
func(MMC, mmc, 2) \
|
|
BOOT_TARGET_DEVICES_USB(func) \
|
|
BOOT_TARGET_NVME(func) \
|
|
+ BOOT_TARGET_SCSI(func) \
|
|
func(PXE, pxe, na) \
|
|
func(DHCP, dhcp, na)
|
|
#endif
|
|
--
|
|
2.33.0
|
|
|