Fix odroid issues (#556)

* Adjust kernel for C2/N2 & Kenrel 5.4.16

* Update docs

* Add script to fix mac with efuse

* Fix script

* update description

* Fix script

* Use u-boot patch

* Fix patch
This commit is contained in:
Pascal Vizeli 2020-02-01 21:57:20 +01:00 committed by GitHub
parent f38a31eee3
commit 51cf310472
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 115 additions and 38 deletions

View File

@ -8,7 +8,7 @@ Default Kernel tree: 5.4
| Open Virtual Applicance | 5.4.11 |
| Raspberry Pi | 4.19.93 |
| Tinker Board | 4.19.88 |
| Odroid-C2 | 5.4.11 |
| Odroid-N2 | 5.4.11 |
| Odroid-XU4 | 5.4.11 |
| Odroid-C2 | 5.4.16 |
| Odroid-N2 | 5.4.16 |
| Odroid-XU4 | 5.4.16 |
| Intel NUC | 5.4.11 |

View File

@ -1,5 +1,3 @@
# CONFIG_USB_STORAGE is not set
# CONFIG_DOS_PARTITION is not set
CONFIG_DM_VIDEO=y
CONFIG_CMD_FILEENV=y
CONFIG_ENV_IS_NOWHERE=Y

View File

@ -2194,7 +2194,7 @@ CONFIG_FIXED_PHY=y
# CONFIG_LXT_PHY is not set
CONFIG_MARVELL_PHY=m
CONFIG_MARVELL_10G_PHY=m
# CONFIG_MESON_GXL_PHY is not set
CONFIG_MESON_GXL_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_MICROCHIP_PHY=m
# CONFIG_MICROCHIP_T1_PHY is not set
@ -2768,7 +2768,7 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_GPIO=m
# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
# CONFIG_I2C_MESON is not set
CONFIG_I2C_MESON=y
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
@ -3436,7 +3436,7 @@ CONFIG_RC_DEVICES=y
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_ITE_CIR is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_MESON is not set
CONFIG_IR_MESON=y
# CONFIG_IR_NUVOTON is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_STREAMZAP is not set
@ -5719,8 +5719,8 @@ CONFIG_RAS=y
# CONFIG_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_BCM_OCOTP=y
# CONFIG_MESON_EFUSE is not set
# CONFIG_NVMEM_BCM_OCOTP is not set
CONFIG_MESON_EFUSE=y
# CONFIG_MESON_MX_EFUSE is not set
#

View File

@ -38,7 +38,6 @@ usb start
# Load extraargs
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
fatload mmc ${devnum}:1 ${fdt_addr_r} meson-gxbb-odroidc2.dtb
#fdt addr ${fdt_addr_r}
# logical volumes get numbered after physical ones.
# 1. boot

View File

@ -1,8 +1,6 @@
# CONFIG_USB_STORAGE is not set
CONFIG_DOS_PARTITION=y
# CONFIG_EFI_PARTITION is not set
# CONFIG_USB_STORAGE is not set
CONFIG_USB=y
CONFIG_CMD_USB=y
CONFIG_DM_USB=y
CONFIG_CMD_FILEENV=y
CONFIG_ENV_IS_NOWHERE=Y

View File

@ -2768,7 +2768,7 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_GPIO=m
# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
# CONFIG_I2C_MESON is not set
CONFIG_I2C_MESON=y
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
@ -3436,7 +3436,7 @@ CONFIG_RC_DEVICES=y
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_ITE_CIR is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_MESON is not set
CONFIG_IR_MESON=y
# CONFIG_IR_NUVOTON is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_STREAMZAP is not set
@ -4138,7 +4138,7 @@ CONFIG_SND_SOC=y
# CONFIG_SND_MESON_AXG_SPDIFOUT is not set
# CONFIG_SND_MESON_AXG_SPDIFIN is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_G12A_TOHDMITX is not set
CONFIG_SND_MESON_G12A_TOHDMITX=y
# end of ASoC support for Amlogic platforms
# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
@ -5719,8 +5719,8 @@ CONFIG_RAS=y
# CONFIG_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_BCM_OCOTP=y
# CONFIG_MESON_EFUSE is not set
# CONFIG_NVMEM_BCM_OCOTP is not set
CONFIG_MESON_EFUSE=y
# CONFIG_MESON_MX_EFUSE is not set
#

View File

@ -40,7 +40,6 @@ usb start
# Load extraargs
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
fatload mmc ${devnum}:1 ${fdt_addr_r} meson-g12b-odroid-n2.dtb
#fdt addr ${fdt_addr_r}
# logical volumes get numbered after physical ones.
# 1. boot

View File

@ -1,8 +1,3 @@
# CONFIG_USB_STORAGE is not set
CONFIG_DOS_PARTITION=y
# CONFIG_EFI_PARTITION is not set
CONFIG_USB=y
CONFIG_CMD_USB=y
CONFIG_DM_USB=y
CONFIG_CMD_FILEENV=y
CONFIG_ENV_IS_NOWHERE=Y
# CONFIG_USB_STORAGE is not set

View File

@ -7,14 +7,11 @@ mmc dev ${devnum}
# Note that import is performed twice for backwards compatability.
setenv loadbootstate " \
echo 'loading env...'; \
mw.b ${ramdisk_addr_r} 0 0x4000; \
mmc read ${ramdisk_addr_r} ${mmc_env} 0x20; \
env import -c ${ramdisk_addr_r} 0x2000 || \
env import -c ${ramdisk_addr_r} 0x4000;"
setenv storebootstate " \
echo 'storing env...'; \
mw.b ${ramdisk_addr_r} 0 0x4000; \
env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \
mmc write ${ramdisk_addr_r} ${mmc_env} 0x20;"

View File

@ -1,6 +1,4 @@
# CONFIG_USB_STORAGE is not set
CONFIG_DOS_PARTITION=y
# CONFIG_EFI_PARTITION is not set
CONFIG_CMD_FILEENV=y
CONFIG_ENV_IS_NOWHERE=Y
# CONFIG_USB_STORAGE is not set
CONFIG_DISPLAY_BOARDINFO=y

View File

@ -0,0 +1,29 @@
From 409a0daa72f6fc1652e17cfea7ea1055e9c483c9 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Mon, 21 Oct 2019 16:29:02 +0200
Subject: [PATCH] arm64: dts: meson-g12b-odroid-n2: add missing amlogic, s922x
compatible
This fixes the following DT schemas check errors:
meson-g12b-odroid-n2.dt.yaml: /: compatible: ['hardkernel,odroid-n2', 'amlogic,g12b'] is not valid under any of the given schemas
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
index 42f15405750cd..0e54c1dc2842b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
@@ -12,7 +12,7 @@
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
/ {
- compatible = "hardkernel,odroid-n2", "amlogic,g12b";
+ compatible = "hardkernel,odroid-n2", "amlogic,s922x", "amlogic,g12b";
model = "Hardkernel ODROID-N2";
aliases {

View File

@ -0,0 +1,55 @@
From b93c598b1acfe59ffac342d114483af8a45a78ac Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Sat, 1 Feb 2020 20:55:39 +0000
Subject: [PATCH 1/1] Amlogic w400: read ethaddr from efuse
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
board/amlogic/w400/w400.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c
index e60dc3a622..d4028c6a39 100644
--- a/board/amlogic/w400/w400.c
+++ b/board/amlogic/w400/w400.c
@@ -6,13 +6,36 @@
#include <common.h>
#include <dm.h>
-#include <env_internal.h>
+#include <env.h>
#include <asm/io.h>
+#include <asm/arch/sm.h>
#include <asm/arch/eth.h>
+#define EFUSE_MAC_OFFSET 20
+#define EFUSE_MAC_SIZE 12
+
int misc_init_r(void)
{
+ u8 mac_addr[6];
+ char efuse_mac_addr[EFUSE_MAC_SIZE], buff[3];
+ ssize_t len;
+
meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET,
+ efuse_mac_addr, EFUSE_MAC_SIZE);
+ if (len != EFUSE_MAC_SIZE)
+ return 0;
+
+ for (int i = 0; i < 6; i++){
+ buff[0] = efuse_mac_addr[i * 2];
+ buff[1] = efuse_mac_addr[i * 2 + 1];
+ mac_addr[i] = simple_strtoul(buff, NULL, 16);
+ }
+ if(is_valid_ethaddr(mac_addr))
+ eth_env_set_enetaddr("ethaddr", mac_addr);
+ }
+
return 0;
}
--
2.17.1

View File

@ -1,6 +1,4 @@
# CONFIG_DOS_PARTITION is not set
CONFIG_CMD_FILEENV=y
CONFIG_ENV_IS_NOWHERE=Y
CONFIG_USB_STORAGE=y
CONFIG_USB_FUNCTION_MASS_STORAGE=y
CONFIG_USB_EHCI_HCD=y

View File

@ -11,5 +11,7 @@ CONFIG_FS_EXT4=y
CONFIG_FS_FAT=y
# CONFIG_ENV_IS_IN_FAT is not set
# CONFIG_ENV_IS_IN_EXT4 is not set
CONFIG_ENV_IS_NOWHERE=Y
# CONFIG_EFI_LOADER is not set
CONFIG_CMD_SETEXPR=y
CONFIG_CMD_FILEENV=y

View File

@ -19,7 +19,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.11"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.16"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"

View File

@ -19,7 +19,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.11"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.16"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"

View File

@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.11"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.16"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y

View File

@ -26,4 +26,9 @@ config BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2
endchoice
config BR2_PACKAGE_HARDKERNEL_BOOT_FIX_MAC
bool "Hardkernel fix mac"
help
Install script to fix the mac address.
endif

View File

@ -82,7 +82,11 @@ define HARDKERNEL_BOOT_BUILD_CMDS
--bl33 $(@D)/fip/bl33.bin.enc \
--ddrfw1 $(@D)/fip/g12b/ddr4_1d.fw \
--ddrfw2 $(@D)/fip/g12b/ddr4_2d.fw \
--ddrfw3 $(@D)fip/g12b/ddr3_1d.fw \
--ddrfw4 $(@D)/fip/g12b/piei.fw \
--ddrfw5 $(@D)/fip/g12b/lpddr4_1d.fw \
--ddrfw6 $(@D)/fip/g12b/lpddr4_2d.fw \
--ddrfw7 $(@D)/fip/g12b/diag_lpddr4.fw \
--ddrfw8 $(@D)/fip/g12b/aml_ddr.fw \
--level v3

View File

@ -103,7 +103,7 @@ define QEMU_GUEST_AGENT_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(QEMU_GUEST_AGENT_PKGDIR)/qemu-guest.service \
$(TARGET_DIR)/usr/lib/systemd/system/qemu-guest.service
$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/qemu-guest.service \
ln -fs /usr/lib/systemd/system/qemu-guest.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/qemu-guest.service
endef