avionic design with actual uboot and tooling
submodule of avionic design uboot bootloader and with included tools to get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
15
u-boot/board/freescale/m53017evb/Kconfig
Normal file
15
u-boot/board/freescale/m53017evb/Kconfig
Normal file
@@ -0,0 +1,15 @@
|
||||
if TARGET_M53017EVB
|
||||
|
||||
config SYS_CPU
|
||||
default "mcf532x"
|
||||
|
||||
config SYS_BOARD
|
||||
default "m53017evb"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "freescale"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "M53017EVB"
|
||||
|
||||
endif
|
||||
6
u-boot/board/freescale/m53017evb/MAINTAINERS
Normal file
6
u-boot/board/freescale/m53017evb/MAINTAINERS
Normal file
@@ -0,0 +1,6 @@
|
||||
M53017EVB BOARD
|
||||
M: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
|
||||
S: Maintained
|
||||
F: board/freescale/m53017evb/
|
||||
F: include/configs/M53017EVB.h
|
||||
F: configs/M53017EVB_defconfig
|
||||
8
u-boot/board/freescale/m53017evb/Makefile
Normal file
8
u-boot/board/freescale/m53017evb/Makefile
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# (C) Copyright 2000-2003
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y = m53017evb.o
|
||||
180
u-boot/board/freescale/m53017evb/README
Normal file
180
u-boot/board/freescale/m53017evb/README
Normal file
@@ -0,0 +1,180 @@
|
||||
Freescale MCF53017EVB ColdFire Development Board
|
||||
================================================
|
||||
|
||||
TsiChung Liew(Tsi-Chung.Liew@freescale.com)
|
||||
Created 10/22/08
|
||||
===========================================
|
||||
|
||||
|
||||
Changed files:
|
||||
==============
|
||||
|
||||
- board/freescale/m53017evb/m53017evb.c Dram setup
|
||||
- board/freescale/m53017evb/mii.c Mii access
|
||||
- board/freescale/m53017evb/Makefile Makefile
|
||||
- board/freescale/m53017evb/config.mk config make
|
||||
- board/freescale/m53017evb/u-boot.lds Linker description
|
||||
|
||||
- arch/m68k/cpu/mcf532x/cpu.c cpu specific code
|
||||
- arch/m68k/cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs
|
||||
- arch/m68k/cpu/mcf532x/interrupts.c cpu specific interrupt support
|
||||
- arch/m68k/cpu/mcf532x/speed.c system, flexbus, and cpu clock
|
||||
- arch/m68k/cpu/mcf532x/Makefile Makefile
|
||||
- arch/m68k/cpu/mcf532x/config.mk config make
|
||||
- arch/m68k/cpu/mcf532x/start.S start up assembly code
|
||||
|
||||
- doc/README.m53017evb This readme file
|
||||
|
||||
- drivers/net/mcffec.c ColdFire common FEC driver
|
||||
- drivers/net/mcfmii.c ColdFire common Mii driver
|
||||
- drivers/serial/mcfuart.c ColdFire common UART driver
|
||||
- drivers/rtc/mcfrtc.c Realtime clock Driver
|
||||
|
||||
- include/asm-m68k/bitops.h Bit operation function export
|
||||
- include/asm-m68k/byteorder.h Byte order functions
|
||||
- include/asm-m68k/fec.h FEC structure and definition
|
||||
- include/asm-m68k/fsl_i2c.h I2C structure and definition
|
||||
- include/asm-m68k/global_data.h Global data structure
|
||||
- include/asm-m68k/immap.h ColdFire specific header file and driver macros
|
||||
- include/asm-m68k/immap_5301x.h mcf5301x specific header file
|
||||
- include/asm-m68k/io.h io functions
|
||||
- include/asm-m68k/m532x.h mcf5301x specific header file
|
||||
- include/asm-m68k/posix_types.h Posix
|
||||
- include/asm-m68k/processor.h header file
|
||||
- include/asm-m68k/ptrace.h Exception structure
|
||||
- include/asm-m68k/rtc.h Realtime clock header file
|
||||
- include/asm-m68k/string.h String function export
|
||||
- include/asm-m68k/timer.h Timer structure and definition
|
||||
- include/asm-m68k/types.h Data types definition
|
||||
- include/asm-m68k/uart.h Uart structure and definition
|
||||
- include/asm-m68k/u-boot.h U-Boot structure
|
||||
|
||||
- include/configs/M53017EVB.h Board specific configuration file
|
||||
|
||||
- arch/m68k/lib/board.c board init function
|
||||
- arch/m68k/lib/cache.c
|
||||
- arch/m68k/lib/interrupts Coldfire common interrupt functions
|
||||
- arch/m68k/lib/m68k_linux.c
|
||||
- arch/m68k/lib/time.c Timer functions (Dma timer and PIT)
|
||||
- arch/m68k/lib/traps.c Exception init code
|
||||
|
||||
1 MCF5301x specific Options/Settings
|
||||
====================================
|
||||
1.1 pre-loader is no longer suppoer in thie coldfire family
|
||||
|
||||
1.2 Configuration settings for M53017EVB Development Board
|
||||
CONFIG_MCF5301x -- define for all MCF5301x CPUs
|
||||
CONFIG_M53015 -- define for MCF53015 CPUs
|
||||
CONFIG_M53017EVB -- define for M53017EVB board
|
||||
|
||||
CONFIG_MCFUART -- define to use common CF Uart driver
|
||||
CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
|
||||
CONFIG_BAUDRATE -- define UART baudrate
|
||||
|
||||
CONFIG_MCFRTC -- define to use common CF RTC driver
|
||||
CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
|
||||
CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
|
||||
RTC_DEBUG -- define to show RTC debug message
|
||||
CONFIG_CMD_DATE -- enable to use date feature in U-Boot
|
||||
|
||||
CONFIG_MCFFEC -- define to use common CF FEC driver
|
||||
CONFIG_MII -- enable to use MII driver
|
||||
CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c
|
||||
CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery
|
||||
CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer
|
||||
CONFIG_SYS_FAULT_ECHO_LINK_DOWN --
|
||||
CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration
|
||||
CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register
|
||||
MCFFEC_TOUT_LOOP -- set FEC timeout loop
|
||||
|
||||
CONFIG_MCFTMR -- define to use DMA timer
|
||||
CONFIG_MCFPIT -- define to use PIT timer
|
||||
|
||||
CONFIG_SYS_I2C_FSL -- define to use FSL common I2C driver
|
||||
CONFIG_HARD_I2C -- define for I2C hardware support
|
||||
CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged
|
||||
CONFIG_SYS_I2C_SPEED -- define for I2C speed
|
||||
CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
|
||||
CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
|
||||
CONFIG_SYS_IMMR -- define for MBAR offset
|
||||
|
||||
CONFIG_SYS_MBAR -- define MBAR offset
|
||||
|
||||
CONFIG_MONITOR_IS_IN_RAM -- Not support
|
||||
|
||||
CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF5301x internal SRAM
|
||||
|
||||
CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
|
||||
CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
|
||||
CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
|
||||
|
||||
CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
|
||||
|
||||
2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
|
||||
===========================================
|
||||
2.1. System memory map:
|
||||
Flash: 0x00000000-0x3FFFFFFF (1024MB)
|
||||
DDR: 0x40000000-0x7FFFFFFF (1024MB)
|
||||
SRAM: 0x80000000-0x8FFFFFFF (256MB)
|
||||
IP: 0xFC000000-0xFFFFFFFF (256MB)
|
||||
|
||||
2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and
|
||||
linux kernel, you can customize it based on your system requirements:
|
||||
Flash0: 0x00000000-0x00FFFFFF (16MB)
|
||||
DDR: 0x40000000-0x4FFFFFFF (256MB)
|
||||
SRAM: 0x80000000-0x80007FFF (32KB)
|
||||
IP: 0xFC000000-0xFC0FFFFF (64KB)
|
||||
|
||||
3. COMPILATION
|
||||
==============
|
||||
3.1 To create U-Boot the gcc-4.x-xx compiler set (ColdFire ELF or
|
||||
uClinux version) from codesourcery.com was used. Download it from:
|
||||
http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
|
||||
|
||||
3.2 Compilation
|
||||
export CROSS_COMPILE=cross-compile-prefix
|
||||
cd u-boot
|
||||
make distclean
|
||||
make M53017EVB_config
|
||||
make
|
||||
|
||||
4. SCREEN DUMP
|
||||
==============
|
||||
4.1 M53017EVB Development board
|
||||
(NOTE: May not show exactly the same)
|
||||
|
||||
U-Boot 2008.10 (Oct 22 2007 - 11:07:57)
|
||||
|
||||
CPU: Freescale MCF53015 (Mask:76 Version:0)
|
||||
CPU CLK 240 Mhz BUS CLK 80 Mhz
|
||||
Board: Freescale M53017EVB
|
||||
I2C: ready
|
||||
DRAM: 64 MB
|
||||
FLASH: 16 MB
|
||||
In: serial
|
||||
Out: serial
|
||||
Err: serial
|
||||
NAND: 16 MiB
|
||||
Net: FEC0, FEC1
|
||||
-> print
|
||||
bootdelay=1
|
||||
baudrate=115200
|
||||
ethaddr=00:e0:0c:bc:e5:60
|
||||
hostname=M53017EVB
|
||||
netdev=eth0
|
||||
loadaddr=40010000
|
||||
u-boot=u-boot.bin
|
||||
load=tftp ${loadaddr) ${u-boot}
|
||||
upd=run load; run prog
|
||||
prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save
|
||||
gatewayip=192.168.1.1
|
||||
netmask=255.255.255.0
|
||||
ipaddr=192.168.1.3
|
||||
serverip=192.168.1.2
|
||||
stdin=serial
|
||||
stdout=serial
|
||||
stderr=serial
|
||||
mem=65024k
|
||||
|
||||
Environment size: 437/4092 bytes
|
||||
->
|
||||
80
u-boot/board/freescale/m53017evb/m53017evb.c
Normal file
80
u-boot/board/freescale/m53017evb/m53017evb.c
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* (C) Copyright 2000-2003
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* Copyright (C) 2004-2008, 2012 Freescale Semiconductor, Inc.
|
||||
* TsiChung Liew (Tsi-Chung.Liew@freescale.com)
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <asm/immap.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int checkboard(void)
|
||||
{
|
||||
puts("Board: ");
|
||||
puts("Freescale M53017EVB\n");
|
||||
return 0;
|
||||
};
|
||||
|
||||
phys_size_t initdram(int board_type)
|
||||
{
|
||||
sdram_t *sdram = (sdram_t *)(MMAP_SDRAM);
|
||||
u32 dramsize, i;
|
||||
|
||||
dramsize = CONFIG_SYS_SDRAM_SIZE * 0x100000;
|
||||
|
||||
for (i = 0x13; i < 0x20; i++) {
|
||||
if (dramsize == (1 << i))
|
||||
break;
|
||||
}
|
||||
i--;
|
||||
|
||||
out_be32(&sdram->cs0, CONFIG_SYS_SDRAM_BASE | i);
|
||||
#ifdef CONFIG_SYS_SDRAM_BASE1
|
||||
out_be32(&sdram->cs1, CONFIG_SYS_SDRAM_BASE | i);
|
||||
#endif
|
||||
out_be32(&sdram->cfg1, CONFIG_SYS_SDRAM_CFG1);
|
||||
out_be32(&sdram->cfg2, CONFIG_SYS_SDRAM_CFG2);
|
||||
|
||||
udelay(500);
|
||||
|
||||
/* Issue PALL */
|
||||
out_be32(&sdram->ctrl, CONFIG_SYS_SDRAM_CTRL | 2);
|
||||
asm("nop");
|
||||
|
||||
/* Perform two refresh cycles */
|
||||
out_be32(&sdram->ctrl, CONFIG_SYS_SDRAM_CTRL | 4);
|
||||
out_be32(&sdram->ctrl, CONFIG_SYS_SDRAM_CTRL | 4);
|
||||
asm("nop");
|
||||
|
||||
/* Issue LEMR */
|
||||
out_be32(&sdram->mode, CONFIG_SYS_SDRAM_MODE);
|
||||
asm("nop");
|
||||
out_be32(&sdram->mode, CONFIG_SYS_SDRAM_EMOD);
|
||||
asm("nop");
|
||||
|
||||
out_be32(&sdram->ctrl, CONFIG_SYS_SDRAM_CTRL | 2);
|
||||
asm("nop");
|
||||
|
||||
out_be32(&sdram->ctrl,
|
||||
(CONFIG_SYS_SDRAM_CTRL & ~0x80000000) | 0x10000c00);
|
||||
asm("nop");
|
||||
|
||||
udelay(100);
|
||||
|
||||
return dramsize;
|
||||
};
|
||||
|
||||
int testdram(void)
|
||||
{
|
||||
/* TODO: XXX XXX XXX */
|
||||
printf("DRAM test not implemented!\n");
|
||||
|
||||
return (0);
|
||||
}
|
||||
Reference in New Issue
Block a user