forked from Minki/linux
m68knommu: make Coldfire 548x support more generic
The ColdFire 547x family of processors is very similar to the ColdFire 548x series. Almost all of the support for them is the same. Make the code supporting the 548x more gneric, so it will be capable of supporting both families. For the most part this is a renaming excerise to make the support code more obviously apply to both families. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
parent
9c68015b14
commit
5b2e6555ac
@ -5,7 +5,7 @@
|
||||
* (C) Copyright 2000-2004, Greg Ungerer <gerg@snapgear.com>
|
||||
*/
|
||||
#include <linux/mm.h>
|
||||
#if defined(CONFIG_M5407) || defined(CONFIG_M548x)
|
||||
#if defined(CONFIG_M5407) || defined(CONFIG_M54xx)
|
||||
#include <asm/m54xxacr.h>
|
||||
#endif
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
*/
|
||||
#define MCF_MBAR 0x10000000
|
||||
#define MCF_MBAR2 0x80000000
|
||||
#if defined(CONFIG_M548x)
|
||||
#if defined(CONFIG_M54xx)
|
||||
#define MCF_IPSBAR MCF_MBAR
|
||||
#elif defined(CONFIG_M520x)
|
||||
#define MCF_IPSBAR 0xFC000000
|
||||
|
@ -37,7 +37,7 @@
|
||||
#if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \
|
||||
defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
|
||||
defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
|
||||
defined(CONFIG_M532x) || defined(CONFIG_M548x)
|
||||
defined(CONFIG_M532x) || defined(CONFIG_M54xx)
|
||||
|
||||
/* These parts have GPIO organized by 8 bit ports */
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
#define ICACHE_SIZE 0x4000 /* instruction - 16k */
|
||||
#define DCACHE_SIZE 0x2000 /* data - 8k */
|
||||
|
||||
#elif defined(CONFIG_M548x)
|
||||
#elif defined(CONFIG_M54xx)
|
||||
|
||||
#define ICACHE_SIZE 0x8000 /* instruction - 32k */
|
||||
#define DCACHE_SIZE 0x8000 /* data - 32k */
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* File: m548xgpt.h
|
||||
* Purpose: Register and bit definitions for the MCF548X
|
||||
* File: m54xxgpt.h
|
||||
* Purpose: Register and bit definitions for the MCF54XX
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef m548xgpt_h
|
||||
#define m548xgpt_h
|
||||
#ifndef m54xxgpt_h
|
||||
#define m54xxgpt_h
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
@ -85,4 +85,4 @@
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
#endif /* m548xgpt_h */
|
||||
#endif /* m54xxgpt_h */
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* m548xsim.h -- ColdFire 547x/548x System Integration Unit support.
|
||||
* m54xxsim.h -- ColdFire 547x/548x System Integration Unit support.
|
||||
*/
|
||||
|
||||
#ifndef m548xsim_h
|
||||
#define m548xsim_h
|
||||
#ifndef m54xxsim_h
|
||||
#define m54xxsim_h
|
||||
|
||||
#define MCFINT_VECBASE 64
|
||||
|
||||
@ -52,4 +52,4 @@
|
||||
#define MCF_PAR_PSC_RTS_RTS (0x30)
|
||||
#define MCF_PAR_PSC_CANRX (0x40)
|
||||
|
||||
#endif /* m548xsim_h */
|
||||
#endif /* m54xxsim_h */
|
@ -107,7 +107,7 @@
|
||||
.endm
|
||||
#endif /* CONFIG_M532x */
|
||||
|
||||
#if defined(CONFIG_M5407) || defined(CONFIG_M548x)
|
||||
#if defined(CONFIG_M5407) || defined(CONFIG_M54xx)
|
||||
|
||||
#include <asm/m54xxacr.h>
|
||||
|
||||
@ -131,7 +131,7 @@
|
||||
movec %d0,%CACR
|
||||
nop
|
||||
.endm
|
||||
#endif /* CONFIG_M5407 || CONFIG_M548x */
|
||||
#endif /* CONFIG_M5407 || CONFIG_M54xx */
|
||||
|
||||
#if defined(CONFIG_M520x)
|
||||
.macro CACHE_ENABLE
|
||||
|
@ -41,8 +41,8 @@
|
||||
#elif defined(CONFIG_M5407)
|
||||
#include <asm/m5407sim.h>
|
||||
#include <asm/mcfintc.h>
|
||||
#elif defined(CONFIG_M548x)
|
||||
#include <asm/m548xsim.h>
|
||||
#elif defined(CONFIG_M54xx)
|
||||
#include <asm/m54xxsim.h>
|
||||
#endif
|
||||
|
||||
/****************************************************************************/
|
||||
|
@ -47,11 +47,11 @@
|
||||
#define MCFUART_BASE1 0xfc060000 /* Base address of UART1 */
|
||||
#define MCFUART_BASE2 0xfc064000 /* Base address of UART2 */
|
||||
#define MCFUART_BASE3 0xfc068000 /* Base address of UART3 */
|
||||
#elif defined(CONFIG_M548x)
|
||||
#define MCFUART_BASE1 0x8600 /* on M548x */
|
||||
#define MCFUART_BASE2 0x8700 /* on M548x */
|
||||
#define MCFUART_BASE3 0x8800 /* on M548x */
|
||||
#define MCFUART_BASE4 0x8900 /* on M548x */
|
||||
#elif defined(CONFIG_M54xx)
|
||||
#define MCFUART_BASE1 0x8600 /* on M54xx */
|
||||
#define MCFUART_BASE2 0x8700 /* on M54xx */
|
||||
#define MCFUART_BASE3 0x8800 /* on M54xx */
|
||||
#define MCFUART_BASE4 0x8900 /* on M54xx */
|
||||
#endif
|
||||
|
||||
|
||||
@ -217,7 +217,7 @@ struct mcf_platform_uart {
|
||||
#define MCFUART_URF_RXS 0xc0 /* Receiver status */
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_M548x)
|
||||
#if defined(CONFIG_M54xx)
|
||||
#define MCFUART_TXFIFOSIZE 512
|
||||
#elif defined(CONFIG_M5272)
|
||||
#define MCFUART_TXFIFOSIZE 25
|
||||
|
@ -181,9 +181,14 @@ config M527x
|
||||
select GENERIC_CLOCKEVENTS
|
||||
default y
|
||||
|
||||
config M54xx
|
||||
bool
|
||||
depends on M548x
|
||||
default y
|
||||
|
||||
config COLDFIRE
|
||||
bool
|
||||
depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407 || M548x)
|
||||
depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407 || M54xx)
|
||||
select GENERIC_GPIO
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
default y
|
||||
|
@ -25,7 +25,7 @@ platform-$(CONFIG_M528x) := 528x
|
||||
platform-$(CONFIG_M5307) := 5307
|
||||
platform-$(CONFIG_M532x) := 532x
|
||||
platform-$(CONFIG_M5407) := 5407
|
||||
platform-$(CONFIG_M548x) := 548x
|
||||
platform-$(CONFIG_M54xx) := 54xx
|
||||
PLATFORM := $(platform-y)
|
||||
|
||||
board-$(CONFIG_PILOT) := pilot
|
||||
@ -74,7 +74,7 @@ cpuclass-$(CONFIG_M528x) := coldfire
|
||||
cpuclass-$(CONFIG_M5307) := coldfire
|
||||
cpuclass-$(CONFIG_M532x) := coldfire
|
||||
cpuclass-$(CONFIG_M5407) := coldfire
|
||||
cpuclass-$(CONFIG_M548x) := coldfire
|
||||
cpuclass-$(CONFIG_M54xx) := coldfire
|
||||
cpuclass-$(CONFIG_M68328) := 68328
|
||||
cpuclass-$(CONFIG_M68EZ328) := 68328
|
||||
cpuclass-$(CONFIG_M68VZ328) := 68328
|
||||
@ -102,7 +102,7 @@ cflags-$(CONFIG_M528x) := $(call cc-option,-m528x,-m5307)
|
||||
cflags-$(CONFIG_M5307) := $(call cc-option,-m5307,-m5200)
|
||||
cflags-$(CONFIG_M532x) := $(call cc-option,-mcpu=532x,-m5307)
|
||||
cflags-$(CONFIG_M5407) := $(call cc-option,-m5407,-m5200)
|
||||
cflags-$(CONFIG_M548x) := $(call cc-option,-m5407,-m5200)
|
||||
cflags-$(CONFIG_M54xx) := $(call cc-option,-m5407,-m5200)
|
||||
cflags-$(CONFIG_M68328) := -m68000
|
||||
cflags-$(CONFIG_M68EZ328) := -m68000
|
||||
cflags-$(CONFIG_M68VZ328) := -m68000
|
||||
|
@ -1,7 +1,7 @@
|
||||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* linux/arch/m68knommu/platform/548x/config.c
|
||||
* linux/arch/m68knommu/platform/54xx/config.c
|
||||
*
|
||||
* Copyright (C) 2010, Philippe De Muyter <phdm@macqel.be>
|
||||
*/
|
||||
@ -15,13 +15,13 @@
|
||||
#include <linux/io.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/coldfire.h>
|
||||
#include <asm/m548xsim.h>
|
||||
#include <asm/m54xxsim.h>
|
||||
#include <asm/mcfuart.h>
|
||||
#include <asm/m548xgpt.h>
|
||||
#include <asm/m54xxgpt.h>
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static struct mcf_platform_uart m548x_uart_platform[] = {
|
||||
static struct mcf_platform_uart m54xx_uart_platform[] = {
|
||||
{
|
||||
.mapbase = MCF_MBAR + MCFUART_BASE1,
|
||||
.irq = 64 + 35,
|
||||
@ -40,20 +40,20 @@ static struct mcf_platform_uart m548x_uart_platform[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device m548x_uart = {
|
||||
static struct platform_device m54xx_uart = {
|
||||
.name = "mcfuart",
|
||||
.id = 0,
|
||||
.dev.platform_data = m548x_uart_platform,
|
||||
.dev.platform_data = m54xx_uart_platform,
|
||||
};
|
||||
|
||||
static struct platform_device *m548x_devices[] __initdata = {
|
||||
&m548x_uart,
|
||||
static struct platform_device *m54xx_devices[] __initdata = {
|
||||
&m54xx_uart,
|
||||
};
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static void __init m548x_uart_init_line(int line, int irq)
|
||||
static void __init m54xx_uart_init_line(int line, int irq)
|
||||
{
|
||||
int rts_cts;
|
||||
|
||||
@ -72,18 +72,18 @@ static void __init m548x_uart_init_line(int line, int irq)
|
||||
MCF_MBAR + MCF_PAR_PSC(line));
|
||||
}
|
||||
|
||||
static void __init m548x_uarts_init(void)
|
||||
static void __init m54xx_uarts_init(void)
|
||||
{
|
||||
const int nrlines = ARRAY_SIZE(m548x_uart_platform);
|
||||
const int nrlines = ARRAY_SIZE(m54xx_uart_platform);
|
||||
int line;
|
||||
|
||||
for (line = 0; (line < nrlines); line++)
|
||||
m548x_uart_init_line(line, m548x_uart_platform[line].irq);
|
||||
m54xx_uart_init_line(line, m54xx_uart_platform[line].irq);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static void mcf548x_reset(void)
|
||||
static void mcf54xx_reset(void)
|
||||
{
|
||||
/* disable interrupts and enable the watchdog */
|
||||
asm("movew #0x2700, %sr\n");
|
||||
@ -97,8 +97,8 @@ static void mcf548x_reset(void)
|
||||
|
||||
void __init config_BSP(char *commandp, int size)
|
||||
{
|
||||
mach_reset = mcf548x_reset;
|
||||
m548x_uarts_init();
|
||||
mach_reset = mcf54xx_reset;
|
||||
m54xx_uarts_init();
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
@ -106,7 +106,7 @@ void __init config_BSP(char *commandp, int size)
|
||||
static int __init init_BSP(void)
|
||||
{
|
||||
|
||||
platform_add_devices(m548x_devices, ARRAY_SIZE(m548x_devices));
|
||||
platform_add_devices(m54xx_devices, ARRAY_SIZE(m54xx_devices));
|
||||
return 0;
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ obj-$(CONFIG_M528x) += pit.o intc-2.o
|
||||
obj-$(CONFIG_M5307) += timers.o intc.o
|
||||
obj-$(CONFIG_M532x) += timers.o intc-simr.o
|
||||
obj-$(CONFIG_M5407) += timers.o intc.o
|
||||
obj-$(CONFIG_M548x) += sltimers.o intc-2.o
|
||||
obj-$(CONFIG_M54xx) += sltimers.o intc-2.o
|
||||
|
||||
obj-y += pinmux.o gpio.o
|
||||
extra-y := head.o
|
||||
|
Loading…
Reference in New Issue
Block a user