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 #define CONFIG_CMDLINE_EDITING /* cmd line edit/history */ 3586887f8eSPeter Barada 3649c7303fSAdam Ford /* Hardware drivers */ 3786887f8eSPeter Barada 38b99353b8SAdam Ford /* GPIO banks */ 39b99353b8SAdam Ford #define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO bank 6 */ 40b99353b8SAdam Ford 4149c7303fSAdam Ford #define CONFIG_USB_OMAP3 4249c7303fSAdam Ford 4349c7303fSAdam Ford /* select serial console configuration */ 447b77b1f6SAdam Ford #undef CONFIG_CONS_INDEX 4586887f8eSPeter Barada #define CONFIG_CONS_INDEX 1 4686887f8eSPeter Barada #define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1 4786887f8eSPeter Barada #define CONFIG_SERIAL1 1 /* UART1 on OMAP Logic boards */ 4886887f8eSPeter Barada 4986887f8eSPeter Barada /* commands to include */ 5049c7303fSAdam Ford #define CONFIG_CMD_NAND 5149c7303fSAdam Ford #define CONFIG_CMD_MTDPARTS 5286887f8eSPeter Barada #define CONFIG_CMD_NAND_LOCK_UNLOCK /* nand (un)lock commands */ 5386887f8eSPeter Barada 5449c7303fSAdam Ford /* I2C */ 556789e84eSHeiko Schocher #define CONFIG_SYS_I2C_OMAP34XX 5649c7303fSAdam Ford #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM AT24C64 */ 5749c7303fSAdam Ford #define EXPANSION_EEPROM_I2C_BUS 2 /* I2C Bus for AT24C64 */ 5849c7303fSAdam Ford #define CONFIG_OMAP3_LOGIC_USE_NEW_PRODUCT_ID 5986887f8eSPeter Barada 60588e41d2SAdam Ford /* USB */ 61588e41d2SAdam Ford #define CONFIG_USB_MUSB_OMAP2PLUS 62588e41d2SAdam Ford #define CONFIG_USB_MUSB_PIO_ONLY 63588e41d2SAdam Ford #define CONFIG_USB_ETHER 64588e41d2SAdam Ford #define CONFIG_USB_ETHER_RNDIS 65588e41d2SAdam Ford #define CONFIG_USB_FUNCTION_FASTBOOT 66588e41d2SAdam Ford #define CONFIG_CMD_FASTBOOT 67588e41d2SAdam Ford #define CONFIG_ANDROID_BOOT_IMAGE 68588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR 69588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 70588e41d2SAdam Ford 7149c7303fSAdam Ford /* TWL4030 */ 7249c7303fSAdam Ford #define CONFIG_TWL4030_PWM 73588e41d2SAdam Ford #define CONFIG_TWL4030_USB 747b77b1f6SAdam Ford 7549c7303fSAdam Ford /* Board NAND Info. */ 7649c7303fSAdam Ford #ifdef CONFIG_NAND 7786887f8eSPeter Barada #define CONFIG_NAND_OMAP_GPMC 7849c7303fSAdam Ford 7949c7303fSAdam Ford #define CONFIG_CMD_UBIFS /* Read-only UBI volume operations */ 8049c7303fSAdam Ford #define CONFIG_RBTREE /* required by CONFIG_CMD_UBI */ 8149c7303fSAdam Ford #define CONFIG_LZO /* required by CONFIG_CMD_UBIFS */ 8249c7303fSAdam Ford 8386887f8eSPeter Barada #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 8486887f8eSPeter Barada /* to access nand */ 8586887f8eSPeter Barada #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of */ 8686887f8eSPeter Barada /* NAND devices */ 8755f1b39fSStefano Babic #define CONFIG_SYS_NAND_BUSWIDTH_16BIT 8849c7303fSAdam Ford #define CONFIG_SYS_NAND_5_ADDR_CYCLE 8949c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_COUNT 64 9049c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_SIZE 2048 9149c7303fSAdam Ford #define CONFIG_SYS_NAND_OOBSIZE 64 9249c7303fSAdam Ford #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 9349c7303fSAdam Ford #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 9449c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ 9549c7303fSAdam Ford 13, 14, 16, 17, 18, 19, 20, 21, 22, \ 9649c7303fSAdam Ford 23, 24, 25, 26, 27, 28, 30, 31, 32, \ 9749c7303fSAdam Ford 33, 34, 35, 36, 37, 38, 39, 40, 41, \ 9849c7303fSAdam Ford 42, 44, 45, 46, 47, 48, 49, 50, 51, \ 9949c7303fSAdam Ford 52, 53, 54, 55, 56} 1007b77b1f6SAdam Ford 10149c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCSIZE 512 10249c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCBYTES 13 10349c7303fSAdam Ford #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 10449c7303fSAdam Ford #define CONFIG_BCH 10549c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_OOBFREE 2 10649c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_ECCPOS 56 10749c7303fSAdam Ford #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 10849c7303fSAdam Ford #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 10949c7303fSAdam Ford #define CONFIG_MTD_PARTITIONS /* required for UBI partition support */ 11049c7303fSAdam Ford #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 111*12262340SAdam Ford #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:"\ 112*12262340SAdam Ford "512k(MLO),"\ 113*12262340SAdam Ford "1792k(u-boot),"\ 114*12262340SAdam Ford "128k(spl-os)," \ 115*12262340SAdam Ford "128k(u-boot-env),"\ 116*12262340SAdam Ford "6m(kernel),-(fs)" 11749c7303fSAdam Ford #endif 11886887f8eSPeter Barada 11986887f8eSPeter Barada /* Environment information */ 12086887f8eSPeter Barada 12186887f8eSPeter Barada #define CONFIG_PREBOOT \ 12286887f8eSPeter Barada "setenv preboot;" \ 12349c7303fSAdam Ford "nand unlock;" \ 12486887f8eSPeter Barada "saveenv;" 12586887f8eSPeter Barada 12686887f8eSPeter Barada #define CONFIG_EXTRA_ENV_SETTINGS \ 12786887f8eSPeter Barada "loadaddr=0x81000000\0" \ 12849c7303fSAdam Ford "uimage=uImage\0" \ 12949c7303fSAdam Ford "zimage=zImage\0" \ 13086887f8eSPeter Barada "mtdids=" MTDIDS_DEFAULT "\0" \ 13186887f8eSPeter Barada "mtdparts=" MTDPARTS_DEFAULT "\0" \ 13286887f8eSPeter Barada "mmcdev=0\0" \ 13349c7303fSAdam Ford "mmcroot=/dev/mmcblk0p2 rw\0" \ 13449c7303fSAdam Ford "mmcrootfstype=ext4 rootwait\0" \ 135a094c921SAdam Ford "nandroot=ubi0:rootfs rw ubi.mtd=fs noinitrd\0" \ 136a094c921SAdam Ford "nandrootfstype=ubifs rootwait\0" \ 13766968110SAndrew Bradford "autoboot=mmc dev ${mmcdev}; if mmc rescan; then " \ 13886887f8eSPeter Barada "if run loadbootscript; then " \ 13986887f8eSPeter Barada "run bootscript; " \ 14086887f8eSPeter Barada "else " \ 14186887f8eSPeter Barada "run defaultboot;" \ 14286887f8eSPeter Barada "fi; " \ 14386887f8eSPeter Barada "else run defaultboot; fi\0" \ 14486887f8eSPeter Barada "defaultboot=run mmcramboot\0" \ 14586887f8eSPeter Barada "consoledevice=ttyO0\0" \ 14686887f8eSPeter Barada "display=15\0" \ 14786887f8eSPeter Barada "setconsole=setenv console ${consoledevice},${baudrate}n8\0" \ 14886887f8eSPeter Barada "dump_bootargs=echo 'Bootargs: '; echo $bootargs\0" \ 14986887f8eSPeter Barada "rotation=0\0" \ 15086887f8eSPeter Barada "vrfb_arg=if itest ${rotation} -ne 0; then " \ 15186887f8eSPeter Barada "setenv bootargs ${bootargs} omapfb.vrfb=y " \ 15286887f8eSPeter Barada "omapfb.rotate=${rotation}; " \ 15386887f8eSPeter Barada "fi\0" \ 15449c7303fSAdam Ford "optargs=ignore_loglevel early_printk no_console_suspend\0" \ 15586887f8eSPeter Barada "addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0" \ 15686887f8eSPeter Barada "common_bootargs=setenv bootargs ${bootargs} display=${display} " \ 15749c7303fSAdam Ford "${optargs};" \ 15886887f8eSPeter Barada "run addmtdparts; " \ 15986887f8eSPeter Barada "run vrfb_arg\0" \ 16086887f8eSPeter Barada "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 16186887f8eSPeter Barada "bootscript=echo 'Running bootscript from mmc ...'; " \ 16286887f8eSPeter Barada "source ${loadaddr}\0" \ 16349c7303fSAdam Ford "loaduimage=mmc rescan; " \ 16449c7303fSAdam Ford "fatload mmc ${mmcdev} ${loadaddr} ${uimage}\0" \ 16549c7303fSAdam Ford "loadzimage=mmc rescan; " \ 16649c7303fSAdam Ford "fatload mmc ${mmcdev} ${loadaddr} ${zimage}\0" \ 16786887f8eSPeter Barada "ramdisksize=64000\0" \ 16886887f8eSPeter Barada "ramdiskaddr=0x82000000\0" \ 16986887f8eSPeter Barada "ramdiskimage=rootfs.ext2.gz.uboot\0" \ 17049c7303fSAdam Ford "loadramdisk=mmc rescan; " \ 17149c7303fSAdam Ford "fatload mmc ${mmcdev} ${ramdiskaddr} ${ramdiskimage}\0" \ 17286887f8eSPeter Barada "ramargs=run setconsole; setenv bootargs console=${console} " \ 17386887f8eSPeter Barada "root=/dev/ram rw ramdisk_size=${ramdisksize}\0" \ 17449c7303fSAdam Ford "mmcargs=run setconsole; setenv bootargs console=${console} " \ 17549c7303fSAdam Ford "${optargs} " \ 17649c7303fSAdam Ford "root=${mmcroot} " \ 17749c7303fSAdam Ford "rootfstype=${mmcrootfstype}\0" \ 178a094c921SAdam Ford "nandargs=run setconsole; setenv bootargs console=${console} " \ 179a094c921SAdam Ford "${optargs} " \ 180a094c921SAdam Ford "root=${nandroot} " \ 181a094c921SAdam Ford "rootfstype=${nandrootfstype}\0" \ 182760d1afdSAdam Ford "nfsargs=run setconsole; setenv serverip ${tftpserver}; " \ 183760d1afdSAdam Ford "setenv bootargs console=${console} root=/dev/nfs " \ 184760d1afdSAdam Ford "nfsroot=${nfsrootpath} " \ 185760d1afdSAdam Ford "ip=${ipaddr}:${tftpserver}:${gatewayip}:${netmask}::eth0:off\0" \ 186760d1afdSAdam Ford "nfsrootpath=/opt/nfs-exports/omap\0" \ 187760d1afdSAdam Ford "autoload=no\0" \ 18849c7303fSAdam Ford "fdtaddr=0x86000000\0" \ 18949c7303fSAdam Ford "loadfdtimage=mmc rescan; " \ 19049c7303fSAdam Ford "fatload mmc ${mmcdev} ${fdtaddr} ${fdtimage}\0" \ 19149c7303fSAdam Ford "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 19249c7303fSAdam Ford "run mmcargs; " \ 19349c7303fSAdam Ford "run common_bootargs; " \ 19449c7303fSAdam Ford "run dump_bootargs; " \ 19549c7303fSAdam Ford "run loadzimage; " \ 19649c7303fSAdam Ford "run loadfdtimage; " \ 19749c7303fSAdam Ford "bootz ${loadaddr} - ${fdtaddr}\0" \ 19849c7303fSAdam Ford "mmcramboot=echo 'Booting uImage kernel from mmc w/ramdisk...'; " \ 19986887f8eSPeter Barada "run ramargs; " \ 20086887f8eSPeter Barada "run common_bootargs; " \ 20186887f8eSPeter Barada "run dump_bootargs; " \ 20286887f8eSPeter Barada "run loaduimage; " \ 20349c7303fSAdam Ford "run loadramdisk; " \ 20486887f8eSPeter Barada "bootm ${loadaddr} ${ramdiskaddr}\0" \ 20549c7303fSAdam Ford "mmcrambootz=echo 'Booting zImage kernel from mmc w/ramdisk...'; " \ 20686887f8eSPeter Barada "run ramargs; " \ 20786887f8eSPeter Barada "run common_bootargs; " \ 20886887f8eSPeter Barada "run dump_bootargs; " \ 20949c7303fSAdam Ford "run loadzimage; " \ 21049c7303fSAdam Ford "run loadramdisk; " \ 21149c7303fSAdam Ford "run loadfdtimage; " \ 212760d1afdSAdam Ford "bootz ${loadaddr} ${ramdiskaddr} ${fdtaddr};\0" \ 21349c7303fSAdam Ford "tftpboot=echo 'Booting kernel/ramdisk rootfs from tftp...'; " \ 21449c7303fSAdam Ford "run ramargs; " \ 21549c7303fSAdam Ford "run common_bootargs; " \ 21649c7303fSAdam Ford "run dump_bootargs; " \ 217760d1afdSAdam Ford "tftpboot ${loadaddr} ${zimage}; " \ 21886887f8eSPeter Barada "tftpboot ${ramdiskaddr} ${ramdiskimage}; " \ 219760d1afdSAdam Ford "bootm ${loadaddr} ${ramdiskaddr}\0" \ 220760d1afdSAdam Ford "tftpbootz=echo 'Booting kernel NFS rootfs...'; " \ 221760d1afdSAdam Ford "dhcp;" \ 222760d1afdSAdam Ford "run nfsargs;" \ 223760d1afdSAdam Ford "run common_bootargs;" \ 224760d1afdSAdam Ford "run dump_bootargs;" \ 225760d1afdSAdam Ford "tftpboot $loadaddr zImage;" \ 226760d1afdSAdam Ford "bootz $loadaddr\0" 22786887f8eSPeter Barada 22886887f8eSPeter Barada #define CONFIG_BOOTCOMMAND \ 22986887f8eSPeter Barada "run autoboot" 23086887f8eSPeter Barada 23149c7303fSAdam Ford /* Miscellaneous configurable options */ 23286887f8eSPeter Barada #define CONFIG_AUTO_COMPLETE 2337b77b1f6SAdam Ford 23486887f8eSPeter Barada /* memtest works on */ 23586887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) 23686887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 23786887f8eSPeter Barada 0x01F00000) /* 31MB */ 23886887f8eSPeter Barada 23949c7303fSAdam Ford /* FLASH and environment organization */ 24086887f8eSPeter Barada 24186887f8eSPeter Barada /* **** PISMO SUPPORT *** */ 24286887f8eSPeter Barada #if defined(CONFIG_CMD_NAND) 243222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 24486887f8eSPeter Barada #elif defined(CONFIG_CMD_ONENAND) 245222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE ONENAND_MAP 24686887f8eSPeter Barada #endif 24786887f8eSPeter Barada 24886887f8eSPeter Barada /* Monitor at start of flash */ 24986887f8eSPeter Barada #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 25086887f8eSPeter Barada 25149c7303fSAdam Ford #define CONFIG_ENV_IS_IN_NAND 1 25249c7303fSAdam Ford #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 25349c7303fSAdam Ford #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 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