| |
| 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 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 |
| (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/ |