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