1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 26b3943f1SHeiko Schocher /* 36b3943f1SHeiko Schocher * (C) Copyright 2013 Siemens Schweiz AG 46b3943f1SHeiko Schocher * (C) Heiko Schocher, DENX Software Engineering, hs@denx.de. 56b3943f1SHeiko Schocher * 66b3943f1SHeiko Schocher * Based on: 76b3943f1SHeiko Schocher * U-Boot file:/include/configs/am335x_evm.h 86b3943f1SHeiko Schocher * 96b3943f1SHeiko Schocher * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ 106b3943f1SHeiko Schocher */ 116b3943f1SHeiko Schocher 126b3943f1SHeiko Schocher #ifndef __CONFIG_ETAMIN_H 136b3943f1SHeiko Schocher #define __CONFIG_ETAMIN_H 146b3943f1SHeiko Schocher 156b3943f1SHeiko Schocher #include "siemens-am33x-common.h" 166b3943f1SHeiko Schocher /* NAND specific changes for etamin due to different page size */ 176b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_PAGE_SIZE 186b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_OOBSIZE 196b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_BLOCK_SIZE 206b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_ECCPOS 216b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_U_BOOT_OFFS 226b3943f1SHeiko Schocher #undef CONFIG_SYS_ENV_SECT_SIZE 236b3943f1SHeiko Schocher #undef CONFIG_ENV_OFFSET 246b3943f1SHeiko Schocher #undef CONFIG_NAND_OMAP_ECCSCHEME 256b3943f1SHeiko Schocher #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH16_CODE_HW 266b3943f1SHeiko Schocher 276b3943f1SHeiko Schocher #define CONFIG_ENV_OFFSET 0x980000 286b3943f1SHeiko Schocher #define CONFIG_SYS_ENV_SECT_SIZE (512 << 10) /* 512 KiB */ 296b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_PAGE_SIZE 4096 306b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_OOBSIZE 224 316b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * CONFIG_SYS_NAND_PAGE_SIZE) 326b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ 336b3943f1SHeiko Schocher 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, \ 346b3943f1SHeiko Schocher 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, \ 356b3943f1SHeiko Schocher 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, \ 366b3943f1SHeiko Schocher 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, \ 376b3943f1SHeiko Schocher 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, \ 386b3943f1SHeiko Schocher 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, \ 396b3943f1SHeiko Schocher 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, \ 406b3943f1SHeiko Schocher 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, \ 416b3943f1SHeiko Schocher 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, \ 426b3943f1SHeiko Schocher 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, \ 436b3943f1SHeiko Schocher 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \ 446b3943f1SHeiko Schocher 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, \ 456b3943f1SHeiko Schocher 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, \ 466b3943f1SHeiko Schocher 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, \ 476b3943f1SHeiko Schocher 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, \ 486b3943f1SHeiko Schocher 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, \ 496b3943f1SHeiko Schocher 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, \ 506b3943f1SHeiko Schocher 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, \ 516b3943f1SHeiko Schocher 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, \ 526b3943f1SHeiko Schocher 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, \ 536b3943f1SHeiko Schocher } 546b3943f1SHeiko Schocher 556b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_ECCSIZE 566b3943f1SHeiko Schocher #undef CONFIG_SYS_NAND_ECCBYTES 576b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_ECCSIZE 512 586b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_ECCBYTES 26 596b3943f1SHeiko Schocher 606b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x200000 616b3943f1SHeiko Schocher 626b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_MAX_CHIPS 1 636b3943f1SHeiko Schocher 646b3943f1SHeiko Schocher #undef CONFIG_SYS_MAX_NAND_DEVICE 656b3943f1SHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE 3 666b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_BASE2 (0x18000000) /* physical address */ 676b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_BASE_LIST {CONFIG_SYS_NAND_BASE, \ 686b3943f1SHeiko Schocher CONFIG_SYS_NAND_BASE2} 696b3943f1SHeiko Schocher 706b3943f1SHeiko Schocher #define CONFIG_SYS_NAND_ONFI_DETECTION 716b3943f1SHeiko Schocher #define DDR_PLL_FREQ 303 726b3943f1SHeiko Schocher 736b3943f1SHeiko Schocher /* FWD Button = 27 746b3943f1SHeiko Schocher * SRV Button = 87 */ 756b3943f1SHeiko Schocher #define BOARD_DFU_BUTTON_GPIO 27 766b3943f1SHeiko Schocher #define GPIO_LAN9303_NRST 88 /* GPIO2_24 = gpio88 */ 776b3943f1SHeiko Schocher /* In dfu mode keep led1 on */ 786b3943f1SHeiko Schocher #define CONFIG_ENV_SETTINGS_BUTTONS_AND_LEDS \ 796b3943f1SHeiko Schocher "button_dfu0=27\0" \ 806b3943f1SHeiko Schocher "button_dfu1=87\0" \ 816b3943f1SHeiko Schocher "led0=3,0,1\0" \ 826b3943f1SHeiko Schocher "led1=4,0,0\0" \ 836b3943f1SHeiko Schocher "led2=5,0,1\0" \ 846b3943f1SHeiko Schocher "led3=87,0,1\0" \ 856b3943f1SHeiko Schocher "led4=60,0,1\0" \ 866b3943f1SHeiko Schocher "led5=63,0,1\0" 876b3943f1SHeiko Schocher 886b3943f1SHeiko Schocher /* Physical Memory Map */ 896b3943f1SHeiko Schocher #define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20) /* 1GB */ 906b3943f1SHeiko Schocher 916b3943f1SHeiko Schocher /* I2C Configuration */ 926b3943f1SHeiko Schocher #define CONFIG_SYS_I2C_SPEED 100000 936b3943f1SHeiko Schocher 946b3943f1SHeiko Schocher #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 956b3943f1SHeiko Schocher #define EEPROM_ADDR_DDR3 0x90 966b3943f1SHeiko Schocher #define EEPROM_ADDR_CHIP 0x120 976b3943f1SHeiko Schocher 986b3943f1SHeiko Schocher #define CONFIG_PHY_SMSC 996b3943f1SHeiko Schocher 1006b3943f1SHeiko Schocher #define CONFIG_FACTORYSET 1016b3943f1SHeiko Schocher 1026b3943f1SHeiko Schocher /* use both define to compile a SPL compliance test */ 1036b3943f1SHeiko Schocher /* 1046b3943f1SHeiko Schocher #define CONFIG_SPL_CMT 1056b3943f1SHeiko Schocher #define CONFIG_SPL_CMT_DEBUG 1066b3943f1SHeiko Schocher */ 1076b3943f1SHeiko Schocher 1086b3943f1SHeiko Schocher /* nedded by compliance test in read mode */ 1096b3943f1SHeiko Schocher #if defined(CONFIG_SPL_CMT) 1106b3943f1SHeiko Schocher #define CONFIG_SYS_DCACHE_OFF 1116b3943f1SHeiko Schocher #endif 1126b3943f1SHeiko Schocher 1136b3943f1SHeiko Schocher /* Define own nand partitions */ 1146b3943f1SHeiko Schocher #define CONFIG_ENV_OFFSET_REDUND 0xB80000 1156b3943f1SHeiko Schocher #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 1166b3943f1SHeiko Schocher #define CONFIG_ENV_RANGE (4 * CONFIG_SYS_ENV_SECT_SIZE) 1176b3943f1SHeiko Schocher 1186b3943f1SHeiko Schocher 1196b3943f1SHeiko Schocher 1206b3943f1SHeiko Schocher #undef COMMON_ENV_DFU_ARGS 1216b3943f1SHeiko Schocher #define COMMON_ENV_DFU_ARGS "dfu_args=run bootargs_defaults;" \ 1226b3943f1SHeiko Schocher "setenv bootargs ${bootargs};" \ 1236b3943f1SHeiko Schocher "mtdparts default;" \ 1246b3943f1SHeiko Schocher "draco_led 1;" \ 1256b3943f1SHeiko Schocher "dfu 0 mtd 0;" \ 1266b3943f1SHeiko Schocher "draco_led 0;\0" \ 1276b3943f1SHeiko Schocher 1286b3943f1SHeiko Schocher #undef DFU_ALT_INFO_NAND_V2 1296b3943f1SHeiko Schocher #define DFU_ALT_INFO_NAND_V2 \ 1306b3943f1SHeiko Schocher "spl mtddev;" \ 1316b3943f1SHeiko Schocher "spl.backup1 mtddev;" \ 1326b3943f1SHeiko Schocher "spl.backup2 mtddev;" \ 1336b3943f1SHeiko Schocher "spl.backup3 mtddev;" \ 1346b3943f1SHeiko Schocher "u-boot mtddev;" \ 1356b3943f1SHeiko Schocher "u-boot.env0 mtddev;" \ 1366b3943f1SHeiko Schocher "u-boot.env1 mtddev;" \ 1376b3943f1SHeiko Schocher "rootfs mtddevubi" \ 1386b3943f1SHeiko Schocher 1396b3943f1SHeiko Schocher #undef CONFIG_ENV_SETTINGS_NAND_V2 1406b3943f1SHeiko Schocher #define CONFIG_ENV_SETTINGS_NAND_V2 \ 1416b3943f1SHeiko Schocher "nand_active_ubi_vol=rootfs_a\0" \ 1426b3943f1SHeiko Schocher "rootfs_name=rootfs\0" \ 1436b3943f1SHeiko Schocher "kernel_name=uImage\0"\ 1446b3943f1SHeiko Schocher "nand_root_fs_type=ubifs rootwait=1\0" \ 1456b3943f1SHeiko Schocher "nand_args=run bootargs_defaults;" \ 1466b3943f1SHeiko Schocher "mtdparts default;" \ 1476b3943f1SHeiko Schocher "setenv ${partitionset_active} true;" \ 1486b3943f1SHeiko Schocher "if test -n ${A}; then " \ 1496b3943f1SHeiko Schocher "setenv nand_active_ubi_vol ${rootfs_name}_a;" \ 1506b3943f1SHeiko Schocher "fi;" \ 1516b3943f1SHeiko Schocher "if test -n ${B}; then " \ 1526b3943f1SHeiko Schocher "setenv nand_active_ubi_vol ${rootfs_name}_b;" \ 1536b3943f1SHeiko Schocher "fi;" \ 1546b3943f1SHeiko Schocher "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \ 1556b3943f1SHeiko Schocher "ubi.mtd=rootfs,${ubi_off};" \ 1566b3943f1SHeiko Schocher "setenv bootargs ${bootargs} " \ 1576b3943f1SHeiko Schocher "root=${nand_root} noinitrd ${mtdparts} " \ 1586b3943f1SHeiko Schocher "rootfstype=${nand_root_fs_type} ip=${ip_method} " \ 1596b3943f1SHeiko Schocher "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \ 1606b3943f1SHeiko Schocher "=mtdoops\0" \ 1616b3943f1SHeiko Schocher COMMON_ENV_DFU_ARGS \ 1626b3943f1SHeiko Schocher "dfu_alt_info=" DFU_ALT_INFO_NAND_V2 "\0" \ 1636b3943f1SHeiko Schocher COMMON_ENV_NAND_BOOT \ 1646b3943f1SHeiko Schocher "ubi part rootfs ${ubi_off};" \ 1656b3943f1SHeiko Schocher "ubifsmount ubi0:${nand_active_ubi_vol};" \ 1666b3943f1SHeiko Schocher "ubifsload ${kloadaddr} boot/${kernel_name};" \ 1676b3943f1SHeiko Schocher "ubifsload ${loadaddr} boot/${dtb_name}.dtb;" \ 1686b3943f1SHeiko Schocher "bootm ${kloadaddr} - ${loadaddr}\0" \ 1696b3943f1SHeiko Schocher "nand_boot_backup=ubifsload ${loadaddr} boot/am335x-draco.dtb;" \ 1706b3943f1SHeiko Schocher "bootm ${kloadaddr} - ${loadaddr}\0" \ 1716b3943f1SHeiko Schocher COMMON_ENV_NAND_CMDS 1726b3943f1SHeiko Schocher 1736b3943f1SHeiko Schocher #ifndef CONFIG_SPL_BUILD 1746b3943f1SHeiko Schocher 1756b3943f1SHeiko Schocher #define CONFIG_NAND_CS_INIT 1766b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG1 0x00000800 1776b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG2 0x001e1e00 1786b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG3 0x001e1e00 1796b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG4 0x16051807 1806b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG5 0x00151e1e 1816b3943f1SHeiko Schocher #define ETAMIN_NAND_GPMC_CONFIG6 0x16000f80 1826b3943f1SHeiko Schocher #define CONFIG_MTD_CONCAT 1836b3943f1SHeiko Schocher 1846b3943f1SHeiko Schocher /* Default env settings */ 1856b3943f1SHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \ 1866b3943f1SHeiko Schocher "hostname=etamin\0" \ 1876b3943f1SHeiko Schocher "ubi_off=4096\0"\ 1886b3943f1SHeiko Schocher "nand_img_size=0x400000\0" \ 1896b3943f1SHeiko Schocher "optargs=\0" \ 1906b3943f1SHeiko Schocher "preboot=draco_led 0\0" \ 1916b3943f1SHeiko Schocher CONFIG_ENV_SETTINGS_BUTTONS_AND_LEDS \ 1926b3943f1SHeiko Schocher CONFIG_ENV_SETTINGS_V2 \ 1936b3943f1SHeiko Schocher CONFIG_ENV_SETTINGS_NAND_V2 1946b3943f1SHeiko Schocher 1956b3943f1SHeiko Schocher #ifndef CONFIG_RESTORE_FLASH 1966b3943f1SHeiko Schocher 1976b3943f1SHeiko Schocher #define CONFIG_BOOTCOMMAND \ 1986b3943f1SHeiko Schocher "if dfubutton; then " \ 1996b3943f1SHeiko Schocher "run dfu_start; " \ 2006b3943f1SHeiko Schocher "reset; " \ 2016b3943f1SHeiko Schocher "fi;" \ 2026b3943f1SHeiko Schocher "run nand_boot;" \ 2036b3943f1SHeiko Schocher "run nand_boot_backup;" \ 2046b3943f1SHeiko Schocher "reset;" 2056b3943f1SHeiko Schocher 2066b3943f1SHeiko Schocher 2076b3943f1SHeiko Schocher #else 2086b3943f1SHeiko Schocher #define CONFIG_BOOTCOMMAND \ 2096b3943f1SHeiko Schocher "setenv autoload no; " \ 2106b3943f1SHeiko Schocher "dhcp; " \ 2116b3943f1SHeiko Schocher "if tftp 80000000 debrick.scr; then " \ 2126b3943f1SHeiko Schocher "source 80000000; " \ 2136b3943f1SHeiko Schocher "fi" 2146b3943f1SHeiko Schocher #endif 2156b3943f1SHeiko Schocher #endif /* CONFIG_SPL_BUILD */ 2166b3943f1SHeiko Schocher #endif /* ! __CONFIG_ETAMIN_H */ 217