blob: 371e72404aa81356d196812e75fe71850ee94465 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Asen Dimovb5d289f2010-04-20 22:49:04 +03002/*
3 * (C) Copyright 2010
4 * Ilko Iliev <iliev@ronetix.at>
5 * Asen Dimov <dimov@ronetix.at>
6 * Ronetix GmbH <www.ronetix.at>
7 *
8 * (C) Copyright 2007-2008
Stelian Popc9e798d2011-11-01 00:00:39 +01009 * Stelian Pop <stelian@popies.net>
Asen Dimovb5d289f2010-04-20 22:49:04 +030010 * Lead Tech Design <www.leadtechdesign.com>
11 *
12 * Configuation settings for the PM9G45 board.
Asen Dimovb5d289f2010-04-20 22:49:04 +030013 */
14
15#ifndef __CONFIG_H
16#define __CONFIG_H
17
Asen Dimovb5d289f2010-04-20 22:49:04 +030018/* ARM asynchronous clock */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020019#define CONFIG_SYS_AT91_SLOW_CLOCK 32768
20#define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */
Asen Dimovb5d289f2010-04-20 22:49:04 +030021
Ilko Ilievd9bd4292019-04-03 16:50:30 +020022#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
23#define CONFIG_SETUP_MEMORY_TAGS
24#define CONFIG_INITRD_TAG
Asen Dimovb5d289f2010-04-20 22:49:04 +030025
Ilko Ilievd9bd4292019-04-03 16:50:30 +020026/* general purpose I/O */
27#define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */
Asen Dimovb5d289f2010-04-20 22:49:04 +030028
29/*
30 * BOOTP options
31 */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020032#define CONFIG_BOOTP_BOOTFILESIZE
Asen Dimovb5d289f2010-04-20 22:49:04 +030033
34/* SDRAM */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020035#define CONFIG_SYS_SDRAM_BASE 0x70000000
36#define CONFIG_SYS_SDRAM_SIZE 0x08000000
37
38#define CONFIG_SYS_INIT_SP_ADDR \
39 (CONFIG_SYS_SDRAM_BASE + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
Asen Dimovb5d289f2010-04-20 22:49:04 +030040
Asen Dimovb5d289f2010-04-20 22:49:04 +030041/* NAND flash */
42#ifdef CONFIG_CMD_NAND
Ilko Ilievd9bd4292019-04-03 16:50:30 +020043#define CONFIG_SYS_MAX_NAND_DEVICE 1
44#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3
45#define CONFIG_SYS_NAND_DBW_8
Asen Dimovb5d289f2010-04-20 22:49:04 +030046/* our ALE is AD21 */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020047#define CONFIG_SYS_NAND_MASK_ALE BIT(21)
Asen Dimovb5d289f2010-04-20 22:49:04 +030048/* our CLE is AD22 */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020049#define CONFIG_SYS_NAND_MASK_CLE BIT(22)
50#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14
51#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD3
52#define CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
Asen Dimovb5d289f2010-04-20 22:49:04 +030053#endif
54
55/* Ethernet */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020056#define CONFIG_RESET_PHY_R
57#define CONFIG_AT91_WANTS_COMMON_PHY
Asen Dimovb5d289f2010-04-20 22:49:04 +030058
Ilko Ilievd9bd4292019-04-03 16:50:30 +020059#ifdef CONFIG_NAND_BOOT
60/* bootstrap + u-boot + env in nandflash */
Asen Dimovb5d289f2010-04-20 22:49:04 +030061
Ilko Ilievd9bd4292019-04-03 16:50:30 +020062#define CONFIG_BOOTCOMMAND \
63 "nand read 0x70000000 0x200000 0x300000;" \
64 "bootm 0x70000000"
65#elif CONFIG_SD_BOOT
66/* bootstrap + u-boot + env + linux in mmc */
Asen Dimovb5d289f2010-04-20 22:49:04 +030067
Ilko Ilievd9bd4292019-04-03 16:50:30 +020068#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x71000000 dtb; " \
69 "fatload mmc 0:1 0x72000000 zImage; " \
70 "bootz 0x72000000 - 0x71000000"
71#endif
Asen Dimovb5d289f2010-04-20 22:49:04 +030072
Asen Dimovb5d289f2010-04-20 22:49:04 +030073/*
74 * Size of malloc() pool
75 */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020076#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + \
77 128 * 1024, 0x1000)
Asen Dimovb5d289f2010-04-20 22:49:04 +030078
Ilko Ilievd9bd4292019-04-03 16:50:30 +020079/* Defines for SPL */
Ilko Ilievd9bd4292019-04-03 16:50:30 +020080#define CONFIG_SPL_MAX_SIZE 0x010000
81#define CONFIG_SPL_STACK 0x310000
82
83#define CONFIG_SYS_MONITOR_LEN 0x80000
84
85#ifdef CONFIG_SD_BOOT
86
87#define CONFIG_SPL_BSS_START_ADDR 0x70000000
88#define CONFIG_SPL_BSS_MAX_SIZE 0x00080000
89#define CONFIG_SYS_SPL_MALLOC_START 0x70080000
90#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00080000
91
Ilko Ilievd9bd4292019-04-03 16:50:30 +020092#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
93
94#elif CONFIG_NAND_BOOT
Ilko Ilievd9bd4292019-04-03 16:50:30 +020095#define CONFIG_SPL_NAND_SOFTECC
96#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
97#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x80000
98#define CONFIG_SYS_NAND_5_ADDR_CYCLE
99
100#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
101#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
102#define CONFIG_SYS_NAND_PAGE_COUNT 64
103#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
104#define CONFIG_SYS_NAND_ECCSIZE 256
105#define CONFIG_SYS_NAND_ECCBYTES 3
106#define CONFIG_SYS_NAND_OOBSIZE 64
107#define CONFIG_SYS_NAND_ECCPOS { 40, 41, 42, 43, 44, 45, 46, 47, \
108 48, 49, 50, 51, 52, 53, 54, 55, \
109 56, 57, 58, 59, 60, 61, 62, 63, }
110#endif
111
112#define CONFIG_SPL_ATMEL_SIZE
113#define CONFIG_SYS_MASTER_CLOCK 132096000
114#define CONFIG_SYS_AT91_PLLA 0x20c73f03
115#define CONFIG_SYS_MCKR 0x1301
116#define CONFIG_SYS_MCKR_CSS 0x1302
Asen Dimov510f7942010-12-12 00:42:28 +0000117
Asen Dimovb5d289f2010-04-20 22:49:04 +0300118#endif