19d0fc811SDirk Behme /* 29d0fc811SDirk Behme * Configuration settings for the Gumstix Overo board. 39d0fc811SDirk Behme * 41a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 59d0fc811SDirk Behme */ 69d0fc811SDirk Behme 79d0fc811SDirk Behme #ifndef __CONFIG_H 89d0fc811SDirk Behme #define __CONFIG_H 99d0fc811SDirk Behme 1029cc1d8eSAsh Charles #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 1129cc1d8eSAsh Charles #define CONFIG_NAND 129d0fc811SDirk Behme 1329cc1d8eSAsh Charles #include <configs/ti_omap3_common.h> 14*fa2f81b0STom Rini /* 15*fa2f81b0STom Rini * We are only ever GP parts and will utilize all of the "downloaded image" 16*fa2f81b0STom Rini * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB). 17*fa2f81b0STom Rini */ 18ce170a1cSAsh Charles #undef CONFIG_SPL_TEXT_BASE 19ce170a1cSAsh Charles #define CONFIG_SPL_TEXT_BASE 0x40200000 20ce170a1cSAsh Charles 21ce170a1cSAsh Charles #define CONFIG_BCH 22cae377b5SVaibhav Hiremath 2329cc1d8eSAsh Charles /* Display CPU and Board information */ 240f8d3eb9SAndreas Müller #define CONFIG_DISPLAY_CPUINFO 250f8d3eb9SAndreas Müller #define CONFIG_DISPLAY_BOARDINFO 266a6b62e3SSanjeev Premi 2729cc1d8eSAsh Charles /* call misc_init_r */ 289d0fc811SDirk Behme #define CONFIG_MISC_INIT_R 299d0fc811SDirk Behme 3029cc1d8eSAsh Charles /* pass the revision tag */ 310f8d3eb9SAndreas Müller #define CONFIG_REVISION_TAG 329d0fc811SDirk Behme 3329cc1d8eSAsh Charles /* override size of malloc() pool */ 3429cc1d8eSAsh Charles #undef CONFIG_SYS_MALLOC_LEN 35dbba3dafSAsh Charles #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB sector */ 36dbba3dafSAsh Charles /* Shift 128 << 15 provides 4 MiB heap to support UBI commands. 37dbba3dafSAsh Charles * Shift 128 << 10 provides 128 KiB heap for limited-memory devices. */ 38dbba3dafSAsh Charles #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 15)) 399d0fc811SDirk Behme 4029cc1d8eSAsh Charles /* I2C Support */ 4129cc1d8eSAsh Charles #define CONFIG_SYS_I2C_OMAP34XX 429d0fc811SDirk Behme 4329cc1d8eSAsh Charles /* TWL4030 LED */ 4429cc1d8eSAsh Charles #define CONFIG_TWL4030_LED 459d0fc811SDirk Behme 46f5c30c1bSStefan Herbrechtsmeier /* USB EHCI */ 47f5c30c1bSStefan Herbrechtsmeier #define CONFIG_USB_EHCI 48f5c30c1bSStefan Herbrechtsmeier #define CONFIG_USB_EHCI_OMAP 49f5c30c1bSStefan Herbrechtsmeier #define CONFIG_USB_STORAGE 50f5c30c1bSStefan Herbrechtsmeier #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 183 51f5c30c1bSStefan Herbrechtsmeier #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 52f5c30c1bSStefan Herbrechtsmeier 5329cc1d8eSAsh Charles /* Initialize GPIOs by default */ 5406ae2b0cSAsh Charles #define CONFIG_OMAP3_GPIO_2 /* GPIO32..63 is in GPIO Bank 2 */ 5506ae2b0cSAsh Charles #define CONFIG_OMAP3_GPIO_3 /* GPIO64..95 is in GPIO Bank 3 */ 5606ae2b0cSAsh Charles #define CONFIG_OMAP3_GPIO_4 /* GPIO96..127 is in GPIO Bank 4 */ 5706ae2b0cSAsh Charles #define CONFIG_OMAP3_GPIO_5 /* GPIO128..159 is in GPIO Bank 5 */ 5806ae2b0cSAsh Charles #define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO Bank 6 */ 5906ae2b0cSAsh Charles 609d0fc811SDirk Behme /* commands to include */ 619d0fc811SDirk Behme 6229cc1d8eSAsh Charles #ifdef CONFIG_NAND 63dbba3dafSAsh Charles #define CONFIG_CMD_UBI /* UBI-formated MTD partition support */ 64dbba3dafSAsh Charles #define CONFIG_CMD_UBIFS /* Read-only UBI volume operations */ 65dbba3dafSAsh Charles 66dbba3dafSAsh Charles #define CONFIG_RBTREE /* required by CONFIG_CMD_UBI */ 67dbba3dafSAsh Charles #define CONFIG_LZO /* required by CONFIG_CMD_UBIFS */ 68dbba3dafSAsh Charles 69dbba3dafSAsh Charles #define CONFIG_MTD_PARTITIONS /* required for UBI partition support */ 70dbba3dafSAsh Charles 71dbba3dafSAsh Charles /* NAND block size is 128 KiB. Synchronize these values with 72dbba3dafSAsh Charles * overo_nand_partitions in mach-omap2/board-overo.c in Linux: 73dbba3dafSAsh Charles * xloader 4 * NAND_BLOCK_SIZE = 512 KiB 74dbba3dafSAsh Charles * uboot 14 * NAND_BLOCK_SIZE = 1792 KiB 75dbba3dafSAsh Charles * uboot environtment 2 * NAND_BLOCK_SIZE = 256 KiB 76e5c809d7SPeter A. Bigot * linux 64 * NAND_BLOCK_SIZE = 8 MiB 77dbba3dafSAsh Charles * rootfs remainder 78dbba3dafSAsh Charles */ 79dbba3dafSAsh Charles #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 80dbba3dafSAsh Charles #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:" \ 81dbba3dafSAsh Charles "512k(xloader)," \ 82dbba3dafSAsh Charles "1792k(u-boot)," \ 83dbba3dafSAsh Charles "256k(environ)," \ 84e5c809d7SPeter A. Bigot "8m(linux)," \ 85dbba3dafSAsh Charles "-(rootfs)" 8629cc1d8eSAsh Charles #else /* CONFIG_NAND */ 87dbba3dafSAsh Charles #define MTDPARTS_DEFAULT 8829cc1d8eSAsh Charles #endif /* CONFIG_NAND */ 89dbba3dafSAsh Charles 9029cc1d8eSAsh Charles /* Board NAND Info. */ 919d0fc811SDirk Behme #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 929d0fc811SDirk Behme /* to access nand */ 939d0fc811SDirk Behme /* Environment information */ 949d0fc811SDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 9529cc1d8eSAsh Charles DEFAULT_LINUX_BOOT_ENV \ 963c92c323SAsh Charles "bootdir=/boot\0" \ 973c92c323SAsh Charles "bootfile=zImage\0" \ 983c92c323SAsh Charles "usbtty=cdc_acm\0" \ 9975b988a2SPhilip Balister "console=ttyO2,115200n8\0" \ 1003c92c323SAsh Charles "mpurate=auto\0" \ 101e6847dbaSPhilip Balister "optargs=\0" \ 10213d2cb98SSteve Sakoman "vram=12M\0" \ 10313d2cb98SSteve Sakoman "dvimode=1024x768MR-16@60\0" \ 10413d2cb98SSteve Sakoman "defaultdisplay=dvi\0" \ 105cd7c5726SSteve Sakoman "mmcdev=0\0" \ 10613d2cb98SSteve Sakoman "mmcroot=/dev/mmcblk0p2 rw\0" \ 1071584e4f4SAdam YH Lee "mmcrootfstype=ext4 rootwait\0" \ 108254973e6SSteve Sakoman "nandroot=ubi0:rootfs ubi.mtd=4\0" \ 109254973e6SSteve Sakoman "nandrootfstype=ubifs\0" \ 110dbba3dafSAsh Charles "mtdparts=" MTDPARTS_DEFAULT "\0" \ 1119d0fc811SDirk Behme "mmcargs=setenv bootargs console=${console} " \ 112e6847dbaSPhilip Balister "${optargs} " \ 1135af32460SSteve Sakoman "mpurate=${mpurate} " \ 11413d2cb98SSteve Sakoman "vram=${vram} " \ 11513d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 11613d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 11713d2cb98SSteve Sakoman "root=${mmcroot} " \ 11813d2cb98SSteve Sakoman "rootfstype=${mmcrootfstype}\0" \ 1199d0fc811SDirk Behme "nandargs=setenv bootargs console=${console} " \ 120e6847dbaSPhilip Balister "${optargs} " \ 1215af32460SSteve Sakoman "mpurate=${mpurate} " \ 12213d2cb98SSteve Sakoman "vram=${vram} " \ 12313d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 12413d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 12513d2cb98SSteve Sakoman "root=${nandroot} " \ 12613d2cb98SSteve Sakoman "rootfstype=${nandrootfstype}\0" \ 1273c92c323SAsh Charles "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 1289d0fc811SDirk Behme "bootscript=echo Running boot script from mmc ...; " \ 12974de7aefSWolfgang Denk "source ${loadaddr}\0" \ 1303c92c323SAsh Charles "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ 1313c92c323SAsh Charles "importbootenv=echo Importing environment from mmc ...; " \ 1320b3fde11SAsh Charles "env import -t ${loadaddr} ${filesize}\0" \ 1333c92c323SAsh Charles "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ 1349d0fc811SDirk Behme "mmcboot=echo Booting from mmc...; " \ 1359d0fc811SDirk Behme "run mmcargs; " \ 1369d0fc811SDirk Behme "bootm ${loadaddr}\0" \ 1373c92c323SAsh Charles "loadzimage=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}\0" \ 13829cc1d8eSAsh Charles "loadfdt=load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 13988d89668SAsh Charles "loadubizimage=ubifsload ${loadaddr} ${bootdir}/${bootfile}\0" \ 14088d89668SAsh Charles "loadubifdt=ubifsload ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 1413c92c323SAsh Charles "mmcbootfdt=echo Booting with DT from mmc ...; " \ 1423c92c323SAsh Charles "run mmcargs; " \ 14329cc1d8eSAsh Charles "bootz ${loadaddr} - ${fdtaddr}\0" \ 1449d0fc811SDirk Behme "nandboot=echo Booting from nand ...; " \ 1459d0fc811SDirk Behme "run nandargs; " \ 146f2565a55SStefan Herbrechtsmeier "if nand read ${loadaddr} linux; then " \ 147f2565a55SStefan Herbrechtsmeier "bootm ${loadaddr};" \ 148f2565a55SStefan Herbrechtsmeier "fi;\0" \ 14988d89668SAsh Charles "nanddtsboot=echo Booting from nand with DTS...; " \ 15088d89668SAsh Charles "run nandargs; " \ 15188d89668SAsh Charles "ubi part rootfs; "\ 15288d89668SAsh Charles "ubifsmount ubi0:rootfs; "\ 15388d89668SAsh Charles "run loadubifdt; "\ 15488d89668SAsh Charles "run loadubizimage; "\ 15588d89668SAsh Charles "bootz ${loadaddr} - ${fdtaddr}\0" \ 1569d0fc811SDirk Behme 1579d0fc811SDirk Behme #define CONFIG_BOOTCOMMAND \ 15866968110SAndrew Bradford "mmc dev ${mmcdev}; if mmc rescan; then " \ 1599d0fc811SDirk Behme "if run loadbootscript; then " \ 1609d0fc811SDirk Behme "run bootscript; " \ 1613c92c323SAsh Charles "fi;" \ 1620b3fde11SAsh Charles "if run loadbootenv; then " \ 1633c92c323SAsh Charles "echo Loaded environment from ${bootenv};" \ 1640b3fde11SAsh Charles "run importbootenv;" \ 1653c92c323SAsh Charles "fi;" \ 1663c92c323SAsh Charles "if test -n $uenvcmd; then " \ 1670b3fde11SAsh Charles "echo Running uenvcmd ...;" \ 1680b3fde11SAsh Charles "run uenvcmd;" \ 1690b3fde11SAsh Charles "fi;" \ 1709d0fc811SDirk Behme "if run loaduimage; then " \ 1719d0fc811SDirk Behme "run mmcboot;" \ 1723c92c323SAsh Charles "fi;" \ 1733c92c323SAsh Charles "if run loadzimage; then " \ 174115e71f7SStefan Herbrechtsmeier "if test -z \"${fdtfile}\"; then " \ 17512cc5437SAsh Charles "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \ 17612cc5437SAsh Charles "fi;" \ 1773c92c323SAsh Charles "if run loadfdt; then " \ 1783c92c323SAsh Charles "run mmcbootfdt;" \ 1799d0fc811SDirk Behme "fi;" \ 1809d0fc811SDirk Behme "fi;" \ 1813c92c323SAsh Charles "fi;" \ 1823c92c323SAsh Charles "run nandboot; " \ 18388d89668SAsh Charles "if test -z \"${fdtfile}\"; then "\ 18488d89668SAsh Charles "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \ 18588d89668SAsh Charles "fi;" \ 18688d89668SAsh Charles "run nanddtsboot; " \ 1879d0fc811SDirk Behme 1889d0fc811SDirk Behme /* memtest works on */ 1899d0fc811SDirk Behme #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) 1909d0fc811SDirk Behme #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 1919d0fc811SDirk Behme 0x01F00000) /* 31MB */ 1929d0fc811SDirk Behme 19329cc1d8eSAsh Charles /* FLASH and environment organization */ 19429cc1d8eSAsh Charles #if defined(CONFIG_NAND) 195222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 1966cbec7b3SLuca Ceresoli #endif 1979d0fc811SDirk Behme 1989d0fc811SDirk Behme /* Monitor at start of flash */ 1999d0fc811SDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 2009d0fc811SDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 2019d0fc811SDirk Behme 2020f8d3eb9SAndreas Müller #define CONFIG_ENV_IS_IN_NAND 2039d0fc811SDirk Behme #define ONENAND_ENV_OFFSET 0x240000 /* environment starts here */ 2049d0fc811SDirk Behme #define SMNAND_ENV_OFFSET 0x240000 /* environment starts here */ 2059d0fc811SDirk Behme 2066cbec7b3SLuca Ceresoli #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 2076cbec7b3SLuca Ceresoli #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 2089d0fc811SDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 2099d0fc811SDirk Behme 21029cc1d8eSAsh Charles /* Configure SMSC9211 ethernet */ 211df382626SOlof Johansson #if defined(CONFIG_CMD_NET) 2120f8d3eb9SAndreas Müller #define CONFIG_SMC911X 213df382626SOlof Johansson #define CONFIG_SMC911X_32_BIT 214df382626SOlof Johansson #define CONFIG_SMC911X_BASE 0x2C000000 215df382626SOlof Johansson #endif /* (CONFIG_CMD_NET) */ 216df382626SOlof Johansson 21729cc1d8eSAsh Charles /* Initial RAM setup */ 21831bfcf1cSSteve Sakoman #define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 21931bfcf1cSSteve Sakoman #define CONFIG_SYS_INIT_RAM_SIZE 0x800 2208e40852fSAneesh V 221137703b8SAndreas Müller /* NAND boot config */ 22255f1b39fSStefano Babic #define CONFIG_SYS_NAND_BUSWIDTH_16BIT 223ce170a1cSAsh Charles #define CONFIG_SYS_NAND_MAX_ECCPOS 56 224137703b8SAndreas Müller #define CONFIG_SYS_NAND_5_ADDR_CYCLE 225137703b8SAndreas Müller #define CONFIG_SYS_NAND_PAGE_COUNT 64 226137703b8SAndreas Müller #define CONFIG_SYS_NAND_PAGE_SIZE 2048 227137703b8SAndreas Müller #define CONFIG_SYS_NAND_OOBSIZE 64 228137703b8SAndreas Müller #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 229137703b8SAndreas Müller #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 230ce170a1cSAsh Charles #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ 231ce170a1cSAsh Charles 13, 14, 16, 17, 18, 19, 20, 21, 22, \ 232ce170a1cSAsh Charles 23, 24, 25, 26, 27, 28, 30, 31, 32, \ 233ce170a1cSAsh Charles 33, 34, 35, 36, 37, 38, 39, 40, 41, \ 234ce170a1cSAsh Charles 42, 44, 45, 46, 47, 48, 49, 50, 51, \ 235ce170a1cSAsh Charles 52, 53, 54, 55, 56} 236137703b8SAndreas Müller #define CONFIG_SYS_NAND_ECCSIZE 512 237ce170a1cSAsh Charles #define CONFIG_SYS_NAND_ECCBYTES 13 238ce170a1cSAsh Charles #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 239137703b8SAndreas Müller #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE 240137703b8SAndreas Müller #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 241434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */ 242434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT 243434f2cfcSpekon gupta #define CONFIG_CMD_SPL_NAND_OFS 0x240000 244434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 245434f2cfcSpekon gupta #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 246434f2cfcSpekon gupta #endif 247137703b8SAndreas Müller 2489d0fc811SDirk Behme #endif /* __CONFIG_H */ 249