README 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. Freescale MCF5373EVB ColdFire Development Board
  2. ================================================
  3. TsiChung Liew(Tsi-Chung.Liew@freescale.com)
  4. Created 11/08/07
  5. ===========================================
  6. Changed files:
  7. ==============
  8. - board/freescale/m5373evb/m5373evb.c Dram setup
  9. - board/freescale/m5373evb/mii.c Mii access
  10. - board/freescale/m5373evb/Makefile Makefile
  11. - board/freescale/m5373evb/config.mk config make
  12. - board/freescale/m5373evb/u-boot.lds Linker description
  13. - arch/m68k/cpu/mcf532x/cpu.c cpu specific code
  14. - arch/m68k/cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs
  15. - arch/m68k/cpu/mcf532x/interrupts.c cpu specific interrupt support
  16. - arch/m68k/cpu/mcf532x/speed.c system, pci, flexbus, and cpu clock
  17. - arch/m68k/cpu/mcf532x/Makefile Makefile
  18. - arch/m68k/cpu/mcf532x/config.mk config make
  19. - arch/m68k/cpu/mcf532x/start.S start up assembly code
  20. - doc/README.m5373evb This readme file
  21. - drivers/net/mcffec.c ColdFire common FEC driver
  22. - drivers/serial/mcfuart.c ColdFire common UART driver
  23. - drivers/rtc/mcfrtc.c Realtime clock Driver
  24. - include/asm-m68k/bitops.h Bit operation function export
  25. - include/asm-m68k/byteorder.h Byte order functions
  26. - include/asm-m68k/fec.h FEC structure and definition
  27. - include/asm-m68k/fsl_i2c.h I2C structure and definition
  28. - include/asm-m68k/global_data.h Global data structure
  29. - include/asm-m68k/immap.h ColdFire specific header file and driver macros
  30. - include/asm-m68k/immap_532x.h mcf532x specific header file
  31. - include/asm-m68k/io.h io functions
  32. - include/asm-m68k/m532x.h mcf532x specific header file
  33. - include/asm-m68k/posix_types.h Posix
  34. - include/asm-m68k/processor.h header file
  35. - include/asm-m68k/ptrace.h Exception structure
  36. - include/asm-m68k/rtc.h Realtime clock header file
  37. - include/asm-m68k/string.h String function export
  38. - include/asm-m68k/timer.h Timer structure and definition
  39. - include/asm-m68k/types.h Data types definition
  40. - include/asm-m68k/uart.h Uart structure and definition
  41. - include/asm-m68k/u-boot.h U-Boot structure
  42. - include/configs/M5373EVB.h Board specific configuration file
  43. - arch/m68k/lib/board.c board init function
  44. - arch/m68k/lib/cache.c
  45. - arch/m68k/lib/interrupts Coldfire common interrupt functions
  46. - arch/m68k/lib/m68k_linux.c
  47. - arch/m68k/lib/time.c Timer functions (Dma timer and PIT)
  48. - arch/m68k/lib/traps.c Exception init code
  49. 1 MCF5373 specific Options/Settings
  50. ====================================
  51. 1.1 pre-loader is no longer suppoer in thie coldfire family
  52. 1.2 Configuration settings for M5373EVB Development Board
  53. CONFIG_MCF532x -- define for all MCF532x CPUs
  54. CONFIG_M5373 -- define for all Freescale MCF5373 CPUs
  55. CONFIG_M5373EVB -- define for M5373EVB board
  56. CONFIG_MCFUART -- define to use common CF Uart driver
  57. CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
  58. CONFIG_BAUDRATE -- define UART baudrate
  59. CONFIG_MCFRTC -- define to use common CF RTC driver
  60. CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
  61. CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
  62. RTC_DEBUG -- define to show RTC debug message
  63. CONFIG_CMD_DATE -- enable to use date feature in U-Boot
  64. CONFIG_MCFFEC -- define to use common CF FEC driver
  65. CONFIG_MII -- enable to use MII driver
  66. CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c
  67. CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery
  68. CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer
  69. CONFIG_SYS_FAULT_ECHO_LINK_DOWN--
  70. CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration
  71. CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register
  72. MCFFEC_TOUT_LOOP -- set FEC timeout loop
  73. CONFIG_MCFTMR -- define to use DMA timer
  74. CONFIG_MCFPIT -- define to use PIT timer
  75. CONFIG_SYS_I2C_FSL -- define to use FSL common I2C driver
  76. CONFIG_HARD_I2C -- define for I2C hardware support
  77. CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged
  78. CONFIG_SYS_I2C_SPEED -- define for I2C speed
  79. CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
  80. CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
  81. CONFIG_SYS_IMMR -- define for MBAR offset
  82. CONFIG_SYS_MBAR -- define MBAR offset
  83. CONFIG_MONITOR_IS_IN_RAM -- Not support
  84. CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF5373 internal SRAM
  85. CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
  86. CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
  87. CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
  88. CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
  89. 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
  90. ===========================================
  91. 2.1. System memory map:
  92. Flash: 0x00000000-0x3FFFFFFF (1024MB)
  93. DDR: 0x40000000-0x7FFFFFFF (1024MB)
  94. SRAM: 0x80000000-0x8FFFFFFF (256MB)
  95. IP: 0xF0000000-0xFFFFFFFF (256MB)
  96. 2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and
  97. linux kernel, you can customize it based on your system requirements:
  98. Flash0: 0x00000000-0x00FFFFFF (16MB)
  99. DDR: 0x40000000-0x4FFFFFFF (256MB)
  100. SRAM: 0x80000000-0x80007FFF (32KB)
  101. IP: 0xFC000000-0xFC0FFFFF (64KB)
  102. 3. COMPILATION
  103. ==============
  104. 3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or
  105. uClinux version) from codesourcery.com was used. Download it from:
  106. http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
  107. 3.2 Compilation
  108. export CROSS_COMPILE=cross-compile-prefix
  109. cd u-boot-1.x.x
  110. make distclean
  111. make M5373EVB_config
  112. make
  113. 4. SCREEN DUMP
  114. ==============
  115. 4.1 M5373EVB Development board
  116. (NOTE: May not show exactly the same)
  117. U-Boot 1.3.0 (Nov 8 2007 - 12:44:08)
  118. CPU: Freescale MCF5373 (Mask:65 Version:1)
  119. CPU CLK 240 Mhz BUS CLK 80 Mhz
  120. Board: Freescale FireEngine 5373 EVB
  121. I2C: ready
  122. DRAM: 32 MB
  123. FLASH: 2 MB
  124. In: serial
  125. Out: serial
  126. Err: serial
  127. NAND: 16 MiB
  128. Net: FEC0
  129. -> print
  130. bootdelay=1
  131. baudrate=115200
  132. ethaddr=00:e0:0c:bc:e5:60
  133. hostname=M5373EVB
  134. netdev=eth0
  135. loadaddr=40010000
  136. load=tftp ${loadaddr) ${u-boot}
  137. upd=run load; run prog
  138. prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
  139. ethact=FEC0
  140. u-boot=u-boot.bin
  141. gatewayip=192.168.1.1
  142. netmask=255.255.255.0
  143. ipaddr=192.168.1.3
  144. serverip=192.168.1.2
  145. stdin=serial
  146. stdout=serial
  147. stderr=serial
  148. mem=261632k
  149. Environment size: 401/8188 bytes
  150. -> bdinfo
  151. memstart = 0x40000000
  152. memsize = 0x02000000
  153. flashstart = 0x00000000
  154. flashsize = 0x00200000
  155. flashoffset = 0x00000000
  156. sramstart = 0x80000000
  157. sramsize = 0x00008000
  158. mbar = 0xFC000000
  159. busfreq = 80 MHz
  160. ethaddr = 00:E0:0C:BC:E5:60
  161. ip_addr = 192.168.1.3
  162. baudrate = 115200 bps
  163. ->
  164. -> help
  165. ? - alias for 'help'
  166. base - print or set address offset
  167. bdinfo - print Board Info structure
  168. boot - boot default, i.e., run 'bootcmd'
  169. bootd - boot default, i.e., run 'bootcmd'
  170. bootelf - Boot from an ELF image in memory
  171. bootm - boot application image from memory
  172. bootp - boot image via network using BootP/TFTP protocol
  173. bootvx - Boot vxWorks from an ELF image
  174. cmp - memory compare
  175. coninfo - print console devices and information
  176. cp - memory copy
  177. crc32 - checksum calculation
  178. date - get/set/reset date & time
  179. dcache - enable or disable data cache
  180. echo - echo args to console
  181. erase - erase FLASH memory
  182. flinfo - print FLASH memory information
  183. go - start application at address 'addr'
  184. help - print online help
  185. i2c - I2C sub-system
  186. icache - enable or disable instruction cache
  187. iminfo - print header information for application image
  188. imls - list all images found in flash
  189. itest - return true/false on integer compare
  190. loadb - load binary file over serial line (kermit mode)
  191. loads - load S-Record file over serial line
  192. loady - load binary file over serial line (ymodem mode)
  193. loop - infinite loop on address range
  194. ls - list files in a directory (default /)
  195. md - memory display
  196. mii - MII utility commands
  197. mm - memory modify (auto-incrementing)
  198. mtest - simple RAM test
  199. mw - memory write (fill)
  200. nand - NAND sub-system
  201. nboot - boot from NAND device
  202. nfs - boot image via network using NFS protocol
  203. nm - memory modify (constant address)
  204. ping - send ICMP ECHO_REQUEST to network host
  205. printenv- print environment variables
  206. protect - enable or disable FLASH write protection
  207. rarpboot- boot image via network using RARP/TFTP protocol
  208. reset - Perform RESET of the CPU
  209. run - run commands in an environment variable
  210. saveenv - save environment variables to persistent storage
  211. setenv - set environment variables
  212. sleep - delay execution for some time
  213. source - run script from memory
  214. tftpboot- boot image via network using TFTP protocol
  215. version - print monitor version
  216. -> tftp 0x40800000 uImage
  217. Using FEC0 device
  218. TFTP from server 192.168.1.3; our IP address is 192.168.1.3 Filename 'uImage'.
  219. Load address: 0x40800000
  220. Loading: #################################################################
  221. #################################################################
  222. ##########
  223. done
  224. Bytes transferred = 2053270 (1f5496 hex)
  225. -> bootm 0x40800000
  226. ## Booting image at 40800000 ...
  227. Image Name: Linux Kernel Image
  228. Created: 2007-11-07 20:33:08 UTC
  229. Image Type: M68K Linux Kernel Image (gzip compressed)
  230. Data Size: 2053206 Bytes = 2 MB
  231. Load Address: 40020000
  232. Entry Point: 40020000
  233. Verifying Checksum ... OK
  234. Uncompressing Kernel Image ... OK
  235. Linux version 2.6.22-uc1 (mattw@loa) (gcc version 4.2.1 (Sourcery G++ Lite 4.2-7
  236. uClinux/COLDFIRE(m537x)
  237. COLDFIRE port done by Greg Ungerer, gerg@snapgear.com Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne Built 1 zonelists. Total pages: 8128 Kernel command line: rootfstype=romfs PID hash table entries: 128 (order: 7, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory available: 28092k/32768k RAM, (1788k kernel code, 244k data) Mount-cache hash table entries: 512
  238. NET: Registered protocol family 16
  239. USB-MCF537x: (HOST module) EHCI device is registered
  240. USB-MCF537x: (OTG module) EHCI device is registered
  241. USB-MCF537x: (OTG module) UDC device is registered
  242. usbcore: registered new interface driver usbfs
  243. usbcore: registered new interface driver hub
  244. usbcore: registered new device driver usb
  245. NET: Registered protocol family 2
  246. IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
  247. TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered
  248. JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
  249. io scheduler noop registered
  250. io scheduler cfq registered (default)
  251. ColdFire internal UART serial driver version 1.00 ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
  252. ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
  253. ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
  254. loop: module loaded
  255. nbd: registered device at major 43
  256. usbcore: registered new interface driver ub FEC ENET Version 0.2
  257. fec: PHY @ 0x1, ID 0x20005c90 -- DP83848
  258. eth0: ethernet 00:e0:0c:bc:e5:60
  259. uclinux[mtd]: RAM probe address=0x4021c22c size=0x22b000 Creating 1 MTD partitions on "RAM":
  260. 0x00000000-0x0022b000 : "ROMfs"
  261. uclinux[mtd]: set ROMfs to be root filesystem NAND device: Manufacturer ID: 0x20, Chip ID: 0x73 (ST Micro NAND 16MiB 3,3V 8-b) Scanning device for bad blocks Creating 1 MTD partitions on "NAND 16MiB 3,3V 8-bit":
  262. 0x00000000-0x01000000 : "M53xx flash partition 1"
  263. QSPI: spi->max_speed_hz 300000
  264. QSPI: Baud set to 255
  265. SPI: Coldfire master initialized
  266. M537x - Disable UART1 when using Audio
  267. udc: Freescale MCF53xx UDC driver version 27 October 2006 init
  268. udc: MCF53xx USB Device is found. ID=0x5 Rev=0x41 i2c /dev entries driver
  269. usbcore: registered new interface driver usbhid
  270. drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver TCP cubic registered
  271. NET: Registered protocol family 1
  272. NET: Registered protocol family 17
  273. VFS: Mounted root (romfs filesystem) readonly.
  274. Freeing unused kernel memory: 64k freed (0x401f5000 - 0x40204000) init started: BusyBox v1.00 (2007.11.07-19:57+0000) multi-call binary?Setting e Mounting filesystems
  275. mount: Mounting devpts on /dev/pts failed: No such device
  276. mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Starting syslogd and klogd Setting up networking on loopback device:
  277. Setting up networking on eth0:
  278. info, udhcpc (v0.9.9-pre) started
  279. eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
  280. debug, Sending discover...
  281. debug, Sending discover...
  282. debug, Sending select for 172.27.0.130...
  283. info, Lease of 172.27.0.130 obtained, lease time 43200 deleting routers
  284. route: SIOC[ADD|DEL]RT: No such process
  285. adding dns 172.27.0.1
  286. Starting the boa webserver:
  287. Setting time from ntp server: ntp.cs.strath.ac.uk
  288. ntp.cs.strath.ac.uk: Unknown host
  289. BusyBox v1.00 (2007.11.07-19:57+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands.
  290. #