1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Configuration for Amlogic Meson 64bits SoCs
4  * (C) Copyright 2016 Beniamino Galvani <b.galvani@gmail.com>
5  */
6 
7 #ifndef __MESON64_CONFIG_H
8 #define __MESON64_CONFIG_H
9 
10 /* Generic Interrupt Controller Definitions */
11 #if (defined(CONFIG_MESON_AXG) || defined(CONFIG_MESON_G12A))
12 #define GICD_BASE			0xffc01000
13 #define GICC_BASE			0xffc02000
14 #else /* MESON GXL and GXBB */
15 #define GICD_BASE			0xc4301000
16 #define GICC_BASE			0xc4302000
17 #endif
18 
19 /* For splashscreen */
20 #ifdef CONFIG_DM_VIDEO
21 #define STDOUT_CFG "vidconsole,serial"
22 #else
23 #define STDOUT_CFG "serial"
24 #endif
25 
26 #ifdef CONFIG_USB_KEYBOARD
27 #define STDIN_CFG "usbkbd,serial"
28 #else
29 #define STDIN_CFG "serial"
30 #endif
31 
32 #define CONFIG_CPU_ARMV8
33 #define CONFIG_REMAKE_ELF
34 #define CONFIG_SYS_MAXARGS		32
35 #define CONFIG_SYS_MALLOC_LEN		(32 << 20)
36 #define CONFIG_SYS_CBSIZE		1024
37 
38 #define CONFIG_SYS_SDRAM_BASE		0
39 #define CONFIG_SYS_INIT_SP_ADDR		0x20000000
40 #define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_TEXT_BASE
41 #define CONFIG_SYS_BOOTM_LEN		(64 << 20) /* 64 MiB */
42 
43 /* ROM USB boot support, auto-execute boot.scr at scriptaddr */
44 #define BOOTENV_DEV_ROMUSB(devtypeu, devtypel, instance) \
45 	"bootcmd_romusb=" \
46 		"if test \"${boot_source}\" = \"usb\" && " \
47 				"test -n \"${scriptaddr}\"; then " \
48 			"echo '(ROM USB boot)'; " \
49 			"source ${scriptaddr}; " \
50 		"fi\0"
51 
52 #define BOOTENV_DEV_NAME_ROMUSB(devtypeu, devtypel, instance)	\
53 		"romusb "
54 
55 #ifdef CONFIG_CMD_USB
56 #define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
57 #else
58 #define BOOT_TARGET_DEVICES_USB(func)
59 #endif
60 
61 #ifndef BOOT_TARGET_DEVICES
62 #define BOOT_TARGET_DEVICES(func) \
63 	func(ROMUSB, romusb, na)  \
64 	func(MMC, mmc, 0) \
65 	func(MMC, mmc, 1) \
66 	func(MMC, mmc, 2) \
67 	BOOT_TARGET_DEVICES_USB(func) \
68 	func(PXE, pxe, na) \
69 	func(DHCP, dhcp, na)
70 #endif
71 
72 #include <config_distro_bootcmd.h>
73 
74 #ifndef CONFIG_EXTRA_ENV_SETTINGS
75 #define CONFIG_EXTRA_ENV_SETTINGS \
76 	"stdin=" STDIN_CFG "\0" \
77 	"stdout=" STDOUT_CFG "\0" \
78 	"stderr=" STDOUT_CFG "\0" \
79 	"fdt_addr_r=0x08008000\0" \
80 	"scriptaddr=0x08000000\0" \
81 	"kernel_addr_r=0x08080000\0" \
82 	"pxefile_addr_r=0x01080000\0" \
83 	"fdtoverlay_addr_r=0x01000000\0" \
84 	"ramdisk_addr_r=0x13000000\0" \
85 	"fdtfile=amlogic/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
86 	BOOTENV
87 #endif
88 
89 
90 #endif /* __MESON64_CONFIG_H */
91