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