aboutsummaryrefslogtreecommitdiff
path: root/tcl/board/ethernut3.cfg
blob: 34e9b72d683ac4b1a951d0da0469163c7f766a6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#
# Ethernut 3 board configuration file
#
# http://www.ethernut.de/en/hardware/enut3/


# AT91R40008-66AU ARM7TDMI Microcontroller
# 256kB internal RAM
source [find target/at91r40008.cfg]


# AT49BV322A-70TU NOR Flash
# 2M x 16 mode at address 0x10000000
# Common flash interface supported
#
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0x10000000 0x400000 2 2 $_TARGETNAME


# Micrel MIC2775-29YM5 Supervisor
# Reset output will remain active for 280ms (maximum)
#
adapter_nsrst_delay 300
jtag_ntrst_delay 300


arm7_9 fast_memory_access enable
arm7_9 dcc_downloads enable
adapter_khz 16000


# Target events
#
$_TARGETNAME configure -event reset-init { board_init }

# Initialize board hardware
#
proc board_init { } {
	board_remap
	flash probe 0
}

# Memory remap
#
proc board_remap {{VERBOSE 0}} {
	# CS0: NOR flash
	#      16MB @ 0x10000000
	#      16-bit data bus
	#      4 wait states
	#
	mww 0xffe00000 0x1000212d

	# CS1: Ethernet controller
	#      1MB @ 0x20000000
	#      16-bit data bus
	#      2 wait states
	#      Byte select access
	#
	mww 0xffe00004 0x20003025

	# CS2: CPLD registers
	#      1MB @ 0x21000000
	#      8-bit data bus
	#      2 wait states
	#
	mww 0xffe00008 0x21002026

	# CS3: Expansion bus
	#      1MB @ 0x22000000
	#      8-bit data bus
	#      8 wait states
	#
	mww 0xffe00010 0x22002e3e

	# Remap command
	#
	mww 0xffe00020 0x00000001

	if {$VERBOSE != 0} {
		puts "0x00000000 RAM"
		puts "0x10000000 Flash"
		puts "0x20000000 Ethernet"
		puts "0x21000000 CPLD"
		puts "0x22000000 Expansion"
	}
}