17f35bbb9SJacob Chen /* 27f35bbb9SJacob Chen * (C) Copyright 2016 Rockchip Electronics Co., Ltd 37f35bbb9SJacob Chen * 47f35bbb9SJacob Chen * SPDX-License-Identifier: GPL-2.0+ 57f35bbb9SJacob Chen */ 67f35bbb9SJacob Chen 77f35bbb9SJacob Chen #ifndef _ROCKCHIP_COMMON_H_ 87f35bbb9SJacob Chen #define _ROCKCHIP_COMMON_H_ 97f35bbb9SJacob Chen #include <linux/sizes.h> 107f35bbb9SJacob Chen 117f35bbb9SJacob Chen #ifndef CONFIG_SPL_BUILD 127f35bbb9SJacob Chen #include <config_distro_defaults.h> 137f35bbb9SJacob Chen 14*d2ba9884SKlaus Goger /* First try to boot from SD (index 0), then eMMC (index 1) */ 15*d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_MMC) 16*d2ba9884SKlaus Goger #define BOOT_TARGET_MMC(func) \ 171e9d6c15SEddie Cai func(MMC, mmc, 0) \ 18*d2ba9884SKlaus Goger func(MMC, mmc, 1) 191e9d6c15SEddie Cai #else 20*d2ba9884SKlaus Goger #define BOOT_TARGET_MMC(func) 211e9d6c15SEddie Cai #endif 227f35bbb9SJacob Chen 23*d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_USB) 24*d2ba9884SKlaus Goger #define BOOT_TARGET_USB(func) func(USB, usb, 0) 25*d2ba9884SKlaus Goger #else 26*d2ba9884SKlaus Goger #define BOOT_TARGET_USB(func) 27*d2ba9884SKlaus Goger #endif 28*d2ba9884SKlaus Goger 29*d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_PXE) 30*d2ba9884SKlaus Goger #define BOOT_TARGET_PXE(func) func(PXE, pxe, na) 31*d2ba9884SKlaus Goger #else 32*d2ba9884SKlaus Goger #define BOOT_TARGET_PXE(func) 33*d2ba9884SKlaus Goger #endif 34*d2ba9884SKlaus Goger 35*d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_DHCP) 36*d2ba9884SKlaus Goger #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) 37*d2ba9884SKlaus Goger #else 38*d2ba9884SKlaus Goger #define BOOT_TARGET_DHCP(func) 39*d2ba9884SKlaus Goger #endif 40*d2ba9884SKlaus Goger 41*d2ba9884SKlaus Goger #define BOOT_TARGET_DEVICES(func) \ 42*d2ba9884SKlaus Goger BOOT_TARGET_MMC(func) \ 43*d2ba9884SKlaus Goger BOOT_TARGET_USB(func) \ 44*d2ba9884SKlaus Goger BOOT_TARGET_PXE(func) \ 45*d2ba9884SKlaus Goger BOOT_TARGET_DHCP(func) 46*d2ba9884SKlaus Goger 4742ec247eSKever Yang #ifdef CONFIG_ARM64 4842ec247eSKever Yang #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" 4942ec247eSKever Yang #else 5042ec247eSKever Yang #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0" 5142ec247eSKever Yang #endif 527f35bbb9SJacob Chen #define PARTS_DEFAULT \ 537f35bbb9SJacob Chen "uuid_disk=${uuid_gpt_disk};" \ 547f35bbb9SJacob Chen "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ 5532040464SKever Yang "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 5632040464SKever Yang "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 576b388f0bSJacob Chen "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \ 5842ec247eSKever Yang "name=rootfs,size=-,uuid="ROOT_UUID 597f35bbb9SJacob Chen 60b5381a6cSKever Yang #define PARTS_RKIMG \ 61b5381a6cSKever Yang "uuid_disk=${uuid_gpt_disk};" \ 62b5381a6cSKever Yang "name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 63b5381a6cSKever Yang "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 64b5381a6cSKever Yang "name=misc,size=4MB,uuid=${uuid_gpt_misc};" \ 65b5381a6cSKever Yang "name=resource,size=16MB,uuid=${uuid_gpt_resource};" \ 66b5381a6cSKever Yang "name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \ 67b5381a6cSKever Yang "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ 68b5381a6cSKever Yang "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ 69b5381a6cSKever Yang "name=backup,size=112M,uuid=${uuid_gpt_backup};" \ 70b5381a6cSKever Yang "name=cache,size=512M,uuid=${uuid_gpt_cache};" \ 71b5381a6cSKever Yang "name=system,size=2048M,uuid=${uuid_gpt_system};" \ 72b5381a6cSKever Yang "name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \ 73b5381a6cSKever Yang "name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \ 74b5381a6cSKever Yang "name=oem,size=32M,uuid=${uuid_gpt_oem};" \ 75b5381a6cSKever Yang "name=frp,size=512K,uuid=${uuid_gpt_frp};" \ 76b5381a6cSKever Yang "name=security,size=2M,uuid=${uuid_gpt_security};" \ 77b5381a6cSKever Yang "name=userdata,size=-,uuid=${uuid_gpt_userdata};" 78b5381a6cSKever Yang 795059d297SKever Yang #define RKIMG_BOOTCOMMAND \ 805059d297SKever Yang "if mmc dev 0; then setenv devtype mmc; setenv devnum 0;" \ 8126f074b8SKever Yang "else if rknand dev 0; then setenv devtype rknand; setenv devnum 0; fi;" \ 825059d297SKever Yang "fi; boot_android ${devtype} ${devnum};" \ 835059d297SKever Yang "bootrkp;" 845059d297SKever Yang 857f35bbb9SJacob Chen #endif 867f35bbb9SJacob Chen 8760cc9f53SKever Yang /* 8860cc9f53SKever Yang * Rockchip SoCs use fixed ENV 32KB@(4MB-32KB) 893d1bf166SJacob Chen */ 9060cc9f53SKever Yang #define CONFIG_ENV_OFFSET (SZ_4M - SZ_32K) 915c0bf219SKever Yang #define CONFIG_ENV_SIZE SZ_32K 923d1bf166SJacob Chen 93f8e46897SSimon Glass #define CONFIG_DISPLAY_BOARDINFO_LATE 94f8e46897SSimon Glass 957f35bbb9SJacob Chen #endif /* _ROCKCHIP_COMMON_H_ */ 96