1 /* 2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #ifndef _ROCKCHIP_COMMON_H_ 8 #define _ROCKCHIP_COMMON_H_ 9 #include <linux/sizes.h> 10 11 #ifndef CONFIG_SPL_BUILD 12 #include <config_distro_defaults.h> 13 14 /* First try to boot from SD (index 0), then eMMC (index 1) */ 15 #if CONFIG_IS_ENABLED(CMD_MMC) 16 #define BOOT_TARGET_MMC(func) \ 17 func(MMC, mmc, 0) \ 18 func(MMC, mmc, 1) 19 #else 20 #define BOOT_TARGET_MMC(func) 21 #endif 22 23 #if CONFIG_IS_ENABLED(CMD_USB) 24 #define BOOT_TARGET_USB(func) func(USB, usb, 0) 25 #else 26 #define BOOT_TARGET_USB(func) 27 #endif 28 29 #if CONFIG_IS_ENABLED(CMD_PXE) 30 #define BOOT_TARGET_PXE(func) func(PXE, pxe, na) 31 #else 32 #define BOOT_TARGET_PXE(func) 33 #endif 34 35 #if CONFIG_IS_ENABLED(CMD_DHCP) 36 #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) 37 #else 38 #define BOOT_TARGET_DHCP(func) 39 #endif 40 41 #define BOOT_TARGET_DEVICES(func) \ 42 BOOT_TARGET_MMC(func) \ 43 BOOT_TARGET_USB(func) \ 44 BOOT_TARGET_PXE(func) \ 45 BOOT_TARGET_DHCP(func) 46 47 #ifdef CONFIG_ARM64 48 #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" 49 #else 50 #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0" 51 #endif 52 #define PARTS_DEFAULT \ 53 "uuid_disk=${uuid_gpt_disk};" \ 54 "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ 55 "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 56 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 57 "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \ 58 "name=rootfs,size=-,uuid="ROOT_UUID 59 60 #define PARTS_RKIMG \ 61 "uuid_disk=${uuid_gpt_disk};" \ 62 "name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 63 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 64 "name=misc,size=4MB,uuid=${uuid_gpt_misc};" \ 65 "name=resource,size=16MB,uuid=${uuid_gpt_resource};" \ 66 "name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \ 67 "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ 68 "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ 69 "name=backup,size=112M,uuid=${uuid_gpt_backup};" \ 70 "name=cache,size=512M,uuid=${uuid_gpt_cache};" \ 71 "name=system,size=2048M,uuid=${uuid_gpt_system};" \ 72 "name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \ 73 "name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \ 74 "name=oem,size=32M,uuid=${uuid_gpt_oem};" \ 75 "name=frp,size=512K,uuid=${uuid_gpt_frp};" \ 76 "name=security,size=2M,uuid=${uuid_gpt_security};" \ 77 "name=userdata,size=-,uuid=${uuid_gpt_userdata};" 78 79 #define RKIMG_BOOTCOMMAND \ 80 "if mmc dev 0; then setenv devtype mmc; setenv devnum 0;" \ 81 "else if rknand dev 0; then setenv devtype rknand; setenv devnum 0; fi;" \ 82 "fi; boot_android ${devtype} ${devnum};" \ 83 "bootrkp;" 84 85 #endif 86 87 /* 88 * Rockchip SoCs use fixed ENV 32KB@(4MB-32KB) 89 */ 90 #define CONFIG_ENV_OFFSET (SZ_4M - SZ_32K) 91 #define CONFIG_ENV_SIZE SZ_32K 92 93 #define CONFIG_DISPLAY_BOARDINFO_LATE 94 95 #endif /* _ROCKCHIP_COMMON_H_ */ 96