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 1849c7303fSAdam Ford /* 1949c7303fSAdam Ford * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 2049c7303fSAdam Ford * 64 bytes before this address should be set aside for u-boot.img's 2149c7303fSAdam Ford * header. That is 0x800FFFC0--0x80100000 should not be used for any 2249c7303fSAdam Ford * other needs. We use this rather than the inherited defines from 2349c7303fSAdam Ford * ti_armv7_common.h for backwards compatibility. 2449c7303fSAdam Ford */ 2549c7303fSAdam Ford #define CONFIG_SYS_TEXT_BASE 0x80100000 2649c7303fSAdam Ford #define CONFIG_SPL_BSS_START_ADDR 0x80000000 2749c7303fSAdam Ford #define CONFIG_SPL_BSS_MAX_SIZE (512 << 10) /* 512 KB */ 2849c7303fSAdam Ford #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 2949c7303fSAdam Ford #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 3086887f8eSPeter Barada 317b77b1f6SAdam Ford #include <configs/ti_omap3_common.h> 3249c7303fSAdam Ford 33f92dfc87SAdam Ford /* Override default SPL info to minimize empty space and allow BCH8 in SPL */ 34f92dfc87SAdam Ford #undef CONFIG_SPL_TEXT_BASE 35f92dfc87SAdam Ford #undef CONFIG_SPL_MAX_SIZE 36f92dfc87SAdam Ford #define CONFIG_SPL_TEXT_BASE 0x40200000 372489a7e9STom Rini #define CONFIG_SPL_MAX_SIZE (SRAM_SCRATCH_SPACE_ADDR - CONFIG_SPL_TEXT_BASE) 38f92dfc87SAdam Ford 3949c7303fSAdam Ford /* Display CPU and Board information */ 407b77b1f6SAdam Ford 4186887f8eSPeter Barada #define CONFIG_DISPLAY_CPUINFO 4286887f8eSPeter Barada #define CONFIG_DISPLAY_BOARDINFO 4326ef7a27SAdam Ford #define CONFIG_BOARD_LATE_INIT 4486887f8eSPeter Barada #define CONFIG_MISC_INIT_R /* misc_init_r dumps the die id */ 4586887f8eSPeter Barada #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 4686887f8eSPeter Barada #define CONFIG_SETUP_MEMORY_TAGS 4786887f8eSPeter Barada #define CONFIG_INITRD_TAG 4886887f8eSPeter Barada #define CONFIG_REVISION_TAG 4986887f8eSPeter Barada #define CONFIG_CMDLINE_EDITING /* cmd line edit/history */ 5086887f8eSPeter Barada #define CONFIG_ZERO_BOOTDELAY_CHECK /* check keypress w/no delay */ 5186887f8eSPeter Barada 5249c7303fSAdam Ford /* Hardware drivers */ 5386887f8eSPeter Barada 54b99353b8SAdam Ford /* GPIO banks */ 55b99353b8SAdam Ford #define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO bank 6 */ 56b99353b8SAdam Ford 5749c7303fSAdam Ford #define CONFIG_USB_OMAP3 5849c7303fSAdam Ford 5949c7303fSAdam Ford /* select serial console configuration */ 607b77b1f6SAdam Ford #undef CONFIG_CONS_INDEX 6186887f8eSPeter Barada #define CONFIG_CONS_INDEX 1 6286887f8eSPeter Barada #define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1 6386887f8eSPeter Barada #define CONFIG_SERIAL1 1 /* UART1 on OMAP Logic boards */ 6486887f8eSPeter Barada 6586887f8eSPeter Barada /* commands to include */ 6649c7303fSAdam Ford #define CONFIG_CMD_NAND 6749c7303fSAdam Ford #define CONFIG_CMD_MTDPARTS 6886887f8eSPeter Barada #define CONFIG_CMD_NAND_LOCK_UNLOCK /* nand (un)lock commands */ 6986887f8eSPeter Barada 7049c7303fSAdam Ford /* I2C */ 716789e84eSHeiko Schocher #define CONFIG_SYS_I2C_OMAP34XX 7249c7303fSAdam Ford #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM AT24C64 */ 7349c7303fSAdam Ford #define EXPANSION_EEPROM_I2C_BUS 2 /* I2C Bus for AT24C64 */ 7449c7303fSAdam Ford #define CONFIG_OMAP3_LOGIC_USE_NEW_PRODUCT_ID 7586887f8eSPeter Barada 76588e41d2SAdam Ford /* USB */ 77588e41d2SAdam Ford #define CONFIG_USB_MUSB_OMAP2PLUS 78588e41d2SAdam Ford #define CONFIG_USB_MUSB_PIO_ONLY 79588e41d2SAdam Ford #define CONFIG_USB_ETHER 80588e41d2SAdam Ford #define CONFIG_USB_ETHER_RNDIS 81588e41d2SAdam Ford #define CONFIG_USB_FUNCTION_FASTBOOT 82588e41d2SAdam Ford #define CONFIG_CMD_FASTBOOT 83588e41d2SAdam Ford #define CONFIG_ANDROID_BOOT_IMAGE 84588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR 85588e41d2SAdam Ford #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 86588e41d2SAdam Ford #define CONFIG_SYS_CACHELINE_SIZE 64 87588e41d2SAdam Ford 8849c7303fSAdam Ford /* TWL4030 */ 8949c7303fSAdam Ford #define CONFIG_TWL4030_PWM 90588e41d2SAdam Ford #define CONFIG_TWL4030_USB 917b77b1f6SAdam Ford 9249c7303fSAdam Ford /* Board NAND Info. */ 9349c7303fSAdam Ford #ifdef CONFIG_NAND 9486887f8eSPeter Barada #define CONFIG_NAND_OMAP_GPMC 9549c7303fSAdam Ford 9649c7303fSAdam Ford #define CONFIG_CMD_UBI /* UBI-formated MTD partition support */ 9749c7303fSAdam Ford #define CONFIG_CMD_UBIFS /* Read-only UBI volume operations */ 9849c7303fSAdam Ford #define CONFIG_RBTREE /* required by CONFIG_CMD_UBI */ 9949c7303fSAdam Ford #define CONFIG_LZO /* required by CONFIG_CMD_UBIFS */ 10049c7303fSAdam Ford 10186887f8eSPeter Barada #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 10286887f8eSPeter Barada /* to access nand */ 10386887f8eSPeter Barada #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of */ 10486887f8eSPeter Barada /* NAND devices */ 10555f1b39fSStefano Babic #define CONFIG_SYS_NAND_BUSWIDTH_16BIT 10649c7303fSAdam Ford #define CONFIG_SYS_NAND_5_ADDR_CYCLE 10749c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_COUNT 64 10849c7303fSAdam Ford #define CONFIG_SYS_NAND_PAGE_SIZE 2048 10949c7303fSAdam Ford #define CONFIG_SYS_NAND_OOBSIZE 64 11049c7303fSAdam Ford #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 11149c7303fSAdam Ford #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 11249c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ 11349c7303fSAdam Ford 13, 14, 16, 17, 18, 19, 20, 21, 22, \ 11449c7303fSAdam Ford 23, 24, 25, 26, 27, 28, 30, 31, 32, \ 11549c7303fSAdam Ford 33, 34, 35, 36, 37, 38, 39, 40, 41, \ 11649c7303fSAdam Ford 42, 44, 45, 46, 47, 48, 49, 50, 51, \ 11749c7303fSAdam Ford 52, 53, 54, 55, 56} 1187b77b1f6SAdam Ford 11949c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCSIZE 512 12049c7303fSAdam Ford #define CONFIG_SYS_NAND_ECCBYTES 13 12149c7303fSAdam Ford #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 12249c7303fSAdam Ford #define CONFIG_BCH 12349c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_OOBFREE 2 12449c7303fSAdam Ford #define CONFIG_SYS_NAND_MAX_ECCPOS 56 12549c7303fSAdam Ford #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 12649c7303fSAdam Ford #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 12749c7303fSAdam Ford #define CONFIG_MTD_PARTITIONS /* required for UBI partition support */ 12849c7303fSAdam Ford #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 12949c7303fSAdam Ford #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:512k(MLO),"\ 13049c7303fSAdam Ford "1920k(u-boot),128k(u-boot-env),"\ 13149c7303fSAdam Ford "4m(kernel),-(fs)" 13249c7303fSAdam Ford #endif 13386887f8eSPeter Barada 13486887f8eSPeter Barada /* Environment information */ 13586887f8eSPeter Barada 13686887f8eSPeter Barada /* 13786887f8eSPeter Barada * PREBOOT assumes the 4.3" display is attached. User can interrupt 13886887f8eSPeter Barada * and modify display variable to suit their needs. 13986887f8eSPeter Barada */ 14086887f8eSPeter Barada #define CONFIG_PREBOOT \ 14186887f8eSPeter Barada "echo ======================NOTICE============================;"\ 14286887f8eSPeter Barada "echo \"The u-boot environment is not set.\";" \ 143*1cc0a9f4SRobert P. J. Day "echo \"If using a display a valid display variable for your panel\";" \ 14486887f8eSPeter Barada "echo \"needs to be set.\";" \ 14586887f8eSPeter Barada "echo \"Valid display options are:\";" \ 14686887f8eSPeter Barada "echo \" 2 == LQ121S1DG31 TFT SVGA (12.1) Sharp\";" \ 14786887f8eSPeter Barada "echo \" 3 == LQ036Q1DA01 TFT QVGA (3.6) Sharp w/ASIC\";" \ 14886887f8eSPeter Barada "echo \" 5 == LQ064D343 TFT VGA (6.4) Sharp\";" \ 14986887f8eSPeter Barada "echo \" 7 == LQ10D368 TFT VGA (10.4) Sharp\";" \ 15086887f8eSPeter Barada "echo \" 15 == LQ043T1DG01 TFT WQVGA (4.3) Sharp (DEFAULT)\";" \ 15186887f8eSPeter Barada "echo \" vga[-dvi or -hdmi] LCD VGA 640x480\";" \ 15286887f8eSPeter Barada "echo \" svga[-dvi or -hdmi] LCD SVGA 800x600\";" \ 15386887f8eSPeter Barada "echo \" xga[-dvi or -hdmi] LCD XGA 1024x768\";" \ 15486887f8eSPeter Barada "echo \" 720p[-dvi or -hdmi] LCD 720P 1280x720\";" \ 15586887f8eSPeter Barada "echo \"Defaulting to 4.3 LCD panel (display=15).\";" \ 15686887f8eSPeter Barada "setenv display 15;" \ 15786887f8eSPeter Barada "setenv preboot;" \ 15849c7303fSAdam Ford "nand unlock;" \ 15986887f8eSPeter Barada "saveenv;" 16086887f8eSPeter Barada 16186887f8eSPeter Barada #define CONFIG_EXTRA_ENV_SETTINGS \ 16286887f8eSPeter Barada "loadaddr=0x81000000\0" \ 16349c7303fSAdam Ford "uimage=uImage\0" \ 16449c7303fSAdam Ford "zimage=zImage\0" \ 16586887f8eSPeter Barada "mtdids=" MTDIDS_DEFAULT "\0" \ 16686887f8eSPeter Barada "mtdparts=" MTDPARTS_DEFAULT "\0" \ 16786887f8eSPeter Barada "mmcdev=0\0" \ 16849c7303fSAdam Ford "mmcroot=/dev/mmcblk0p2 rw\0" \ 16949c7303fSAdam Ford "mmcrootfstype=ext4 rootwait\0" \ 170a094c921SAdam Ford "nandroot=ubi0:rootfs rw ubi.mtd=fs noinitrd\0" \ 171a094c921SAdam Ford "nandrootfstype=ubifs rootwait\0" \ 17266968110SAndrew Bradford "autoboot=mmc dev ${mmcdev}; if mmc rescan; then " \ 17386887f8eSPeter Barada "if run loadbootscript; then " \ 17486887f8eSPeter Barada "run bootscript; " \ 17586887f8eSPeter Barada "else " \ 17686887f8eSPeter Barada "run defaultboot;" \ 17786887f8eSPeter Barada "fi; " \ 17886887f8eSPeter Barada "else run defaultboot; fi\0" \ 17986887f8eSPeter Barada "defaultboot=run mmcramboot\0" \ 18086887f8eSPeter Barada "consoledevice=ttyO0\0" \ 18186887f8eSPeter Barada "display=15\0" \ 18286887f8eSPeter Barada "setconsole=setenv console ${consoledevice},${baudrate}n8\0" \ 18386887f8eSPeter Barada "dump_bootargs=echo 'Bootargs: '; echo $bootargs\0" \ 18486887f8eSPeter Barada "rotation=0\0" \ 18586887f8eSPeter Barada "vrfb_arg=if itest ${rotation} -ne 0; then " \ 18686887f8eSPeter Barada "setenv bootargs ${bootargs} omapfb.vrfb=y " \ 18786887f8eSPeter Barada "omapfb.rotate=${rotation}; " \ 18886887f8eSPeter Barada "fi\0" \ 18949c7303fSAdam Ford "optargs=ignore_loglevel early_printk no_console_suspend\0" \ 19086887f8eSPeter Barada "addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0" \ 19186887f8eSPeter Barada "common_bootargs=setenv bootargs ${bootargs} display=${display} " \ 19249c7303fSAdam Ford "${optargs};" \ 19386887f8eSPeter Barada "run addmtdparts; " \ 19486887f8eSPeter Barada "run vrfb_arg\0" \ 19586887f8eSPeter Barada "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 19686887f8eSPeter Barada "bootscript=echo 'Running bootscript from mmc ...'; " \ 19786887f8eSPeter Barada "source ${loadaddr}\0" \ 19849c7303fSAdam Ford "loaduimage=mmc rescan; " \ 19949c7303fSAdam Ford "fatload mmc ${mmcdev} ${loadaddr} ${uimage}\0" \ 20049c7303fSAdam Ford "loadzimage=mmc rescan; " \ 20149c7303fSAdam Ford "fatload mmc ${mmcdev} ${loadaddr} ${zimage}\0" \ 20286887f8eSPeter Barada "ramdisksize=64000\0" \ 20386887f8eSPeter Barada "ramdiskaddr=0x82000000\0" \ 20486887f8eSPeter Barada "ramdiskimage=rootfs.ext2.gz.uboot\0" \ 20549c7303fSAdam Ford "loadramdisk=mmc rescan; " \ 20649c7303fSAdam Ford "fatload mmc ${mmcdev} ${ramdiskaddr} ${ramdiskimage}\0" \ 20786887f8eSPeter Barada "ramargs=run setconsole; setenv bootargs console=${console} " \ 20886887f8eSPeter Barada "root=/dev/ram rw ramdisk_size=${ramdisksize}\0" \ 20949c7303fSAdam Ford "mmcargs=run setconsole; setenv bootargs console=${console} " \ 21049c7303fSAdam Ford "${optargs} " \ 21149c7303fSAdam Ford "root=${mmcroot} " \ 21249c7303fSAdam Ford "rootfstype=${mmcrootfstype}\0" \ 213a094c921SAdam Ford "nandargs=run setconsole; setenv bootargs console=${console} " \ 214a094c921SAdam Ford "${optargs} " \ 215a094c921SAdam Ford "root=${nandroot} " \ 216a094c921SAdam Ford "rootfstype=${nandrootfstype}\0" \ 21749c7303fSAdam Ford "fdtaddr=0x86000000\0" \ 21849c7303fSAdam Ford "loadfdtimage=mmc rescan; " \ 21949c7303fSAdam Ford "fatload mmc ${mmcdev} ${fdtaddr} ${fdtimage}\0" \ 22049c7303fSAdam Ford "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ 22149c7303fSAdam Ford "run mmcargs; " \ 22249c7303fSAdam Ford "run common_bootargs; " \ 22349c7303fSAdam Ford "run dump_bootargs; " \ 22449c7303fSAdam Ford "run loadzimage; " \ 22549c7303fSAdam Ford "run loadfdtimage; " \ 22649c7303fSAdam Ford "bootz ${loadaddr} - ${fdtaddr}\0" \ 22749c7303fSAdam Ford "mmcramboot=echo 'Booting uImage kernel from mmc w/ramdisk...'; " \ 22886887f8eSPeter Barada "run ramargs; " \ 22986887f8eSPeter Barada "run common_bootargs; " \ 23086887f8eSPeter Barada "run dump_bootargs; " \ 23186887f8eSPeter Barada "run loaduimage; " \ 23249c7303fSAdam Ford "run loadramdisk; " \ 23386887f8eSPeter Barada "bootm ${loadaddr} ${ramdiskaddr}\0" \ 23449c7303fSAdam Ford "mmcrambootz=echo 'Booting zImage kernel from mmc w/ramdisk...'; " \ 23586887f8eSPeter Barada "run ramargs; " \ 23686887f8eSPeter Barada "run common_bootargs; " \ 23786887f8eSPeter Barada "run dump_bootargs; " \ 23849c7303fSAdam Ford "run loadzimage; " \ 23949c7303fSAdam Ford "run loadramdisk; " \ 24049c7303fSAdam Ford "run loadfdtimage; " \ 24149c7303fSAdam Ford "bootz ${loadaddr} ${ramdiskaddr} ${fdtaddr}\0; " \ 24249c7303fSAdam Ford "tftpboot=echo 'Booting kernel/ramdisk rootfs from tftp...'; " \ 24349c7303fSAdam Ford "run ramargs; " \ 24449c7303fSAdam Ford "run common_bootargs; " \ 24549c7303fSAdam Ford "run dump_bootargs; " \ 24649c7303fSAdam Ford "tftpboot ${loadaddr} ${uimage}; " \ 24786887f8eSPeter Barada "tftpboot ${ramdiskaddr} ${ramdiskimage}; " \ 24886887f8eSPeter Barada "bootm ${loadaddr} ${ramdiskaddr}\0" 24986887f8eSPeter Barada 25086887f8eSPeter Barada #define CONFIG_BOOTCOMMAND \ 25186887f8eSPeter Barada "run autoboot" 25286887f8eSPeter Barada 25349c7303fSAdam Ford /* Miscellaneous configurable options */ 25486887f8eSPeter Barada #define CONFIG_AUTO_COMPLETE 2557b77b1f6SAdam Ford 25686887f8eSPeter Barada /* memtest works on */ 25786887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) 25886887f8eSPeter Barada #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 25986887f8eSPeter Barada 0x01F00000) /* 31MB */ 26086887f8eSPeter Barada 26149c7303fSAdam Ford /* FLASH and environment organization */ 26286887f8eSPeter Barada 26386887f8eSPeter Barada /* **** PISMO SUPPORT *** */ 26486887f8eSPeter Barada #if defined(CONFIG_CMD_NAND) 265222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE NAND_BASE 26686887f8eSPeter Barada #elif defined(CONFIG_CMD_ONENAND) 267222a3113Spekon gupta #define CONFIG_SYS_FLASH_BASE ONENAND_MAP 26886887f8eSPeter Barada #endif 26986887f8eSPeter Barada 27086887f8eSPeter Barada /* Monitor at start of flash */ 27186887f8eSPeter Barada #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 27286887f8eSPeter Barada 27349c7303fSAdam Ford #define CONFIG_ENV_IS_IN_NAND 1 27449c7303fSAdam Ford #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 27549c7303fSAdam Ford #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 27686887f8eSPeter Barada #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 27786887f8eSPeter Barada 27886887f8eSPeter Barada #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 27949c7303fSAdam Ford #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 28049c7303fSAdam Ford #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 28186887f8eSPeter Barada 28249c7303fSAdam Ford /* SMSC922x Ethernet */ 28386887f8eSPeter Barada #if defined(CONFIG_CMD_NET) 28486887f8eSPeter Barada #define CONFIG_SMC911X 2851e1acc76SAdam Ford #define CONFIG_SMC911X_32_BIT 28686887f8eSPeter Barada #define CONFIG_SMC911X_BASE 0x08000000 28786887f8eSPeter Barada #endif /* (CONFIG_CMD_NET) */ 28886887f8eSPeter Barada 28949c7303fSAdam Ford /* Defines for SPL */ 29049c7303fSAdam Ford 29149c7303fSAdam Ford #define CONFIG_SPL_OMAP3_ID_NAND 29249c7303fSAdam Ford 29349c7303fSAdam Ford /* NAND: SPL falcon mode configs */ 29449c7303fSAdam Ford #ifdef CONFIG_SPL_OS_BOOT 29549c7303fSAdam Ford #define CONFIG_CMD_SPL_NAND_OFS 0x240000 29649c7303fSAdam Ford #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 29749c7303fSAdam Ford #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 29849c7303fSAdam Ford #endif 29949c7303fSAdam Ford 30086887f8eSPeter Barada #endif /* __CONFIG_H */ 301