1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0+ */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Configuation settings for the WB45N CPU Module. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef __CONFIG_H__ 7*4882a593Smuzhiyun #define __CONFIG_H__ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <asm/hardware.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* ARM asynchronous clock */ 12*4882a593Smuzhiyun #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 13*4882a593Smuzhiyun #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 16*4882a593Smuzhiyun #define CONFIG_SETUP_MEMORY_TAGS 17*4882a593Smuzhiyun #define CONFIG_INITRD_TAG 18*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* general purpose I/O */ 21*4882a593Smuzhiyun #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ 22*4882a593Smuzhiyun #define CONFIG_AT91_GPIO 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* serial console */ 25*4882a593Smuzhiyun #define CONFIG_ATMEL_USART 26*4882a593Smuzhiyun #define CONFIG_USART_BASE ATMEL_BASE_DBGU 27*4882a593Smuzhiyun #define CONFIG_USART_ID ATMEL_ID_SYS 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* 30*4882a593Smuzhiyun * BOOTP options 31*4882a593Smuzhiyun */ 32*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun /* SDRAM */ 35*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 36*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x20000000 37*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE 0x04000000 /* 64 MB */ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \ 40*4882a593Smuzhiyun (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun /* NAND flash */ 43*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 44*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0x40000000 45*4882a593Smuzhiyun /* our ALE is AD21 */ 46*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 47*4882a593Smuzhiyun /* our CLE is AD22 */ 48*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 49*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 50*4882a593Smuzhiyun #define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5 51*4882a593Smuzhiyun #define CONFIG_RBTREE 52*4882a593Smuzhiyun #define CONFIG_LZO 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun /* Ethernet */ 55*4882a593Smuzhiyun #define CONFIG_MACB 56*4882a593Smuzhiyun #define CONFIG_RMII 57*4882a593Smuzhiyun #define CONFIG_NET_RETRY_COUNT 20 58*4882a593Smuzhiyun #define CONFIG_MACB_SEARCH_PHY 59*4882a593Smuzhiyun #define CONFIG_ETHADDR C0:EE:40:00:00:00 60*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 1 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun /* System */ 63*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ 64*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 65*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x23e00000 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun #ifdef CONFIG_SYS_USE_NANDFLASH 68*4882a593Smuzhiyun /* bootstrap + u-boot + env + linux in nandflash */ 69*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0xa0000 70*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND 0xc0000 71*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x20000 /* 1 block = 128 kB */ 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xe0000 0x280000; " \ 74*4882a593Smuzhiyun "run _mtd; bootm" 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nand0=atmel_nand" 77*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=atmel_nand:" \ 78*4882a593Smuzhiyun "128K(at91bs)," \ 79*4882a593Smuzhiyun "512K(u-boot)," \ 80*4882a593Smuzhiyun "128K(u-boot-env)," \ 81*4882a593Smuzhiyun "128K(redund-env)," \ 82*4882a593Smuzhiyun "2560K(kernel-a)," \ 83*4882a593Smuzhiyun "2560K(kernel-b)," \ 84*4882a593Smuzhiyun "38912K(rootfs-a)," \ 85*4882a593Smuzhiyun "38912K(rootfs-b)," \ 86*4882a593Smuzhiyun "46208K(user)," \ 87*4882a593Smuzhiyun "512K(logs)" 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #else 90*4882a593Smuzhiyun #error No boot method selected, please select 'CONFIG_SYS_USE_NANDFLASH' 91*4882a593Smuzhiyun #endif 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #define CONFIG_BOOTARGS "console=ttyS0,115200 earlyprintk " \ 94*4882a593Smuzhiyun "rw noinitrd mem=64M " \ 95*4882a593Smuzhiyun "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=6" 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 98*4882a593Smuzhiyun "_mtd=mtdparts default; setenv bootargs ${bootargs} ${mtdparts}\0" \ 99*4882a593Smuzhiyun "autoload=no\0" \ 100*4882a593Smuzhiyun "autostart=no\0" \ 101*4882a593Smuzhiyun "ethaddr=" __stringify(CONFIG_ETHADDR) "\0" \ 102*4882a593Smuzhiyun "\0" 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE 256 105*4882a593Smuzhiyun #define CONFIG_SYS_MAXARGS 16 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun /* 108*4882a593Smuzhiyun * Size of malloc() pool 109*4882a593Smuzhiyun */ 110*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (512 * 1024 + 0x1000) 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun /* SPL */ 113*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x300000 114*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE 0x6000 115*4882a593Smuzhiyun #define CONFIG_SPL_STACK 0x308000 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun #define CONFIG_SPL_BSS_START_ADDR 0x20000000 118*4882a593Smuzhiyun #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 119*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_START 0x20080000 120*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_SIZE 0x80000 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (512 << 10) 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #define CONFIG_SYS_MASTER_CLOCK 132096000 125*4882a593Smuzhiyun #define CONFIG_SYS_AT91_PLLA 0x20c73f03 126*4882a593Smuzhiyun #define CONFIG_SYS_MCKR 0x1301 127*4882a593Smuzhiyun #define CONFIG_SYS_MCKR_CSS 0x1302 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun #define CONFIG_SPL_NAND_DRIVERS 130*4882a593Smuzhiyun #define CONFIG_SPL_NAND_BASE 131*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000 132*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 133*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_SIZE 0x800 134*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_COUNT 64 135*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OOBSIZE 64 136*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000 137*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun #endif /* __CONFIG_H__ */ 140