2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2016-10-08 05:47:41 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ROCKCHIP_COMMON_H_
|
|
|
|
#define _ROCKCHIP_COMMON_H_
|
|
|
|
#include <linux/sizes.h>
|
|
|
|
|
2020-01-09 18:46:21 +00:00
|
|
|
/* ((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512) */
|
|
|
|
|
2016-10-08 05:47:41 +00:00
|
|
|
#ifndef CONFIG_SPL_BUILD
|
|
|
|
|
rockchip: Fix MMC boot order
Basically all, i.e. rk3036.dtsi, rk3128.dtsi, rk3xxx.dtsi, rk322x.dtsi,
rk3288.dtsi, rk3308-u-boot.dtsi, rk3328-u-boot.dtsi, rk3399-u-boot.dtsi
and px30-u-boot.dtsi Rockchip SoC devicetrees which have mmc indexes
are defining eMMC as mmc0 and sdmmc as mmc1.
This means that the rule to try to boot from the SD card first is ignored,
which as per comment is what we want and is important for distros, which
rely on that.
Fix this by setting the correct mmc index, i.e. first from mmc1 (SD card),
second from mmc0 (eMMC).
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2021-06-17 09:01:12 +00:00
|
|
|
/* First try to boot from SD (index 1), then eMMC (index 0) */
|
2017-10-06 17:24:08 +00:00
|
|
|
#if CONFIG_IS_ENABLED(CMD_MMC)
|
|
|
|
#define BOOT_TARGET_MMC(func) \
|
rockchip: Fix MMC boot order
Basically all, i.e. rk3036.dtsi, rk3128.dtsi, rk3xxx.dtsi, rk322x.dtsi,
rk3288.dtsi, rk3308-u-boot.dtsi, rk3328-u-boot.dtsi, rk3399-u-boot.dtsi
and px30-u-boot.dtsi Rockchip SoC devicetrees which have mmc indexes
are defining eMMC as mmc0 and sdmmc as mmc1.
This means that the rule to try to boot from the SD card first is ignored,
which as per comment is what we want and is important for distros, which
rely on that.
Fix this by setting the correct mmc index, i.e. first from mmc1 (SD card),
second from mmc0 (eMMC).
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2021-06-17 09:01:12 +00:00
|
|
|
func(MMC, mmc, 1) \
|
|
|
|
func(MMC, mmc, 0)
|
2017-04-01 06:49:54 +00:00
|
|
|
#else
|
2017-10-06 17:24:08 +00:00
|
|
|
#define BOOT_TARGET_MMC(func)
|
2017-04-01 06:49:54 +00:00
|
|
|
#endif
|
2016-10-08 05:47:41 +00:00
|
|
|
|
2020-05-24 21:10:34 +00:00
|
|
|
#if CONFIG_IS_ENABLED(CMD_NVME)
|
|
|
|
#define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_NVME(func)
|
|
|
|
#endif
|
|
|
|
|
2022-04-06 20:42:03 +00:00
|
|
|
#if CONFIG_IS_ENABLED(CMD_SCSI)
|
|
|
|
#define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_SCSI(func)
|
|
|
|
#endif
|
|
|
|
|
2017-10-06 17:24:08 +00:00
|
|
|
#if CONFIG_IS_ENABLED(CMD_USB)
|
|
|
|
#define BOOT_TARGET_USB(func) func(USB, usb, 0)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_USB(func)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if CONFIG_IS_ENABLED(CMD_PXE)
|
|
|
|
#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_PXE(func)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if CONFIG_IS_ENABLED(CMD_DHCP)
|
|
|
|
#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_DHCP(func)
|
|
|
|
#endif
|
|
|
|
|
2020-04-10 18:26:31 +00:00
|
|
|
#if CONFIG_IS_ENABLED(CMD_SF)
|
|
|
|
#define BOOT_TARGET_SF(func) func(SF, sf, 0)
|
|
|
|
#else
|
|
|
|
#define BOOT_TARGET_SF(func)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ROCKCHIP_RK3399
|
|
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
|
|
BOOT_TARGET_MMC(func) \
|
2020-05-24 21:10:34 +00:00
|
|
|
BOOT_TARGET_NVME(func) \
|
2022-04-06 20:42:03 +00:00
|
|
|
BOOT_TARGET_SCSI(func) \
|
2020-04-10 18:26:31 +00:00
|
|
|
BOOT_TARGET_USB(func) \
|
|
|
|
BOOT_TARGET_PXE(func) \
|
|
|
|
BOOT_TARGET_DHCP(func) \
|
|
|
|
BOOT_TARGET_SF(func)
|
2023-01-17 17:48:20 +00:00
|
|
|
#define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi"
|
2020-04-10 18:26:31 +00:00
|
|
|
#else
|
2017-10-06 17:24:08 +00:00
|
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
|
|
BOOT_TARGET_MMC(func) \
|
|
|
|
BOOT_TARGET_USB(func) \
|
|
|
|
BOOT_TARGET_PXE(func) \
|
|
|
|
BOOT_TARGET_DHCP(func)
|
2023-01-17 17:48:20 +00:00
|
|
|
#define BOOT_TARGETS "mmc1 mmc0 usb pxe dhcp"
|
2020-04-10 18:26:31 +00:00
|
|
|
#endif
|
2017-10-06 17:24:08 +00:00
|
|
|
|
2017-07-25 04:00:05 +00:00
|
|
|
#ifdef CONFIG_ARM64
|
|
|
|
#define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"
|
|
|
|
#else
|
|
|
|
#define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0"
|
|
|
|
#endif
|
2016-10-08 05:47:41 +00:00
|
|
|
#define PARTS_DEFAULT \
|
|
|
|
"uuid_disk=${uuid_gpt_disk};" \
|
|
|
|
"name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
|
2017-10-31 08:52:23 +00:00
|
|
|
"name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
|
|
|
|
"name=trust,size=4M,uuid=${uuid_gpt_atf};" \
|
2016-11-15 08:55:27 +00:00
|
|
|
"name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
|
2017-07-25 04:00:05 +00:00
|
|
|
"name=rootfs,size=-,uuid="ROOT_UUID
|
2016-10-08 05:47:41 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _ROCKCHIP_COMMON_H_ */
|