186887f8eSPeter Barada /* 286887f8eSPeter Barada * (C) Copyright 2011 Logic Product Development <www.logicpd.com> 386887f8eSPeter Barada * Peter Barada <peter.barada@logicpd.com> 486887f8eSPeter Barada * 586887f8eSPeter Barada * Configuration settings for the Logic OMAP35x/DM37x SOM LV/Torpedo 686887f8eSPeter Barada * reference boards. 786887f8eSPeter Barada * 81a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 986887f8eSPeter Barada */ 1086887f8eSPeter Barada 1186887f8eSPeter Barada #ifndef __CONFIG_H 1286887f8eSPeter Barada #define __CONFIG_H 1386887f8eSPeter Barada 1449c7303fSAdam Ford /* High Level Configuration Options */ 1586887f8eSPeter Barada 167b77b1f6SAdam Ford #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 1749c7303fSAdam Ford 187b77b1f6SAdam Ford #include <configs/ti_omap3_common.h> 1949c7303fSAdam Ford 20fa2f81b0STom Rini /* 21fa2f81b0STom Rini * We are only ever GP parts and will utilize all of the "downloaded image" 22fa2f81b0STom Rini * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB) in 23fa2f81b0STom Rini * order to allow for BCH8 to fit in. 24fa2f81b0STom Rini */ 25f92dfc87SAdam Ford #undef CONFIG_SPL_TEXT_BASE 26f92dfc87SAdam Ford #define CONFIG_SPL_TEXT_BASE 0x40200000 27f92dfc87SAdam Ford 2826ef7a27SAdam Ford #define CONFIG_BOARD_LATE_INIT 2986887f8eSPeter Barada #define CONFIG_MISC_INIT_R /* misc_init_r dumps the die id */ 3086887f8eSPeter Barada #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 3186887f8eSPeter Barada #define CONFIG_SETUP_MEMORY_TAGS 3286887f8eSPeter Barada #define CONFIG_INITRD_TAG 3386887f8eSPeter Barada #define CONFIG_REVISION_TAG 3486887f8eSPeter Barada 3549c7303fSAdam Ford /* Hardware drivers */ 3686887f8eSPeter Barada 37b99353b8SAdam Ford /* GPIO banks */ 38b99353b8SAdam Ford #define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO bank 6 */ 39b99353b8SAdam Ford 4049c7303fSAdam Ford #define CONFIG_USB_OMAP3 4149c7303fSAdam Ford 4249c7303fSAdam Ford /* select serial console configuration */ 437b77b1f6SAdam Ford #undef CONFIG_CONS_INDEX 4486887f8eSPeter Barada #define CONFIG_CONS_INDEX 1 4586887f8eSPeter Barada #define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1 4686887f8eSPeter Barada #define CONFIG_SERIAL1 1 /* UART1 on OMAP Logic boards */ 4786887f8eSPeter Barada 4886887f8eSPeter Barada /* commands to include */ 4949c7303fSAdam Ford #define CONFIG_CMD_NAND 5049c7303fSAdam Ford #define CONFIG_CMD_MTDPARTS 5186887f8eSPeter Barada #define CONFIG_CMD_NAND_LOCK_UNLOCK /* nand (un)lock commands */ 5286887f8eSPeter Barada 5349c7303fSAdam Ford /* I2C */ 546789e84eSHeiko Schocher #define CONFIG_SYS_I2C_OMAP34XX 5549c7303fSAdam Ford #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM AT24C64 */ 5649c7303fSAdam Ford #define EXPANSION_EEPROM_I2C_BUS 2 /* I2C Bus for AT24C64 */ 5749c7303fSAdam Ford #define CONFIG_OMAP3_LOGIC_USE_NEW_PRODUCT_ID 5886887f8eSPeter Barada 59588e41d2SAdam Ford /* USB */ 60588e41d2SAdam Ford #define CONFIG_USB_MUSB_OMAP2PLUS 61588e41d2SAdam Ford #define CONFIG_USB_MUSB_PIO_ONLY 62588e41d2SAdam Ford #define CONFIG_USB_ETHER 63588e41d2SAdam Ford #define CONFIG_USB_ETHER_RNDIS 64588e41d2SAdam Ford #define CONFIG_USB_FUNCTION_FASTBOOT 65588e41d2SAdam Ford #define CONFIG_CMD_FASTBOOT 66588e41d2SAdam Ford #define CONFIG_ANDROID_BOOT_IMAGE 67588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR 68588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 69588e41d2SAdam Ford 7049c7303fSAdam Ford /* TWL4030 */ 7149c7303fSAdam Ford #define CONFIG_TWL4030_PWM 72588e41d2SAdam Ford #define CONFIG_TWL4030_USB 737b77b1f6SAdam Ford 7449c7303fSAdam Ford /* Board NAND Info. */ 7549c7303fSAdam Ford #ifdef CONFIG_NAND 7686887f8eSPeter Barada #define CONFIG_NAND_OMAP_GPMC 7749c7303fSAdam Ford 7849c7303fSAdam Ford #define CONFIG_CMD_UBIFS /* Read-only UBI volume operations */ 7949c7303fSAdam Ford #define CONFIG_RBTREE /* required by CONFIG_CMD_UBI */ 8049c7303fSAdam Ford #define CONFIG_LZO /* required by CONFIG_CMD_UBIFS */ 8149c7303fSAdam Ford 8286887f8eSPeter Barada #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 8386887f8eSPeter Barada /* to access nand */ 8486887f8eSPeter Barada #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of */ 8586887f8eSPeter Barada /* NAND devices */ 8655f1b39fSStefano Babic #define CONFIG_SYS_NAND_BUSWIDTH_16BIT 8749c7303fSAdam Ford #define CONFIG_SYS_NAND_5_ADDR_CYCLE 8849c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_COUNT 64 8949c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_SIZE 2048 9049c7303fSAdam Ford #define CONFIG_SYS_NAND_OOBSIZE 64 9149c7303fSAdam Ford #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 9249c7303fSAdam Ford #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 9349c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ 9449c7303fSAdam Ford 13, 14, 16, 17, 18, 19, 20, 21, 22, \ 9549c7303fSAdam Ford 23, 24, 25, 26, 27, 28, 30, 31, 32, \ 9649c7303fSAdam Ford 33, 34, 35, 36, 37, 38, 39, 40, 41, \ 9749c7303fSAdam Ford 42, 44, 45, 46, 47, 48, 49, 50, 51, \ 9849c7303fSAdam Ford 52, 53, 54, 55, 56} 997b77b1f6SAdam Ford 10049c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCSIZE 512 10149c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCBYTES 13 10249c7303fSAdam Ford #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 10349c7303fSAdam Ford #define CONFIG_BCH 10449c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_OOBFREE 2 10549c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_ECCPOS 56 10649c7303fSAdam Ford #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 10749c7303fSAdam Ford #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 10849c7303fSAdam Ford #define CONFIG_MTD_PARTITIONS /* required for UBI partition support */ 10949c7303fSAdam Ford #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 11012262340SAdam Ford #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:"\ 11112262340SAdam Ford "512k(MLO),"\ 11212262340SAdam Ford "1792k(u-boot),"\ 11312262340SAdam Ford "128k(spl-os)," \ 11412262340SAdam Ford "128k(u-boot-env),"\ 11512262340SAdam Ford "6m(kernel),-(fs)" 11649c7303fSAdam Ford #endif 11786887f8eSPeter Barada 11886887f8eSPeter Barada /* Environment information */ 11986887f8eSPeter Barada 12086887f8eSPeter Barada #define CONFIG_PREBOOT \ 12186887f8eSPeter Barada "setenv preboot;" \ 12249c7303fSAdam Ford "nand unlock;" \ 12386887f8eSPeter Barada "saveenv;" 12486887f8eSPeter Barada 12586887f8eSPeter Barada #define CONFIG_EXTRA_ENV_SETTINGS \ 126bb5854c4SAdam Ford DEFAULT_LINUX_BOOT_ENV \ 12786887f8eSPeter Barada "mtdids=" MTDIDS_DEFAULT "\0" \ 12886887f8eSPeter Barada "mtdparts=" MTDPARTS_DEFAULT "\0" \ 12986887f8eSPeter Barada "mmcdev=0\0" \ 13049c7303fSAdam Ford "mmcroot=/dev/mmcblk0p2 rw\0" \ 13149c7303fSAdam Ford "mmcrootfstype=ext4 rootwait\0" \ 132a094c921SAdam Ford "nandroot=ubi0:rootfs rw ubi.mtd=fs noinitrd\0" \ 133a094c921SAdam Ford "nandrootfstype=ubifs rootwait\0" \ 13466968110SAndrew Bradford "autoboot=mmc dev ${mmcdev}; if mmc rescan; then " \ 13586887f8eSPeter Barada "if run loadbootscript; then " \ 13686887f8eSPeter Barada "run bootscript; " \ 13786887f8eSPeter Barada "else " \ 13886887f8eSPeter Barada "run defaultboot;" \ 13986887f8eSPeter Barada "fi; " \ 14086887f8eSPeter Barada "else run defaultboot; fi\0" \ 14186887f8eSPeter Barada "defaultboot=run mmcramboot\0" \ 14286887f8eSPeter Barada "consoledevice=ttyO0\0" \ 14386887f8eSPeter Barada "setconsole=setenv console ${consoledevice},${baudrate}n8\0" \ 14486887f8eSPeter Barada "dump_bootargs=echo 'Bootargs: '; echo $bootargs\0" \ 14586887f8eSPeter Barada "rotation=0\0" \ 14686887f8eSPeter Barada "vrfb_arg=if itest ${rotation} -ne 0; then " \ 14786887f8eSPeter Barada "setenv bootargs ${bootargs} omapfb.vrfb=y " \ 14886887f8eSPeter Barada "omapfb.rotate=${rotation}; " \ 14986887f8eSPeter Barada "fi\0" \ 15049c7303fSAdam Ford "optargs=ignore_loglevel early_printk no_console_suspend\0" \ 151*476e16e8SAdam Ford "common_bootargs=run setconsole; setenv bootargs " \ 152*476e16e8SAdam Ford "${bootargs} "\ 153*476e16e8SAdam Ford "console=${console} " \ 154*476e16e8SAdam Ford "${mtdparts} "\ 15549c7303fSAdam Ford "${optargs}; " \ 15686887f8eSPeter Barada "run vrfb_arg\0" \ 157bb5854c4SAdam Ford "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 15886887f8eSPeter Barada "bootscript=echo 'Running bootscript from mmc ...'; " \ 15986887f8eSPeter Barada "source ${loadaddr}\0" \ 160*476e16e8SAdam Ford "loadimage=mmc rescan; " \ 161*476e16e8SAdam Ford "load mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \ 16286887f8eSPeter Barada "ramdisksize=64000\0" \ 16386887f8eSPeter Barada "ramdiskimage=rootfs.ext2.gz.uboot\0" \ 16449c7303fSAdam Ford "loadramdisk=mmc rescan; " \ 165bb5854c4SAdam Ford "load mmc ${mmcdev} ${rdaddr} ${ramdiskimage}\0" \ 166*476e16e8SAdam Ford "ramargs=setenv bootargs "\ 16786887f8eSPeter Barada "root=/dev/ram rw ramdisk_size=${ramdisksize}\0" \ 168*476e16e8SAdam Ford "mmcargs=setenv bootargs "\ 169*476e16e8SAdam Ford "root=${mmcroot} rootfstype=${mmcrootfstype}\0" \ 170*476e16e8SAdam Ford "nandargs=setenv bootargs "\ 171a094c921SAdam Ford "root=${nandroot} " \ 172a094c921SAdam Ford "rootfstype=${nandrootfstype}\0" \ 173*476e16e8SAdam Ford "nfsargs=setenv serverip ${tftpserver}; " \ 174*476e16e8SAdam Ford "setenv bootargs root=/dev/nfs " \ 175760d1afdSAdam Ford "nfsroot=${nfsrootpath} " \ 176760d1afdSAdam Ford "ip=${ipaddr}:${tftpserver}:${gatewayip}:${netmask}::eth0:off\0" \ 177760d1afdSAdam Ford "nfsrootpath=/opt/nfs-exports/omap\0" \ 178760d1afdSAdam Ford "autoload=no\0" \ 179bb5854c4SAdam Ford "loadfdt=mmc rescan; " \ 180bb5854c4SAdam Ford "load mmc ${mmcdev} ${fdtaddr} ${fdtimage}\0" \ 181*476e16e8SAdam Ford "mmcbootcommon=echo Booting with DT from mmc${mmcdev} ...; " \ 18249c7303fSAdam Ford "run mmcargs; " \ 18349c7303fSAdam Ford "run common_bootargs; " \ 18449c7303fSAdam Ford "run dump_bootargs; " \ 185*476e16e8SAdam Ford "run loadimage; " \ 186*476e16e8SAdam Ford "run loadfdt;\0 " \ 187*476e16e8SAdam Ford "mmcbootz=setenv bootfile zImage; " \ 188*476e16e8SAdam Ford "run mmcbootcommon; "\ 18949c7303fSAdam Ford "bootz ${loadaddr} - ${fdtaddr}\0" \ 190*476e16e8SAdam Ford "mmcboot=setenv bootfile uImage; "\ 191*476e16e8SAdam Ford "run mmcbootcommon; "\ 192*476e16e8SAdam Ford "bootm ${loadaddr} - ${fdtaddr}\0" \ 193*476e16e8SAdam Ford "mmcrambootcommon=echo 'Booting kernel from MMC w/ramdisk...'; " \ 19486887f8eSPeter Barada "run ramargs; " \ 19586887f8eSPeter Barada "run common_bootargs; " \ 19686887f8eSPeter Barada "run dump_bootargs; " \ 197*476e16e8SAdam Ford "run loadimage; " \ 198bb5854c4SAdam Ford "run loadfdt; " \ 199*476e16e8SAdam Ford "run loadramdisk\0" \ 200*476e16e8SAdam Ford "mmcramboot=setenv bootfile uImage; " \ 201*476e16e8SAdam Ford "run mmcrambootcommon; " \ 202*476e16e8SAdam Ford "bootm ${loadaddr} ${rdaddr} ${fdtimage}\0" \ 203*476e16e8SAdam Ford "mmcrambootz=setenv bootfile zImage; " \ 204*476e16e8SAdam Ford "run mmcrambootcommon; " \ 205*476e16e8SAdam Ford "bootz ${loadaddr} ${rdaddr} ${fdtimage}\0" \ 20649c7303fSAdam Ford "tftpboot=echo 'Booting kernel/ramdisk rootfs from tftp...'; " \ 20749c7303fSAdam Ford "run ramargs; " \ 20849c7303fSAdam Ford "run common_bootargs; " \ 20949c7303fSAdam Ford "run dump_bootargs; " \ 210760d1afdSAdam Ford "tftpboot ${loadaddr} ${zimage}; " \ 211bb5854c4SAdam Ford "tftpboot ${rdaddr} ${ramdiskimage}; " \ 212bb5854c4SAdam Ford "bootm ${loadaddr} ${rdaddr}\0" \ 213760d1afdSAdam Ford "tftpbootz=echo 'Booting kernel NFS rootfs...'; " \ 214760d1afdSAdam Ford "dhcp;" \ 215760d1afdSAdam Ford "run nfsargs;" \ 216760d1afdSAdam Ford "run common_bootargs;" \ 217760d1afdSAdam Ford "run dump_bootargs;" \ 218760d1afdSAdam Ford "tftpboot $loadaddr zImage;" \ 219*476e16e8SAdam Ford "bootz $loadaddr\0" \ 220*476e16e8SAdam Ford "nandbootcommon=echo 'Booting kernel from NAND...';" \ 221*476e16e8SAdam Ford "nand unlock;" \ 222*476e16e8SAdam Ford "run nandargs;" \ 223*476e16e8SAdam Ford "run common_bootargs;" \ 224*476e16e8SAdam Ford "run dump_bootargs;" \ 225*476e16e8SAdam Ford "nand read ${loadaddr} kernel;" \ 226*476e16e8SAdam Ford "nand read ${fdtaddr} spl-os;\0" \ 227*476e16e8SAdam Ford "nandbootz=run nandbootcommon; "\ 228*476e16e8SAdam Ford "bootz ${loadaddr} - ${fdtaddr}\0"\ 229*476e16e8SAdam Ford "nandboot=run nandbootcommon; "\ 230*476e16e8SAdam Ford "bootm ${loadaddr} - ${fdtaddr}\0"\ 23186887f8eSPeter Barada 23286887f8eSPeter Barada #define CONFIG_BOOTCOMMAND \ 23386887f8eSPeter Barada "run autoboot" 23486887f8eSPeter Barada 23549c7303fSAdam Ford /* Miscellaneous configurable options */ 2367b77b1f6SAdam Ford 23786887f8eSPeter Barada /* memtest works on */ 23886887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) 23986887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 24086887f8eSPeter Barada 0x01F00000) /* 31MB */ 24186887f8eSPeter Barada 24249c7303fSAdam Ford /* FLASH and environment organization */ 24386887f8eSPeter Barada 24486887f8eSPeter Barada /* **** PISMO SUPPORT *** */ 24586887f8eSPeter Barada #if defined(CONFIG_CMD_NAND) 246222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 24786887f8eSPeter Barada #endif 24886887f8eSPeter Barada 24986887f8eSPeter Barada /* Monitor at start of flash */ 25086887f8eSPeter Barada #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 25186887f8eSPeter Barada 25249c7303fSAdam Ford #define CONFIG_ENV_IS_IN_NAND 1 25349c7303fSAdam Ford #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 25486887f8eSPeter Barada #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 25586887f8eSPeter Barada 25686887f8eSPeter Barada #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 25749c7303fSAdam Ford #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 25849c7303fSAdam Ford #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 25986887f8eSPeter Barada 26049c7303fSAdam Ford /* SMSC922x Ethernet */ 26186887f8eSPeter Barada #if defined(CONFIG_CMD_NET) 26286887f8eSPeter Barada #define CONFIG_SMC911X 2631e1acc76SAdam Ford #define CONFIG_SMC911X_32_BIT 26486887f8eSPeter Barada #define CONFIG_SMC911X_BASE 0x08000000 26586887f8eSPeter Barada #endif /* (CONFIG_CMD_NET) */ 26686887f8eSPeter Barada 26749c7303fSAdam Ford /* Defines for SPL */ 26849c7303fSAdam Ford 26949c7303fSAdam Ford #define CONFIG_SPL_OMAP3_ID_NAND 27049c7303fSAdam Ford 27149c7303fSAdam Ford /* NAND: SPL falcon mode configs */ 27249c7303fSAdam Ford #ifdef CONFIG_SPL_OS_BOOT 27349c7303fSAdam Ford #define CONFIG_CMD_SPL_NAND_OFS 0x240000 27449c7303fSAdam Ford #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 27549c7303fSAdam Ford #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 27649c7303fSAdam Ford #endif 27749c7303fSAdam Ford 27886887f8eSPeter Barada #endif /* __CONFIG_H */ 279