17237d22bSSergey Kostanbaev /* 2*a187559eSBin Meng * U-Boot - Configuration file for Cirrus Logic EDB93xx boards 37237d22bSSergey Kostanbaev */ 47237d22bSSergey Kostanbaev 57237d22bSSergey Kostanbaev #ifndef __CONFIG_H 67237d22bSSergey Kostanbaev #define __CONFIG_H 77237d22bSSergey Kostanbaev 87237d22bSSergey Kostanbaev #ifdef CONFIG_MK_edb9301 97237d22bSSergey Kostanbaev #define CONFIG_EDB9301 107237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9302) 117237d22bSSergey Kostanbaev #define CONFIG_EDB9302 127237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9302a) 137237d22bSSergey Kostanbaev #define CONFIG_EDB9302A 147237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9307) 157237d22bSSergey Kostanbaev #define CONFIG_EDB9307 167237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9307a) 177237d22bSSergey Kostanbaev #define CONFIG_EDB9307A 187237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9312) 197237d22bSSergey Kostanbaev #define CONFIG_EDB9312 207237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9315) 217237d22bSSergey Kostanbaev #define CONFIG_EDB9315 227237d22bSSergey Kostanbaev #elif defined(CONFIG_MK_edb9315a) 237237d22bSSergey Kostanbaev #define CONFIG_EDB9315A 247237d22bSSergey Kostanbaev #else 257237d22bSSergey Kostanbaev #error "no board defined" 267237d22bSSergey Kostanbaev #endif 277237d22bSSergey Kostanbaev 287237d22bSSergey Kostanbaev /* Initial environment and monitor configuration options. */ 297237d22bSSergey Kostanbaev #define CONFIG_CMDLINE_TAG 1 307237d22bSSergey Kostanbaev #define CONFIG_INITRD_TAG 1 317237d22bSSergey Kostanbaev #define CONFIG_SETUP_MEMORY_TAGS 1 327237d22bSSergey Kostanbaev #define CONFIG_BOOTFILE "edb93xx.img" 337237d22bSSergey Kostanbaev 347237d22bSSergey Kostanbaev #define CONFIG_SYS_LDSCRIPT "board/cirrus/edb93xx/u-boot.lds" 357237d22bSSergey Kostanbaev 367237d22bSSergey Kostanbaev #ifdef CONFIG_EDB9301 377237d22bSSergey Kostanbaev #define CONFIG_EP9301 387237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9301 397237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00020000 407237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9302) 417237d22bSSergey Kostanbaev #define CONFIG_EP9302 427237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9302 437237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00020000 447237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9302A) 457237d22bSSergey Kostanbaev #define CONFIG_EP9302 467237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9302A 477237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00020000 487237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9307) 497237d22bSSergey Kostanbaev #define CONFIG_EP9307 507237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9307 517237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00040000 527237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9307A) 537237d22bSSergey Kostanbaev #define CONFIG_EP9307 547237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9307A 557237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00020000 567237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9312) 577237d22bSSergey Kostanbaev #define CONFIG_EP9312 587237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9312 597237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00040000 607237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9315) 617237d22bSSergey Kostanbaev #define CONFIG_EP9315 627237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9315 637237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00040000 647237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9315A) 657237d22bSSergey Kostanbaev #define CONFIG_EP9315 667237d22bSSergey Kostanbaev #define CONFIG_MACH_TYPE MACH_TYPE_EDB9315A 677237d22bSSergey Kostanbaev #define CONFIG_ENV_SECT_SIZE 0x00020000 687237d22bSSergey Kostanbaev #else 697237d22bSSergey Kostanbaev #error "no board defined" 707237d22bSSergey Kostanbaev #endif 717237d22bSSergey Kostanbaev 727237d22bSSergey Kostanbaev /* High-level configuration options */ 73f2168440SMasahiro Yamada #define CONFIG_EP93XX 1 /* This is a Cirrus Logic 93xx SoC */ 747237d22bSSergey Kostanbaev 757237d22bSSergey Kostanbaev #define CONFIG_SYS_CLK_FREQ 14745600 /* EP93xx has a 14.7456 clock */ 767237d22bSSergey Kostanbaev 777237d22bSSergey Kostanbaev /* Monitor configuration */ 787237d22bSSergey Kostanbaev 797237d22bSSergey Kostanbaev #define CONFIG_SYS_LONGHELP /* Enable "long" help in mon */ 807237d22bSSergey Kostanbaev #define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */ 817237d22bSSergey Kostanbaev 827237d22bSSergey Kostanbaev /* Serial port hardware configuration */ 837237d22bSSergey Kostanbaev #define CONFIG_PL010_SERIAL 847237d22bSSergey Kostanbaev #define CONFIG_CONS_INDEX 0 857237d22bSSergey Kostanbaev #define CONFIG_SYS_BAUDRATE_TABLE {9600, 19200, 38400, 57600, \ 867237d22bSSergey Kostanbaev 115200, 230400} 877237d22bSSergey Kostanbaev #define CONFIG_SYS_SERIAL0 0x808C0000 887237d22bSSergey Kostanbaev #define CONFIG_SYS_SERIAL1 0x808D0000 897237d22bSSergey Kostanbaev /*#define CONFIG_PL01x_PORTS {(void *)CONFIG_SYS_SERIAL0, \ 907237d22bSSergey Kostanbaev (void *)CONFIG_SYS_SERIAL1} */ 917237d22bSSergey Kostanbaev 927237d22bSSergey Kostanbaev #define CONFIG_PL01x_PORTS {(void *)CONFIG_SYS_SERIAL0} 937237d22bSSergey Kostanbaev 947237d22bSSergey Kostanbaev /* Status LED */ 957237d22bSSergey Kostanbaev /* Optional value */ 967237d22bSSergey Kostanbaev 977237d22bSSergey Kostanbaev /* Network hardware configuration */ 987237d22bSSergey Kostanbaev #define CONFIG_DRIVER_EP93XX_MAC 997237d22bSSergey Kostanbaev #define CONFIG_MII_SUPPRESS_PREAMBLE 1007237d22bSSergey Kostanbaev #define CONFIG_MII 1017237d22bSSergey Kostanbaev #define CONFIG_PHY_ADDR 1 1027237d22bSSergey Kostanbaev #undef CONFIG_NETCONSOLE 1037237d22bSSergey Kostanbaev 1047237d22bSSergey Kostanbaev /* SDRAM configuration */ 1057237d22bSSergey Kostanbaev #if defined(CONFIG_EDB9301) || defined(CONFIG_EDB9302) || \ 1067237d22bSSergey Kostanbaev defined(CONFIG_EDB9307) || defined CONFIG_EDB9312 || \ 1077237d22bSSergey Kostanbaev defined(CONFIG_EDB9315) 1087237d22bSSergey Kostanbaev /* 1097237d22bSSergey Kostanbaev * EDB9301/2 has 4 banks of SDRAM consisting of 1x Samsung K4S561632E-TC75 1107237d22bSSergey Kostanbaev * 256 Mbit SDRAM on a 16-bit data bus, for a total of 32MB of SDRAM. We set 1117237d22bSSergey Kostanbaev * the SROMLL bit on the processor, resulting in this non-contiguous memory map. 1127237d22bSSergey Kostanbaev * 1137237d22bSSergey Kostanbaev * The EDB9307, EDB9312, and EDB9315 have 2 banks of SDRAM consisting of 1147237d22bSSergey Kostanbaev * 2x Samsung K4S561632E-TC75 256 Mbit on a 32-bit data bus, for a total of 1157237d22bSSergey Kostanbaev * 64 MB of SDRAM. 1167237d22bSSergey Kostanbaev */ 1177237d22bSSergey Kostanbaev 1187237d22bSSergey Kostanbaev #define CONFIG_EDB93XX_SDCS3 1197237d22bSSergey Kostanbaev 1207237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB9302A) || \ 1217237d22bSSergey Kostanbaev defined(CONFIG_EDB9307A) || defined(CONFIG_EDB9315A) 1227237d22bSSergey Kostanbaev /* 1237237d22bSSergey Kostanbaev * EDB9302a has 4 banks of SDRAM consisting of 1x Samsung K4S561632E-TC75 1247237d22bSSergey Kostanbaev * 256 Mbit SDRAM on a 16-bit data bus, for a total of 32MB of SDRAM. We set 1257237d22bSSergey Kostanbaev * the SROMLL bit on the processor, resulting in this non-contiguous memory map. 1267237d22bSSergey Kostanbaev * 1277237d22bSSergey Kostanbaev * The EDB9307A and EDB9315A have 2 banks of SDRAM consisting of 2x Samsung 1287237d22bSSergey Kostanbaev * K4S561632E-TC75 256 Mbit on a 32-bit data bus, for a total of 64 MB of SDRAM. 1297237d22bSSergey Kostanbaev */ 1307237d22bSSergey Kostanbaev #define CONFIG_EDB93XX_SDCS0 1317237d22bSSergey Kostanbaev 1327237d22bSSergey Kostanbaev #else 1337237d22bSSergey Kostanbaev #error "no SDCS configuration for this board" 1347237d22bSSergey Kostanbaev #endif 1357237d22bSSergey Kostanbaev 1367237d22bSSergey Kostanbaev #if defined(CONFIG_EDB93XX_SDCS3) 1377237d22bSSergey Kostanbaev #define CONFIG_SYS_LOAD_ADDR 0x01000000 /* Default load address */ 1387237d22bSSergey Kostanbaev #define PHYS_SDRAM_1 0x00000000 1397237d22bSSergey Kostanbaev #elif defined(CONFIG_EDB93XX_SDCS0) 1407237d22bSSergey Kostanbaev #define CONFIG_SYS_LOAD_ADDR 0xc1000000 /* Default load address */ 1417237d22bSSergey Kostanbaev #define PHYS_SDRAM_1 0xc0000000 1427237d22bSSergey Kostanbaev #endif 1437237d22bSSergey Kostanbaev 1447237d22bSSergey Kostanbaev #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 1457237d22bSSergey Kostanbaev #define CONFIG_NR_DRAM_BANKS 8 1467237d22bSSergey Kostanbaev 1477237d22bSSergey Kostanbaev #define CONFIG_SYS_INIT_SP_ADDR \ 1487237d22bSSergey Kostanbaev (CONFIG_SYS_SDRAM_BASE + 32*1024 - GENERATED_GBL_DATA_SIZE) 1497237d22bSSergey Kostanbaev 1507237d22bSSergey Kostanbaev /* Must match kernel config */ 1517237d22bSSergey Kostanbaev #define LINUX_BOOT_PARAM_ADDR (PHYS_SDRAM_1 + 0x100) 1527237d22bSSergey Kostanbaev 1537237d22bSSergey Kostanbaev /* Run-time memory allocatons */ 1547237d22bSSergey Kostanbaev #define CONFIG_SYS_GBL_DATA_SIZE 128 1557237d22bSSergey Kostanbaev 1567237d22bSSergey Kostanbaev #define CONFIG_SYS_MALLOC_LEN (512 * 1024) 1577237d22bSSergey Kostanbaev 1587237d22bSSergey Kostanbaev /* ----------------------------------------------------------------------------- 1597237d22bSSergey Kostanbaev * FLASH and environment organization 1607237d22bSSergey Kostanbaev * 1617237d22bSSergey Kostanbaev * The EDB9301, EDB9302(a), EDB9307a, EDB9315a have 1 bank of flash memory at 1627237d22bSSergey Kostanbaev * 0x60000000 consisting of 1x Intel TE28F128J3C-150 128 Mbit flash on a 16-bit 1637237d22bSSergey Kostanbaev * data bus, for a total of 16 MB of CFI-compatible flash. 1647237d22bSSergey Kostanbaev * 1657237d22bSSergey Kostanbaev * The EDB9307, EDB9312, and EDB9315 have 1 bank of flash memory at 1667237d22bSSergey Kostanbaev * 0x60000000 consisting of 2x Micron MT28F128J3-12 128 Mbit flash on a 32-bit 1677237d22bSSergey Kostanbaev * data bus, for a total of 32 MB of CFI-compatible flash. 1687237d22bSSergey Kostanbaev * 1697237d22bSSergey Kostanbaev * 1707237d22bSSergey Kostanbaev * EDB9301/02(a)7a/15a EDB9307/12/15 1717237d22bSSergey Kostanbaev * 0x60000000 - 0x0003FFFF u-boot u-boot 1727237d22bSSergey Kostanbaev * 0x60040000 - 0x0005FFFF environment #1 environment #1 1737237d22bSSergey Kostanbaev * 0x60060000 - 0x0007FFFF environment #2 environment #1 (continued) 1747237d22bSSergey Kostanbaev * 0x60080000 - 0x0009FFFF unused environment #2 1757237d22bSSergey Kostanbaev * 0x600A0000 - 0x000BFFFF unused environment #2 (continued) 1767237d22bSSergey Kostanbaev * 0x600C0000 - 0x00FFFFFF unused unused 1777237d22bSSergey Kostanbaev * 0x61000000 - 0x01FFFFFF not present unused 1787237d22bSSergey Kostanbaev */ 1797237d22bSSergey Kostanbaev #define CONFIG_SYS_FLASH_CFI 1807237d22bSSergey Kostanbaev #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1817237d22bSSergey Kostanbaev 1827237d22bSSergey Kostanbaev #define CONFIG_SYS_FLASH_PROTECTION 1837237d22bSSergey Kostanbaev #define CONFIG_FLASH_CFI_DRIVER 1847237d22bSSergey Kostanbaev #define CONFIG_SYS_MAX_FLASH_BANKS 1 1857237d22bSSergey Kostanbaev #define CONFIG_SYS_MAX_FLASH_SECT (256+8) 1867237d22bSSergey Kostanbaev 1877237d22bSSergey Kostanbaev #define CONFIG_SYS_TEXT_BASE 0x60000000 1887237d22bSSergey Kostanbaev #define PHYS_FLASH_1 CONFIG_SYS_TEXT_BASE 1897237d22bSSergey Kostanbaev #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_TEXT_BASE 1907237d22bSSergey Kostanbaev 1917237d22bSSergey Kostanbaev #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 1927237d22bSSergey Kostanbaev #define CONFIG_SYS_MONITOR_LEN (256 * 1024) 1937237d22bSSergey Kostanbaev 1947237d22bSSergey Kostanbaev #define CONFIG_ENV_OVERWRITE /* Vendor params unprotected */ 1957237d22bSSergey Kostanbaev 1967237d22bSSergey Kostanbaev #define CONFIG_ENV_ADDR 0x60040000 1977237d22bSSergey Kostanbaev #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 1987237d22bSSergey Kostanbaev 1997237d22bSSergey Kostanbaev #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 2007237d22bSSergey Kostanbaev #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 2017237d22bSSergey Kostanbaev 2027237d22bSSergey Kostanbaev #define CONFIG_USB_OHCI_NEW 2037237d22bSSergey Kostanbaev #define CONFIG_USB_OHCI_EP93XX 2047237d22bSSergey Kostanbaev #define CONFIG_SYS_USB_OHCI_CPU_INIT 2057237d22bSSergey Kostanbaev #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 3 2067237d22bSSergey Kostanbaev #define CONFIG_SYS_USB_OHCI_SLOT_NAME "ep93xx-ohci" 2077237d22bSSergey Kostanbaev #define CONFIG_SYS_USB_OHCI_REGS_BASE 0x80020000 2087237d22bSSergey Kostanbaev 2097237d22bSSergey Kostanbaev /* Define to disable flash configuration*/ 2107237d22bSSergey Kostanbaev /* #define CONFIG_EP93XX_NO_FLASH_CFG */ 2117237d22bSSergey Kostanbaev 2127237d22bSSergey Kostanbaev /* Define this for indusrial rated chips */ 2137237d22bSSergey Kostanbaev /* #define CONFIG_EDB93XX_INDUSTRIAL */ 2147237d22bSSergey Kostanbaev 2157237d22bSSergey Kostanbaev #endif /* !defined (__CONFIG_H) */ 216