Commit 080b7643fb93ad058ab40da27533d7b9ed8b6c6d
Committed by
Albert ARIBAUD
1 parent
8b5ab4c1b6
Exists in
master
and in
54 other branches
update/fix AcTux4 board
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Showing 3 changed files with 86 additions and 60 deletions Inline Diff
board/actux4/actux4.c
1 | /* | 1 | /* |
2 | * (C) Copyright 2007 | 2 | * (C) Copyright 2007 |
3 | * Michael Schwingen, michael@schwingen.org | 3 | * Michael Schwingen, michael@schwingen.org |
4 | * | 4 | * |
5 | * (C) Copyright 2006 | 5 | * (C) Copyright 2006 |
6 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 6 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
7 | * | 7 | * |
8 | * (C) Copyright 2002 | 8 | * (C) Copyright 2002 |
9 | * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net | 9 | * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net |
10 | * | 10 | * |
11 | * (C) Copyright 2002 | 11 | * (C) Copyright 2002 |
12 | * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | 12 | * Sysgo Real-Time Solutions, GmbH <www.elinos.com> |
13 | * Marius Groeger <mgroeger@sysgo.de> | 13 | * Marius Groeger <mgroeger@sysgo.de> |
14 | * | 14 | * |
15 | * See file CREDITS for list of people who contributed to this | 15 | * See file CREDITS for list of people who contributed to this |
16 | * project. | 16 | * project. |
17 | * | 17 | * |
18 | * This program is free software; you can redistribute it and/or | 18 | * This program is free software; you can redistribute it and/or |
19 | * modify it under the terms of the GNU General Public License as | 19 | * modify it under the terms of the GNU General Public License as |
20 | * published by the Free Software Foundation; either version 2 of | 20 | * published by the Free Software Foundation; either version 2 of |
21 | * the License, or (at your option) any later version. | 21 | * the License, or (at your option) any later version. |
22 | * | 22 | * |
23 | * This program is distributed in the hope that it will be useful, | 23 | * This program is distributed in the hope that it will be useful, |
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
26 | * GNU General Public License for more details. | 26 | * GNU General Public License for more details. |
27 | * | 27 | * |
28 | * You should have received a copy of the GNU General Public License | 28 | * You should have received a copy of the GNU General Public License |
29 | * along with this program; if not, write to the Free Software | 29 | * along with this program; if not, write to the Free Software |
30 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 30 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
31 | * MA 02111-1307 USA | 31 | * MA 02111-1307 USA |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <common.h> | 34 | #include <common.h> |
35 | #include <command.h> | 35 | #include <command.h> |
36 | #include <malloc.h> | 36 | #include <malloc.h> |
37 | #include <asm/arch/ixp425.h> | 37 | #include <asm/arch/ixp425.h> |
38 | 38 | #include <asm/io.h> | |
39 | #include <miiphy.h> | 39 | #include <miiphy.h> |
40 | #ifdef CONFIG_PCI | ||
41 | #include <pci.h> | ||
42 | #include <asm/arch/ixp425pci.h> | ||
43 | #endif | ||
40 | 44 | ||
41 | #include "actux4_hw.h" | 45 | #include "actux4_hw.h" |
42 | 46 | ||
43 | DECLARE_GLOBAL_DATA_PTR; | 47 | DECLARE_GLOBAL_DATA_PTR; |
44 | 48 | ||
45 | int board_init (void) | 49 | int board_early_init_f(void) |
46 | { | 50 | { |
51 | writel(0xbd113c42, IXP425_EXP_CS1); | ||
52 | return 0; | ||
53 | } | ||
54 | |||
55 | int board_init(void) | ||
56 | { | ||
47 | gd->bd->bi_arch_number = MACH_TYPE_ACTUX4; | 57 | gd->bd->bi_arch_number = MACH_TYPE_ACTUX4; |
48 | 58 | ||
49 | /* adress of boot parameters */ | 59 | /* adress of boot parameters */ |
50 | gd->bd->bi_boot_params = 0x00000100; | 60 | gd->bd->bi_boot_params = 0x00000100; |
51 | 61 | ||
52 | GPIO_OUTPUT_CLEAR (CONFIG_SYS_GPIO_nPWRON); | 62 | GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_nPWRON); |
53 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_nPWRON); | 63 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_nPWRON); |
54 | 64 | ||
55 | GPIO_OUTPUT_CLEAR (CONFIG_SYS_GPIO_IORST); | 65 | GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_IORST); |
56 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_IORST); | 66 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_IORST); |
57 | 67 | ||
58 | /* led not populated on board*/ | 68 | /* led not populated on board*/ |
59 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_LED3); | 69 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_LED3); |
60 | GPIO_OUTPUT_SET (CONFIG_SYS_GPIO_LED3); | 70 | GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_LED3); |
61 | 71 | ||
62 | /* middle LED */ | 72 | /* middle LED */ |
63 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_LED2); | 73 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_LED2); |
64 | GPIO_OUTPUT_SET (CONFIG_SYS_GPIO_LED2); | 74 | GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_LED2); |
65 | 75 | ||
66 | /* right LED */ | 76 | /* right LED */ |
67 | /* weak pulldown = LED weak on */ | 77 | /* weak pulldown = LED weak on */ |
68 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_LED1); | 78 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_LED1); |
69 | GPIO_OUTPUT_SET (CONFIG_SYS_GPIO_LED1); | 79 | GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_LED1); |
70 | 80 | ||
71 | /* Setup GPIO's for Interrupt inputs */ | 81 | /* Setup GPIO's for Interrupt inputs */ |
72 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_USBINTA); | 82 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_USBINTA); |
73 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_USBINTB); | 83 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_USBINTB); |
74 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_USBINTC); | 84 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_USBINTC); |
75 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_RTCINT); | 85 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_RTCINT); |
76 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_PCI_INTA); | 86 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_PCI_INTA); |
77 | GPIO_OUTPUT_DISABLE (CONFIG_SYS_GPIO_PCI_INTB); | 87 | GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_PCI_INTB); |
78 | 88 | ||
79 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_USBINTA); | 89 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_USBINTA); |
80 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_USBINTB); | 90 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_USBINTB); |
81 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_USBINTC); | 91 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_USBINTC); |
82 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_RTCINT); | 92 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_RTCINT); |
83 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_PCI_INTA); | 93 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_PCI_INTA); |
84 | GPIO_INT_ACT_LOW_SET (CONFIG_SYS_GPIO_PCI_INTB); | 94 | GPIO_INT_ACT_LOW_SET(CONFIG_SYS_GPIO_PCI_INTB); |
85 | 95 | ||
86 | /* Setup GPIO's for 33MHz clock output */ | 96 | /* Setup GPIO's for 33MHz clock output */ |
87 | *IXP425_GPIO_GPCLKR = 0x011001FF; | 97 | writel(0x011001FF, IXP425_GPIO_GPCLKR); |
88 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_EXTBUS_CLK); | 98 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_EXTBUS_CLK); |
89 | GPIO_OUTPUT_ENABLE (CONFIG_SYS_GPIO_PCI_CLK); | 99 | GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_PCI_CLK); |
90 | 100 | ||
91 | *IXP425_EXP_CS1 = 0xbd113c42; | 101 | udelay(10000); |
102 | GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_IORST); | ||
103 | udelay(10000); | ||
104 | GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_IORST); | ||
105 | udelay(10000); | ||
106 | GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_IORST); | ||
92 | 107 | ||
93 | udelay (10000); | ||
94 | GPIO_OUTPUT_SET (CONFIG_SYS_GPIO_IORST); | ||
95 | udelay (10000); | ||
96 | GPIO_OUTPUT_CLEAR (CONFIG_SYS_GPIO_IORST); | ||
97 | udelay (10000); | ||
98 | GPIO_OUTPUT_SET (CONFIG_SYS_GPIO_IORST); | ||
99 | |||
100 | return 0; | 108 | return 0; |
101 | } | 109 | } |
102 | 110 | ||
103 | /* Check Board Identity */ | 111 | /* Check Board Identity */ |
104 | int checkboard (void) | 112 | int checkboard(void) |
105 | { | 113 | { |
106 | puts ("Board: AcTux-4\n"); | 114 | puts("Board: AcTux-4\n"); |
107 | return (0); | 115 | return 0; |
108 | } | 116 | } |
109 | 117 | ||
110 | int dram_init (void) | 118 | int dram_init(void) |
111 | { | 119 | { |
112 | gd->bd->bi_dram[0].start = PHYS_SDRAM_1; | 120 | gd->ram_size = get_ram_size(CONFIG_SYS_SDRAM_BASE, 128<<20); |
113 | gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; | 121 | return 0; |
122 | } | ||
114 | 123 | ||
115 | return (0); | 124 | #ifdef CONFIG_PCI |
125 | struct pci_controller hose; | ||
126 | |||
127 | void pci_init_board(void) | ||
128 | { | ||
129 | pci_ixp_init(&hose); | ||
116 | } | 130 | } |
131 | #endif | ||
117 | 132 | ||
118 | /* | 133 | /* |
119 | * Hardcoded flash setup: | 134 | * Hardcoded flash setup: |
120 | * Flash 0 is a non-CFI SST 39VF020 flash, 8 bit flash / 8 bit bus. | 135 | * Flash 0 is a non-CFI SST 39VF020 flash, 8 bit flash / 8 bit bus. |
121 | * Flash 1 is an Intel *16 flash using the CFI driver. | 136 | * Flash 1 is an Intel *16 flash using the CFI driver. |
122 | */ | 137 | */ |
123 | ulong board_flash_get_legacy (ulong base, int banknum, flash_info_t * info) | 138 | ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info) |
124 | { | 139 | { |
125 | if (banknum == 0) { /* non-CFI boot flash */ | 140 | if (banknum == 0) { /* non-CFI boot flash */ |
126 | info->portwidth = 1; | 141 | info->portwidth = 1; |
board/actux4/config.mk
1 | CONFIG_SYS_TEXT_BASE = 0x00e00000 | File was deleted | |
2 | |||
3 | # include NPE ethernet driver | ||
4 | BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.o | ||
5 | 1 | CONFIG_SYS_TEXT_BASE = 0x00e00000 |
include/configs/actux4.h
1 | /* | 1 | /* |
2 | * (C) Copyright 2007 | 2 | * (C) Copyright 2007 |
3 | * Michael Schwingen, michael@schwingen.org | 3 | * Michael Schwingen, michael@schwingen.org |
4 | * | 4 | * |
5 | * Configuration settings for the AcTux-4 board. | 5 | * Configuration settings for the AcTux-4 board. |
6 | * | 6 | * |
7 | * See file CREDITS for list of people who contributed to this | 7 | * See file CREDITS for list of people who contributed to this |
8 | * project. | 8 | * project. |
9 | * | 9 | * |
10 | * This program is free software; you can redistribute it and/or | 10 | * This program is free software; you can redistribute it and/or |
11 | * modify it under the terms of the GNU General Public License as | 11 | * modify it under the terms of the GNU General Public License as |
12 | * published by the Free Software Foundation; either version 2 of | 12 | * published by the Free Software Foundation; either version 2 of |
13 | * the License, or (at your option) any later version. | 13 | * the License, or (at your option) any later version. |
14 | * | 14 | * |
15 | * This program is distributed in the hope that it will be useful, | 15 | * This program is distributed in the hope that it will be useful, |
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
18 | * GNU General Public License for more details. | 18 | * GNU General Public License for more details. |
19 | * | 19 | * |
20 | * You should have received a copy of the GNU General Public License | 20 | * You should have received a copy of the GNU General Public License |
21 | * along with this program; if not, write to the Free Software | 21 | * along with this program; if not, write to the Free Software |
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
23 | * MA 02111-1307 USA | 23 | * MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #ifndef __CONFIG_H | 26 | #ifndef __CONFIG_H |
27 | #define __CONFIG_H | 27 | #define __CONFIG_H |
28 | 28 | ||
29 | #define CONFIG_IXP425 1 | 29 | #define CONFIG_IXP425 1 |
30 | #define CONFIG_ACTUX4 1 | 30 | #define CONFIG_ACTUX4 1 |
31 | 31 | ||
32 | #define CONFIG_DISPLAY_CPUINFO 1 | 32 | #define CONFIG_DISPLAY_CPUINFO 1 |
33 | #define CONFIG_DISPLAY_BOARDINFO 1 | 33 | #define CONFIG_DISPLAY_BOARDINFO 1 |
34 | 34 | ||
35 | #define CONFIG_IXP_SERIAL | 35 | #define CONFIG_IXP_SERIAL |
36 | #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 | 36 | #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 |
37 | #define CONFIG_BAUDRATE 115200 | 37 | #define CONFIG_BAUDRATE 115200 |
38 | #define CONFIG_BOOTDELAY 3 | 38 | #define CONFIG_BOOTDELAY 3 |
39 | #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ | 39 | #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ |
40 | #define CONFIG_BOARD_EARLY_INIT_F 1 | ||
40 | 41 | ||
41 | /*************************************************************** | 42 | /*************************************************************** |
42 | * U-boot generic defines start here. | 43 | * U-boot generic defines start here. |
43 | ***************************************************************/ | 44 | ***************************************************************/ |
44 | #undef CONFIG_USE_IRQ | ||
45 | |||
46 | /* Size of malloc() pool */ | 45 | /* Size of malloc() pool */ |
47 | #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024) | 46 | #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024) |
48 | 47 | ||
49 | /* allow to overwrite serial and ethaddr */ | 48 | /* allow to overwrite serial and ethaddr */ |
50 | #define CONFIG_ENV_OVERWRITE | 49 | #define CONFIG_ENV_OVERWRITE |
51 | 50 | ||
52 | /* Command line configuration */ | 51 | /* Command line configuration */ |
53 | #include <config_cmd_default.h> | 52 | #include <config_cmd_default.h> |
54 | 53 | ||
55 | #define CONFIG_CMD_ELF | 54 | #define CONFIG_CMD_ELF |
56 | 55 | ||
56 | #define CONFIG_PCI | ||
57 | #ifdef CONFIG_PCI | ||
58 | #define CONFIG_CMD_PCI | ||
59 | #define CONFIG_PCI_PNP | ||
60 | #define CONFIG_IXP_PCI | ||
61 | #define CONFIG_PCI_SCAN_SHOW | ||
62 | #define CONFIG_CMD_PCI_ENUM | ||
63 | #endif | ||
64 | |||
57 | #define CONFIG_BOOTCOMMAND "run boot_flash" | 65 | #define CONFIG_BOOTCOMMAND "run boot_flash" |
58 | /* enable passing of ATAGs */ | 66 | /* enable passing of ATAGs */ |
59 | #define CONFIG_CMDLINE_TAG 1 | 67 | #define CONFIG_CMDLINE_TAG 1 |
60 | #define CONFIG_SETUP_MEMORY_TAGS 1 | 68 | #define CONFIG_SETUP_MEMORY_TAGS 1 |
61 | #define CONFIG_INITRD_TAG 1 | 69 | #define CONFIG_INITRD_TAG 1 |
62 | 70 | ||
63 | #if defined(CONFIG_CMD_KGDB) | 71 | #if defined(CONFIG_CMD_KGDB) |
64 | # define CONFIG_KGDB_BAUDRATE 230400 | 72 | # define CONFIG_KGDB_BAUDRATE 230400 |
65 | /* which serial port to use */ | 73 | /* which serial port to use */ |
66 | # define CONFIG_KGDB_SER_INDEX 1 | 74 | # define CONFIG_KGDB_SER_INDEX 1 |
67 | #endif | 75 | #endif |
68 | 76 | ||
69 | /* Miscellaneous configurable options */ | 77 | /* Miscellaneous configurable options */ |
70 | #define CONFIG_SYS_LONGHELP | 78 | #define CONFIG_SYS_LONGHELP |
71 | #define CONFIG_SYS_PROMPT "=> " | 79 | #define CONFIG_SYS_PROMPT "=> " |
72 | /* Console I/O Buffer Size */ | 80 | /* Console I/O Buffer Size */ |
73 | #define CONFIG_SYS_CBSIZE 256 | 81 | #define CONFIG_SYS_CBSIZE 256 |
74 | /* Print Buffer Size */ | 82 | /* Print Buffer Size */ |
75 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) | 83 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) |
76 | /* max number of command args */ | 84 | /* max number of command args */ |
77 | #define CONFIG_SYS_MAXARGS 16 | 85 | #define CONFIG_SYS_MAXARGS 16 |
78 | /* Boot Argument Buffer Size */ | 86 | /* Boot Argument Buffer Size */ |
79 | #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE | 87 | #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE |
80 | 88 | ||
81 | #define CONFIG_SYS_MEMTEST_START 0x00400000 | 89 | #define CONFIG_SYS_MEMTEST_START 0x00400000 |
82 | #define CONFIG_SYS_MEMTEST_END 0x00800000 | 90 | #define CONFIG_SYS_MEMTEST_END 0x00800000 |
83 | 91 | ||
84 | /* spec says 66.666 MHz, but it appears to be 33 */ | 92 | /* timer clock - 2* OSC_IN system clock */ |
85 | #define CONFIG_SYS_HZ 3333333 | 93 | #define CONFIG_IXP425_TIMER_CLK 66000000 |
94 | #define CONFIG_SYS_HZ 1000 | ||
86 | 95 | ||
87 | /* default load address */ | 96 | /* default load address */ |
88 | #define CONFIG_SYS_LOAD_ADDR 0x00010000 | 97 | #define CONFIG_SYS_LOAD_ADDR 0x00010000 |
89 | 98 | ||
90 | /* valid baudrates */ | 99 | /* valid baudrates */ |
91 | #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, \ | 100 | #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, \ |
92 | 115200, 230400 } | 101 | 115200, 230400 } |
93 | #define CONFIG_SERIAL_RTS_ACTIVE 1 | 102 | #define CONFIG_SERIAL_RTS_ACTIVE 1 |
94 | 103 | ||
95 | /* | 104 | /* |
96 | * Stack sizes | 105 | * Stack sizes |
97 | * The stack sizes are set up in start.S using the settings below | 106 | * The stack sizes are set up in start.S using the settings below |
98 | */ | 107 | */ |
99 | #define CONFIG_STACKSIZE (128*1024) /* regular stack */ | 108 | #define CONFIG_STACKSIZE (128*1024) /* regular stack */ |
100 | #ifdef CONFIG_USE_IRQ | ||
101 | # define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ | ||
102 | # define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ | ||
103 | #endif | ||
104 | 109 | ||
105 | /* Expansion bus settings */ | 110 | /* Expansion bus settings */ |
106 | #define CONFIG_SYS_EXP_CS0 0xbd113003 | 111 | #define CONFIG_SYS_EXP_CS0 0xbd113003 |
107 | 112 | ||
108 | /* SDRAM settings */ | 113 | /* SDRAM settings */ |
109 | #define CONFIG_NR_DRAM_BANKS 1 | 114 | #define CONFIG_NR_DRAM_BANKS 1 |
110 | #define PHYS_SDRAM_1 0x00000000 | 115 | #define PHYS_SDRAM_1 0x00000000 |
111 | #define CONFIG_SYS_DRAM_BASE 0x00000000 | 116 | #define CONFIG_SYS_SDRAM_BASE 0x00000000 |
112 | 117 | ||
113 | /* 32MB SDRAM */ | 118 | /* 32MB SDRAM */ |
114 | #define CONFIG_SYS_SDR_CONFIG 0x18 | 119 | #define CONFIG_SYS_SDR_CONFIG 0x18 |
115 | #define PHYS_SDRAM_1_SIZE 0x02000000 | 120 | #define PHYS_SDRAM_1_SIZE 0x02000000 |
116 | #define CONFIG_SYS_SDRAM_REFRESH_CNT 0x81a | 121 | #define CONFIG_SYS_SDRAM_REFRESH_CNT 0x81a |
117 | #define CONFIG_SYS_SDR_MODE_CONFIG 0x1 | 122 | #define CONFIG_SYS_SDR_MODE_CONFIG 0x1 |
118 | #define CONFIG_SYS_DRAM_SIZE 0x02000000 | 123 | #define CONFIG_SYS_DRAM_SIZE 0x02000000 |
119 | 124 | ||
120 | /* FLASH organization */ | 125 | /* FLASH organization */ |
126 | #define CONFIG_SYS_TEXT_BASE 0x50000000 | ||
121 | #define CONFIG_SYS_MAX_FLASH_BANKS 2 | 127 | #define CONFIG_SYS_MAX_FLASH_BANKS 2 |
122 | /* max # of sectors per chip */ | 128 | /* max # of sectors per chip */ |
123 | #define CONFIG_SYS_MAX_FLASH_SECT 70 | 129 | #define CONFIG_SYS_MAX_FLASH_SECT 70 |
124 | #define PHYS_FLASH_1 0x50000000 | 130 | #define PHYS_FLASH_1 0x50000000 |
125 | #define PHYS_FLASH_2 0x51000000 | 131 | #define PHYS_FLASH_2 0x51000000 |
126 | #define CONFIG_SYS_FLASH_BANKS_LIST { PHYS_FLASH_1, PHYS_FLASH_2 } | 132 | #define CONFIG_SYS_FLASH_BANKS_LIST { PHYS_FLASH_1, PHYS_FLASH_2 } |
127 | 133 | ||
128 | #define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 | 134 | #define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 |
129 | #define CONFIG_SYS_MONITOR_BASE PHYS_FLASH_1 | 135 | #define CONFIG_SYS_MONITOR_BASE PHYS_FLASH_1 |
130 | #define CONFIG_SYS_MONITOR_LEN (252 << 10) | 136 | #define CONFIG_SYS_MONITOR_LEN (252 << 10) |
137 | #define CONFIG_BOARD_SIZE_LIMIT 258048 | ||
131 | 138 | ||
132 | /* Use common CFI driver */ | 139 | /* Use common CFI driver */ |
133 | #define CONFIG_SYS_FLASH_CFI | 140 | #define CONFIG_SYS_FLASH_CFI |
134 | #define CONFIG_FLASH_CFI_DRIVER | 141 | #define CONFIG_FLASH_CFI_DRIVER |
135 | /* board provides its own flash_init code */ | 142 | /* board provides its own flash_init code */ |
136 | #define CONFIG_FLASH_CFI_LEGACY 1 | 143 | #define CONFIG_FLASH_CFI_LEGACY 1 |
137 | /* no byte writes on IXP4xx */ | 144 | /* no byte writes on IXP4xx */ |
138 | #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT | 145 | #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT |
139 | /* SST 39VF020 etc. support */ | 146 | /* SST 39VF020 etc. support */ |
140 | #define CONFIG_SYS_FLASH_LEGACY_256Kx8 1 | 147 | #define CONFIG_SYS_FLASH_LEGACY_256Kx8 1 |
141 | 148 | ||
142 | /* print 'E' for empty sector on flinfo */ | 149 | /* print 'E' for empty sector on flinfo */ |
143 | #define CONFIG_SYS_FLASH_EMPTY_INFO | 150 | #define CONFIG_SYS_FLASH_EMPTY_INFO |
144 | 151 | ||
145 | /* Ethernet */ | 152 | /* Ethernet */ |
146 | 153 | ||
147 | /* include IXP4xx NPE support */ | 154 | /* include IXP4xx NPE support */ |
148 | #define CONFIG_IXP4XX_NPE 1 | 155 | #define CONFIG_IXP4XX_NPE 1 |
149 | 156 | ||
150 | #define CONFIG_NET_MULTI 1 | 157 | #define CONFIG_NET_MULTI 1 |
151 | /* NPE0 PHY address */ | 158 | /* NPE0 PHY address */ |
152 | #define CONFIG_PHY_ADDR 0x1C | 159 | #define CONFIG_PHY_ADDR 0x1C |
153 | /* MII PHY management */ | 160 | /* MII PHY management */ |
154 | #define CONFIG_MII 1 | 161 | #define CONFIG_MII 1 |
162 | |||
155 | /* Number of ethernet rx buffers & descriptors */ | 163 | /* Number of ethernet rx buffers & descriptors */ |
156 | #define CONFIG_SYS_RX_ETH_BUFFER 16 | 164 | #define CONFIG_SYS_RX_ETH_BUFFER 16 |
157 | 165 | ||
158 | #define CONFIG_CMD_DHCP | 166 | #define CONFIG_CMD_DHCP |
159 | #define CONFIG_CMD_NET | 167 | #define CONFIG_CMD_NET |
160 | #define CONFIG_CMD_MII | 168 | #define CONFIG_CMD_MII |
161 | #define CONFIG_CMD_PING | 169 | #define CONFIG_CMD_PING |
162 | #undef CONFIG_CMD_NFS | 170 | #undef CONFIG_CMD_NFS |
163 | 171 | ||
164 | /* BOOTP options */ | 172 | /* BOOTP options */ |
165 | #define CONFIG_BOOTP_BOOTFILESIZE | 173 | #define CONFIG_BOOTP_BOOTFILESIZE |
166 | #define CONFIG_BOOTP_BOOTPATH | 174 | #define CONFIG_BOOTP_BOOTPATH |
167 | #define CONFIG_BOOTP_GATEWAY | 175 | #define CONFIG_BOOTP_GATEWAY |
168 | #define CONFIG_BOOTP_HOSTNAME | 176 | #define CONFIG_BOOTP_HOSTNAME |
169 | 177 | ||
170 | /* Cache Configuration */ | 178 | /* Cache Configuration */ |
171 | #define CONFIG_SYS_CACHELINE_SIZE 32 | 179 | #define CONFIG_SYS_CACHELINE_SIZE 32 |
172 | 180 | ||
173 | /* environment organization: one complete 4k flash sector */ | 181 | /* environment organization: one complete 4k flash sector */ |
174 | #define CONFIG_ENV_IS_IN_FLASH 1 | 182 | #define CONFIG_ENV_IS_IN_FLASH 1 |
175 | #define CONFIG_ENV_SIZE 0x1000 | 183 | #define CONFIG_ENV_SIZE 0x1000 |
176 | #define CONFIG_ENV_ADDR (PHYS_FLASH_1 + 0x3f000) | 184 | #define CONFIG_ENV_ADDR (PHYS_FLASH_1 + 0x3f000) |
177 | 185 | ||
178 | #define CONFIG_EXTRA_ENV_SETTINGS \ | 186 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
179 | "npe_ucode=51000000\0" \ | 187 | "npe_ucode=51000000\0" \ |
180 | "mtd=IXP4XX-Flash.0:252k(uboot),4k(uboot_env);" \ | 188 | "mtd=IXP4XX-Flash.0:252k(uboot),4k(uboot_env);" \ |
181 | "IXP4XX-Flash.1:128k(ucode),1280k(linux),-(root)\0" \ | 189 | "IXP4XX-Flash.1:128k(ucode),1280k(linux),-(root)\0" \ |
182 | "kerneladdr=51020000\0" \ | 190 | "kerneladdr=51020000\0" \ |
191 | "kernelfile=actux4/uImage\0" \ | ||
192 | "rootfile=actux4/rootfs\0" \ | ||
183 | "rootaddr=51160000\0" \ | 193 | "rootaddr=51160000\0" \ |
184 | "loadaddr=10000\0" \ | 194 | "loadaddr=10000\0" \ |
185 | "updateboot_ser=mw.b 10000 ff 40000;" \ | 195 | "updateboot_ser=mw.b 10000 ff 40000;" \ |
186 | " loady ${loadaddr};" \ | 196 | " loady ${loadaddr};" \ |
187 | " run eraseboot writeboot\0" \ | 197 | " run eraseboot writeboot\0" \ |
188 | "updateboot_net=mw.b 10000 ff 40000;" \ | 198 | "updateboot_net=mw.b 10000 ff 40000;" \ |
189 | " tftp ${loadaddr} u-boot.bin;" \ | 199 | " tftp ${loadaddr} actux4/u-boot.bin;" \ |
190 | " run eraseboot writeboot\0" \ | 200 | " run eraseboot writeboot\0" \ |
191 | "eraseboot=protect off 50000000 5003efff;" \ | 201 | "eraseboot=protect off 50000000 5003efff;" \ |
192 | " erase 50000000 +${filesize}\0" \ | 202 | " erase 50000000 +${filesize}\0" \ |
193 | "writeboot=cp.b 10000 50000000 ${filesize}\0" \ | 203 | "writeboot=cp.b 10000 50000000 ${filesize}\0" \ |
194 | "eraseenv=protect off 5003f000 5003ffff;" \ | 204 | "updateucode=loady;" \ |
195 | " erase 5003f000 5003ffff\0" \ | 205 | " era ${npe_ucode} +${filesize};" \ |
206 | " cp.b ${loadaddr} ${npe_ucode} ${filesize}\0" \ | ||
196 | "updateroot=tftp ${loadaddr} ${rootfile};" \ | 207 | "updateroot=tftp ${loadaddr} ${rootfile};" \ |
197 | " era ${rootaddr} +${filesize};" \ | 208 | " era ${rootaddr} +${filesize};" \ |
198 | " cp.b ${loadaddr} ${rootaddr} ${filesize}\0" \ | 209 | " cp.b ${loadaddr} ${rootaddr} ${filesize}\0" \ |
199 | "updatekern=tftp ${loadaddr} ${kernelfile};" \ | 210 | "updatekern=tftp ${loadaddr} ${kernelfile};" \ |
200 | " era ${kerneladdr} +${filesize};" \ | 211 | " era ${kerneladdr} +${filesize};" \ |
201 | " cp.b ${loadaddr} ${kerneladdr} ${filesize}\0" \ | 212 | " cp.b ${loadaddr} ${kerneladdr} ${filesize}\0" \ |
202 | "flashargs=setenv bootargs mtdparts=${mtd} root=/dev/mtdblock4" \ | 213 | "flashargs=setenv bootargs mtdparts=${mtd} root=/dev/mtdblock4" \ |
203 | " rootfstype=squashfs,jffs2 init=/etc/preinit\0" \ | 214 | " rootfstype=squashfs,jffs2 init=/etc/preinit\0" \ |
204 | "netargs=setenv bootargs mtdparts=${mtd} root=/dev/mtdblock4" \ | 215 | "netargs=setenv bootargs mtdparts=${mtd} root=/dev/mtdblock4" \ |
205 | " rootfstype=squashfs,jffs2 init=/etc/preinit\0" \ | 216 | " rootfstype=squashfs,jffs2 init=/etc/preinit\0" \ |
206 | "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0" \ | 217 | "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0" \ |
207 | "addeth=setenv bootargs ${bootargs} ethaddr=${ethaddr}\0" \ | 218 | "addeth=setenv bootargs ${bootargs} ethaddr=${ethaddr}\0" \ |
208 | "boot_flash=run flashargs addtty addeth;" \ | 219 | "boot_flash=run flashargs addtty addeth;" \ |
209 | " bootm ${kerneladdr}\0" \ | 220 | " bootm ${kerneladdr}\0" \ |
210 | "boot_net=run netargs addtty addeth;" \ | 221 | "boot_net=run netargs addtty addeth;" \ |
211 | " tftpboot ${loadaddr} ${kernelfile};" \ | 222 | " tftpboot ${loadaddr} ${kernelfile};" \ |
212 | " bootm\0" | 223 | " bootm\0" |
224 |