1bbe31092SHeiko Schocher /* 2bbe31092SHeiko Schocher * Copyright (C) 2010 Heiko Schocher <hs@denx.de> 3bbe31092SHeiko Schocher * 4bbe31092SHeiko Schocher * based on: 5bbe31092SHeiko Schocher * Copyright (C) 2009 Ilya Yanok <yanok@emcraft.com> 6bbe31092SHeiko Schocher * 7*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 8bbe31092SHeiko Schocher */ 9bbe31092SHeiko Schocher 10bbe31092SHeiko Schocher #ifndef __IMX27LITE_COMMON_CONFIG_H 11bbe31092SHeiko Schocher #define __IMX27LITE_COMMON_CONFIG_H 12bbe31092SHeiko Schocher 13bbe31092SHeiko Schocher /* 14bbe31092SHeiko Schocher * SoC Configuration 15bbe31092SHeiko Schocher */ 16bbe31092SHeiko Schocher #define CONFIG_MX27 17bbe31092SHeiko Schocher #define CONFIG_MX27_CLK32 32768 /* OSC32K frequency */ 18bbe31092SHeiko Schocher 1943f13e4aSFabio Estevam #define CONFIG_SYS_TEXT_BASE 0xc0000000 2043f13e4aSFabio Estevam 21bbe31092SHeiko Schocher #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 22bbe31092SHeiko Schocher #define CONFIG_SETUP_MEMORY_TAGS 1 23bbe31092SHeiko Schocher #define CONFIG_INITRD_TAG 1 24bbe31092SHeiko Schocher 25bbe31092SHeiko Schocher /* 26bbe31092SHeiko Schocher * Lowlevel configuration 27bbe31092SHeiko Schocher */ 28bbe31092SHeiko Schocher #define SDRAM_ESDCFG_REGISTER_VAL(cas) \ 29bbe31092SHeiko Schocher (ESDCFG_TRC(10) | \ 30bbe31092SHeiko Schocher ESDCFG_TRCD(3) | \ 31bbe31092SHeiko Schocher ESDCFG_TCAS(cas) | \ 32bbe31092SHeiko Schocher ESDCFG_TRRD(1) | \ 33bbe31092SHeiko Schocher ESDCFG_TRAS(5) | \ 34bbe31092SHeiko Schocher ESDCFG_TWR | \ 35bbe31092SHeiko Schocher ESDCFG_TMRD(2) | \ 36bbe31092SHeiko Schocher ESDCFG_TRP(2) | \ 37bbe31092SHeiko Schocher ESDCFG_TXP(3)) 38bbe31092SHeiko Schocher 39bbe31092SHeiko Schocher #define SDRAM_ESDCTL_REGISTER_VAL \ 40bbe31092SHeiko Schocher (ESDCTL_PRCT(0) | \ 41bbe31092SHeiko Schocher ESDCTL_BL | \ 42bbe31092SHeiko Schocher ESDCTL_PWDT(0) | \ 43bbe31092SHeiko Schocher ESDCTL_SREFR(3) | \ 44bbe31092SHeiko Schocher ESDCTL_DSIZ_32 | \ 45bbe31092SHeiko Schocher ESDCTL_COL10 | \ 46bbe31092SHeiko Schocher ESDCTL_ROW13 | \ 47bbe31092SHeiko Schocher ESDCTL_SDE) 48bbe31092SHeiko Schocher 49bbe31092SHeiko Schocher #define SDRAM_ALL_VAL 0xf00 50bbe31092SHeiko Schocher 51bbe31092SHeiko Schocher #define SDRAM_MODE_REGISTER_VAL 0x33 /* BL: 8, CAS: 3 */ 52bbe31092SHeiko Schocher #define SDRAM_EXT_MODE_REGISTER_VAL 0x1000000 53bbe31092SHeiko Schocher 54bbe31092SHeiko Schocher #define MPCTL0_VAL 0x1ef15d5 55bbe31092SHeiko Schocher 56bbe31092SHeiko Schocher #define SPCTL0_VAL 0x043a1c09 57bbe31092SHeiko Schocher 58bbe31092SHeiko Schocher #define CSCR_VAL 0x33f08107 59bbe31092SHeiko Schocher 60bbe31092SHeiko Schocher #define PCDR0_VAL 0x120470c3 61bbe31092SHeiko Schocher #define PCDR1_VAL 0x03030303 62bbe31092SHeiko Schocher #define PCCR0_VAL 0xffffffff 63bbe31092SHeiko Schocher #define PCCR1_VAL 0xfffffffc 64bbe31092SHeiko Schocher 65bbe31092SHeiko Schocher #define AIPI1_PSR0_VAL 0x20040304 66bbe31092SHeiko Schocher #define AIPI1_PSR1_VAL 0xdffbfcfb 67bbe31092SHeiko Schocher #define AIPI2_PSR0_VAL 0x07ffc200 68bbe31092SHeiko Schocher #define AIPI2_PSR1_VAL 0xffffffff 69bbe31092SHeiko Schocher 70bbe31092SHeiko Schocher /* 71bbe31092SHeiko Schocher * Memory Info 72bbe31092SHeiko Schocher */ 73bbe31092SHeiko Schocher /* malloc() len */ 74bbe31092SHeiko Schocher #define CONFIG_SYS_MALLOC_LEN (0x10000 + 512 * 1024) 75bbe31092SHeiko Schocher /* memtest start address */ 76bbe31092SHeiko Schocher #define CONFIG_SYS_MEMTEST_START 0xA0000000 77bbe31092SHeiko Schocher #define CONFIG_SYS_MEMTEST_END 0xA1000000 /* 16MB RAM test */ 78bbe31092SHeiko Schocher #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ 79bbe31092SHeiko Schocher #define PHYS_SDRAM_1 0xA0000000 /* DDR Start */ 80bbe31092SHeiko Schocher #define PHYS_SDRAM_1_SIZE 0x08000000 /* DDR size 128MB */ 81bbe31092SHeiko Schocher 82bbe31092SHeiko Schocher /* 83bbe31092SHeiko Schocher * Serial Driver info 84bbe31092SHeiko Schocher */ 85bbe31092SHeiko Schocher #define CONFIG_MXC_UART 8640f6fffeSStefano Babic #define CONFIG_MXC_UART_BASE UART1_BASE 87bbe31092SHeiko Schocher #define CONFIG_CONS_INDEX 1 /* use UART0 for console */ 88bbe31092SHeiko Schocher 89bbe31092SHeiko Schocher /* 90bbe31092SHeiko Schocher * Flash & Environment 91bbe31092SHeiko Schocher */ 92bbe31092SHeiko Schocher #define CONFIG_FLASH_CFI_DRIVER 93bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_CFI 94bbe31092SHeiko Schocher /* Use buffered writes (~10x faster) */ 95bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 96bbe31092SHeiko Schocher /* Use hardware sector protection */ 97bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_PROTECTION 1 98bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of flash banks */ 99bbe31092SHeiko Schocher /* CS2 Base address */ 100bbe31092SHeiko Schocher #define PHYS_FLASH_1 0xc0000000 101bbe31092SHeiko Schocher /* Flash Base for U-Boot */ 102bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 103bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_SECT (PHYS_FLASH_SIZE / \ 104bbe31092SHeiko Schocher CONFIG_SYS_FLASH_SECT_SZ) 105bbe31092SHeiko Schocher #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 106bbe31092SHeiko Schocher #define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256KiB */ 107bbe31092SHeiko Schocher #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 108bbe31092SHeiko Schocher /* Address and size of Redundant Environment Sector */ 109bbe31092SHeiko Schocher #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 110bbe31092SHeiko Schocher #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 111bbe31092SHeiko Schocher 112bbe31092SHeiko Schocher /* 113bbe31092SHeiko Schocher * Ethernet 114bbe31092SHeiko Schocher */ 115bbe31092SHeiko Schocher #define CONFIG_FEC_MXC 116bbe31092SHeiko Schocher #define CONFIG_FEC_MXC_PHYADDR 0x1f 117bbe31092SHeiko Schocher #define CONFIG_MII 118bbe31092SHeiko Schocher 119bbe31092SHeiko Schocher /* 120bbe31092SHeiko Schocher * MTD 121bbe31092SHeiko Schocher */ 122bbe31092SHeiko Schocher #define CONFIG_FLASH_CFI_MTD 123bbe31092SHeiko Schocher 124bbe31092SHeiko Schocher /* 125bbe31092SHeiko Schocher * NAND 126bbe31092SHeiko Schocher */ 127bbe31092SHeiko Schocher #define CONFIG_MXC_NAND_REGS_BASE 0xd8000000 128bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE 1 129bbe31092SHeiko Schocher #define CONFIG_SYS_NAND_BASE 0xd8000000 130bbe31092SHeiko Schocher #define CONFIG_JFFS2_NAND 131bbe31092SHeiko Schocher #define CONFIG_MXC_NAND_HWECC 132bbe31092SHeiko Schocher 133bbe31092SHeiko Schocher /* 134953884c3Strem * GPIO 135953884c3Strem */ 136953884c3Strem #define CONFIG_MXC_GPIO 137953884c3Strem 138953884c3Strem /* 139bbe31092SHeiko Schocher * U-Boot general configuration 140bbe31092SHeiko Schocher */ 141bbe31092SHeiko Schocher #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 142bbe31092SHeiko Schocher /* Boot Argument Buffer Size */ 143bbe31092SHeiko Schocher #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 144bbe31092SHeiko Schocher #define CONFIG_CMDLINE_EDITING 145bbe31092SHeiko Schocher #define CONFIG_SYS_LONGHELP 146bbe31092SHeiko Schocher 147bbe31092SHeiko Schocher #define CONFIG_LOADADDR 0xa0800000 /* loadaddr env var */ 148bbe31092SHeiko Schocher #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 149bbe31092SHeiko Schocher 150bbe31092SHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \ 151bbe31092SHeiko Schocher "netdev=eth0\0" \ 152bbe31092SHeiko Schocher "nfsargs=setenv bootargs root=/dev/nfs rw " \ 153bbe31092SHeiko Schocher "nfsroot=${serverip}:${rootpath}\0" \ 154bbe31092SHeiko Schocher "ramargs=setenv bootargs root=/dev/ram rw\0" \ 155bbe31092SHeiko Schocher "addip=setenv bootargs ${bootargs} " \ 156bbe31092SHeiko Schocher "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ 157bbe31092SHeiko Schocher ":${hostname}:${netdev}:off panic=1\0" \ 158bbe31092SHeiko Schocher "addtty=setenv bootargs ${bootargs}" \ 159bbe31092SHeiko Schocher " console=ttymxc0,${baudrate}\0" \ 160bbe31092SHeiko Schocher "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ 161bbe31092SHeiko Schocher "addmisc=setenv bootargs ${bootargs}\0" \ 16293ea89f0SMarek Vasut "u-boot=" __stringify(CONFIG_HOSTNAME) "/u-boot.bin\0" \ 163bbe31092SHeiko Schocher "kernel_addr_r=a0800000\0" \ 16493ea89f0SMarek Vasut "bootfile=" __stringify(CONFIG_HOSTNAME) "/uImage\0" \ 165bbe31092SHeiko Schocher "rootpath=/opt/eldk-4.2-arm/arm\0" \ 166bbe31092SHeiko Schocher "net_nfs=tftp ${kernel_addr_r} ${bootfile};" \ 167bbe31092SHeiko Schocher "run nfsargs addip addtty addmtd addmisc;" \ 168bbe31092SHeiko Schocher "bootm\0" \ 169bbe31092SHeiko Schocher "bootcmd=run net_nfs\0" \ 170bbe31092SHeiko Schocher "load=tftp ${loadaddr} ${u-boot}\0" \ 17193ea89f0SMarek Vasut "update=protect off " __stringify(CONFIG_SYS_MONITOR_BASE) \ 17293ea89f0SMarek Vasut " +${filesize};era " __stringify(CONFIG_SYS_MONITOR_BASE)\ 173bbe31092SHeiko Schocher " +${filesize};cp.b ${fileaddr} " \ 17493ea89f0SMarek Vasut __stringify(CONFIG_SYS_MONITOR_BASE) " ${filesize}\0" \ 175bbe31092SHeiko Schocher "upd=run load update\0" \ 176bbe31092SHeiko Schocher "mtdids=" MTDIDS_DEFAULT "\0" \ 177bbe31092SHeiko Schocher "mtdparts=" MTDPARTS_DEFAULT "\0" \ 178bbe31092SHeiko Schocher 179a784c01aSHeiko Schocher /* additions for new relocation code, must be added to all boards */ 180ab86f72cSHeiko Schocher #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 181ab86f72cSHeiko Schocher #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000 - /* Fix this */ \ 18225ddd1fbSWolfgang Denk GENERATED_GBL_DATA_SIZE) 183bbe31092SHeiko Schocher #endif /* __IMX27LITE_COMMON_CONFIG_H */ 184