1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2f904cdbbSDirk Behme /* 3f904cdbbSDirk Behme * (C) Copyright 2006-2008 4f904cdbbSDirk Behme * Texas Instruments. 5f904cdbbSDirk Behme * Richard Woodruff <r-woodruff2@ti.com> 6f904cdbbSDirk Behme * Syed Mohammed Khasim <x0khasim@ti.com> 7f904cdbbSDirk Behme * 8f904cdbbSDirk Behme * Configuration settings for the TI OMAP3530 Beagle board. 9f904cdbbSDirk Behme */ 10f904cdbbSDirk Behme 11f904cdbbSDirk Behme #ifndef __CONFIG_H 12f904cdbbSDirk Behme #define __CONFIG_H 13f904cdbbSDirk Behme 14df4dbb5dSTom Rini #include <configs/ti_omap3_common.h> 15f904cdbbSDirk Behme 164b37928dSDerald D. Woods /* 174b37928dSDerald D. Woods * We are only ever GP parts and will utilize all of the "downloaded image" 184b37928dSDerald D. Woods * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB). 194b37928dSDerald D. Woods */ 204b37928dSDerald D. Woods #undef CONFIG_SPL_TEXT_BASE 214b37928dSDerald D. Woods #define CONFIG_SPL_TEXT_BASE 0x40200000 224b37928dSDerald D. Woods 234b37928dSDerald D. Woods #define CONFIG_CMDLINE_TAG 244b37928dSDerald D. Woods #define CONFIG_SETUP_MEMORY_TAGS 254b37928dSDerald D. Woods #define CONFIG_INITRD_TAG 264b37928dSDerald D. Woods #define CONFIG_REVISION_TAG 27f904cdbbSDirk Behme 284b37928dSDerald D. Woods /* NAND */ 294b37928dSDerald D. Woods #if defined(CONFIG_NAND) 304b37928dSDerald D. Woods #define CONFIG_SYS_FLASH_BASE NAND_BASE 314b37928dSDerald D. Woods #define CONFIG_SYS_MAX_NAND_DEVICE 1 324b37928dSDerald D. Woods #define CONFIG_SYS_NAND_5_ADDR_CYCLE 334b37928dSDerald D. Woods #define CONFIG_SYS_NAND_PAGE_COUNT 64 344b37928dSDerald D. Woods #define CONFIG_SYS_NAND_PAGE_SIZE 2048 354b37928dSDerald D. Woods #define CONFIG_SYS_NAND_OOBSIZE 64 364b37928dSDerald D. Woods #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 374b37928dSDerald D. Woods #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 384b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 394b37928dSDerald D. Woods 10, 11, 12, 13} 404b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCSIZE 512 414b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCBYTES 3 424b37928dSDerald D. Woods #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 434b37928dSDerald D. Woods #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 44d233ccb1SDerald D. Woods #define CONFIG_SYS_ENV_SECT_SIZE SZ_128K 454b37928dSDerald D. Woods #define CONFIG_ENV_OFFSET 0x260000 464b37928dSDerald D. Woods #define CONFIG_ENV_ADDR 0x260000 47f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE 484b37928dSDerald D. Woods /* NAND: SPL falcon mode configs */ 494b37928dSDerald D. Woods #if defined(CONFIG_SPL_OS_BOOT) 50d233ccb1SDerald D. Woods #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x2a0000 514b37928dSDerald D. Woods #endif /* CONFIG_SPL_OS_BOOT */ 524b37928dSDerald D. Woods #endif /* CONFIG_NAND */ 53f904cdbbSDirk Behme 54d90859a6SAlexander Holler /* USB EHCI */ 5529321c05SIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 147 5629321c05SIlya Yanok 574b37928dSDerald D. Woods /* Enable Multi Bus support for I2C */ 584b37928dSDerald D. Woods #define CONFIG_I2C_MULTI_BUS 59df4dbb5dSTom Rini 604b37928dSDerald D. Woods /* DSS Support */ 61f904cdbbSDirk Behme 624b37928dSDerald D. Woods /* TWL4030 LED Support */ 63f904cdbbSDirk Behme 64d233ccb1SDerald D. Woods /* Environment */ 65d233ccb1SDerald D. Woods #define CONFIG_ENV_SIZE SZ_128K 66c721fd6eSGuillaume GARDET 67d233ccb1SDerald D. Woods #define CONFIG_PREBOOT "usb start" 68d233ccb1SDerald D. Woods 69d233ccb1SDerald D. Woods #define MEM_LAYOUT_ENV_SETTINGS \ 70d233ccb1SDerald D. Woods DEFAULT_LINUX_BOOT_ENV 71d233ccb1SDerald D. Woods 72d233ccb1SDerald D. Woods #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \ 73d233ccb1SDerald D. Woods "bootcmd_" #devtypel #instance "=" \ 74d233ccb1SDerald D. Woods "setenv mmcdev " #instance "; " \ 75d233ccb1SDerald D. Woods "run mmcboot\0" 76d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \ 77d233ccb1SDerald D. Woods #devtypel #instance " " 78d233ccb1SDerald D. Woods 79d233ccb1SDerald D. Woods #if defined(CONFIG_NAND) 80d233ccb1SDerald D. Woods 81d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \ 82d233ccb1SDerald D. Woods "bootcmd_" #devtypel #instance "=" \ 83d233ccb1SDerald D. Woods "if test ${mtdids} = '' || test ${mtdparts} = '' ; then " \ 84d233ccb1SDerald D. Woods "echo NAND boot disabled: No mtdids and/or mtdparts; " \ 85c721fd6eSGuillaume GARDET "else " \ 86c721fd6eSGuillaume GARDET "run nandboot; " \ 87d233ccb1SDerald D. Woods "fi\0" 88d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \ 89d233ccb1SDerald D. Woods #devtypel #instance " " 90d233ccb1SDerald D. Woods 91d233ccb1SDerald D. Woods #define BOOT_TARGET_DEVICES(func) \ 92d233ccb1SDerald D. Woods func(MMC, mmc, 0) \ 93d233ccb1SDerald D. Woods func(LEGACY_MMC, legacy_mmc, 0) \ 94d233ccb1SDerald D. Woods func(UBIFS, ubifs, 0) \ 95d233ccb1SDerald D. Woods func(NAND, nand, 0) 96d233ccb1SDerald D. Woods 97d233ccb1SDerald D. Woods #else /* !CONFIG_NAND */ 98d233ccb1SDerald D. Woods 99d233ccb1SDerald D. Woods #define BOOT_TARGET_DEVICES(func) \ 100d233ccb1SDerald D. Woods func(MMC, mmc, 0) \ 101d233ccb1SDerald D. Woods func(LEGACY_MMC, legacy_mmc, 0) 102d233ccb1SDerald D. Woods 103d233ccb1SDerald D. Woods #endif /* CONFIG_NAND */ 104c721fd6eSGuillaume GARDET 105c721fd6eSGuillaume GARDET #include <config_distro_bootcmd.h> 106c721fd6eSGuillaume GARDET 107f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 108d233ccb1SDerald D. Woods MEM_LAYOUT_ENV_SETTINGS \ 109d233ccb1SDerald D. Woods "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ 1102ade496fSNishanth Menon "fdt_high=0xffffffff\0" \ 11127b8c8f2SKoen Kooi "console=ttyO2,115200n8\0" \ 112d233ccb1SDerald D. Woods "bootdir=/boot\0" \ 113d233ccb1SDerald D. Woods "bootenv=uEnv.txt\0" \ 114d233ccb1SDerald D. Woods "bootfile=zImage\0" \ 115d233ccb1SDerald D. Woods "bootpart=0:2\0" \ 116d233ccb1SDerald D. Woods "bootubivol=rootfs\0" \ 117d233ccb1SDerald D. Woods "bootubipart=rootfs\0" \ 118d233ccb1SDerald D. Woods "usbtty=cdc_acm\0" \ 119f6e593bbSKoen Kooi "mpurate=auto\0" \ 120847b83d0SPeter Meerwald "buddy=none\0" \ 121c522eac4SJason Kridner "camera=none\0" \ 12213d2cb98SSteve Sakoman "vram=12M\0" \ 123f4b36ea9SJason Kridner "dvimode=640x480MR-16@60\0" \ 12413d2cb98SSteve Sakoman "defaultdisplay=dvi\0" \ 125d233ccb1SDerald D. Woods "defaultargs=setenv defargs " \ 1265af32460SSteve Sakoman "mpurate=${mpurate} " \ 127b1660314SKoen Kooi "buddy=${buddy} "\ 128c522eac4SJason Kridner "camera=${camera} "\ 12913d2cb98SSteve Sakoman "vram=${vram} " \ 13013d2cb98SSteve Sakoman "omapfb.mode=dvi:${dvimode} " \ 131d233ccb1SDerald D. Woods "omapdss.def_disp=${defaultdisplay}\0" \ 132d233ccb1SDerald D. Woods "optargs=\0" \ 1332ade496fSNishanth Menon "findfdt=" \ 1342ade496fSNishanth Menon "if test $beaglerev = AxBx; then " \ 1352ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1362ade496fSNishanth Menon "if test $beaglerev = Cx; then " \ 1372ade496fSNishanth Menon "setenv fdtfile omap3-beagle.dtb; fi; " \ 1385c9038b6SRobert Nelson "if test $beaglerev = C4; then " \ 1395c9038b6SRobert Nelson "setenv fdtfile omap3-beagle.dtb; fi; " \ 1402ade496fSNishanth Menon "if test $beaglerev = xMAB; then " \ 1413d47ffb9SRobert Nelson "setenv fdtfile omap3-beagle-xm-ab.dtb; fi; " \ 1422ade496fSNishanth Menon "if test $beaglerev = xMC; then " \ 1432ade496fSNishanth Menon "setenv fdtfile omap3-beagle-xm.dtb; fi; " \ 1442ade496fSNishanth Menon "if test $fdtfile = undefined; then " \ 145d233ccb1SDerald D. Woods "echo WARNING: Could not determine device tree to use; fi\0" \ 146d233ccb1SDerald D. Woods "mmcdev=0\0" \ 147d233ccb1SDerald D. Woods "mmcpart=2\0" \ 148d233ccb1SDerald D. Woods "mmcroot=/dev/mmcblk0p2 rw\0" \ 149d233ccb1SDerald D. Woods "mmcrootfstype=ext4 rootwait\0" \ 150d233ccb1SDerald D. Woods "mmcargs=run defaultargs; setenv bootargs console=${console} " \ 151d233ccb1SDerald D. Woods "${mtdparts} " \ 152d233ccb1SDerald D. Woods "${defargs} " \ 153d233ccb1SDerald D. Woods "${optargs} " \ 154d233ccb1SDerald D. Woods "root=${mmcroot} " \ 155d233ccb1SDerald D. Woods "rootfstype=${mmcrootfstype}\0" \ 156d233ccb1SDerald D. Woods "userbutton_xm=gpio input 4;\0" \ 157d233ccb1SDerald D. Woods "userbutton_nonxm=gpio input 7;\0" \ 158d233ccb1SDerald D. Woods "userbutton=if gpio input 173; then " \ 159d233ccb1SDerald D. Woods "run userbutton_xm; " \ 160d233ccb1SDerald D. Woods "else " \ 161d233ccb1SDerald D. Woods "run userbutton_nonxm; " \ 162d233ccb1SDerald D. Woods "fi;\0" \ 163d233ccb1SDerald D. Woods "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 164d233ccb1SDerald D. Woods "ext4bootenv=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootenv}\0" \ 165d233ccb1SDerald D. Woods "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ 166d233ccb1SDerald D. Woods "env import -t ${loadaddr} ${filesize}\0" \ 167d233ccb1SDerald D. Woods "mmcbootenv=setenv bootpart ${mmcdev}:${mmcpart}; " \ 168d233ccb1SDerald D. Woods "mmc dev ${mmcdev}; " \ 169d233ccb1SDerald D. Woods "if mmc rescan; then " \ 170d233ccb1SDerald D. Woods "if run userbutton; then " \ 171d233ccb1SDerald D. Woods "setenv bootenv uEnv.txt;" \ 172d233ccb1SDerald D. Woods "else " \ 173d233ccb1SDerald D. Woods "setenv bootenv user.txt;" \ 174d233ccb1SDerald D. Woods "fi;" \ 175d233ccb1SDerald D. Woods "run loadbootenv && run importbootenv; " \ 176d233ccb1SDerald D. Woods "run ext4bootenv && run importbootenv; " \ 177d233ccb1SDerald D. Woods "if test -n $uenvcmd; then " \ 178d233ccb1SDerald D. Woods "echo Running uenvcmd ...; " \ 179d233ccb1SDerald D. Woods "run uenvcmd; " \ 180d233ccb1SDerald D. Woods "fi; " \ 181d233ccb1SDerald D. Woods "fi\0" \ 1824fa2427cSRobert Nelson "validatefdt=" \ 1834fa2427cSRobert Nelson "if test $beaglerev = xMAB; then " \ 1844fa2427cSRobert Nelson "if test ! -e mmc ${bootpart} ${bootdir}/${fdtfile}; then " \ 1854fa2427cSRobert Nelson "setenv fdtfile omap3-beagle-xm.dtb; " \ 1864fa2427cSRobert Nelson "fi; " \ 1874fa2427cSRobert Nelson "fi; \0" \ 188d233ccb1SDerald D. Woods "loadimage=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 189d233ccb1SDerald D. Woods "loaddtb=run validatefdt; ext4load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 190d233ccb1SDerald D. Woods "mmcboot=run mmcbootenv; " \ 191d233ccb1SDerald D. Woods "if run loadimage && run loaddtb; then " \ 192d233ccb1SDerald D. Woods "echo Booting ${bootdir}/${bootfile} from mmc ${bootpart} ...; " \ 193d233ccb1SDerald D. Woods "run mmcargs; " \ 194d233ccb1SDerald D. Woods "if test ${bootfile} = uImage; then " \ 195d233ccb1SDerald D. Woods "bootm ${loadaddr} - ${fdtaddr}; " \ 196d233ccb1SDerald D. Woods "fi; " \ 197d233ccb1SDerald D. Woods "if test ${bootfile} = zImage; then " \ 198d233ccb1SDerald D. Woods "bootz ${loadaddr} - ${fdtaddr}; " \ 199d233ccb1SDerald D. Woods "fi; " \ 200d233ccb1SDerald D. Woods "fi\0" \ 201d233ccb1SDerald D. Woods "nandroot=ubi0:rootfs ubi.mtd=rootfs rw\0" \ 202d233ccb1SDerald D. Woods "nandrootfstype=ubifs rootwait\0" \ 203d233ccb1SDerald D. Woods "nandargs=run defaultargs; setenv bootargs console=${console} " \ 204d233ccb1SDerald D. Woods "${mtdparts} " \ 205d233ccb1SDerald D. Woods "${defargs} " \ 206f4b36ea9SJason Kridner "${optargs} " \ 207d233ccb1SDerald D. Woods "root=${nandroot} " \ 208d233ccb1SDerald D. Woods "rootfstype=${nandrootfstype}\0" \ 209d233ccb1SDerald D. Woods "nandboot=if nand read ${loadaddr} kernel && nand read ${fdtaddr} dtb; then " \ 210d233ccb1SDerald D. Woods "echo Booting uImage from NAND MTD 'kernel' partition ...; " \ 211f904cdbbSDirk Behme "run nandargs; " \ 212d233ccb1SDerald D. Woods "bootm ${loadaddr} - ${fdtaddr}; " \ 213d233ccb1SDerald D. Woods "fi\0" \ 214d233ccb1SDerald D. Woods "loadramdisk=ext4load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \ 215d233ccb1SDerald D. Woods "ramdisk=rootfs.ext2.gz.uboot\0" \ 216d233ccb1SDerald D. Woods "ramdisk_size=16384\0" \ 217d233ccb1SDerald D. Woods "ramroot=/dev/ram rw\0" \ 218d233ccb1SDerald D. Woods "ramrootfstype=ext2\0" \ 219d233ccb1SDerald D. Woods "ramargs=run defaultargs; setenv bootargs console=${console} " \ 220d233ccb1SDerald D. Woods "${mtdparts} " \ 221d233ccb1SDerald D. Woods "${defargs} " \ 222d233ccb1SDerald D. Woods "${optargs} " \ 223d233ccb1SDerald D. Woods "root=${ramroot} ramdisk_size=${ramdisk_size} " \ 224d233ccb1SDerald D. Woods "rootfstype=${ramrootfstype}\0" \ 225d233ccb1SDerald D. Woods "ramboot=run mmcbootenv; " \ 226d233ccb1SDerald D. Woods "if run loadimage && run loaddtb && run loadramdisk; then " \ 227d233ccb1SDerald D. Woods "echo Booting ${bootdir}/${bootfile} from mmc ${bootpart} w/ramdisk ...; " \ 228f4b36ea9SJason Kridner "run ramargs; " \ 229d233ccb1SDerald D. Woods "bootz ${loadaddr} ${rdaddr} ${fdtaddr}; " \ 230d233ccb1SDerald D. Woods "fi\0" \ 231c721fd6eSGuillaume GARDET BOOTENV 232f904cdbbSDirk Behme 233f904cdbbSDirk Behme #endif /* __CONFIG_H */ 234