1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Configuation settings for the SAM9X60EK board.
4  *
5  * Copyright (C) 2018 Microchip Technology Inc. and its subsidiaries
6  *
7  * Author: Sandeep Sheriker M <sandeep.sheriker@microchip.com>
8  */
9 
10 #ifndef __CONFIG_H__
11 #define __CONFIG_H__
12 
13 /* ARM asynchronous clock */
14 #define CONFIG_SYS_AT91_SLOW_CLOCK	32768
15 #define CONFIG_SYS_AT91_MAIN_CLOCK	24000000	/* 24 MHz crystal */
16 
17 #define CONFIG_CMDLINE_TAG		/* enable passing of ATAGs */
18 #define CONFIG_SETUP_MEMORY_TAGS
19 #define CONFIG_INITRD_TAG
20 #define CONFIG_SKIP_LOWLEVEL_INIT
21 
22 #define CONFIG_USART_BASE   ATMEL_BASE_DBGU
23 #define CONFIG_USART_ID     0 /* ignored in arm */
24 
25 /* general purpose I/O */
26 #define CONFIG_ATMEL_LEGACY            /* required until (g)pio is fixed */
27 
28 /*
29  * BOOTP options
30  */
31 #define CONFIG_BOOTP_BOOTFILESIZE
32 
33 /*
34  * define CONFIG_USB_EHCI_HCD to enable USB Hi-Speed (aka 2.0)
35  * NB: in this case, USB 1.1 devices won't be recognized.
36  */
37 
38 /* SDRAM */
39 #define CONFIG_SYS_SDRAM_BASE		0x20000000
40 #define CONFIG_SYS_SDRAM_SIZE		0x10000000	/* 256 megs */
41 
42 #define CONFIG_SYS_INIT_SP_ADDR \
43 	(CONFIG_SYS_SDRAM_BASE + 16 * 1024 + CONFIG_SYS_MALLOC_F_LEN - \
44 	 GENERATED_GBL_DATA_SIZE)
45 
46 /* NAND flash */
47 #ifdef CONFIG_CMD_NAND
48 #define CONFIG_SYS_MAX_NAND_DEVICE	1
49 #define CONFIG_SYS_NAND_BASE		0x40000000
50 #define CONFIG_SYS_NAND_MASK_ALE	BIT(21)
51 #define CONFIG_SYS_NAND_MASK_CLE	BIT(22)
52 #define CONFIG_SYS_NAND_ENABLE_PIN	AT91_PIN_PD4
53 #define CONFIG_SYS_NAND_READY_PIN	AT91_PIN_PD5
54 #define CONFIG_SYS_NAND_ONFI_DETECTION
55 #endif
56 
57 #define CONFIG_SYS_LOAD_ADDR		0x22000000	/* load address */
58 
59 #ifdef CONFIG_SD_BOOT
60 /* bootstrap + u-boot + env + linux in sd card */
61 #define CONFIG_BOOTCOMMAND  \
62 			"fatload mmc 0:1 0x21000000 at91-sam9x60ek.dtb;" \
63 			"fatload mmc 0:1 0x22000000 zImage;" \
64 			"bootz 0x22000000 - 0x21000000"
65 
66 #elif defined(CONFIG_NAND_BOOT)
67 /* bootstrap + u-boot + env + linux in nandflash */
68 #define CONFIG_BOOTCOMMAND	"nand read " \
69 				"0x22000000 0x200000 0x600000; " \
70 				"nand read 0x21000000 0x180000 0x20000; " \
71 				"bootz 0x22000000 - 0x21000000"
72 
73 #elif defined(CONFIG_QSPI_BOOT)
74 /* bootstrap + u-boot + env + linux in SPI NOR flash */
75 #define CONFIG_BOOTCOMMAND	"sf probe 0; "					\
76 				"sf read 0x21000000 0x180000 0x80000; "		\
77 				"sf read 0x22000000 0x200000 0x600000; "	\
78 				"bootz 0x22000000 - 0x21000000"
79 #endif
80 
81 /*
82  * Size of malloc() pool
83  */
84 #define CONFIG_SYS_MALLOC_LEN		(512 * 1024 + 0x1000)
85 
86 #endif
87