1f904cdbbSDirk Behme /* 2f904cdbbSDirk Behme * (C) Copyright 2006-2008 3f904cdbbSDirk Behme * Texas Instruments. 4f904cdbbSDirk Behme * Richard Woodruff <r-woodruff2@ti.com> 5f904cdbbSDirk Behme * Syed Mohammed Khasim <x0khasim@ti.com> 6f904cdbbSDirk Behme * 7f904cdbbSDirk Behme * Configuration settings for the TI OMAP3530 Beagle board. 8f904cdbbSDirk Behme * 91a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 10f904cdbbSDirk Behme */ 11f904cdbbSDirk Behme 12f904cdbbSDirk Behme #ifndef __CONFIG_H 13f904cdbbSDirk Behme #define __CONFIG_H 14f904cdbbSDirk Behme 15df4dbb5dSTom Rini #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 16df4dbb5dSTom Rini 17f904cdbbSDirk Behme /* 18df4dbb5dSTom Rini * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 19df4dbb5dSTom Rini * 64 bytes before this address should be set aside for u-boot.img's 20df4dbb5dSTom Rini * header. That is 0x800FFFC0--0x80100000 should not be used for any 21df4dbb5dSTom Rini * other needs. We use this rather than the inherited defines from 22df4dbb5dSTom Rini * ti_armv7_common.h for backwards compatibility. 23f904cdbbSDirk Behme */ 24df4dbb5dSTom Rini #define CONFIG_SYS_TEXT_BASE 0x80100000 25df4dbb5dSTom Rini #define CONFIG_SPL_BSS_START_ADDR 0x80000000 26df4dbb5dSTom Rini #define CONFIG_SPL_BSS_MAX_SIZE (512 << 10) /* 512 KB */ 27df4dbb5dSTom Rini #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 28df4dbb5dSTom Rini #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 29f904cdbbSDirk Behme 30df4dbb5dSTom Rini #include <configs/ti_omap3_common.h> 31f904cdbbSDirk Behme 32f904cdbbSDirk Behme #define CONFIG_MISC_INIT_R 33f904cdbbSDirk Behme 34f904cdbbSDirk Behme #define CONFIG_REVISION_TAG 1 35f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE 36*577968e5SAdam Ford /* NAND: SPL falcon mode configs */ 37*577968e5SAdam Ford #if defined(CONFIG_SPL_OS_BOOT) 38*577968e5SAdam Ford #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x2a0000 39*577968e5SAdam Ford #endif /* CONFIG_SPL_OS_BOOT */ 40*577968e5SAdam Ford #endif /* CONFIG_NAND */ 41f904cdbbSDirk Behme 4270d8c944SJason Kridner /* Status LED */ 4370d8c944SJason Kridner 44f74fc4aeSJason Kridner /* Enable Multi Bus support for I2C */ 45f74fc4aeSJason Kridner #define CONFIG_I2C_MULTI_BUS 1 46f74fc4aeSJason Kridner 47f74fc4aeSJason Kridner /* Probe all devices */ 488c4e0ca6SSanjeev Premi #define CONFIG_SYS_I2C_NOPROBES {{0x0, 0x0}} 49f74fc4aeSJason Kridner 5025374bfbSTom Rix /* USB */ 51c2af345eSIlya Yanok #define CONFIG_USB_MUSB_OMAP2PLUS 5295de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_PIO_ONLY 5325374bfbSTom Rix #define CONFIG_TWL4030_USB 1 5425374bfbSTom Rix 55d90859a6SAlexander Holler /* USB EHCI */ 56928c4bdfSGovindraj.R 5729321c05SIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 147 5829321c05SIlya Yanok 59f904cdbbSDirk Behme /* commands to include */ 60df4dbb5dSTom Rini 61917cfc70SNishanth Menon #define MTDIDS_DEFAULT "nand0=nand" 62917cfc70SNishanth Menon #define MTDPARTS_DEFAULT "mtdparts=nand:512k(x-loader),"\ 63917cfc70SNishanth Menon "1920k(u-boot),128k(u-boot-env),"\ 64917cfc70SNishanth Menon "4m(kernel),-(fs)" 65f904cdbbSDirk Behme 6625a4d017SKoen Kooi #define CONFIG_VIDEO_OMAP3 /* DSS Support */ 67f904cdbbSDirk Behme 68f904cdbbSDirk Behme /* 692c155130STom Rix * TWL4030 702c155130STom Rix */ 712c155130STom Rix #define CONFIG_TWL4030_LED 1 722c155130STom Rix 732c155130STom Rix /* 74f904cdbbSDirk Behme * Board NAND Info. 75f904cdbbSDirk Behme */ 76f904cdbbSDirk Behme #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 77f904cdbbSDirk Behme /* devices */ 78f904cdbbSDirk Behme 79c721fd6eSGuillaume GARDET #define BOOT_TARGET_DEVICES(func) \ 80c721fd6eSGuillaume GARDET func(MMC, mmc, 0) 81c721fd6eSGuillaume GARDET 82c721fd6eSGuillaume GARDET #define CONFIG_BOOTCOMMAND \ 83c721fd6eSGuillaume GARDET "run findfdt; " \ 84c721fd6eSGuillaume GARDET "run distro_bootcmd; " \ 85c721fd6eSGuillaume GARDET "mmc dev ${mmcdev}; if mmc rescan; then " \ 86c721fd6eSGuillaume GARDET "if run userbutton; then " \ 87c721fd6eSGuillaume GARDET "setenv bootenv uEnv.txt;" \ 88c721fd6eSGuillaume GARDET "else " \ 89c721fd6eSGuillaume GARDET "setenv bootenv user.txt;" \ 90c721fd6eSGuillaume GARDET "fi;" \ 91c721fd6eSGuillaume GARDET "echo SD/MMC found on device ${mmcdev};" \ 92c721fd6eSGuillaume GARDET "if run loadbootenv; then " \ 93c721fd6eSGuillaume GARDET "echo Loaded environment from ${bootenv};" \ 94c721fd6eSGuillaume GARDET "run importbootenv;" \ 95c721fd6eSGuillaume GARDET "fi;" \ 96c721fd6eSGuillaume GARDET "if test -n $uenvcmd; then " \ 97c721fd6eSGuillaume GARDET "echo Running uenvcmd ...;" \ 98c721fd6eSGuillaume GARDET "run uenvcmd;" \ 99c721fd6eSGuillaume GARDET "fi;" \ 100c721fd6eSGuillaume GARDET "if run loadbootscript; then " \ 101c721fd6eSGuillaume GARDET "run bootscript; " \ 102c721fd6eSGuillaume GARDET "else " \ 103c721fd6eSGuillaume GARDET "if run loadimage; then " \ 104c721fd6eSGuillaume GARDET "run mmcboot;" \ 105c721fd6eSGuillaume GARDET "fi;" \ 106c721fd6eSGuillaume GARDET "fi; " \ 107c721fd6eSGuillaume GARDET "fi;" \ 108c721fd6eSGuillaume GARDET "run nandboot;" \ 109c721fd6eSGuillaume GARDET "setenv bootfile zImage;" \ 110c721fd6eSGuillaume GARDET "if run loadimage; then " \ 111c721fd6eSGuillaume GARDET "run loadfdt;" \ 112c721fd6eSGuillaume GARDET "run mmcbootz; " \ 113c721fd6eSGuillaume GARDET "fi; " \ 114c721fd6eSGuillaume GARDET 115c721fd6eSGuillaume GARDET #include <config_distro_bootcmd.h> 116c721fd6eSGuillaume GARDET 117f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 118f4b36ea9SJason Kridner "loadaddr=0x80200000\0" \ 119c721fd6eSGuillaume GARDET "kernel_addr_r=0x80200000\0" \ 120f4b36ea9SJason Kridner "rdaddr=0x81000000\0" \ 121c721fd6eSGuillaume GARDET "initrd_addr_r=0x81000000\0" \ 1222ade496fSNishanth Menon "fdt_high=0xffffffff\0" \ 1232ade496fSNishanth Menon "fdtaddr=0x80f80000\0" \ 124c721fd6eSGuillaume GARDET "fdt_addr_r=0x80f80000\0" \ 12525374bfbSTom Rix "usbtty=cdc_acm\0" \ 126a33e3c79SNishanth Menon "bootfile=uImage\0" \ 127102ce9eaSNishanth Menon "ramdisk=ramdisk.gz\0" \ 128102ce9eaSNishanth Menon "bootdir=/boot\0" \ 129102ce9eaSNishanth Menon "bootpart=0:2\0" \ 13027b8c8f2SKoen Kooi "console=ttyO2,115200n8\0" \ 131f6e593bbSKoen Kooi "mpurate=auto\0" \ 132847b83d0SPeter Meerwald "buddy=none\0" \ 133c522eac4SJason Kridner "optargs=\0" \ 134c522eac4SJason Kridner "camera=none\0" \ 13513d2cb98SSteve Sakoman "vram=12M\0" \ 136f4b36ea9SJason Kridner "dvimode=640x480MR-16@60\0" \ 13713d2cb98SSteve Sakoman "defaultdisplay=dvi\0" \ 1380cd31144SSteve Sakoman "mmcdev=0\0" \ 13913d2cb98SSteve Sakoman "mmcroot=/dev/mmcblk0p2 rw\0" \ 14013d2cb98SSteve Sakoman "mmcrootfstype=ext3 rootwait\0" \ 1413c6e50d7SSteve Sakoman "nandroot=ubi0:rootfs ubi.mtd=4\0" \ 1423c6e50d7SSteve Sakoman "nandrootfstype=ubifs\0" \ 143f4b36ea9SJason Kridner "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \ 144f4b36ea9SJason Kridner "ramrootfstype=ext2\0" \ 145f904cdbbSDirk Behme "mmcargs=setenv bootargs console=${console} " \ 146c522eac4SJason Kridner "${optargs} " \ 1475af32460SSteve Sakoman "mpurate=${mpurate} " \ 148b1660314SKoen Kooi "buddy=${buddy} "\ 149c522eac4SJason Kridner "camera=${camera} "\ 15013d2cb98SSteve Sakoman "vram=${vram} " \ 15113d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 15213d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 15313d2cb98SSteve Sakoman "root=${mmcroot} " \ 15413d2cb98SSteve Sakoman "rootfstype=${mmcrootfstype}\0" \ 155f904cdbbSDirk Behme "nandargs=setenv bootargs console=${console} " \ 156c522eac4SJason Kridner "${optargs} " \ 1575af32460SSteve Sakoman "mpurate=${mpurate} " \ 158b1660314SKoen Kooi "buddy=${buddy} "\ 159c522eac4SJason Kridner "camera=${camera} "\ 16013d2cb98SSteve Sakoman "vram=${vram} " \ 16113d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 16213d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 16313d2cb98SSteve Sakoman "root=${nandroot} " \ 16413d2cb98SSteve Sakoman "rootfstype=${nandrootfstype}\0" \ 1652ade496fSNishanth Menon "findfdt=" \ 1662ade496fSNishanth Menon "if test $beaglerev = AxBx; then " \ 1672ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1682ade496fSNishanth Menon "if test $beaglerev = Cx; then " \ 1692ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1705c9038b6SRobert Nelson "if test $beaglerev = C4; then " \ 1715c9038b6SRobert Nelson "setenv fdtfile omap3-beagle.dtb; fi; " \ 1722ade496fSNishanth Menon "if test $beaglerev = xMAB; then " \ 1733d47ffb9SRobert Nelson "setenv fdtfile omap3-beagle-xm-ab.dtb; fi; " \ 1742ade496fSNishanth Menon "if test $beaglerev = xMC; then " \ 1752ade496fSNishanth Menon "setenv fdtfile omap3-beagle-xm.dtb; fi; " \ 1762ade496fSNishanth Menon "if test $fdtfile = undefined; then " \ 1772ade496fSNishanth Menon "echo WARNING: Could not determine device tree to use; fi; \0" \ 1784fa2427cSRobert Nelson "validatefdt=" \ 1794fa2427cSRobert Nelson "if test $beaglerev = xMAB; then " \ 1804fa2427cSRobert Nelson "if test ! -e mmc ${bootpart} ${bootdir}/${fdtfile}; then " \ 1814fa2427cSRobert Nelson "setenv fdtfile omap3-beagle-xm.dtb; " \ 1824fa2427cSRobert Nelson "fi; " \ 1834fa2427cSRobert Nelson "fi; \0" \ 184f835ea71SJason Kridner "bootenv=uEnv.txt\0" \ 185f835ea71SJason Kridner "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 186cf073e49SAlexander Holler "importbootenv=echo Importing environment from mmc ...; " \ 18744bd26faSAlexander Holler "env import -t -r $loadaddr $filesize\0" \ 188f4b36ea9SJason Kridner "ramargs=setenv bootargs console=${console} " \ 189f4b36ea9SJason Kridner "${optargs} " \ 190f4b36ea9SJason Kridner "mpurate=${mpurate} " \ 191f4b36ea9SJason Kridner "buddy=${buddy} "\ 192f4b36ea9SJason Kridner "vram=${vram} " \ 193f4b36ea9SJason Kridner "omapfb.mode=dvi:${dvimode} " \ 194f4b36ea9SJason Kridner "omapdss.def_disp=${defaultdisplay} " \ 195f4b36ea9SJason Kridner "root=${ramroot} " \ 196f4b36ea9SJason Kridner "rootfstype=${ramrootfstype}\0" \ 197102ce9eaSNishanth Menon "loadramdisk=load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \ 198102ce9eaSNishanth Menon "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 19909642269SGuillaume GARDET "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 20009642269SGuillaume GARDET "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ 20109642269SGuillaume GARDET "source ${loadaddr}\0" \ 2024fa2427cSRobert Nelson "loadfdt=run validatefdt; load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 203f904cdbbSDirk Behme "mmcboot=echo Booting from mmc ...; " \ 204f904cdbbSDirk Behme "run mmcargs; " \ 205f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 206ea70690dSNishanth Menon "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 207ea70690dSNishanth Menon "run mmcargs; " \ 208ea70690dSNishanth Menon "bootz ${loadaddr} - ${fdtaddr}\0" \ 209f904cdbbSDirk Behme "nandboot=echo Booting from nand ...; " \ 210f904cdbbSDirk Behme "run nandargs; " \ 211f904cdbbSDirk Behme "nand read ${loadaddr} 280000 400000; " \ 212f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 213f4b36ea9SJason Kridner "ramboot=echo Booting from ramdisk ...; " \ 214f4b36ea9SJason Kridner "run ramargs; " \ 215f4b36ea9SJason Kridner "bootm ${loadaddr}\0" \ 216aae58b95SJoel Fernandes "userbutton=if gpio input 173; then run userbutton_xm; " \ 217aae58b95SJoel Fernandes "else run userbutton_nonxm; fi;\0" \ 218aae58b95SJoel Fernandes "userbutton_xm=gpio input 4;\0" \ 219c721fd6eSGuillaume GARDET "userbutton_nonxm=gpio input 7;\0" \ 220c721fd6eSGuillaume GARDET BOOTENV 221f904cdbbSDirk Behme 222f904cdbbSDirk Behme /* 223d3a513c2SManikandan Pillai * OMAP3 has 12 GP timers, they can be driven by the system clock 224d3a513c2SManikandan Pillai * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). 225d3a513c2SManikandan Pillai * This rate is divided by a local divisor. 226f904cdbbSDirk Behme */ 227d3a513c2SManikandan Pillai #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 228f904cdbbSDirk Behme 229f904cdbbSDirk Behme /*----------------------------------------------------------------------- 230f904cdbbSDirk Behme * FLASH and environment organization 231f904cdbbSDirk Behme */ 232f904cdbbSDirk Behme 233f904cdbbSDirk Behme /* **** PISMO SUPPORT *** */ 2346cbec7b3SLuca Ceresoli #if defined(CONFIG_CMD_NAND) 235222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 2366cbec7b3SLuca Ceresoli #endif 237f904cdbbSDirk Behme 238f904cdbbSDirk Behme /* Monitor at start of flash */ 239f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 240f904cdbbSDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 241f904cdbbSDirk Behme 242df4dbb5dSTom Rini #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 243f904cdbbSDirk Behme #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 244f904cdbbSDirk Behme #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 245f904cdbbSDirk Behme 2466cbec7b3SLuca Ceresoli #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 2476cbec7b3SLuca Ceresoli #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 248f904cdbbSDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 249f904cdbbSDirk Behme 25075c57a35STom Rini /* Defines for SPL */ 25175c57a35STom Rini 25275c57a35STom Rini /* NAND boot config */ 25375c57a35STom Rini #define CONFIG_SYS_NAND_5_ADDR_CYCLE 25475c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_COUNT 64 25575c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_SIZE 2048 25675c57a35STom Rini #define CONFIG_SYS_NAND_OOBSIZE 64 25775c57a35STom Rini #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 25875c57a35STom Rini #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 25975c57a35STom Rini #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 26075c57a35STom Rini 10, 11, 12, 13} 26175c57a35STom Rini #define CONFIG_SYS_NAND_ECCSIZE 512 26275c57a35STom Rini #define CONFIG_SYS_NAND_ECCBYTES 3 2633f719069Spekon gupta #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW 26475c57a35STom Rini #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 265434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */ 266434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT 267434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 268434f2cfcSpekon gupta #endif 26975c57a35STom Rini 270f904cdbbSDirk Behme #endif /* __CONFIG_H */ 271