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 54c642b151SIlya Yanok #define CONFIG_USB_ETHER 5525374bfbSTom Rix 56d90859a6SAlexander Holler /* USB EHCI */ 57928c4bdfSGovindraj.R 5829321c05SIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 147 5929321c05SIlya Yanok 60f904cdbbSDirk Behme /* commands to include */ 61df4dbb5dSTom Rini 62917cfc70SNishanth Menon #define MTDIDS_DEFAULT "nand0=nand" 63917cfc70SNishanth Menon #define MTDPARTS_DEFAULT "mtdparts=nand:512k(x-loader),"\ 64917cfc70SNishanth Menon "1920k(u-boot),128k(u-boot-env),"\ 65917cfc70SNishanth Menon "4m(kernel),-(fs)" 66f904cdbbSDirk Behme 6725a4d017SKoen Kooi #define CONFIG_VIDEO_OMAP3 /* DSS Support */ 68f904cdbbSDirk Behme 69f904cdbbSDirk Behme /* 702c155130STom Rix * TWL4030 712c155130STom Rix */ 722c155130STom Rix #define CONFIG_TWL4030_LED 1 732c155130STom Rix 742c155130STom Rix /* 75f904cdbbSDirk Behme * Board NAND Info. 76f904cdbbSDirk Behme */ 77f904cdbbSDirk Behme #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 78f904cdbbSDirk Behme /* devices */ 79f904cdbbSDirk Behme 80c721fd6eSGuillaume GARDET #define BOOT_TARGET_DEVICES(func) \ 81c721fd6eSGuillaume GARDET func(MMC, mmc, 0) 82c721fd6eSGuillaume GARDET 83c721fd6eSGuillaume GARDET #define CONFIG_BOOTCOMMAND \ 84c721fd6eSGuillaume GARDET "run findfdt; " \ 85c721fd6eSGuillaume GARDET "run distro_bootcmd; " \ 86c721fd6eSGuillaume GARDET "mmc dev ${mmcdev}; if mmc rescan; then " \ 87c721fd6eSGuillaume GARDET "if run userbutton; then " \ 88c721fd6eSGuillaume GARDET "setenv bootenv uEnv.txt;" \ 89c721fd6eSGuillaume GARDET "else " \ 90c721fd6eSGuillaume GARDET "setenv bootenv user.txt;" \ 91c721fd6eSGuillaume GARDET "fi;" \ 92c721fd6eSGuillaume GARDET "echo SD/MMC found on device ${mmcdev};" \ 93c721fd6eSGuillaume GARDET "if run loadbootenv; then " \ 94c721fd6eSGuillaume GARDET "echo Loaded environment from ${bootenv};" \ 95c721fd6eSGuillaume GARDET "run importbootenv;" \ 96c721fd6eSGuillaume GARDET "fi;" \ 97c721fd6eSGuillaume GARDET "if test -n $uenvcmd; then " \ 98c721fd6eSGuillaume GARDET "echo Running uenvcmd ...;" \ 99c721fd6eSGuillaume GARDET "run uenvcmd;" \ 100c721fd6eSGuillaume GARDET "fi;" \ 101c721fd6eSGuillaume GARDET "if run loadbootscript; then " \ 102c721fd6eSGuillaume GARDET "run bootscript; " \ 103c721fd6eSGuillaume GARDET "else " \ 104c721fd6eSGuillaume GARDET "if run loadimage; then " \ 105c721fd6eSGuillaume GARDET "run mmcboot;" \ 106c721fd6eSGuillaume GARDET "fi;" \ 107c721fd6eSGuillaume GARDET "fi; " \ 108c721fd6eSGuillaume GARDET "fi;" \ 109c721fd6eSGuillaume GARDET "run nandboot;" \ 110c721fd6eSGuillaume GARDET "setenv bootfile zImage;" \ 111c721fd6eSGuillaume GARDET "if run loadimage; then " \ 112c721fd6eSGuillaume GARDET "run loadfdt;" \ 113c721fd6eSGuillaume GARDET "run mmcbootz; " \ 114c721fd6eSGuillaume GARDET "fi; " \ 115c721fd6eSGuillaume GARDET 116c721fd6eSGuillaume GARDET #include <config_distro_bootcmd.h> 117c721fd6eSGuillaume GARDET 118f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 119f4b36ea9SJason Kridner "loadaddr=0x80200000\0" \ 120c721fd6eSGuillaume GARDET "kernel_addr_r=0x80200000\0" \ 121f4b36ea9SJason Kridner "rdaddr=0x81000000\0" \ 122c721fd6eSGuillaume GARDET "initrd_addr_r=0x81000000\0" \ 1232ade496fSNishanth Menon "fdt_high=0xffffffff\0" \ 1242ade496fSNishanth Menon "fdtaddr=0x80f80000\0" \ 125c721fd6eSGuillaume GARDET "fdt_addr_r=0x80f80000\0" \ 12625374bfbSTom Rix "usbtty=cdc_acm\0" \ 127a33e3c79SNishanth Menon "bootfile=uImage\0" \ 128102ce9eaSNishanth Menon "ramdisk=ramdisk.gz\0" \ 129102ce9eaSNishanth Menon "bootdir=/boot\0" \ 130102ce9eaSNishanth Menon "bootpart=0:2\0" \ 13127b8c8f2SKoen Kooi "console=ttyO2,115200n8\0" \ 132f6e593bbSKoen Kooi "mpurate=auto\0" \ 133847b83d0SPeter Meerwald "buddy=none\0" \ 134c522eac4SJason Kridner "optargs=\0" \ 135c522eac4SJason Kridner "camera=none\0" \ 13613d2cb98SSteve Sakoman "vram=12M\0" \ 137f4b36ea9SJason Kridner "dvimode=640x480MR-16@60\0" \ 13813d2cb98SSteve Sakoman "defaultdisplay=dvi\0" \ 1390cd31144SSteve Sakoman "mmcdev=0\0" \ 14013d2cb98SSteve Sakoman "mmcroot=/dev/mmcblk0p2 rw\0" \ 14113d2cb98SSteve Sakoman "mmcrootfstype=ext3 rootwait\0" \ 1423c6e50d7SSteve Sakoman "nandroot=ubi0:rootfs ubi.mtd=4\0" \ 1433c6e50d7SSteve Sakoman "nandrootfstype=ubifs\0" \ 144f4b36ea9SJason Kridner "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \ 145f4b36ea9SJason Kridner "ramrootfstype=ext2\0" \ 146f904cdbbSDirk Behme "mmcargs=setenv bootargs console=${console} " \ 147c522eac4SJason Kridner "${optargs} " \ 1485af32460SSteve Sakoman "mpurate=${mpurate} " \ 149b1660314SKoen Kooi "buddy=${buddy} "\ 150c522eac4SJason Kridner "camera=${camera} "\ 15113d2cb98SSteve Sakoman "vram=${vram} " \ 15213d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 15313d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 15413d2cb98SSteve Sakoman "root=${mmcroot} " \ 15513d2cb98SSteve Sakoman "rootfstype=${mmcrootfstype}\0" \ 156f904cdbbSDirk Behme "nandargs=setenv bootargs console=${console} " \ 157c522eac4SJason Kridner "${optargs} " \ 1585af32460SSteve Sakoman "mpurate=${mpurate} " \ 159b1660314SKoen Kooi "buddy=${buddy} "\ 160c522eac4SJason Kridner "camera=${camera} "\ 16113d2cb98SSteve Sakoman "vram=${vram} " \ 16213d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 16313d2cb98SSteve Sakoman "omapdss.def_disp=${defaultdisplay} " \ 16413d2cb98SSteve Sakoman "root=${nandroot} " \ 16513d2cb98SSteve Sakoman "rootfstype=${nandrootfstype}\0" \ 1662ade496fSNishanth Menon "findfdt=" \ 1672ade496fSNishanth Menon "if test $beaglerev = AxBx; then " \ 1682ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1692ade496fSNishanth Menon "if test $beaglerev = Cx; then " \ 1702ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1715c9038b6SRobert Nelson "if test $beaglerev = C4; then " \ 1725c9038b6SRobert Nelson "setenv fdtfile omap3-beagle.dtb; fi; " \ 1732ade496fSNishanth Menon "if test $beaglerev = xMAB; then " \ 1743d47ffb9SRobert Nelson "setenv fdtfile omap3-beagle-xm-ab.dtb; fi; " \ 1752ade496fSNishanth Menon "if test $beaglerev = xMC; then " \ 1762ade496fSNishanth Menon "setenv fdtfile omap3-beagle-xm.dtb; fi; " \ 1772ade496fSNishanth Menon "if test $fdtfile = undefined; then " \ 1782ade496fSNishanth Menon "echo WARNING: Could not determine device tree to use; fi; \0" \ 1794fa2427cSRobert Nelson "validatefdt=" \ 1804fa2427cSRobert Nelson "if test $beaglerev = xMAB; then " \ 1814fa2427cSRobert Nelson "if test ! -e mmc ${bootpart} ${bootdir}/${fdtfile}; then " \ 1824fa2427cSRobert Nelson "setenv fdtfile omap3-beagle-xm.dtb; " \ 1834fa2427cSRobert Nelson "fi; " \ 1844fa2427cSRobert Nelson "fi; \0" \ 185f835ea71SJason Kridner "bootenv=uEnv.txt\0" \ 186f835ea71SJason Kridner "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 187cf073e49SAlexander Holler "importbootenv=echo Importing environment from mmc ...; " \ 18844bd26faSAlexander Holler "env import -t -r $loadaddr $filesize\0" \ 189f4b36ea9SJason Kridner "ramargs=setenv bootargs console=${console} " \ 190f4b36ea9SJason Kridner "${optargs} " \ 191f4b36ea9SJason Kridner "mpurate=${mpurate} " \ 192f4b36ea9SJason Kridner "buddy=${buddy} "\ 193f4b36ea9SJason Kridner "vram=${vram} " \ 194f4b36ea9SJason Kridner "omapfb.mode=dvi:${dvimode} " \ 195f4b36ea9SJason Kridner "omapdss.def_disp=${defaultdisplay} " \ 196f4b36ea9SJason Kridner "root=${ramroot} " \ 197f4b36ea9SJason Kridner "rootfstype=${ramrootfstype}\0" \ 198102ce9eaSNishanth Menon "loadramdisk=load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \ 199102ce9eaSNishanth Menon "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 20009642269SGuillaume GARDET "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 20109642269SGuillaume GARDET "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ 20209642269SGuillaume GARDET "source ${loadaddr}\0" \ 2034fa2427cSRobert Nelson "loadfdt=run validatefdt; load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 204f904cdbbSDirk Behme "mmcboot=echo Booting from mmc ...; " \ 205f904cdbbSDirk Behme "run mmcargs; " \ 206f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 207ea70690dSNishanth Menon "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 208ea70690dSNishanth Menon "run mmcargs; " \ 209ea70690dSNishanth Menon "bootz ${loadaddr} - ${fdtaddr}\0" \ 210f904cdbbSDirk Behme "nandboot=echo Booting from nand ...; " \ 211f904cdbbSDirk Behme "run nandargs; " \ 212f904cdbbSDirk Behme "nand read ${loadaddr} 280000 400000; " \ 213f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 214f4b36ea9SJason Kridner "ramboot=echo Booting from ramdisk ...; " \ 215f4b36ea9SJason Kridner "run ramargs; " \ 216f4b36ea9SJason Kridner "bootm ${loadaddr}\0" \ 217aae58b95SJoel Fernandes "userbutton=if gpio input 173; then run userbutton_xm; " \ 218aae58b95SJoel Fernandes "else run userbutton_nonxm; fi;\0" \ 219aae58b95SJoel Fernandes "userbutton_xm=gpio input 4;\0" \ 220c721fd6eSGuillaume GARDET "userbutton_nonxm=gpio input 7;\0" \ 221c721fd6eSGuillaume GARDET BOOTENV 222f904cdbbSDirk Behme 223f904cdbbSDirk Behme /* 224d3a513c2SManikandan Pillai * OMAP3 has 12 GP timers, they can be driven by the system clock 225d3a513c2SManikandan Pillai * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). 226d3a513c2SManikandan Pillai * This rate is divided by a local divisor. 227f904cdbbSDirk Behme */ 228d3a513c2SManikandan Pillai #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 229f904cdbbSDirk Behme 230f904cdbbSDirk Behme /*----------------------------------------------------------------------- 231f904cdbbSDirk Behme * FLASH and environment organization 232f904cdbbSDirk Behme */ 233f904cdbbSDirk Behme 234f904cdbbSDirk Behme /* **** PISMO SUPPORT *** */ 2356cbec7b3SLuca Ceresoli #if defined(CONFIG_CMD_NAND) 236222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 2376cbec7b3SLuca Ceresoli #endif 238f904cdbbSDirk Behme 239f904cdbbSDirk Behme /* Monitor at start of flash */ 240f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 241f904cdbbSDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 242f904cdbbSDirk Behme 243df4dbb5dSTom Rini #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 244f904cdbbSDirk Behme #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 245f904cdbbSDirk Behme #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 246f904cdbbSDirk Behme 2476cbec7b3SLuca Ceresoli #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 2486cbec7b3SLuca Ceresoli #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 249f904cdbbSDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 250f904cdbbSDirk Behme 25175c57a35STom Rini /* Defines for SPL */ 25275c57a35STom Rini 25375c57a35STom Rini /* NAND boot config */ 25475c57a35STom Rini #define CONFIG_SYS_NAND_5_ADDR_CYCLE 25575c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_COUNT 64 25675c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_SIZE 2048 25775c57a35STom Rini #define CONFIG_SYS_NAND_OOBSIZE 64 25875c57a35STom Rini #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 25975c57a35STom Rini #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 26075c57a35STom Rini #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 26175c57a35STom Rini 10, 11, 12, 13} 26275c57a35STom Rini #define CONFIG_SYS_NAND_ECCSIZE 512 26375c57a35STom Rini #define CONFIG_SYS_NAND_ECCBYTES 3 2643f719069Spekon gupta #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW 26575c57a35STom Rini #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 266434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */ 267434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT 268434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 269434f2cfcSpekon gupta #endif 27075c57a35STom Rini 271f904cdbbSDirk Behme #endif /* __CONFIG_H */ 272