Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 2 | /* |
| 3 | * (C) Copyright 2008 |
| 4 | * Sergei Poselenov, Emcraft Systems, sposelenov@emcraft.com. |
| 5 | * |
| 6 | * Wolfgang Denk <wd@denx.de> |
| 7 | * Copyright 2004 Freescale Semiconductor. |
| 8 | * (C) Copyright 2002,2003 Motorola,Inc. |
| 9 | * Xianghua Xiao <X.Xiao@motorola.com> |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 10 | */ |
| 11 | |
| 12 | /* |
| 13 | * Socrates |
| 14 | */ |
| 15 | |
| 16 | #ifndef __CONFIG_H |
| 17 | #define __CONFIG_H |
| 18 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 19 | /* |
| 20 | * Only possible on E500 Version 2 or newer cores. |
| 21 | */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 22 | |
| 23 | /* |
| 24 | * sysclk for MPC85xx |
| 25 | * |
| 26 | * Two valid values are: |
| 27 | * 33000000 |
| 28 | * 66000000 |
| 29 | * |
| 30 | * Most PCI cards are still 33Mhz, so in the presence of PCI, 33MHz |
| 31 | * is likely the desired value here, so that is now the default. |
| 32 | * The board, however, can run at 66MHz. In any event, this value |
| 33 | * must match the settings of some switches. Details can be found |
| 34 | * in the README.mpc85xxads. |
| 35 | */ |
| 36 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 37 | #define CFG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 38 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 39 | #undef CFG_SYS_DRAM_TEST /* memory test, takes time */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 40 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 41 | #define CFG_SYS_CCSRBAR 0xE0000000 |
| 42 | #define CFG_SYS_CCSRBAR_PHYS_LOW CFG_SYS_CCSRBAR |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 43 | |
Kumar Gala | 01135a8 | 2008-08-26 22:56:56 -0500 | [diff] [blame] | 44 | /* DDR Setup */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 45 | #define CFG_SYS_DDR_SDRAM_BASE 0x00000000 |
| 46 | #define CFG_SYS_SDRAM_BASE CFG_SYS_DDR_SDRAM_BASE |
Kumar Gala | 01135a8 | 2008-08-26 22:56:56 -0500 | [diff] [blame] | 47 | |
Kumar Gala | 01135a8 | 2008-08-26 22:56:56 -0500 | [diff] [blame] | 48 | /* I2C addresses of SPD EEPROMs */ |
Anatolij Gustschin | 2c04bc3 | 2008-09-17 11:45:51 +0200 | [diff] [blame] | 49 | #define SPD_EEPROM_ADDRESS 0x50 /* CTLR 0 DIMM 0 */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 50 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 51 | |
| 52 | /* Hardcoded values, to use instead of SPD */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 53 | #define CFG_SYS_DDR_CS0_BNDS 0x0000000f |
| 54 | #define CFG_SYS_DDR_CS0_CONFIG 0x80010102 |
| 55 | #define CFG_SYS_DDR_TIMING_0 0x00260802 |
| 56 | #define CFG_SYS_DDR_TIMING_1 0x3935D322 |
| 57 | #define CFG_SYS_DDR_TIMING_2 0x14904CC8 |
| 58 | #define CFG_SYS_DDR_MODE 0x00480432 |
| 59 | #define CFG_SYS_DDR_INTERVAL 0x030C0100 |
| 60 | #define CFG_SYS_DDR_CONFIG_2 0x04400000 |
| 61 | #define CFG_SYS_DDR_CONFIG 0xC3008000 |
| 62 | #define CFG_SYS_DDR_CLK_CONTROL 0x03800000 |
Tom Rini | bb4dd96 | 2022-11-16 13:10:37 -0500 | [diff] [blame] | 63 | #define CFG_SYS_SDRAM_SIZE 256 /* in Megs */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 64 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 65 | /* |
| 66 | * Flash on the LocalBus |
| 67 | */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 68 | #define CFG_SYS_FLASH0 0xFE000000 |
Heiko Schocher | 926140a | 2023-01-24 18:06:55 +0100 | [diff] [blame] | 69 | #define CFG_SYS_FLASH_BANKS_LIST { CFG_SYS_FLASH0 } |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 70 | |
Heiko Schocher | 926140a | 2023-01-24 18:06:55 +0100 | [diff] [blame] | 71 | #define CFG_SYS_LBC_FLASH_BASE CFG_SYS_FLASH0 /* Localbus flash start */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 72 | #define CFG_SYS_FLASH_BASE CFG_SYS_LBC_FLASH_BASE /* start of FLASH */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 73 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 74 | #define CFG_SYS_LBC_LCRR 0x00030004 /* LB clock ratio reg */ |
| 75 | #define CFG_SYS_LBC_LBCR 0x00000000 /* LB config reg */ |
| 76 | #define CFG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */ |
| 77 | #define CFG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer presc.*/ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 78 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 79 | #define CFG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */ |
| 80 | #define CFG_SYS_INIT_RAM_SIZE 0x4000 /* Size used area in RAM*/ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 81 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 82 | #define CFG_SYS_INIT_SP_OFFSET (CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 83 | |
Detlev Zundel | 0244f67 | 2008-08-15 15:42:12 +0200 | [diff] [blame] | 84 | /* FPGA and NAND */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 85 | #define CFG_SYS_FPGA_BASE 0xc0000000 |
| 86 | #define CFG_SYS_FPGA_SIZE 0x00100000 /* 1 MB */ |
Detlev Zundel | 0244f67 | 2008-08-15 15:42:12 +0200 | [diff] [blame] | 87 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 88 | #define CFG_SYS_NAND_BASE (CFG_SYS_FPGA_BASE + 0x70) |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 89 | |
Anatolij Gustschin | e6f5c91 | 2008-08-15 15:42:13 +0200 | [diff] [blame] | 90 | /* LIME GDC */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 91 | #define CFG_SYS_LIME_BASE 0xc8000000 |
Anatolij Gustschin | e6f5c91 | 2008-08-15 15:42:13 +0200 | [diff] [blame] | 92 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 93 | /* |
| 94 | * General PCI |
| 95 | * Memory space is mapped 1-1. |
| 96 | */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 97 | |
Tom Rini | 56af659 | 2022-11-16 13:10:33 -0500 | [diff] [blame] | 98 | #define CFG_SYS_PCI1_MEM_PHYS 0x80000000 |
| 99 | #define CFG_SYS_PCI1_IO_PHYS 0xE2000000 |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 100 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 101 | /* |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 102 | * Miscellaneous configurable options |
| 103 | */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 104 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 105 | /* |
| 106 | * For booting Linux, the board info and command line data |
| 107 | * have to be in the first 8 MB of memory, since this is |
| 108 | * the maximum mapped by the Linux kernel during initialization. |
| 109 | */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 110 | #define CFG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 111 | |
Heiko Schocher | 5a5361a | 2023-01-24 18:06:59 +0100 | [diff] [blame] | 112 | #define CFG_ENV_FLAGS_LIST_STATIC "ethaddr:mw,eth1addr:mw,system1_addr:xw,serial#:sw,ethact:sw,ethprime:sw" |
| 113 | |
Sergei Poselenov | 09842c5 | 2008-05-07 15:10:49 +0200 | [diff] [blame] | 114 | /* pass open firmware flat tree */ |
Sergei Poselenov | 09842c5 | 2008-05-07 15:10:49 +0200 | [diff] [blame] | 115 | |
Sergei Poselenov | f2bf96c | 2008-04-30 11:42:50 +0200 | [diff] [blame] | 116 | #endif /* __CONFIG_H */ |