Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 2 | /* |
| 3 | * (C) Copyright 2016 Rockchip Electronics Co., Ltd |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | #ifndef _ROCKCHIP_COMMON_H_ |
| 7 | #define _ROCKCHIP_COMMON_H_ |
| 8 | #include <linux/sizes.h> |
| 9 | |
Jagan Teki | b22da75 | 2020-01-10 00:16:21 +0530 | [diff] [blame] | 10 | /* ((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512) */ |
Jagan Teki | b22da75 | 2020-01-10 00:16:21 +0530 | [diff] [blame] | 11 | |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 12 | #ifndef CONFIG_SPL_BUILD |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 13 | |
Alex Bee | 1efba29 | 2021-06-17 11:01:12 +0200 | [diff] [blame] | 14 | /* First try to boot from SD (index 1), then eMMC (index 0) */ |
Simon Glass | 69fbb76 | 2023-02-05 15:36:34 -0700 | [diff] [blame] | 15 | #if IS_ENABLED(CONFIG_CMD_MMC) |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 16 | #define BOOT_TARGET_MMC(func) \ |
Alex Bee | 1efba29 | 2021-06-17 11:01:12 +0200 | [diff] [blame] | 17 | func(MMC, mmc, 1) \ |
| 18 | func(MMC, mmc, 0) |
Eddie Cai | d91ad1b | 2017-04-01 14:49:54 +0800 | [diff] [blame] | 19 | #else |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 20 | #define BOOT_TARGET_MMC(func) |
Eddie Cai | d91ad1b | 2017-04-01 14:49:54 +0800 | [diff] [blame] | 21 | #endif |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 22 | |
Simon Glass | d519a7a | 2023-02-05 15:36:37 -0700 | [diff] [blame] | 23 | #if IS_ENABLED(CONFIG_CMD_NVME) |
Mark Kettenis | d51157a | 2020-05-24 23:10:34 +0200 | [diff] [blame] | 24 | #define BOOT_TARGET_NVME(func) func(NVME, nvme, 0) |
| 25 | #else |
| 26 | #define BOOT_TARGET_NVME(func) |
| 27 | #endif |
| 28 | |
Simon Glass | 62f6013 | 2023-02-05 15:36:40 -0700 | [diff] [blame] | 29 | #if IS_ENABLED(CONFIG_CMD_SCSI) |
Vagrant Cascadian | c67f930 | 2022-04-06 13:42:03 -0700 | [diff] [blame] | 30 | #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0) |
| 31 | #else |
| 32 | #define BOOT_TARGET_SCSI(func) |
| 33 | #endif |
| 34 | |
Simon Glass | 5ca5dd5 | 2023-02-05 15:36:46 -0700 | [diff] [blame] | 35 | #if IS_ENABLED(CONFIG_CMD_USB) |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 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 | |
Simon Glass | 5036ffd | 2023-02-05 15:36:41 -0700 | [diff] [blame] | 53 | #if IS_ENABLED(CONFIG_CMD_SF) |
Jagan Teki | 050fd9c | 2020-04-10 23:56:31 +0530 | [diff] [blame] | 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 |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 60 | #define BOOT_TARGET_DEVICES(func) \ |
| 61 | BOOT_TARGET_MMC(func) \ |
Mark Kettenis | d51157a | 2020-05-24 23:10:34 +0200 | [diff] [blame] | 62 | BOOT_TARGET_NVME(func) \ |
Vagrant Cascadian | c67f930 | 2022-04-06 13:42:03 -0700 | [diff] [blame] | 63 | BOOT_TARGET_SCSI(func) \ |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 64 | BOOT_TARGET_USB(func) \ |
| 65 | BOOT_TARGET_PXE(func) \ |
Jagan Teki | 050fd9c | 2020-04-10 23:56:31 +0530 | [diff] [blame] | 66 | BOOT_TARGET_DHCP(func) \ |
| 67 | BOOT_TARGET_SF(func) |
Simon Glass | a90f327 | 2023-01-17 10:48:20 -0700 | [diff] [blame] | 68 | #define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi" |
Jagan Teki | 050fd9c | 2020-04-10 23:56:31 +0530 | [diff] [blame] | 69 | #else |
| 70 | #define BOOT_TARGET_DEVICES(func) \ |
| 71 | BOOT_TARGET_MMC(func) \ |
| 72 | BOOT_TARGET_USB(func) \ |
| 73 | BOOT_TARGET_PXE(func) \ |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 74 | BOOT_TARGET_DHCP(func) |
Simon Glass | a90f327 | 2023-01-17 10:48:20 -0700 | [diff] [blame] | 75 | #define BOOT_TARGETS "mmc1 mmc0 usb pxe dhcp" |
Jagan Teki | 050fd9c | 2020-04-10 23:56:31 +0530 | [diff] [blame] | 76 | #endif |
Klaus Goger | f165eb2 | 2017-10-06 19:24:08 +0200 | [diff] [blame] | 77 | |
Kever Yang | 065386f | 2017-07-25 12:00:05 +0800 | [diff] [blame] | 78 | #ifdef CONFIG_ARM64 |
| 79 | #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" |
| 80 | #else |
| 81 | #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0" |
| 82 | #endif |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 83 | #define PARTS_DEFAULT \ |
| 84 | "uuid_disk=${uuid_gpt_disk};" \ |
| 85 | "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ |
Kever Yang | 12fb120 | 2017-10-31 16:52:23 +0800 | [diff] [blame] | 86 | "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ |
| 87 | "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ |
Jacob Chen | c0662e5 | 2016-11-15 16:55:27 +0800 | [diff] [blame] | 88 | "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \ |
Kever Yang | 065386f | 2017-07-25 12:00:05 +0800 | [diff] [blame] | 89 | "name=rootfs,size=-,uuid="ROOT_UUID |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 90 | |
| 91 | #endif |
| 92 | |
Jacob Chen | 63dc971 | 2016-10-08 13:47:41 +0800 | [diff] [blame] | 93 | #endif /* _ROCKCHIP_COMMON_H_ */ |