| U-Boot for Motorola M68K | |
| ==================================================================== | |
| History | |
| August 08,2005; Jens Scharsig <esw@bus-elektronik.de> | |
| MCF5282 implementation without preloader | |
| January 12, 2004; <josef.baumgartner@telex.de> | |
| ==================================================================== | |
| This file contains status information for the port of U-Boot to the | |
| Motorola M68K series of CPUs. | |
| 1. OVERVIEW | |
| ----------- | |
| Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola Coldfire | |
| architecture. The patches of Bernhard support the MCF5272 and | |
| MCF5282. A great disadvantage of these patches was that they needed | |
| a pre-bootloader to start u-boot. Because of this, a new port was | |
| created which no longer needs a first stage booter. | |
| Although this port is intended to cover all M68k processors, only | |
| the parts for the Motorola Coldfire MCF5272 and MCF5282 are | |
| implemented at the moment. Additional CPUs and boards will be | |
| hopefully added soon! | |
| 2. SUPPORTED CPUs | |
| ----------------- | |
| 2.1 Motorola Coldfire MCF5272 | |
| ----------------------------- | |
| CPU specific code is located in: arch/m68k/cpu/mcf52x2 | |
| 2.1 Motorola Coldfire MCF5282 | |
| ----------------------------- | |
| CPU specific code is located in: arch/m68k/cpu/mcf52x2 | |
| The MCF5282 Port no longer needs a preloader and can place in external or | |
| internal FLASH. | |
| 3. SUPPORTED BOARDs | |
| ------------------- | |
| 3.1 Motorola M5272C3 EVB | |
| ------------------------ | |
| Board specific code is located in: board/m5272c3 | |
| To configure the board, type: make M5272C3_config | |
| U-Boot Memory Map: | |
| ------------------ | |
| 0xffe00000 - 0xffe3ffff u-boot | |
| 0xffe04000 - 0xffe05fff environment (embedded in u-boot!) | |
| 0xffe40000 - 0xffffffff free for linux/applications | |
| 3.2 Motorola M5282 EVB | |
| ------------------------ | |
| Board specific code is located in: board/m5282evb | |
| To configure the board, type: make M5272C3_config | |
| At the moment the code isn't fully implemented and still needs a pre-loader! | |
| The preloader must initialize the processor and then start u-boot. The board | |
| must be configured for a pre-loader (see 4.1) | |
| For the preloader, please see | |
| http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html | |
| U-boot is configured to run at 0x20000 at default. This can be configured by | |
| change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in | |
| include/configs/M5282EVB.h. | |
| 3.2 BuS EB+MCF-EV123 | |
| --------------------- | |
| Board specific code is located in: board/bus/EB+MCF-EV123 | |
| To configure the board, type: | |
| make EB+MCF-EV123_config for external FLASH | |
| make EB+MCF-EV123_internal_config for internal FLASH | |
| 4. CONFIGURATION OPTIONS/SETTINGS | |
| ---------------------------------- | |
| 4.1 Configuration to use a pre-loader | |
| ------------------------------------- | |
| If u-boot should be loaded to RAM and started by a pre-loader | |
| CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the | |
| initial vector table and basic processor initialization will not | |
| be compiled in. The start address of u-boot must be adjusted in | |
| the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile | |
| (CONFIG_SYS_TEXT_BASE) to the load address. | |
| 4.1 MCF5272 specific Options/Settings | |
| ------------------------------------- | |
| CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs | |
| CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs | |
| CONFIG_MONITOR_IS_IN_RAM | |
| -- defined if u-boot is loaded by a pre-loader | |
| CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration registers | |
| CONFIG_SYS_INIT_RAM_ADDR | |
| -- defines the base address of the MCF5272 internal SRAM | |
| CONFIG_SYS_ENET_BD_BASE | |
| -- defines the base addres of the FEC buffer descriptors | |
| CONFIG_SYS_SCR -- defines the contents of the System Configuration Register | |
| CONFIG_SYS_SPR -- defines the contents of the System Protection Register | |
| CONFIG_SYS_BRx_PRELIM -- defines the contents of the Chip Select Base Registers | |
| CONFIG_SYS_ORx_PRELIM -- defines the contents of the Chip Select Option Registers | |
| CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers | |
| CONFIG_SYS_PxDAT -- defines the contents of the Data Registers | |
| CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers | |
| 4.2 MCF5282 specific Options/Settings | |
| ------------------------------------- | |
| CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs | |
| CONFIG_M5282 -- defined for all Motorola MCF5282 CPUs | |
| CONFIG_MONITOR_IS_IN_RAM | |
| -- defined if u-boot is loaded by a pre-loader | |
| CONFIG_SYS_MBAR -- defines the base address of the MCF5282 internal register space | |
| CONFIG_SYS_INIT_RAM_ADDR | |
| -- defines the base address of the MCF5282 internal SRAM | |
| CONFIG_SYS_INT_FLASH_BASE | |
| -- defines the base address of the MCF5282 internal Flash memory | |
| CONFIG_SYS_ENET_BD_BASE | |
| -- defines the base addres of the FEC buffer descriptors | |
| CONFIG_SYS_MFD | |
| -- defines the PLL Multiplication Factor Devider | |
| (see table 9-4 of MCF user manual) | |
| CONFIG_SYS_RFD -- defines the PLL Reduce Frecuency Devider | |
| (see table 9-4 of MCF user manual) | |
| CONFIG_SYS_CSx_BASE -- defines the base address of chip select x | |
| CONFIG_SYS_CSx_SIZE -- defines the memory size (address range) of chip select x | |
| CONFIG_SYS_CSx_WIDTH -- defines the bus with of chip select x | |
| CONFIG_SYS_CSx_RO -- if set to 0 chip select x is read/wirte | |
| else chipselct is read only | |
| CONFIG_SYS_CSx_WS -- defines the number of wait states of chip select x | |
| CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers | |
| CONFIG_SYS_PxDAT -- defines the contents of the Data Registers | |
| CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers | |
| CONFIG_SYS_PxPAR -- defines the function of ports | |
| 5. COMPILER | |
| ----------- | |
| To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used. | |
| You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/ |