1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2006-2008 3*4882a593Smuzhiyun * Texas Instruments. 4*4882a593Smuzhiyun * Richard Woodruff <r-woodruff2@ti.com> 5*4882a593Smuzhiyun * Syed Mohammed Khasim <x0khasim@ti.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * (C) Copyright 2009 8*4882a593Smuzhiyun * Frederik Kriewitz <frederik@kriewitz.eu> 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * Configuration settings for the DevKit8000 board. 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 13*4882a593Smuzhiyun */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #ifndef __CONFIG_H 16*4882a593Smuzhiyun #define __CONFIG_H 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* High Level Configuration Options */ 19*4882a593Smuzhiyun #define CONFIG_MACH_TYPE MACH_TYPE_DEVKIT8000 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* 22*4882a593Smuzhiyun * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 23*4882a593Smuzhiyun * 64 bytes before this address should be set aside for u-boot.img's 24*4882a593Smuzhiyun * header. That is 0x800FFFC0--0x80100000 should not be used for any 25*4882a593Smuzhiyun * other needs. 26*4882a593Smuzhiyun */ 27*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x80100000 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #define CONFIG_SPL_BSS_START_ADDR 0x80000500 /* leave space for bootargs*/ 30*4882a593Smuzhiyun #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 33*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */ 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* Physical Memory Map */ 36*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun #include <configs/ti_omap3_common.h> 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #define CONFIG_REVISION_TAG 1 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* Size of malloc() pool */ 45*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 46*4882a593Smuzhiyun /* Sector */ 47*4882a593Smuzhiyun #undef CONFIG_SYS_MALLOC_LEN 48*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 10)) 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /* Hardware drivers */ 51*4882a593Smuzhiyun /* DM9000 */ 52*4882a593Smuzhiyun #define CONFIG_NET_RETRY_COUNT 20 53*4882a593Smuzhiyun #define CONFIG_DRIVER_DM9000 1 54*4882a593Smuzhiyun #define CONFIG_DM9000_BASE 0x2c000000 55*4882a593Smuzhiyun #define DM9000_IO CONFIG_DM9000_BASE 56*4882a593Smuzhiyun #define DM9000_DATA (CONFIG_DM9000_BASE + 0x400) 57*4882a593Smuzhiyun #define CONFIG_DM9000_USE_16BIT 1 58*4882a593Smuzhiyun #define CONFIG_DM9000_NO_SROM 1 59*4882a593Smuzhiyun #undef CONFIG_DM9000_DEBUG 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* TWL4030 */ 62*4882a593Smuzhiyun #define CONFIG_TWL4030_LED 1 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* Board NAND Info */ 65*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nand0=nand" 66*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=nand:" \ 67*4882a593Smuzhiyun "512k(x-loader)," \ 68*4882a593Smuzhiyun "1920k(u-boot)," \ 69*4882a593Smuzhiyun "128k(u-boot-env)," \ 70*4882a593Smuzhiyun "4m(kernel)," \ 71*4882a593Smuzhiyun "-(fs)" 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 74*4882a593Smuzhiyun /* to access nand */ 75*4882a593Smuzhiyun #define CONFIG_JFFS2_NAND 76*4882a593Smuzhiyun /* nand device jffs2 lives on */ 77*4882a593Smuzhiyun #define CONFIG_JFFS2_DEV "nand0" 78*4882a593Smuzhiyun /* start of jffs2 partition */ 79*4882a593Smuzhiyun #define CONFIG_JFFS2_PART_OFFSET 0x680000 80*4882a593Smuzhiyun #define CONFIG_JFFS2_PART_SIZE 0xf980000 /* size of jffs2 */ 81*4882a593Smuzhiyun /* partition */ 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun #undef CONFIG_SUPPORT_RAW_INITRD 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun /* BOOTP/DHCP options */ 86*4882a593Smuzhiyun #define CONFIG_BOOTP_SUBNETMASK 87*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 88*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 89*4882a593Smuzhiyun #define CONFIG_BOOTP_NISDOMAIN 90*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 91*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 92*4882a593Smuzhiyun #define CONFIG_BOOTP_DNS 93*4882a593Smuzhiyun #define CONFIG_BOOTP_DNS2 94*4882a593Smuzhiyun #define CONFIG_BOOTP_SEND_HOSTNAME 95*4882a593Smuzhiyun #define CONFIG_BOOTP_NTPSERVER 96*4882a593Smuzhiyun #define CONFIG_BOOTP_TIMEOFFSET 97*4882a593Smuzhiyun #undef CONFIG_BOOTP_VENDOREX 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun /* Environment information */ 100*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 101*4882a593Smuzhiyun "loadaddr=0x82000000\0" \ 102*4882a593Smuzhiyun "console=ttyO2,115200n8\0" \ 103*4882a593Smuzhiyun "mmcdev=0\0" \ 104*4882a593Smuzhiyun "vram=12M\0" \ 105*4882a593Smuzhiyun "dvimode=1024x768MR-16@60\0" \ 106*4882a593Smuzhiyun "defaultdisplay=dvi\0" \ 107*4882a593Smuzhiyun "nfsopts=hard,tcp,rsize=65536,wsize=65536\0" \ 108*4882a593Smuzhiyun "kernelopts=rw\0" \ 109*4882a593Smuzhiyun "commonargs=" \ 110*4882a593Smuzhiyun "setenv bootargs console=${console} " \ 111*4882a593Smuzhiyun "vram=${vram} " \ 112*4882a593Smuzhiyun "omapfb.mode=dvi:${dvimode} " \ 113*4882a593Smuzhiyun "omapdss.def_disp=${defaultdisplay}\0" \ 114*4882a593Smuzhiyun "mmcargs=" \ 115*4882a593Smuzhiyun "run commonargs; " \ 116*4882a593Smuzhiyun "setenv bootargs ${bootargs} " \ 117*4882a593Smuzhiyun "root=/dev/mmcblk0p2 " \ 118*4882a593Smuzhiyun "rootwait " \ 119*4882a593Smuzhiyun "${kernelopts}\0" \ 120*4882a593Smuzhiyun "nandargs=" \ 121*4882a593Smuzhiyun "run commonargs; " \ 122*4882a593Smuzhiyun "setenv bootargs ${bootargs} " \ 123*4882a593Smuzhiyun "omapfb.mode=dvi:${dvimode} " \ 124*4882a593Smuzhiyun "omapdss.def_disp=${defaultdisplay} " \ 125*4882a593Smuzhiyun "root=/dev/mtdblock4 " \ 126*4882a593Smuzhiyun "rootfstype=jffs2 " \ 127*4882a593Smuzhiyun "${kernelopts}\0" \ 128*4882a593Smuzhiyun "netargs=" \ 129*4882a593Smuzhiyun "run commonargs; " \ 130*4882a593Smuzhiyun "setenv bootargs ${bootargs} " \ 131*4882a593Smuzhiyun "root=/dev/nfs " \ 132*4882a593Smuzhiyun "nfsroot=${serverip}:${rootpath},${nfsopts} " \ 133*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off " \ 134*4882a593Smuzhiyun "${kernelopts} " \ 135*4882a593Smuzhiyun "dnsip1=${dnsip} " \ 136*4882a593Smuzhiyun "dnsip2=${dnsip2}\0" \ 137*4882a593Smuzhiyun "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 138*4882a593Smuzhiyun "bootscript=echo Running bootscript from mmc ...; " \ 139*4882a593Smuzhiyun "source ${loadaddr}\0" \ 140*4882a593Smuzhiyun "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ 141*4882a593Smuzhiyun "eraseenv=nand unlock 0x260000 0x20000; nand erase 0x260000 0x20000\0" \ 142*4882a593Smuzhiyun "mmcboot=echo Booting from mmc ...; " \ 143*4882a593Smuzhiyun "run mmcargs; " \ 144*4882a593Smuzhiyun "bootm ${loadaddr}\0" \ 145*4882a593Smuzhiyun "nandboot=echo Booting from nand ...; " \ 146*4882a593Smuzhiyun "run nandargs; " \ 147*4882a593Smuzhiyun "nand read ${loadaddr} 280000 400000; " \ 148*4882a593Smuzhiyun "bootm ${loadaddr}\0" \ 149*4882a593Smuzhiyun "netboot=echo Booting from network ...; " \ 150*4882a593Smuzhiyun "dhcp ${loadaddr}; " \ 151*4882a593Smuzhiyun "run netargs; " \ 152*4882a593Smuzhiyun "bootm ${loadaddr}\0" \ 153*4882a593Smuzhiyun "autoboot=mmc dev ${mmcdev}; if mmc rescan; then " \ 154*4882a593Smuzhiyun "if run loadbootscript; then " \ 155*4882a593Smuzhiyun "run bootscript; " \ 156*4882a593Smuzhiyun "else " \ 157*4882a593Smuzhiyun "if run loaduimage; then " \ 158*4882a593Smuzhiyun "run mmcboot; " \ 159*4882a593Smuzhiyun "else run nandboot; " \ 160*4882a593Smuzhiyun "fi; " \ 161*4882a593Smuzhiyun "fi; " \ 162*4882a593Smuzhiyun "else run nandboot; fi\0" 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run autoboot" 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun /* Boot Argument Buffer Size */ 167*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0 + 0x07000000) 168*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 169*4882a593Smuzhiyun 0x01000000) /* 16MB */ 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* NAND and environment organization */ 172*4882a593Smuzhiyun #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun /* SRAM config */ 177*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_START 0x40200000 178*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_SIZE 0x10000 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun /* Defines for SPL */ 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun #undef CONFIG_SPL_TEXT_BASE 183*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/ 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun /* NAND boot config */ 186*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 187*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_COUNT 64 188*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_SIZE 2048 189*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OOBSIZE 64 190*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 191*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 192*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 193*4882a593Smuzhiyun 10, 11, 12, 13} 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCSIZE 512 196*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCBYTES 3 197*4882a593Smuzhiyun #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 200*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x200000 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun /* SPL OS boot options */ 203*4882a593Smuzhiyun #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun #undef CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 206*4882a593Smuzhiyun #undef CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 207*4882a593Smuzhiyun #undef CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 208*4882a593Smuzhiyun #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x500 /* address 0xa0000 */ 209*4882a593Smuzhiyun #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x8 /* address 0x1000 */ 210*4882a593Smuzhiyun #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 8 /* 4KB */ 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun #undef CONFIG_SYS_SPL_ARGS_ADDR 213*4882a593Smuzhiyun #define CONFIG_SYS_SPL_ARGS_ADDR (PHYS_SDRAM_1 + 0x100) 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun #endif /* __CONFIG_H */ 216