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 326a6b62e3SSanjeev Premi /* 336a6b62e3SSanjeev Premi * Display CPU and Board information 346a6b62e3SSanjeev Premi */ 356a6b62e3SSanjeev Premi #define CONFIG_DISPLAY_CPUINFO 1 366a6b62e3SSanjeev Premi #define CONFIG_DISPLAY_BOARDINFO 1 376a6b62e3SSanjeev Premi 38f904cdbbSDirk Behme #define CONFIG_MISC_INIT_R 39f904cdbbSDirk Behme 40f904cdbbSDirk Behme #define CONFIG_REVISION_TAG 1 41f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE 42f904cdbbSDirk Behme 4370d8c944SJason Kridner /* Status LED */ 4470d8c944SJason Kridner #define CONFIG_STATUS_LED 1 4570d8c944SJason Kridner #define CONFIG_BOARD_SPECIFIC_LED 1 4670d8c944SJason Kridner #define STATUS_LED_BIT 0x01 4770d8c944SJason Kridner #define STATUS_LED_STATE STATUS_LED_ON 4870d8c944SJason Kridner #define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) 4970d8c944SJason Kridner #define STATUS_LED_BIT1 0x02 5070d8c944SJason Kridner #define STATUS_LED_STATE1 STATUS_LED_ON 5170d8c944SJason Kridner #define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2) 5270d8c944SJason Kridner #define STATUS_LED_BOOT STATUS_LED_BIT 5370d8c944SJason Kridner #define STATUS_LED_GREEN STATUS_LED_BIT1 5470d8c944SJason Kridner 55f74fc4aeSJason Kridner /* Enable Multi Bus support for I2C */ 56f74fc4aeSJason Kridner #define CONFIG_I2C_MULTI_BUS 1 57f74fc4aeSJason Kridner 58f74fc4aeSJason Kridner /* Probe all devices */ 598c4e0ca6SSanjeev Premi #define CONFIG_SYS_I2C_NOPROBES {{0x0, 0x0}} 60f74fc4aeSJason Kridner 6125374bfbSTom Rix /* USB */ 62c2af345eSIlya Yanok #define CONFIG_MUSB_GADGET 63c2af345eSIlya Yanok #define CONFIG_USB_MUSB_OMAP2PLUS 64c2af345eSIlya Yanok #define CONFIG_MUSB_PIO_ONLY 65c2af345eSIlya Yanok #define CONFIG_USB_GADGET_DUALSPEED 6625374bfbSTom Rix #define CONFIG_TWL4030_USB 1 67c642b151SIlya Yanok #define CONFIG_USB_ETHER 68c642b151SIlya Yanok #define CONFIG_USB_ETHER_RNDIS 6925374bfbSTom Rix 70d90859a6SAlexander Holler /* USB EHCI */ 71d90859a6SAlexander Holler #define CONFIG_CMD_USB 72d90859a6SAlexander Holler #define CONFIG_USB_EHCI 73928c4bdfSGovindraj.R 7429321c05SIlya Yanok #define CONFIG_USB_EHCI_OMAP 7529321c05SIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 147 7629321c05SIlya Yanok 77d90859a6SAlexander Holler #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 782162439aSKoen Kooi #define CONFIG_USB_HOST_ETHER 7954b62d59SKoen Kooi #define CONFIG_USB_ETHER_ASIX 80a743415fSGerhard Sittig #define CONFIG_USB_ETHER_MCS7830 81eddf6d28SGerhard Sittig #define CONFIG_USB_ETHER_SMSC95XX 822162439aSKoen Kooi 83ce23b18bSStefan Roese /* GPIO banks */ 84ce23b18bSStefan Roese #define CONFIG_OMAP3_GPIO_5 /* GPIO128..159 is in GPIO bank 5 */ 85ce23b18bSStefan Roese #define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO bank 6 */ 86d90859a6SAlexander Holler 87f904cdbbSDirk Behme /* commands to include */ 88f904cdbbSDirk Behme #include <config_cmd_default.h> 89f904cdbbSDirk Behme 90776bebb7STom Rini #define CONFIG_CMD_ASKENV 91776bebb7STom Rini 9295c6f6d3SHeiko Schocher #define CONFIG_CMD_CACHE 93df4dbb5dSTom Rini 94917cfc70SNishanth Menon #define MTDIDS_DEFAULT "nand0=nand" 95917cfc70SNishanth Menon #define MTDPARTS_DEFAULT "mtdparts=nand:512k(x-loader),"\ 96917cfc70SNishanth Menon "1920k(u-boot),128k(u-boot-env),"\ 97917cfc70SNishanth Menon "4m(kernel),-(fs)" 98f904cdbbSDirk Behme 99d90859a6SAlexander Holler #define CONFIG_USB_STORAGE /* USB storage support */ 100f904cdbbSDirk Behme #define CONFIG_CMD_NAND /* NAND support */ 10170d8c944SJason Kridner #define CONFIG_CMD_LED /* LED support */ 102933d3701SJason Kridner #define CONFIG_CMD_SETEXPR /* Evaluate expressions */ 103aae58b95SJoel Fernandes #define CONFIG_CMD_GPIO /* Enable gpio command */ 104f904cdbbSDirk Behme 10525a4d017SKoen Kooi #define CONFIG_VIDEO_OMAP3 /* DSS Support */ 106f904cdbbSDirk Behme 107f904cdbbSDirk Behme /* 1082c155130STom Rix * TWL4030 1092c155130STom Rix */ 1102c155130STom Rix #define CONFIG_TWL4030_LED 1 1112c155130STom Rix 1122c155130STom Rix /* 113f904cdbbSDirk Behme * Board NAND Info. 114f904cdbbSDirk Behme */ 11560c23173SSteve Sakoman #define CONFIG_SYS_NAND_QUIET_TEST 1 116f904cdbbSDirk Behme #define CONFIG_NAND_OMAP_GPMC 117f904cdbbSDirk Behme #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 118f904cdbbSDirk Behme /* devices */ 119f904cdbbSDirk Behme 120f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 121f4b36ea9SJason Kridner "loadaddr=0x80200000\0" \ 122f4b36ea9SJason Kridner "rdaddr=0x81000000\0" \ 1232ade496fSNishanth Menon "fdt_high=0xffffffff\0" \ 1242ade496fSNishanth Menon "fdtaddr=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" \ 178*4fa2427cSRobert Nelson "validatefdt=" \ 179*4fa2427cSRobert Nelson "if test $beaglerev = xMAB; then " \ 180*4fa2427cSRobert Nelson "if test ! -e mmc ${bootpart} ${bootdir}/${fdtfile}; then " \ 181*4fa2427cSRobert Nelson "setenv fdtfile omap3-beagle-xm.dtb; " \ 182*4fa2427cSRobert Nelson "fi; " \ 183*4fa2427cSRobert 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 ...; " \ 187cf073e49SAlexander Holler "env import -t $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" \ 199*4fa2427cSRobert Nelson "loadfdt=run validatefdt; load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 200f904cdbbSDirk Behme "mmcboot=echo Booting from mmc ...; " \ 201f904cdbbSDirk Behme "run mmcargs; " \ 202f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 203ea70690dSNishanth Menon "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 204ea70690dSNishanth Menon "run mmcargs; " \ 205ea70690dSNishanth Menon "bootz ${loadaddr} - ${fdtaddr}\0" \ 206f904cdbbSDirk Behme "nandboot=echo Booting from nand ...; " \ 207f904cdbbSDirk Behme "run nandargs; " \ 208f904cdbbSDirk Behme "nand read ${loadaddr} 280000 400000; " \ 209f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 210f4b36ea9SJason Kridner "ramboot=echo Booting from ramdisk ...; " \ 211f4b36ea9SJason Kridner "run ramargs; " \ 212f4b36ea9SJason Kridner "bootm ${loadaddr}\0" \ 213aae58b95SJoel Fernandes "userbutton=if gpio input 173; then run userbutton_xm; " \ 214aae58b95SJoel Fernandes "else run userbutton_nonxm; fi;\0" \ 215aae58b95SJoel Fernandes "userbutton_xm=gpio input 4;\0" \ 216aae58b95SJoel Fernandes "userbutton_nonxm=gpio input 7;\0" 217d7aff44aSRobert P. J. Day /* "run userbutton" will return 1 (false) if pressed and 0 (true) if not */ 218f904cdbbSDirk Behme #define CONFIG_BOOTCOMMAND \ 2192ade496fSNishanth Menon "run findfdt; " \ 22066968110SAndrew Bradford "mmc dev ${mmcdev}; if mmc rescan; then " \ 221aae58b95SJoel Fernandes "if run userbutton; then " \ 222aae58b95SJoel Fernandes "setenv bootenv uEnv.txt;" \ 223aae58b95SJoel Fernandes "else " \ 224f835ea71SJason Kridner "setenv bootenv user.txt;" \ 225f835ea71SJason Kridner "fi;" \ 226cf073e49SAlexander Holler "echo SD/MMC found on device ${mmcdev};" \ 227cf073e49SAlexander Holler "if run loadbootenv; then " \ 228f835ea71SJason Kridner "echo Loaded environment from ${bootenv};" \ 229cf073e49SAlexander Holler "run importbootenv;" \ 230cf073e49SAlexander Holler "fi;" \ 231cf073e49SAlexander Holler "if test -n $uenvcmd; then " \ 232cf073e49SAlexander Holler "echo Running uenvcmd ...;" \ 233cf073e49SAlexander Holler "run uenvcmd;" \ 234cf073e49SAlexander Holler "fi;" \ 235102ce9eaSNishanth Menon "if run loadimage; then " \ 236f904cdbbSDirk Behme "run mmcboot;" \ 237f904cdbbSDirk Behme "fi;" \ 238f904cdbbSDirk Behme "fi;" \ 239cf073e49SAlexander Holler "run nandboot;" \ 240ea70690dSNishanth Menon "setenv bootfile zImage;" \ 241ea70690dSNishanth Menon "if run loadimage; then " \ 242ea70690dSNishanth Menon "run loadfdt;" \ 243ea70690dSNishanth Menon "run mmcbootz; " \ 244ea70690dSNishanth Menon "fi; " \ 245f904cdbbSDirk Behme 246f904cdbbSDirk Behme /* 247d3a513c2SManikandan Pillai * OMAP3 has 12 GP timers, they can be driven by the system clock 248d3a513c2SManikandan Pillai * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). 249d3a513c2SManikandan Pillai * This rate is divided by a local divisor. 250f904cdbbSDirk Behme */ 251d3a513c2SManikandan Pillai #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 252f904cdbbSDirk Behme 253f904cdbbSDirk Behme /*----------------------------------------------------------------------- 254f904cdbbSDirk Behme * FLASH and environment organization 255f904cdbbSDirk Behme */ 256f904cdbbSDirk Behme 257f904cdbbSDirk Behme /* **** PISMO SUPPORT *** */ 258f904cdbbSDirk Behme 259f904cdbbSDirk Behme /* Configure the PISMO */ 260f904cdbbSDirk Behme #define PISMO1_NAND_SIZE GPMC_SIZE_128M 261f904cdbbSDirk Behme #define PISMO1_ONEN_SIZE GPMC_SIZE_128M 262f904cdbbSDirk Behme 2636cbec7b3SLuca Ceresoli #if defined(CONFIG_CMD_NAND) 2646cbec7b3SLuca Ceresoli #define CONFIG_SYS_FLASH_BASE PISMO1_NAND_BASE 2656cbec7b3SLuca Ceresoli #endif 266f904cdbbSDirk Behme 267f904cdbbSDirk Behme /* Monitor at start of flash */ 268f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 269f904cdbbSDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 270f904cdbbSDirk Behme 271f904cdbbSDirk Behme #define CONFIG_ENV_IS_IN_NAND 1 272df4dbb5dSTom Rini #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 273f904cdbbSDirk Behme #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 274f904cdbbSDirk Behme #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 275f904cdbbSDirk Behme 2766cbec7b3SLuca Ceresoli #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 2776cbec7b3SLuca Ceresoli #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 278f904cdbbSDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 279f904cdbbSDirk Behme 28053736baaSDirk Behme #define CONFIG_OMAP3_SPI 28153736baaSDirk Behme 2828e40852fSAneesh V #define CONFIG_SYS_CACHELINE_SIZE 64 2838e40852fSAneesh V 28475c57a35STom Rini /* Defines for SPL */ 28575c57a35STom Rini #define CONFIG_SPL_OMAP3_ID_NAND 28675c57a35STom Rini 28775c57a35STom Rini /* NAND boot config */ 28875c57a35STom Rini #define CONFIG_SYS_NAND_5_ADDR_CYCLE 28975c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_COUNT 64 29075c57a35STom Rini #define CONFIG_SYS_NAND_PAGE_SIZE 2048 29175c57a35STom Rini #define CONFIG_SYS_NAND_OOBSIZE 64 29275c57a35STom Rini #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 29375c57a35STom Rini #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 29475c57a35STom Rini #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 29575c57a35STom Rini 10, 11, 12, 13} 29675c57a35STom Rini #define CONFIG_SYS_NAND_ECCSIZE 512 29775c57a35STom Rini #define CONFIG_SYS_NAND_ECCBYTES 3 2983f719069Spekon gupta #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW 29975c57a35STom Rini #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 30075c57a35STom Rini 301f904cdbbSDirk Behme #endif /* __CONFIG_H */ 302