10a2be69fSHeiko Stübner /*
20a2be69fSHeiko Stübner  * (C) Copyright 2015 Google, Inc
30a2be69fSHeiko Stübner  *
40a2be69fSHeiko Stübner  * SPDX-License-Identifier:     GPL-2.0+
50a2be69fSHeiko Stübner  */
60a2be69fSHeiko Stübner 
70a2be69fSHeiko Stübner #ifndef __CONFIG_RK3188_COMMON_H
80a2be69fSHeiko Stübner #define __CONFIG_RK3188_COMMON_H
90a2be69fSHeiko Stübner 
100a2be69fSHeiko Stübner #define CONFIG_SYS_CACHELINE_SIZE	64
110a2be69fSHeiko Stübner 
120a2be69fSHeiko Stübner #include <asm/arch/hardware.h>
130a2be69fSHeiko Stübner #include "rockchip-common.h"
140a2be69fSHeiko Stübner 
150a2be69fSHeiko Stübner #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
160a2be69fSHeiko Stübner #define CONFIG_NR_DRAM_BANKS		1
170a2be69fSHeiko Stübner #define CONFIG_SYS_MALLOC_LEN		(32 << 20)
180a2be69fSHeiko Stübner #define CONFIG_SYS_CBSIZE		1024
190a2be69fSHeiko Stübner 
200a2be69fSHeiko Stübner #define CONFIG_SYS_TIMER_RATE		(24 * 1000 * 1000)
210a2be69fSHeiko Stübner #define CONFIG_SYS_TIMER_BASE		0x2000e000 /* TIMER3 */
220a2be69fSHeiko Stübner #define CONFIG_SYS_TIMER_COUNTER	(CONFIG_SYS_TIMER_BASE + 8)
230a2be69fSHeiko Stübner #define CONFIG_SYS_TIMER_COUNTS_DOWN
240a2be69fSHeiko Stübner 
250a2be69fSHeiko Stübner #define CONFIG_SYS_NS16550_MEM32
260a2be69fSHeiko Stübner 
27ee14d29dSPhilipp Tomsich #ifdef CONFIG_SPL_ROCKCHIP_BACK_TO_BROM
280a2be69fSHeiko Stübner /* Bootrom will load u-boot binary to 0x60000000 once return from SPL */
290a2be69fSHeiko Stübner #define CONFIG_SYS_TEXT_BASE		0x60000000
300a2be69fSHeiko Stübner #else
310a2be69fSHeiko Stübner #define CONFIG_SYS_TEXT_BASE		0x60100000
320a2be69fSHeiko Stübner #endif
330a2be69fSHeiko Stübner #define CONFIG_SYS_INIT_SP_ADDR		0x60100000
340a2be69fSHeiko Stübner #define CONFIG_SYS_LOAD_ADDR		0x60800800
350a2be69fSHeiko Stübner 
360a2be69fSHeiko Stübner #define CONFIG_ROCKCHIP_MAX_INIT_SIZE	(0x8000 - 0x800)
370a2be69fSHeiko Stübner #define CONFIG_ROCKCHIP_CHIP_TAG	"RK31"
380a2be69fSHeiko Stübner 
39*4d9253fbSPhilipp Tomsich #define CONFIG_SPL_TEXT_BASE		0x10080800
40*4d9253fbSPhilipp Tomsich /* spl size 32kb sram - 2kb bootrom */
41*4d9253fbSPhilipp Tomsich #define CONFIG_SPL_MAX_SIZE		(0x8000 - 0x800)
420a2be69fSHeiko Stübner #define CONFIG_SPL_FRAMEWORK		1
430a2be69fSHeiko Stübner #define CONFIG_SPL_CLK			1
440a2be69fSHeiko Stübner #define CONFIG_SPL_PINCTRL		1
450a2be69fSHeiko Stübner #define CONFIG_SPL_REGMAP		1
460a2be69fSHeiko Stübner #define CONFIG_SPL_SYSCON		1
470a2be69fSHeiko Stübner #define CONFIG_SPL_RAM			1
480a2be69fSHeiko Stübner #define CONFIG_SPL_DRIVERS_MISC_SUPPORT	1
490a2be69fSHeiko Stübner #define CONFIG_ROCKCHIP_SERIAL		1
500a2be69fSHeiko Stübner 
510a2be69fSHeiko Stübner #define CONFIG_SPL_STACK		0x10087fff
520a2be69fSHeiko Stübner 
530a2be69fSHeiko Stübner /* MMC/SD IP block */
540a2be69fSHeiko Stübner #define CONFIG_BOUNCE_BUFFER
550a2be69fSHeiko Stübner 
560a2be69fSHeiko Stübner #define CONFIG_SYS_SDRAM_BASE		0x60000000
570a2be69fSHeiko Stübner #define CONFIG_NR_DRAM_BANKS		1
580a2be69fSHeiko Stübner #define SDRAM_BANK_SIZE			(2UL << 30)
596d1970faSKever Yang #define SDRAM_MAX_SIZE			0x80000000
600a2be69fSHeiko Stübner 
610a2be69fSHeiko Stübner #define CONFIG_SPI_FLASH
620a2be69fSHeiko Stübner #define CONFIG_SPI
630a2be69fSHeiko Stübner #define CONFIG_SF_DEFAULT_SPEED 20000000
640a2be69fSHeiko Stübner 
650a2be69fSHeiko Stübner #ifndef CONFIG_SPL_BUILD
660a2be69fSHeiko Stübner /* usb otg */
670a2be69fSHeiko Stübner #define CONFIG_ROCKCHIP_USB2_PHY
680a2be69fSHeiko Stübner 
690a2be69fSHeiko Stübner /* usb host support */
700a2be69fSHeiko Stübner #define ENV_MEM_LAYOUT_SETTINGS \
710a2be69fSHeiko Stübner 	"scriptaddr=0x60000000\0" \
720a2be69fSHeiko Stübner 	"pxefile_addr_r=0x60100000\0" \
730a2be69fSHeiko Stübner 	"fdt_addr_r=0x61f00000\0" \
740a2be69fSHeiko Stübner 	"kernel_addr_r=0x62000000\0" \
750a2be69fSHeiko Stübner 	"ramdisk_addr_r=0x64000000\0"
760a2be69fSHeiko Stübner 
770a2be69fSHeiko Stübner #include <config_distro_bootcmd.h>
780a2be69fSHeiko Stübner 
790a2be69fSHeiko Stübner /* Linux fails to load the fdt if it's loaded above 256M on a Rock board,
800a2be69fSHeiko Stübner  * so limit the fdt reallocation to that */
810a2be69fSHeiko Stübner #define CONFIG_EXTRA_ENV_SETTINGS \
820a2be69fSHeiko Stübner 	"fdt_high=0x6fffffff\0" \
830a2be69fSHeiko Stübner 	"initrd_high=0x6fffffff\0" \
840a2be69fSHeiko Stübner 	"partitions=" PARTS_DEFAULT \
850a2be69fSHeiko Stübner 	ENV_MEM_LAYOUT_SETTINGS \
860a2be69fSHeiko Stübner 	ROCKCHIP_DEVICE_SETTINGS \
870a2be69fSHeiko Stübner 	BOOTENV
880a2be69fSHeiko Stübner 
890a2be69fSHeiko Stübner #endif /* CONFIG_SPL_BUILD */
900a2be69fSHeiko Stübner 
910a2be69fSHeiko Stübner #define CONFIG_PREBOOT
920a2be69fSHeiko Stübner 
930a2be69fSHeiko Stübner #endif
94