blob: 1f6b82f2d022253fc1bc3b8c04d6f6b4a5b33a86 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Jacob Chen7f35bbb2016-10-08 13:47:41 +08002/*
3 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
Jacob Chen7f35bbb2016-10-08 13:47:41 +08004 */
5
6#ifndef _ROCKCHIP_COMMON_H_
7#define _ROCKCHIP_COMMON_H_
8#include <linux/sizes.h>
9
Jagan Teki79030a42020-01-10 00:16:21 +053010/* ((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512) */
Jagan Teki79030a42020-01-10 00:16:21 +053011
Jacob Chen7f35bbb2016-10-08 13:47:41 +080012#ifndef CONFIG_SPL_BUILD
Jacob Chen7f35bbb2016-10-08 13:47:41 +080013
Alex Beeb212ad22021-06-17 11:01:12 +020014/* First try to boot from SD (index 1), then eMMC (index 0) */
Klaus Goger6e278a82017-10-06 19:24:08 +020015#if CONFIG_IS_ENABLED(CMD_MMC)
16 #define BOOT_TARGET_MMC(func) \
Alex Beeb212ad22021-06-17 11:01:12 +020017 func(MMC, mmc, 1) \
18 func(MMC, mmc, 0)
Eddie Cai1e9d6c12017-04-01 14:49:54 +080019#else
Klaus Goger6e278a82017-10-06 19:24:08 +020020 #define BOOT_TARGET_MMC(func)
Eddie Cai1e9d6c12017-04-01 14:49:54 +080021#endif
Jacob Chen7f35bbb2016-10-08 13:47:41 +080022
Mark Kettenis2e01e8f2020-05-24 23:10:34 +020023#if CONFIG_IS_ENABLED(CMD_NVME)
24 #define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
25#else
26 #define BOOT_TARGET_NVME(func)
27#endif
28
Vagrant Cascadian48cd7a12022-04-06 13:42:03 -070029#if CONFIG_IS_ENABLED(CMD_SCSI)
30 #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
31#else
32 #define BOOT_TARGET_SCSI(func)
33#endif
34
Klaus Goger6e278a82017-10-06 19:24:08 +020035#if CONFIG_IS_ENABLED(CMD_USB)
36 #define BOOT_TARGET_USB(func) func(USB, usb, 0)
37#else
38 #define BOOT_TARGET_USB(func)
39#endif
40
41#if CONFIG_IS_ENABLED(CMD_PXE)
42 #define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
43#else
44 #define BOOT_TARGET_PXE(func)
45#endif
46
47#if CONFIG_IS_ENABLED(CMD_DHCP)
48 #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
49#else
50 #define BOOT_TARGET_DHCP(func)
51#endif
52
Jagan Tekif263b862020-04-10 23:56:31 +053053#if CONFIG_IS_ENABLED(CMD_SF)
54 #define BOOT_TARGET_SF(func) func(SF, sf, 0)
55#else
56 #define BOOT_TARGET_SF(func)
57#endif
58
59#ifdef CONFIG_ROCKCHIP_RK3399
60#define BOOT_TARGET_DEVICES(func) \
61 BOOT_TARGET_MMC(func) \
Mark Kettenis2e01e8f2020-05-24 23:10:34 +020062 BOOT_TARGET_NVME(func) \
Vagrant Cascadian48cd7a12022-04-06 13:42:03 -070063 BOOT_TARGET_SCSI(func) \
Jagan Tekif263b862020-04-10 23:56:31 +053064 BOOT_TARGET_USB(func) \
65 BOOT_TARGET_PXE(func) \
66 BOOT_TARGET_DHCP(func) \
67 BOOT_TARGET_SF(func)
68#else
Klaus Goger6e278a82017-10-06 19:24:08 +020069#define BOOT_TARGET_DEVICES(func) \
70 BOOT_TARGET_MMC(func) \
71 BOOT_TARGET_USB(func) \
72 BOOT_TARGET_PXE(func) \
73 BOOT_TARGET_DHCP(func)
Jagan Tekif263b862020-04-10 23:56:31 +053074#endif
Klaus Goger6e278a82017-10-06 19:24:08 +020075
Kever Yang42ec2472017-07-25 12:00:05 +080076#ifdef CONFIG_ARM64
77#define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"
78#else
79#define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0"
80#endif
Jacob Chen7f35bbb2016-10-08 13:47:41 +080081#define PARTS_DEFAULT \
82 "uuid_disk=${uuid_gpt_disk};" \
83 "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
Kever Yangc5a41412017-10-31 16:52:23 +080084 "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
85 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \
Jacob Chen6b388f02016-11-15 16:55:27 +080086 "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
Kever Yang42ec2472017-07-25 12:00:05 +080087 "name=rootfs,size=-,uuid="ROOT_UUID
Jacob Chen7f35bbb2016-10-08 13:47:41 +080088
89#endif
90
Jacob Chen7f35bbb2016-10-08 13:47:41 +080091#endif /* _ROCKCHIP_COMMON_H_ */