README 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  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_SYS_I2C_SOFT -- define for I2C bit-banged
  77. CONFIG_SYS_I2C_SPEED -- define for I2C speed
  78. CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
  79. CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
  80. CONFIG_SYS_IMMR -- define for MBAR offset
  81. CONFIG_SYS_MBAR -- define MBAR offset
  82. CONFIG_MONITOR_IS_IN_RAM -- Not support
  83. CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF5373 internal SRAM
  84. CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
  85. CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
  86. CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
  87. CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
  88. 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
  89. ===========================================
  90. 2.1. System memory map:
  91. Flash: 0x00000000-0x3FFFFFFF (1024MB)
  92. DDR: 0x40000000-0x7FFFFFFF (1024MB)
  93. SRAM: 0x80000000-0x8FFFFFFF (256MB)
  94. IP: 0xF0000000-0xFFFFFFFF (256MB)
  95. 2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and
  96. linux kernel, you can customize it based on your system requirements:
  97. Flash0: 0x00000000-0x00FFFFFF (16MB)
  98. DDR: 0x40000000-0x4FFFFFFF (256MB)
  99. SRAM: 0x80000000-0x80007FFF (32KB)
  100. IP: 0xFC000000-0xFC0FFFFF (64KB)
  101. 3. COMPILATION
  102. ==============
  103. 3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or
  104. uClinux version) from codesourcery.com was used. Download it from:
  105. http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
  106. 3.2 Compilation
  107. export CROSS_COMPILE=cross-compile-prefix
  108. cd u-boot-1.x.x
  109. make distclean
  110. make M5373EVB_config
  111. make
  112. 4. SCREEN DUMP
  113. ==============
  114. 4.1 M5373EVB Development board
  115. (NOTE: May not show exactly the same)
  116. U-Boot 1.3.0 (Nov 8 2007 - 12:44:08)
  117. CPU: Freescale MCF5373 (Mask:65 Version:1)
  118. CPU CLK 240 Mhz BUS CLK 80 Mhz
  119. Board: Freescale FireEngine 5373 EVB
  120. I2C: ready
  121. DRAM: 32 MB
  122. FLASH: 2 MB
  123. In: serial
  124. Out: serial
  125. Err: serial
  126. NAND: 16 MiB
  127. Net: FEC0
  128. -> print
  129. bootdelay=1
  130. baudrate=115200
  131. ethaddr=00:e0:0c:bc:e5:60
  132. hostname=M5373EVB
  133. netdev=eth0
  134. loadaddr=40010000
  135. load=tftp ${loadaddr) ${u-boot}
  136. upd=run load; run prog
  137. prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
  138. ethact=FEC0
  139. u-boot=u-boot.bin
  140. gatewayip=192.168.1.1
  141. netmask=255.255.255.0
  142. ipaddr=192.168.1.3
  143. serverip=192.168.1.2
  144. stdin=serial
  145. stdout=serial
  146. stderr=serial
  147. mem=261632k
  148. Environment size: 401/8188 bytes
  149. -> bdinfo
  150. memstart = 0x40000000
  151. memsize = 0x02000000
  152. flashstart = 0x00000000
  153. flashsize = 0x00200000
  154. flashoffset = 0x00000000
  155. sramstart = 0x80000000
  156. sramsize = 0x00008000
  157. mbar = 0xFC000000
  158. busfreq = 80 MHz
  159. ethaddr = 00:E0:0C:BC:E5:60
  160. ip_addr = 192.168.1.3
  161. baudrate = 115200 bps
  162. ->
  163. -> help
  164. ? - alias for 'help'
  165. base - print or set address offset
  166. bdinfo - print Board Info structure
  167. boot - boot default, i.e., run 'bootcmd'
  168. bootd - boot default, i.e., run 'bootcmd'
  169. bootelf - Boot from an ELF image in memory
  170. bootm - boot application image from memory
  171. bootp - boot image via network using BootP/TFTP protocol
  172. bootvx - Boot vxWorks from an ELF image
  173. cmp - memory compare
  174. coninfo - print console devices and information
  175. cp - memory copy
  176. crc32 - checksum calculation
  177. date - get/set/reset date & time
  178. dcache - enable or disable data cache
  179. echo - echo args to console
  180. erase - erase FLASH memory
  181. flinfo - print FLASH memory information
  182. go - start application at address 'addr'
  183. help - print online help
  184. i2c - I2C sub-system
  185. icache - enable or disable instruction cache
  186. iminfo - print header information for application image
  187. imls - list all images found in flash
  188. itest - return true/false on integer compare
  189. loadb - load binary file over serial line (kermit mode)
  190. loads - load S-Record file over serial line
  191. loady - load binary file over serial line (ymodem mode)
  192. loop - infinite loop on address range
  193. ls - list files in a directory (default /)
  194. md - memory display
  195. mii - MII utility commands
  196. mm - memory modify (auto-incrementing)
  197. mtest - simple RAM test
  198. mw - memory write (fill)
  199. nand - NAND sub-system
  200. nboot - boot from NAND device
  201. nfs - boot image via network using NFS protocol
  202. nm - memory modify (constant address)
  203. ping - send ICMP ECHO_REQUEST to network host
  204. printenv- print environment variables
  205. protect - enable or disable FLASH write protection
  206. rarpboot- boot image via network using RARP/TFTP protocol
  207. reset - Perform RESET of the CPU
  208. run - run commands in an environment variable
  209. saveenv - save environment variables to persistent storage
  210. setenv - set environment variables
  211. sleep - delay execution for some time
  212. source - run script from memory
  213. tftpboot- boot image via network using TFTP protocol
  214. version - print monitor version
  215. -> tftp 0x40800000 uImage
  216. Using FEC0 device
  217. TFTP from server 192.168.1.3; our IP address is 192.168.1.3 Filename 'uImage'.
  218. Load address: 0x40800000
  219. Loading: #################################################################
  220. #################################################################
  221. ##########
  222. done
  223. Bytes transferred = 2053270 (1f5496 hex)
  224. -> bootm 0x40800000
  225. ## Booting image at 40800000 ...
  226. Image Name: Linux Kernel Image
  227. Created: 2007-11-07 20:33:08 UTC
  228. Image Type: M68K Linux Kernel Image (gzip compressed)
  229. Data Size: 2053206 Bytes = 2 MB
  230. Load Address: 40020000
  231. Entry Point: 40020000
  232. Verifying Checksum ... OK
  233. Uncompressing Kernel Image ... OK
  234. Linux version 2.6.22-uc1 (mattw@loa) (gcc version 4.2.1 (Sourcery G++ Lite 4.2-7
  235. uClinux/COLDFIRE(m537x)
  236. 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
  237. NET: Registered protocol family 16
  238. USB-MCF537x: (HOST module) EHCI device is registered
  239. USB-MCF537x: (OTG module) EHCI device is registered
  240. USB-MCF537x: (OTG module) UDC device is registered
  241. usbcore: registered new interface driver usbfs
  242. usbcore: registered new interface driver hub
  243. usbcore: registered new device driver usb
  244. NET: Registered protocol family 2
  245. 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)
  246. TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered
  247. JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
  248. io scheduler noop registered
  249. io scheduler cfq registered (default)
  250. ColdFire internal UART serial driver version 1.00 ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
  251. ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
  252. ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
  253. loop: module loaded
  254. nbd: registered device at major 43
  255. usbcore: registered new interface driver ub FEC ENET Version 0.2
  256. fec: PHY @ 0x1, ID 0x20005c90 -- DP83848
  257. eth0: ethernet 00:e0:0c:bc:e5:60
  258. uclinux[mtd]: RAM probe address=0x4021c22c size=0x22b000 Creating 1 MTD partitions on "RAM":
  259. 0x00000000-0x0022b000 : "ROMfs"
  260. 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":
  261. 0x00000000-0x01000000 : "M53xx flash partition 1"
  262. QSPI: spi->max_speed_hz 300000
  263. QSPI: Baud set to 255
  264. SPI: Coldfire master initialized
  265. M537x - Disable UART1 when using Audio
  266. udc: Freescale MCF53xx UDC driver version 27 October 2006 init
  267. udc: MCF53xx USB Device is found. ID=0x5 Rev=0x41 i2c /dev entries driver
  268. usbcore: registered new interface driver usbhid
  269. drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver TCP cubic registered
  270. NET: Registered protocol family 1
  271. NET: Registered protocol family 17
  272. VFS: Mounted root (romfs filesystem) readonly.
  273. 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
  274. mount: Mounting devpts on /dev/pts failed: No such device
  275. mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Starting syslogd and klogd Setting up networking on loopback device:
  276. Setting up networking on eth0:
  277. info, udhcpc (v0.9.9-pre) started
  278. eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
  279. debug, Sending discover...
  280. debug, Sending discover...
  281. debug, Sending select for 172.27.0.130...
  282. info, Lease of 172.27.0.130 obtained, lease time 43200 deleting routers
  283. route: SIOC[ADD|DEL]RT: No such process
  284. adding dns 172.27.0.1
  285. Starting the boa webserver:
  286. Setting time from ntp server: ntp.cs.strath.ac.uk
  287. ntp.cs.strath.ac.uk: Unknown host
  288. BusyBox v1.00 (2007.11.07-19:57+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands.
  289. #