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 /* Serial drivers */
20 /* The following table includes the supported baudrates */
21 #define CFG_SYS_BAUDRATE_TABLE  \
22 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, \
23 		230400, 250000, 460800, 500000, 1000000, 2000000, 4000000, \
24 		8000000 }
25 
26 /* For splashscreen */
27 #ifdef CONFIG_VIDEO
28 #define STDOUT_CFG "vidconsole,serial"
29 #else
30 #define STDOUT_CFG "serial"
31 #endif
32 
33 #ifdef CONFIG_USB_KEYBOARD
34 #define STDIN_CFG "usbkbd,serial"
35 #else
36 #define STDIN_CFG "serial"
37 #endif
38 
39 #define CFG_SYS_SDRAM_BASE		0
40 
41 /* ROM USB boot support, auto-execute boot.scr at scriptaddr */
42 #define BOOTENV_DEV_ROMUSB(devtypeu, devtypel, instance) \
43 	"bootcmd_romusb=" \
44 		"if test \"${boot_source}\" = \"usb\" && " \
45 				"test -n \"${scriptaddr}\"; then " \
46 			"echo '(ROM USB boot)'; " \
47 			"source ${scriptaddr}; " \
48 		"fi\0"
49 
50 #define BOOTENV_DEV_NAME_ROMUSB(devtypeu, devtypel, instance)	\
51 		"romusb "
52 
53 #ifdef CONFIG_CMD_USB
54 #define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
55 #else
56 #define BOOT_TARGET_DEVICES_USB(func)
57 #endif
58 
59 #ifdef CONFIG_CMD_NVME
60 	#define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
61 #else
62 	#define BOOT_TARGET_NVME(func)
63 #endif
64 
65 #ifdef CONFIG_CMD_SCSI
66 	#define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
67 #else
68 	#define BOOT_TARGET_SCSI(func)
69 #endif
70 
71 #ifndef BOOT_TARGET_DEVICES
72 #define BOOT_TARGET_DEVICES(func) \
73 	func(ROMUSB, romusb, na)  \
74 	func(MMC, mmc, 0) \
75 	func(MMC, mmc, 1) \
76 	func(MMC, mmc, 2) \
77 	BOOT_TARGET_DEVICES_USB(func) \
78 	BOOT_TARGET_NVME(func) \
79 	BOOT_TARGET_SCSI(func) \
80 	func(PXE, pxe, na) \
81 	func(DHCP, dhcp, na)
82 #endif
83 
84 #include <config_distro_bootcmd.h>
85 
86 #ifndef CFG_EXTRA_ENV_SETTINGS
87 #define CFG_EXTRA_ENV_SETTINGS \
88 	"stdin=" STDIN_CFG "\0" \
89 	"stdout=" STDOUT_CFG "\0" \
90 	"stderr=" STDOUT_CFG "\0" \
91 	"kernel_comp_addr_r=0x0d080000\0" \
92 	"kernel_comp_size=0x2000000\0" \
93 	"fdt_addr_r=0x08008000\0" \
94 	"scriptaddr=0x08000000\0" \
95 	"kernel_addr_r=0x08080000\0" \
96 	"pxefile_addr_r=0x01080000\0" \
97 	"fdtoverlay_addr_r=0x01000000\0" \
98 	"ramdisk_addr_r=0x13000000\0" \
99 	"fdtfile=amlogic/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
100 	BOOTENV
101 #endif
102 
103 
104 #endif /* __MESON64_CONFIG_H */
105