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 \ 126*bb5854c4SAdam 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" \ 15186887f8eSPeter Barada "addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0" \ 152208d14baSAdam Ford "common_bootargs=setenv bootargs ${bootargs} " \ 15349c7303fSAdam Ford "${optargs};" \ 15486887f8eSPeter Barada "run addmtdparts; " \ 15586887f8eSPeter Barada "run vrfb_arg\0" \ 156*bb5854c4SAdam Ford "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 15786887f8eSPeter Barada "bootscript=echo 'Running bootscript from mmc ...'; " \ 15886887f8eSPeter Barada "source ${loadaddr}\0" \ 15949c7303fSAdam Ford "loaduimage=mmc rescan; " \ 160*bb5854c4SAdam Ford "load mmc ${mmcdev} ${loadaddr} uImage\0" \ 16149c7303fSAdam Ford "loadzimage=mmc rescan; " \ 162*bb5854c4SAdam Ford "load mmc ${mmcdev} ${loadaddr} zImage\0" \ 16386887f8eSPeter Barada "ramdisksize=64000\0" \ 16486887f8eSPeter Barada "ramdiskimage=rootfs.ext2.gz.uboot\0" \ 16549c7303fSAdam Ford "loadramdisk=mmc rescan; " \ 166*bb5854c4SAdam Ford "load mmc ${mmcdev} ${rdaddr} ${ramdiskimage}\0" \ 16786887f8eSPeter Barada "ramargs=run setconsole; setenv bootargs console=${console} " \ 16886887f8eSPeter Barada "root=/dev/ram rw ramdisk_size=${ramdisksize}\0" \ 16949c7303fSAdam Ford "mmcargs=run setconsole; setenv bootargs console=${console} " \ 17049c7303fSAdam Ford "${optargs} " \ 17149c7303fSAdam Ford "root=${mmcroot} " \ 17249c7303fSAdam Ford "rootfstype=${mmcrootfstype}\0" \ 173a094c921SAdam Ford "nandargs=run setconsole; setenv bootargs console=${console} " \ 174a094c921SAdam Ford "${optargs} " \ 175a094c921SAdam Ford "root=${nandroot} " \ 176a094c921SAdam Ford "rootfstype=${nandrootfstype}\0" \ 177760d1afdSAdam Ford "nfsargs=run setconsole; setenv serverip ${tftpserver}; " \ 178760d1afdSAdam Ford "setenv bootargs console=${console} root=/dev/nfs " \ 179760d1afdSAdam Ford "nfsroot=${nfsrootpath} " \ 180760d1afdSAdam Ford "ip=${ipaddr}:${tftpserver}:${gatewayip}:${netmask}::eth0:off\0" \ 181760d1afdSAdam Ford "nfsrootpath=/opt/nfs-exports/omap\0" \ 182760d1afdSAdam Ford "autoload=no\0" \ 183*bb5854c4SAdam Ford "loadfdt=mmc rescan; " \ 184*bb5854c4SAdam Ford "load mmc ${mmcdev} ${fdtaddr} ${fdtimage}\0" \ 18549c7303fSAdam Ford "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 18649c7303fSAdam Ford "run mmcargs; " \ 18749c7303fSAdam Ford "run common_bootargs; " \ 18849c7303fSAdam Ford "run dump_bootargs; " \ 18949c7303fSAdam Ford "run loadzimage; " \ 190*bb5854c4SAdam Ford "run loadfdt; " \ 19149c7303fSAdam Ford "bootz ${loadaddr} - ${fdtaddr}\0" \ 19249c7303fSAdam Ford "mmcramboot=echo 'Booting uImage kernel from mmc w/ramdisk...'; " \ 19386887f8eSPeter Barada "run ramargs; " \ 19486887f8eSPeter Barada "run common_bootargs; " \ 19586887f8eSPeter Barada "run dump_bootargs; " \ 19686887f8eSPeter Barada "run loaduimage; " \ 19749c7303fSAdam Ford "run loadramdisk; " \ 198*bb5854c4SAdam Ford "bootm ${loadaddr} ${rdaddr}\0" \ 19949c7303fSAdam Ford "mmcrambootz=echo 'Booting zImage kernel from mmc w/ramdisk...'; " \ 20086887f8eSPeter Barada "run ramargs; " \ 20186887f8eSPeter Barada "run common_bootargs; " \ 20286887f8eSPeter Barada "run dump_bootargs; " \ 20349c7303fSAdam Ford "run loadzimage; " \ 20449c7303fSAdam Ford "run loadramdisk; " \ 205*bb5854c4SAdam Ford "run loadfdt; " \ 206*bb5854c4SAdam Ford "bootz ${loadaddr} ${rdaddr} ${fdtaddr};\0" \ 20749c7303fSAdam Ford "tftpboot=echo 'Booting kernel/ramdisk rootfs from tftp...'; " \ 20849c7303fSAdam Ford "run ramargs; " \ 20949c7303fSAdam Ford "run common_bootargs; " \ 21049c7303fSAdam Ford "run dump_bootargs; " \ 211760d1afdSAdam Ford "tftpboot ${loadaddr} ${zimage}; " \ 212*bb5854c4SAdam Ford "tftpboot ${rdaddr} ${ramdiskimage}; " \ 213*bb5854c4SAdam Ford "bootm ${loadaddr} ${rdaddr}\0" \ 214760d1afdSAdam Ford "tftpbootz=echo 'Booting kernel NFS rootfs...'; " \ 215760d1afdSAdam Ford "dhcp;" \ 216760d1afdSAdam Ford "run nfsargs;" \ 217760d1afdSAdam Ford "run common_bootargs;" \ 218760d1afdSAdam Ford "run dump_bootargs;" \ 219760d1afdSAdam Ford "tftpboot $loadaddr zImage;" \ 220760d1afdSAdam Ford "bootz $loadaddr\0" 22186887f8eSPeter Barada 22286887f8eSPeter Barada #define CONFIG_BOOTCOMMAND \ 22386887f8eSPeter Barada "run autoboot" 22486887f8eSPeter Barada 22549c7303fSAdam Ford /* Miscellaneous configurable options */ 2267b77b1f6SAdam Ford 22786887f8eSPeter Barada /* memtest works on */ 22886887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) 22986887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 23086887f8eSPeter Barada 0x01F00000) /* 31MB */ 23186887f8eSPeter Barada 23249c7303fSAdam Ford /* FLASH and environment organization */ 23386887f8eSPeter Barada 23486887f8eSPeter Barada /* **** PISMO SUPPORT *** */ 23586887f8eSPeter Barada #if defined(CONFIG_CMD_NAND) 236222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 23786887f8eSPeter Barada #endif 23886887f8eSPeter Barada 23986887f8eSPeter Barada /* Monitor at start of flash */ 24086887f8eSPeter Barada #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 24186887f8eSPeter Barada 24249c7303fSAdam Ford #define CONFIG_ENV_IS_IN_NAND 1 24349c7303fSAdam Ford #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 24486887f8eSPeter Barada #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 24586887f8eSPeter Barada 24686887f8eSPeter Barada #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 24749c7303fSAdam Ford #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 24849c7303fSAdam Ford #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 24986887f8eSPeter Barada 25049c7303fSAdam Ford /* SMSC922x Ethernet */ 25186887f8eSPeter Barada #if defined(CONFIG_CMD_NET) 25286887f8eSPeter Barada #define CONFIG_SMC911X 2531e1acc76SAdam Ford #define CONFIG_SMC911X_32_BIT 25486887f8eSPeter Barada #define CONFIG_SMC911X_BASE 0x08000000 25586887f8eSPeter Barada #endif /* (CONFIG_CMD_NET) */ 25686887f8eSPeter Barada 25749c7303fSAdam Ford /* Defines for SPL */ 25849c7303fSAdam Ford 25949c7303fSAdam Ford #define CONFIG_SPL_OMAP3_ID_NAND 26049c7303fSAdam Ford 26149c7303fSAdam Ford /* NAND: SPL falcon mode configs */ 26249c7303fSAdam Ford #ifdef CONFIG_SPL_OS_BOOT 26349c7303fSAdam Ford #define CONFIG_CMD_SPL_NAND_OFS 0x240000 26449c7303fSAdam Ford #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 26549c7303fSAdam Ford #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 26649c7303fSAdam Ford #endif 26749c7303fSAdam Ford 26886887f8eSPeter Barada #endif /* __CONFIG_H */ 269