1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Common configuration settings for IGEP technology based boards 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * (C) Copyright 2012 5*4882a593Smuzhiyun * ISEE 2007 SL, <www.iseebcn.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef __IGEP00X0_H 11*4882a593Smuzhiyun #define __IGEP00X0_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 2 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #include <configs/ti_omap3_common.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* 18*4882a593Smuzhiyun * We are only ever GP parts and will utilize all of the "downloaded image" 19*4882a593Smuzhiyun * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB). 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun #undef CONFIG_SPL_TEXT_BASE 22*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x40200000 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define CONFIG_REVISION_TAG 1 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* GPIO banks */ 29*4882a593Smuzhiyun #define CONFIG_OMAP3_GPIO_2 /* GPIO32..63 is in GPIO bank 2 */ 30*4882a593Smuzhiyun #define CONFIG_OMAP3_GPIO_4 /* GPIO96..127 is in GPIO bank 4 */ 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun /* TPS65950 */ 33*4882a593Smuzhiyun #define PBIASLITEVMODE1 (1 << 8) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* LED */ 36*4882a593Smuzhiyun #define IGEP0020_GPIO_LED 27 37*4882a593Smuzhiyun #define IGEP0030_GPIO_LED 16 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /* Board and revision detection GPIOs */ 40*4882a593Smuzhiyun #define IGEP0030_USB_TRANSCEIVER_RESET 54 41*4882a593Smuzhiyun #define GPIO_IGEP00X0_BOARD_DETECTION 28 42*4882a593Smuzhiyun #define GPIO_IGEP00X0_REVISION_DETECTION 129 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* USB */ 45*4882a593Smuzhiyun #define CONFIG_USB_MUSB_UDC 1 46*4882a593Smuzhiyun #define CONFIG_USB_OMAP3 1 47*4882a593Smuzhiyun #define CONFIG_TWL4030_USB 1 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun /* USB device configuration */ 50*4882a593Smuzhiyun #define CONFIG_USB_DEVICE 1 51*4882a593Smuzhiyun #define CONFIG_USB_TTY 1 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* Change these to suit your needs */ 54*4882a593Smuzhiyun #define CONFIG_USBD_VENDORID 0x0451 55*4882a593Smuzhiyun #define CONFIG_USBD_PRODUCTID 0x5678 56*4882a593Smuzhiyun #define CONFIG_USBD_MANUFACTURER "Texas Instruments" 57*4882a593Smuzhiyun #define CONFIG_USBD_PRODUCT_NAME "IGEP" 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #ifndef CONFIG_SPL_BUILD 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* Environment */ 62*4882a593Smuzhiyun #define ENV_DEVICE_SETTINGS \ 63*4882a593Smuzhiyun "stdin=serial\0" \ 64*4882a593Smuzhiyun "stdout=serial\0" \ 65*4882a593Smuzhiyun "stderr=serial\0" 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun #define MEM_LAYOUT_SETTINGS \ 68*4882a593Smuzhiyun DEFAULT_LINUX_BOOT_ENV \ 69*4882a593Smuzhiyun "scriptaddr=0x87E00000\0" \ 70*4882a593Smuzhiyun "pxefile_addr_r=0x87F00000\0" 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #define BOOT_TARGET_DEVICES(func) \ 73*4882a593Smuzhiyun func(MMC, mmc, 0) 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \ 76*4882a593Smuzhiyun "run findfdt; " \ 77*4882a593Smuzhiyun "run distro_bootcmd" 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #include <config_distro_bootcmd.h> 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun #define ENV_FINDFDT \ 82*4882a593Smuzhiyun "findfdt="\ 83*4882a593Smuzhiyun "if test ${board_name} = igep0020; then " \ 84*4882a593Smuzhiyun "if test ${board_rev} = F; then " \ 85*4882a593Smuzhiyun "setenv fdtfile omap3-igep0020-rev-f.dtb; " \ 86*4882a593Smuzhiyun "else " \ 87*4882a593Smuzhiyun "setenv fdtfile omap3-igep0020.dtb; fi; fi; " \ 88*4882a593Smuzhiyun "if test ${board_name} = igep0030; then " \ 89*4882a593Smuzhiyun "if test ${board_rev} = G; then " \ 90*4882a593Smuzhiyun "setenv fdtfile omap3-igep0030-rev-g.dtb; " \ 91*4882a593Smuzhiyun "else " \ 92*4882a593Smuzhiyun "setenv fdtfile omap3-igep0030.dtb; fi; fi; " \ 93*4882a593Smuzhiyun "if test ${fdtfile} = ''; then " \ 94*4882a593Smuzhiyun "echo WARNING: Could not determine device tree to use; fi; \0" 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 97*4882a593Smuzhiyun ENV_FINDFDT \ 98*4882a593Smuzhiyun ENV_DEVICE_SETTINGS \ 99*4882a593Smuzhiyun MEM_LAYOUT_SETTINGS \ 100*4882a593Smuzhiyun BOOTENV 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun #endif 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define CONFIG_SYS_MTDPARTS_RUNTIME 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun /* OneNAND config */ 107*4882a593Smuzhiyun #define CONFIG_USE_ONENAND_BOARD_INIT 108*4882a593Smuzhiyun #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 109*4882a593Smuzhiyun #define CONFIG_SYS_ONENAND_BLOCK_SIZE (128*1024) 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun /* NAND config */ 112*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 113*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_COUNT 64 114*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_SIZE 2048 115*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OOBSIZE 64 116*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 117*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 118*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ 119*4882a593Smuzhiyun 10, 11, 12, 13, 14, 15, 16, 17, \ 120*4882a593Smuzhiyun 18, 19, 20, 21, 22, 23, 24, 25, \ 121*4882a593Smuzhiyun 26, 27, 28, 29, 30, 31, 32, 33, \ 122*4882a593Smuzhiyun 34, 35, 36, 37, 38, 39, 40, 41, \ 123*4882a593Smuzhiyun 42, 43, 44, 45, 46, 47, 48, 49, \ 124*4882a593Smuzhiyun 50, 51, 52, 53, 54, 55, 56, 57, } 125*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCSIZE 512 126*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCBYTES 14 127*4882a593Smuzhiyun #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun /* UBI configuration */ 130*4882a593Smuzhiyun #define CONFIG_SPL_UBI 1 131*4882a593Smuzhiyun #define CONFIG_SPL_UBI_MAX_VOL_LEBS 256 132*4882a593Smuzhiyun #define CONFIG_SPL_UBI_MAX_PEB_SIZE (256*1024) 133*4882a593Smuzhiyun #define CONFIG_SPL_UBI_MAX_PEBS 4096 134*4882a593Smuzhiyun #define CONFIG_SPL_UBI_VOL_IDS 8 135*4882a593Smuzhiyun #define CONFIG_SPL_UBI_LOAD_MONITOR_ID 0 136*4882a593Smuzhiyun #define CONFIG_SPL_UBI_LOAD_KERNEL_ID 3 137*4882a593Smuzhiyun #define CONFIG_SPL_UBI_LOAD_ARGS_ID 4 138*4882a593Smuzhiyun #define CONFIG_SPL_UBI_PEB_OFFSET 4 139*4882a593Smuzhiyun #define CONFIG_SPL_UBI_VID_OFFSET 512 140*4882a593Smuzhiyun #define CONFIG_SPL_UBI_LEB_START 2048 141*4882a593Smuzhiyun #define CONFIG_SPL_UBI_INFO_ADDR 0x88080000 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun /* environment organization */ 144*4882a593Smuzhiyun #define CONFIG_ENV_UBI_PART "UBI" 145*4882a593Smuzhiyun #define CONFIG_ENV_UBI_VOLUME "config" 146*4882a593Smuzhiyun #define CONFIG_ENV_UBI_VOLUME_REDUND "config_r" 147*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (32*1024) 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun #endif /* __IGEP00X0_H */ 150