README.m54455evb 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. Freescale MCF54455EVB ColdFire Development Board
  2. ================================================
  3. TsiChung Liew(Tsi-Chung.Liew@freescale.com)
  4. Created 4/08/07
  5. ===========================================
  6. Changed files:
  7. ==============
  8. - board/freescale/m54455evb/m54455evb.c Dram setup, IDE pre init, and PCI init
  9. - board/freescale/m54455evb/flash.c Atmel and INTEL flash support
  10. - board/freescale/m54455evb/Makefile Makefile
  11. - board/freescale/m54455evb/config.mk config make
  12. - board/freescale/m54455evb/u-boot.lds Linker description
  13. - common/cmd_bdinfo.c Clock frequencies output
  14. - common/cmd_mii.c mii support
  15. - arch/m68k/cpu/mcf5445x/cpu.c cpu specific code
  16. - arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
  17. - arch/m68k/cpu/mcf5445x/interrupts.c cpu specific interrupt support
  18. - arch/m68k/cpu/mcf5445x/speed.c system, pci, flexbus, and cpu clock
  19. - arch/m68k/cpu/mcf5445x/Makefile Makefile
  20. - arch/m68k/cpu/mcf5445x/config.mk config make
  21. - arch/m68k/cpu/mcf5445x/start.S start up assembly code
  22. - doc/README.m54455evb This readme file
  23. - drivers/net/mcffec.c ColdFire common FEC driver
  24. - drivers/serial/mcfuart.c ColdFire common UART driver
  25. - include/asm-m68k/bitops.h Bit operation function export
  26. - include/asm-m68k/byteorder.h Byte order functions
  27. - include/asm-m68k/fec.h FEC structure and definition
  28. - include/asm-m68k/fsl_i2c.h I2C structure and definition
  29. - include/asm-m68k/global_data.h Global data structure
  30. - include/asm-m68k/immap.h ColdFire specific header file and driver macros
  31. - include/asm-m68k/immap_5445x.h mcf5445x specific header file
  32. - include/asm-m68k/io.h io functions
  33. - include/asm-m68k/m5445x.h mcf5445x specific header file
  34. - include/asm-m68k/posix_types.h Posix
  35. - include/asm-m68k/processor.h header file
  36. - include/asm-m68k/ptrace.h Exception structure
  37. - include/asm-m68k/rtc.h Realtime clock header file
  38. - include/asm-m68k/string.h String function export
  39. - include/asm-m68k/timer.h Timer structure and definition
  40. - include/asm-m68k/types.h Data types definition
  41. - include/asm-m68k/uart.h Uart structure and definition
  42. - include/asm-m68k/u-boot.h u-boot structure
  43. - include/configs/M54455EVB.h Board specific configuration file
  44. - arch/m68k/lib/board.c board init function
  45. - arch/m68k/lib/cache.c
  46. - arch/m68k/lib/interrupts Coldfire common interrupt functions
  47. - arch/m68k/lib/m68k_linux.c
  48. - arch/m68k/lib/time.c Timer functions (Dma timer and PIT)
  49. - arch/m68k/lib/traps.c Exception init code
  50. - rtc/mcfrtc.c Realtime clock Driver
  51. 1 MCF5445x specific Options/Settings
  52. ====================================
  53. 1.1 pre-loader is no longer suppoer in thie coldfire family
  54. 1.2 Configuration settings for M54455EVB Development Board
  55. CONFIG_MCF5445x -- define for all MCF5445x CPUs
  56. CONFIG_M54455 -- define for all Freescale MCF54455 CPUs
  57. CONFIG_M54455EVB -- define for M54455EVB board
  58. CONFIG_MCFUART -- define to use common CF Uart driver
  59. CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
  60. CONFIG_BAUDRATE -- define UART baudrate
  61. CONFIG_MCFRTC -- define to use common CF RTC driver
  62. CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
  63. CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
  64. RTC_DEBUG -- define to show RTC debug message
  65. CONFIG_CMD_DATE -- enable to use date feature in u-boot
  66. CONFIG_MCFFEC -- define to use common CF FEC driver
  67. CONFIG_NET_MULTI -- define to use multi FEC in u-boot
  68. CONFIG_MII -- enable to use MII driver
  69. CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c
  70. CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery
  71. CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer
  72. CONFIG_SYS_FAULT_ECHO_LINK_DOWN--
  73. CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration
  74. CONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration
  75. CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register
  76. CONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register
  77. MCFFEC_TOUT_LOOP -- set FEC timeout loop
  78. CONFIG_HAS_ETH1 -- define to enable second FEC in u-boot
  79. CONFIG_ISO_PARTITION -- enable ISO read/write
  80. CONFIG_DOS_PARTITION -- enable DOS read/write
  81. CONFIG_IDE_RESET -- define ide_reset()
  82. CONFIG_IDE_PREINIT -- define ide_preinit()
  83. CONFIG_ATAPI -- define ATAPI support
  84. CONFIG_LBA48 -- define LBA48 (larger than 120GB) support
  85. CONFIG_SYS_IDE_MAXBUS -- define max channel
  86. CONFIG_SYS_IDE_MAXDEVICE -- define max devices per channel
  87. CONFIG_SYS_ATA_BASE_ADDR -- define ATA base address
  88. CONFIG_SYS_ATA_IDE0_OFFSET -- define ATA IDE0 offset
  89. CONFIG_SYS_ATA_DATA_OFFSET -- define ATA data IO
  90. CONFIG_SYS_ATA_REG_OFFSET -- define for normal register accesses
  91. CONFIG_SYS_ATA_ALT_OFFSET -- define for alternate registers
  92. CONFIG_SYS_ATA_STRIDE -- define for Interval between registers
  93. _IO_BASE -- define for IO base address
  94. CONFIG_MCFTMR -- define to use DMA timer
  95. CONFIG_MCFPIT -- define to use PIT timer
  96. CONFIG_FSL_I2C -- define to use FSL common I2C driver
  97. CONFIG_HARD_I2C -- define for I2C hardware support
  98. CONFIG_SOFT_I2C -- define for I2C bit-banged
  99. CONFIG_SYS_I2C_SPEED -- define for I2C speed
  100. CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
  101. CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
  102. CONFIG_SYS_IMMR -- define for MBAR offset
  103. CONFIG_PCI -- define for PCI support
  104. CONFIG_PCI_PNP -- define for Plug n play support
  105. CONFIG_SYS_PCI_MEM_BUS -- PCI memory logical offset
  106. CONFIG_SYS_PCI_MEM_PHYS -- PCI memory physical offset
  107. CONFIG_SYS_PCI_MEM_SIZE -- PCI memory size
  108. CONFIG_SYS_PCI_IO_BUS -- PCI IO logical offset
  109. CONFIG_SYS_PCI_IO_PHYS -- PCI IO physical offset
  110. CONFIG_SYS_PCI_IO_SIZE -- PCI IO size
  111. CONFIG_SYS_PCI_CFG_BUS -- PCI Configuration logical offset
  112. CONFIG_SYS_PCI_CFG_PHYS -- PCI Configuration physical offset
  113. CONFIG_SYS_PCI_CFG_SIZE -- PCI Configuration size
  114. CONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc
  115. CONFIG_SYS_MBAR -- define MBAR offset
  116. CONFIG_SYS_ATMEL_BOOT -- To determine the u-boot is booted from Atmel or Intel
  117. CONFIG_MONITOR_IS_IN_RAM -- Not support
  118. CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM
  119. CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
  120. CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
  121. CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
  122. CONFIG_SYS_ATMEL_BASE -- defines the Atmel Flash base
  123. CONFIG_SYS_INTEL_BASE -- defines the Intel Flash base
  124. CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
  125. CONFIG_SYS_SDRAM_BASE1 -- defines the DRAM Base 1
  126. 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
  127. ===========================================
  128. 2.1. System memory map:
  129. Flash: 0x00000000-0x3FFFFFFF (1024MB)
  130. DDR: 0x40000000-0x7FFFFFFF (1024MB)
  131. SRAM: 0x80000000-0x8FFFFFFF (256MB)
  132. ATA: 0x90000000-0x9FFFFFFF (256MB)
  133. PCI: 0xA0000000-0xBFFFFFFF (512MB)
  134. FlexBus: 0xC0000000-0xDFFFFFFF (512MB)
  135. IP: 0xF0000000-0xFFFFFFFF (256MB)
  136. 2.2. For the initial bringup, we adopted a consistent memory scheme between u-boot and
  137. linux kernel, you can customize it based on your system requirements:
  138. Atmel boot:
  139. Flash0: 0x00000000-0x0007FFFF (512KB)
  140. Flash1: 0x04000000-0x05FFFFFF (32MB)
  141. Intel boot:
  142. Flash0: 0x00000000-0x01FFFFFF (32MB)
  143. Flash1: 0x04000000-0x0407FFFF (512KB)
  144. CPLD: 0x08000000-0x08FFFFFF (16MB)
  145. FPGA: 0x09000000-0x09FFFFFF (16MB)
  146. DDR: 0x40000000-0x4FFFFFFF (256MB)
  147. SRAM: 0x80000000-0x80007FFF (32KB)
  148. IP: 0xFC000000-0xFC0FFFFF (64KB)
  149. 3. SWITCH SETTINGS
  150. ==================
  151. 3.1 SW1 Pin3: 0 - Boot from Atmel or 1 - INTEL
  152. SW1 Pin4: 0 - ULPI chip not in reset state or 1 - ULPI chip in reset state
  153. SW1 Pin5: 0 - Full ATA Bus enabled, FEC Phy1 powered down
  154. 1 - Upper 8 bits ATA data bus disabled, FEC PHY1 active
  155. SW1 Pin6: 0 - FEC Phy0 active or 1 - FEC Phy0 powered down
  156. SW1 Pin3: 0 - Boot from Atmel or 1 - INTEL
  157. 4. COMPILATION
  158. ==============
  159. 4.1 To create U-Boot the gcc-4.1-32 compiler set (ColdFire ELF version)
  160. from codesourcery.com was used. Download it from:
  161. http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
  162. 4.2 Compilation
  163. export CROSS_COMPILE=cross-compile-prefix
  164. cd u-boot-1.x.x
  165. make distclean
  166. make M54455EVB_config, or - default to atmel 33Mhz input clock
  167. make M54455EVB_atmel_config, or - default to atmel 33Mhz input clock
  168. make M54455EVB_a33_config, or - default to atmel 33Mhz input clock
  169. make M54455EVB_a66_config, or - default to atmel 66Mhz input clock
  170. make M54455EVB_intel_config, or - default to intel 33Mhz input clock
  171. make M54455EVB_i33_config, or - default to intel 33Mhz input clock
  172. make M54455EVB_i66_config, or - default to intel 66Mhz input clock
  173. make
  174. 5. SCREEN DUMP
  175. ==============
  176. 5.1 M54455EVB Development board
  177. Boot from Atmel (NOTE: May not show exactly the same)
  178. U-Boot 1.2.0-g98c80b46-dirty (Jul 26 2007 - 12:44:08)
  179. CPU: Freescale MCF54455 (Mask:48 Version:1)
  180. CPU CLK 266 Mhz BUS CLK 133 Mhz FLB CLK 66 Mhz
  181. PCI CLK 33 Mhz INP CLK 33 Mhz VCO CLK 533 Mhz
  182. Board: Freescale M54455 EVB
  183. I2C: ready
  184. DRAM: 256 MB
  185. FLASH: 16.5 MB
  186. In: serial
  187. Out: serial
  188. Err: serial
  189. Net: FEC0, FEC1
  190. IDE: Bus 0: not available
  191. -> print
  192. bootargs=root=/dev/ram rw
  193. bootdelay=1
  194. baudrate=115200
  195. ethaddr=00:e0:0c:bc:e5:60
  196. eth1addr=00:e0:0c:bc:e5:61
  197. hostname=M54455EVB
  198. netdev=eth0
  199. inpclk=33333333
  200. loadaddr=40010000
  201. load=tftp ${loadaddr) ${u-boot}
  202. upd=run load; run prog
  203. prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
  204. ethact=FEC0
  205. mtdids=nor0=M54455EVB-1
  206. mtdparts=M54455EVB-1:16m(user)
  207. u-boot=u-boot54455.bin
  208. filesize=292b4
  209. fileaddr=40010000
  210. gatewayip=192.168.1.1
  211. netmask=255.255.255.0
  212. ipaddr=192.168.1.3
  213. serverip=192.168.1.2
  214. stdin=serial
  215. stdout=serial
  216. stderr=serial
  217. mem=261632k
  218. Environment size: 563/8188 bytes
  219. -> bdinfo
  220. memstart = 0x40000000
  221. memsize = 0x10000000
  222. flashstart = 0x00000000
  223. flashsize = 0x01080000
  224. flashoffset = 0x00000000
  225. sramstart = 0x80000000
  226. sramsize = 0x00008000
  227. mbar = 0xFC000000
  228. busfreq = 133.333 MHz
  229. pcifreq = 33.333 MHz
  230. flbfreq = 66.666 MHz
  231. inpfreq = 33.333 MHz
  232. vcofreq = 533.333 MHz
  233. ethaddr = 00:E0:0C:BC:E5:60
  234. eth1addr = 00:E0:0C:BC:E5:61
  235. ip_addr = 192.168.1.3
  236. baudrate = 115200 bps
  237. ->
  238. -> help
  239. ? - alias for 'help'
  240. base - print or set address offset
  241. bdinfo - print Board Info structure
  242. boot - boot default, i.e., run 'bootcmd'
  243. bootd - boot default, i.e., run 'bootcmd'
  244. bootelf - Boot from an ELF image in memory
  245. bootm - boot application image from memory
  246. bootp - boot image via network using BootP/TFTP protocol
  247. bootvx - Boot vxWorks from an ELF image
  248. cmp - memory compare
  249. coninfo - print console devices and information
  250. cp - memory copy
  251. crc32 - checksum calculation
  252. date - get/set/reset date & time
  253. dcache - enable or disable data cache
  254. diskboot- boot from IDE device
  255. echo - echo args to console
  256. erase - erase FLASH memory
  257. ext2load- load binary file from a Ext2 filesystem
  258. ext2ls - list files in a directory (default /)
  259. fatinfo - print information about filesystem
  260. fatload - load binary file from a dos filesystem
  261. fatls - list files in a directory (default /)
  262. flinfo - print FLASH memory information
  263. fsinfo - print information about filesystems
  264. fsload - load binary file from a filesystem image
  265. go - start application at address 'addr'
  266. help - print online help
  267. i2c - I2C sub-system
  268. icache - enable or disable instruction cache
  269. ide - IDE sub-system
  270. iminfo - print header information for application image
  271. imls - list all images found in flash
  272. itest - return true/false on integer compare
  273. loadb - load binary file over serial line (kermit mode)
  274. loads - load S-Record file over serial line
  275. loady - load binary file over serial line (ymodem mode)
  276. loop - infinite loop on address range
  277. ls - list files in a directory (default /)
  278. md - memory display
  279. mii - MII utility commands
  280. mm - memory modify (auto-incrementing)
  281. mtest - simple RAM test
  282. mw - memory write (fill)
  283. nfs - boot image via network using NFS protocol
  284. nm - memory modify (constant address)
  285. pci - list and access PCI Configuration Space
  286. ping - send ICMP ECHO_REQUEST to network host
  287. printenv- print environment variables
  288. protect - enable or disable FLASH write protection
  289. rarpboot- boot image via network using RARP/TFTP protocol
  290. reset - Perform RESET of the CPU
  291. run - run commands in an environment variable
  292. saveenv - save environment variables to persistent storage
  293. setenv - set environment variables
  294. sleep - delay execution for some time
  295. source - run script from memory
  296. tftpboot- boot image via network using TFTP protocol
  297. version - print monitor version
  298. ->bootm 4000000
  299. ## Booting image at 04000000 ...
  300. Image Name: Linux Kernel Image
  301. Created: 2007-08-14 15:13:00 UTC
  302. Image Type: M68K Linux Kernel Image (uncompressed)
  303. Data Size: 2301952 Bytes = 2.2 MB
  304. Load Address: 40020000
  305. Entry Point: 40020000
  306. Verifying Checksum ... OK
  307. OK
  308. Linux version 2.6.20-gfe5136d6-dirty (mattw@kea) (gcc version 4.2.0 20070318 (pr
  309. erelease) (Sourcery G++ Lite 4.2-20)) #108 Mon Aug 13 13:00:13 MDT 2007
  310. starting up linux startmem 0xc0254000, endmem 0xcfffffff, size 253MB
  311. Built 1 zonelists. Total pages: 32624
  312. Kernel command line: root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=ph
  313. ysmap-flash.0:5M(kernel)ro,-(jffs2)
  314. PID hash table entries: 1024 (order: 10, 4096 bytes)
  315. Console: colour dummy device 80x25
  316. Dentry cache hash table entries: 32768 (order: 4, 131072 bytes)
  317. Inode-cache hash table entries: 16384 (order: 3, 65536 bytes)
  318. Memory: 257496k/262136k available (1864k kernel code, 2440k data, 88k init)
  319. Mount-cache hash table entries: 1024
  320. NET: Registered protocol family 16
  321. SCSI subsystem initialized
  322. NET: Registered protocol family 2
  323. IP route cache hash table entries: 2048 (order: 0, 8192 bytes)
  324. TCP established hash table entries: 8192 (order: 2, 32768 bytes)
  325. TCP bind hash table entries: 4096 (order: 1, 16384 bytes)
  326. TCP: Hash tables configured (established 8192 bind 4096)
  327. TCP reno registered
  328. JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
  329. io scheduler noop registered
  330. io scheduler anticipatory registered
  331. io scheduler deadline registered
  332. io scheduler cfq registered (default)
  333. ColdFire internal UART serial driver version 1.00
  334. ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
  335. ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
  336. ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART
  337. RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
  338. loop: loaded (max 8 devices)
  339. FEC ENET Version 0.2
  340. fec: PHY @ 0x0, ID 0x20005ca2 -- DP83849
  341. eth0: ethernet 00:08:ee:00:e4:19
  342. physmap platform flash device: 01000000 at 04000000
  343. physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
  344. Intel/Sharp Extended Query Table at 0x0031
  345. Using buffer write method
  346. cfi_cmdset_0001: Erase suspend on write enabled
  347. 2 cmdlinepart partitions found on MTD device physmap-flash.0
  348. Creating 2 MTD partitions on "physmap-flash.0":
  349. 0x00000000-0x00500000 : "kernel"
  350. mtd: Giving out device 0 to kernel
  351. 0x00500000-0x01000000 : "jffs2"
  352. mtd: Giving out device 1 to jffs2
  353. mice: PS/2 mouse device common for all mice
  354. i2c /dev entries driver
  355. TCP cubic registered
  356. NET: Registered protocol family 1
  357. NET: Registered protocol family 17
  358. NET: Registered protocol family 15
  359. VFS: Mounted root (jffs2 filesystem).
  360. Setting the hostname to freescale
  361. Mounting filesystems
  362. mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory
  363. Starting syslogd and klogd
  364. Setting up networking on loopback device:
  365. Setting up networking on eth0:
  366. eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
  367. Adding static route for default gateway to 172.27.255.254:
  368. Setting nameserver to 172.27.0.1 in /etc/resolv.conf:
  369. Starting inetd:
  370. / #