blob: b7c5c6634394a27cf0b41e6df8595ae521fdbd63 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Jacob Chen63dc9712016-10-08 13:47:41 +08002/*
3 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
Jacob Chen63dc9712016-10-08 13:47:41 +08004 */
5
6#ifndef _ROCKCHIP_COMMON_H_
7#define _ROCKCHIP_COMMON_H_
8#include <linux/sizes.h>
9
Jonas Karlmanbe56bb52023-02-22 22:44:41 +000010#ifndef CFG_CPUID_OFFSET
11#define CFG_CPUID_OFFSET 0x7
12#endif
13
Jagan Tekib22da752020-01-10 00:16:21 +053014/* ((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512) */
Jagan Tekib22da752020-01-10 00:16:21 +053015
Jacob Chen63dc9712016-10-08 13:47:41 +080016#ifndef CONFIG_SPL_BUILD
Jacob Chen63dc9712016-10-08 13:47:41 +080017
Alex Bee1efba292021-06-17 11:01:12 +020018/* First try to boot from SD (index 1), then eMMC (index 0) */
Simon Glass69fbb762023-02-05 15:36:34 -070019#if IS_ENABLED(CONFIG_CMD_MMC)
Klaus Gogerf165eb22017-10-06 19:24:08 +020020 #define BOOT_TARGET_MMC(func) \
Alex Bee1efba292021-06-17 11:01:12 +020021 func(MMC, mmc, 1) \
22 func(MMC, mmc, 0)
Eddie Caid91ad1b2017-04-01 14:49:54 +080023#else
Klaus Gogerf165eb22017-10-06 19:24:08 +020024 #define BOOT_TARGET_MMC(func)
Eddie Caid91ad1b2017-04-01 14:49:54 +080025#endif
Jacob Chen63dc9712016-10-08 13:47:41 +080026
Simon Glassd519a7a2023-02-05 15:36:37 -070027#if IS_ENABLED(CONFIG_CMD_NVME)
Mark Kettenisd51157a2020-05-24 23:10:34 +020028 #define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
29#else
30 #define BOOT_TARGET_NVME(func)
31#endif
32
Simon Glass62f60132023-02-05 15:36:40 -070033#if IS_ENABLED(CONFIG_CMD_SCSI)
Vagrant Cascadianc67f9302022-04-06 13:42:03 -070034 #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
35#else
36 #define BOOT_TARGET_SCSI(func)
37#endif
38
Simon Glass5ca5dd52023-02-05 15:36:46 -070039#if IS_ENABLED(CONFIG_CMD_USB)
Klaus Gogerf165eb22017-10-06 19:24:08 +020040 #define BOOT_TARGET_USB(func) func(USB, usb, 0)
41#else
42 #define BOOT_TARGET_USB(func)
43#endif
44
45#if CONFIG_IS_ENABLED(CMD_PXE)
46 #define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
47#else
48 #define BOOT_TARGET_PXE(func)
49#endif
50
51#if CONFIG_IS_ENABLED(CMD_DHCP)
52 #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
53#else
54 #define BOOT_TARGET_DHCP(func)
55#endif
56
Simon Glass5036ffd2023-02-05 15:36:41 -070057#if IS_ENABLED(CONFIG_CMD_SF)
Jagan Teki050fd9c2020-04-10 23:56:31 +053058 #define BOOT_TARGET_SF(func) func(SF, sf, 0)
59#else
60 #define BOOT_TARGET_SF(func)
61#endif
62
63#ifdef CONFIG_ROCKCHIP_RK3399
Klaus Gogerf165eb22017-10-06 19:24:08 +020064#define BOOT_TARGET_DEVICES(func) \
65 BOOT_TARGET_MMC(func) \
Mark Kettenisd51157a2020-05-24 23:10:34 +020066 BOOT_TARGET_NVME(func) \
Vagrant Cascadianc67f9302022-04-06 13:42:03 -070067 BOOT_TARGET_SCSI(func) \
Klaus Gogerf165eb22017-10-06 19:24:08 +020068 BOOT_TARGET_USB(func) \
69 BOOT_TARGET_PXE(func) \
Jagan Teki050fd9c2020-04-10 23:56:31 +053070 BOOT_TARGET_DHCP(func) \
71 BOOT_TARGET_SF(func)
Simon Glassa90f3272023-01-17 10:48:20 -070072#define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi"
Jagan Teki050fd9c2020-04-10 23:56:31 +053073#else
74#define BOOT_TARGET_DEVICES(func) \
75 BOOT_TARGET_MMC(func) \
76 BOOT_TARGET_USB(func) \
77 BOOT_TARGET_PXE(func) \
Klaus Gogerf165eb22017-10-06 19:24:08 +020078 BOOT_TARGET_DHCP(func)
Simon Glassa90f3272023-01-17 10:48:20 -070079#define BOOT_TARGETS "mmc1 mmc0 usb pxe dhcp"
Jagan Teki050fd9c2020-04-10 23:56:31 +053080#endif
Klaus Gogerf165eb22017-10-06 19:24:08 +020081
Kever Yang065386f2017-07-25 12:00:05 +080082#ifdef CONFIG_ARM64
83#define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"
84#else
85#define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0"
86#endif
Jacob Chen63dc9712016-10-08 13:47:41 +080087#define PARTS_DEFAULT \
88 "uuid_disk=${uuid_gpt_disk};" \
89 "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
Kever Yang12fb1202017-10-31 16:52:23 +080090 "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
91 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \
Jacob Chenc0662e52016-11-15 16:55:27 +080092 "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
Kever Yang065386f2017-07-25 12:00:05 +080093 "name=rootfs,size=-,uuid="ROOT_UUID
Jacob Chen63dc9712016-10-08 13:47:41 +080094
95#endif
96
Jacob Chen63dc9712016-10-08 13:47:41 +080097#endif /* _ROCKCHIP_COMMON_H_ */