1*a562e1bdSwdenk# 2*a562e1bdSwdenk# GDB Init script for the Coldfire 5272 processor. 3*a562e1bdSwdenk# 4*a562e1bdSwdenk# The main purpose of this script is to configure the 5*a562e1bdSwdenk# DRAM controller so code can be loaded. 6*a562e1bdSwdenk# 7*a562e1bdSwdenk# This file was changed to suite the senTec COBRA5272 board. 8*a562e1bdSwdenk# 9*a562e1bdSwdenk 10*a562e1bdSwdenkdefine addresses 11*a562e1bdSwdenk 12*a562e1bdSwdenkset $mbar = 0x10000001 13*a562e1bdSwdenkset $scr = $mbar - 1 + 0x004 14*a562e1bdSwdenkset $spr = $mbar - 1 + 0x006 15*a562e1bdSwdenkset $pmr = $mbar - 1 + 0x008 16*a562e1bdSwdenkset $apmr = $mbar - 1 + 0x00e 17*a562e1bdSwdenkset $dir = $mbar - 1 + 0x010 18*a562e1bdSwdenkset $icr1 = $mbar - 1 + 0x020 19*a562e1bdSwdenkset $icr2 = $mbar - 1 + 0x024 20*a562e1bdSwdenkset $icr3 = $mbar - 1 + 0x028 21*a562e1bdSwdenkset $icr4 = $mbar - 1 + 0x02c 22*a562e1bdSwdenkset $isr = $mbar - 1 + 0x030 23*a562e1bdSwdenkset $pitr = $mbar - 1 + 0x034 24*a562e1bdSwdenkset $piwr = $mbar - 1 + 0x038 25*a562e1bdSwdenkset $pivr = $mbar - 1 + 0x03f 26*a562e1bdSwdenkset $csbr0 = $mbar - 1 + 0x040 27*a562e1bdSwdenkset $csor0 = $mbar - 1 + 0x044 28*a562e1bdSwdenkset $csbr1 = $mbar - 1 + 0x048 29*a562e1bdSwdenkset $csor1 = $mbar - 1 + 0x04c 30*a562e1bdSwdenkset $csbr2 = $mbar - 1 + 0x050 31*a562e1bdSwdenkset $csor2 = $mbar - 1 + 0x054 32*a562e1bdSwdenkset $csbr3 = $mbar - 1 + 0x058 33*a562e1bdSwdenkset $csor3 = $mbar - 1 + 0x05c 34*a562e1bdSwdenkset $csbr4 = $mbar - 1 + 0x060 35*a562e1bdSwdenkset $csor4 = $mbar - 1 + 0x064 36*a562e1bdSwdenkset $csbr5 = $mbar - 1 + 0x068 37*a562e1bdSwdenkset $csor5 = $mbar - 1 + 0x06c 38*a562e1bdSwdenkset $csbr6 = $mbar - 1 + 0x070 39*a562e1bdSwdenkset $csor6 = $mbar - 1 + 0x074 40*a562e1bdSwdenkset $csbr7 = $mbar - 1 + 0x078 41*a562e1bdSwdenkset $csor7 = $mbar - 1 + 0x07c 42*a562e1bdSwdenkset $pacnt = $mbar - 1 + 0x080 43*a562e1bdSwdenkset $paddr = $mbar - 1 + 0x084 44*a562e1bdSwdenkset $padat = $mbar - 1 + 0x086 45*a562e1bdSwdenkset $pbcnt = $mbar - 1 + 0x088 46*a562e1bdSwdenkset $pbddr = $mbar - 1 + 0x08c 47*a562e1bdSwdenkset $pbdat = $mbar - 1 + 0x08e 48*a562e1bdSwdenkset $pcddr = $mbar - 1 + 0x094 49*a562e1bdSwdenkset $pcdat = $mbar - 1 + 0x096 50*a562e1bdSwdenkset $pdcnt = $mbar - 1 + 0x098 51*a562e1bdSwdenkset $sdcr = $mbar - 1 + 0x180 52*a562e1bdSwdenkset $sdtr = $mbar - 1 + 0x184 53*a562e1bdSwdenkset $wrrr = $mbar - 1 + 0x280 54*a562e1bdSwdenkset $wirr = $mbar - 1 + 0x283 55*a562e1bdSwdenkset $wcr = $mbar - 1 + 0x288 56*a562e1bdSwdenkset $wer = $mbar - 1 + 0x28c 57*a562e1bdSwdenk 58*a562e1bdSwdenkend 59*a562e1bdSwdenk 60*a562e1bdSwdenk 61*a562e1bdSwdenk# 62*a562e1bdSwdenk# Setup system configuration 63*a562e1bdSwdenk# 64*a562e1bdSwdenkdefine setup-sys 65*a562e1bdSwdenkset *((unsigned short *) $scr) = 0x0003 66*a562e1bdSwdenkset *((unsigned short *) $spr) = 0xffff 67*a562e1bdSwdenkset *((unsigned char *) $pivr) = 0x4f 68*a562e1bdSwdenkend 69*a562e1bdSwdenk 70*a562e1bdSwdenk 71*a562e1bdSwdenk# 72*a562e1bdSwdenk# Setup Chip Selects (as per Motorola M5272C3 board) 73*a562e1bdSwdenk# 74*a562e1bdSwdenkdefine setup-cs 75*a562e1bdSwdenk 76*a562e1bdSwdenk# CS0 -- FLASH 77*a562e1bdSwdenkset *((unsigned long *) $csbr0) = 0xffe00201 78*a562e1bdSwdenkset *((unsigned long *) $csor0) = 0xffe00014 79*a562e1bdSwdenk 80*a562e1bdSwdenk# CS1 -- external bus test 81*a562e1bdSwdenkset *((unsigned long *) $csbr1) = 0x0 82*a562e1bdSwdenkset *((unsigned long *) $csor1) = 0x0 83*a562e1bdSwdenk 84*a562e1bdSwdenk# CS2 -- Optional FSRAM 85*a562e1bdSwdenkset *((unsigned long *) $csbr2) = 0x30000001 86*a562e1bdSwdenkset *((unsigned long *) $csor2) = 0xfff80000 87*a562e1bdSwdenk 88*a562e1bdSwdenk# CS3 -- not used 89*a562e1bdSwdenkset *((unsigned long *) $csbr3) = 0x0 90*a562e1bdSwdenkset *((unsigned long *) $csor3) = 0x0 91*a562e1bdSwdenk 92*a562e1bdSwdenk# CS4 -- not used 93*a562e1bdSwdenkset *((unsigned long *) $csbr4) = 0x0 94*a562e1bdSwdenkset *((unsigned long *) $csor4) = 0x0 95*a562e1bdSwdenk 96*a562e1bdSwdenk# CS5 -- PLI socket0 97*a562e1bdSwdenkset *((unsigned long *) $csbr5) = 0x0 98*a562e1bdSwdenkset *((unsigned long *) $csor5) = 0x0 99*a562e1bdSwdenk 100*a562e1bdSwdenk# CS6 -- PLI socket1 101*a562e1bdSwdenkset *((unsigned long *) $csbr6) = 0x0 102*a562e1bdSwdenkset *((unsigned long *) $csor6) = 0x0 103*a562e1bdSwdenk 104*a562e1bdSwdenk# CS7 -- SDRAM 105*a562e1bdSwdenkset *((unsigned long *) $csbr7) = 0x00000701 106*a562e1bdSwdenkset *((unsigned long *) $csor7) = 0xff00007c 107*a562e1bdSwdenk 108*a562e1bdSwdenkend 109*a562e1bdSwdenk 110*a562e1bdSwdenk 111*a562e1bdSwdenk# 112*a562e1bdSwdenk# Setup the DRAM controller. 113*a562e1bdSwdenk# 114*a562e1bdSwdenk 115*a562e1bdSwdenkdefine setup-dram 116*a562e1bdSwdenkset *((unsigned long *) $sdtr) = 0x0000f539 117*a562e1bdSwdenkset *((unsigned long *) $sdcr) = 0x00004211 118*a562e1bdSwdenk 119*a562e1bdSwdenk# Dummy write to start SDRAM 120*a562e1bdSwdenkset *((unsigned long *) 0) = 0 121*a562e1bdSwdenkend 122*a562e1bdSwdenk 123*a562e1bdSwdenk 124*a562e1bdSwdenk# 125*a562e1bdSwdenk# Setup for GPIO pins 126*a562e1bdSwdenk# 127*a562e1bdSwdenkdefine setup-ppio 128*a562e1bdSwdenk 129*a562e1bdSwdenk# PORT A -- the LED's 130*a562e1bdSwdenkset *((unsigned long *) $pacnt) = 0x00000000 131*a562e1bdSwdenk# lower 8 bits for output: 132*a562e1bdSwdenkset *((unsigned short *) $paddr) = 0xff 133*a562e1bdSwdenk# LED's off: 134*a562e1bdSwdenkset *((unsigned short *) $padat) = 0xff 135*a562e1bdSwdenk 136*a562e1bdSwdenk# PORT B 137*a562e1bdSwdenkset *((unsigned long *) $pbcnt) = 0x55554155 138*a562e1bdSwdenkset *((unsigned short *) $pbddr) = 0x0000 139*a562e1bdSwdenkset *((unsigned short *) $pbdat) = 0x17ea 140*a562e1bdSwdenk 141*a562e1bdSwdenk# PORT C 142*a562e1bdSwdenk#set *((unsigned short *) $pcddr) = 0x0000 143*a562e1bdSwdenk#set *((unsigned short *) $pcdat) = 0x1898 144*a562e1bdSwdenk 145*a562e1bdSwdenk# PORT D 146*a562e1bdSwdenkset *((unsigned long *) $pdcnt) = 0x00000000 147*a562e1bdSwdenk 148*a562e1bdSwdenkend 149*a562e1bdSwdenk 150*a562e1bdSwdenk 151*a562e1bdSwdenk# 152*a562e1bdSwdenk# Added for uClinux-coldfire target... 153*a562e1bdSwdenk# 154*a562e1bdSwdenktarget bdm /dev/bdm 155*a562e1bdSwdenk 156*a562e1bdSwdenkaddresses 157*a562e1bdSwdenksetup-sys 158*a562e1bdSwdenksetup-cs 159*a562e1bdSwdenksetup-dram 160*a562e1bdSwdenksetup-ppio 161*a562e1bdSwdenkset print pretty 162*a562e1bdSwdenkset print asm-demangle 163*a562e1bdSwdenkdisplay/i $pc 164*a562e1bdSwdenk 165*a562e1bdSwdenk 166*a562e1bdSwdenk# 167*a562e1bdSwdenkload u-boot 168*a562e1bdSwdenkset $pc=0x20000 169*a562e1bdSwdenkc 170