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 #define COUNTER_FREQUENCY 24000000 12 #define CONFIG_SYS_ARCH_TIMER 13 #define CONFIG_SYS_HZ_CLOCK 24000000 14 15 #define CONFIG_SYS_NS16550_MEM32 16 17 #define CONFIG_NR_DRAM_BANKS 2 18 19 #ifndef CONFIG_SPL_BUILD 20 #include <config_distro_defaults.h> 21 22 /* First try to boot from SD (index 1), then eMMC (index 0) */ 23 #if CONFIG_IS_ENABLED(CMD_MMC) 24 #define BOOT_TARGET_MMC(func) \ 25 func(MMC, mmc, 1) \ 26 func(MMC, mmc, 0) 27 #else 28 #define BOOT_TARGET_MMC(func) 29 #endif 30 31 #if CONFIG_IS_ENABLED(CMD_USB) 32 #define BOOT_TARGET_USB(func) func(USB, usb, 0) 33 #else 34 #define BOOT_TARGET_USB(func) 35 #endif 36 37 #if CONFIG_IS_ENABLED(CMD_PXE) 38 #define BOOT_TARGET_PXE(func) func(PXE, pxe, na) 39 #else 40 #define BOOT_TARGET_PXE(func) 41 #endif 42 43 #if CONFIG_IS_ENABLED(CMD_DHCP) 44 #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) 45 #else 46 #define BOOT_TARGET_DHCP(func) 47 #endif 48 49 #define BOOT_TARGET_DEVICES(func) \ 50 BOOT_TARGET_MMC(func) \ 51 BOOT_TARGET_USB(func) \ 52 BOOT_TARGET_PXE(func) \ 53 BOOT_TARGET_DHCP(func) 54 55 #ifdef CONFIG_ARM64 56 #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" 57 #else 58 #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0" 59 #endif 60 #define PARTS_DEFAULT \ 61 "uuid_disk=${uuid_gpt_disk};" \ 62 "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ 63 "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 64 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 65 "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \ 66 "name=rootfs,size=-,uuid="ROOT_UUID 67 68 #define PARTS_RKIMG \ 69 "uuid_disk=${uuid_gpt_disk};" \ 70 "name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 71 "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 72 "name=misc,size=4MB,uuid=${uuid_gpt_misc};" \ 73 "name=resource,size=16MB,uuid=${uuid_gpt_resource};" \ 74 "name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \ 75 "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ 76 "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ 77 "name=backup,size=112M,uuid=${uuid_gpt_backup};" \ 78 "name=cache,size=512M,uuid=${uuid_gpt_cache};" \ 79 "name=system,size=2048M,uuid=${uuid_gpt_system};" \ 80 "name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \ 81 "name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \ 82 "name=oem,size=32M,uuid=${uuid_gpt_oem};" \ 83 "name=frp,size=512K,uuid=${uuid_gpt_frp};" \ 84 "name=security,size=2M,uuid=${uuid_gpt_security};" \ 85 "name=userdata,size=-,uuid=${uuid_gpt_userdata};\0" 86 87 #define RKIMG_DET_BOOTDEV \ 88 "rkimg_bootdev=" \ 89 "if mmc dev 1 && rkimgtest mmc 1; then " \ 90 "setenv devtype mmc; setenv devnum 1; echo Boot from SDcard;" \ 91 "elif mmc dev 0; then " \ 92 "setenv devtype mmc; setenv devnum 0;" \ 93 "elif rknand dev 0; then " \ 94 "setenv devtype rknand; setenv devnum 0;" \ 95 "elif rksfc dev 0; then " \ 96 "setenv devtype rksfc; setenv devnum 0;" \ 97 "fi; \0" 98 99 #define RKIMG_BOOTCOMMAND \ 100 "boot_android ${devtype} ${devnum};" \ 101 "bootrkp;" \ 102 "run distro_bootcmd;" 103 104 #endif 105 106 #define CONFIG_DISPLAY_BOARDINFO_LATE 107 108 #endif /* _ROCKCHIP_COMMON_H_ */ 109