Commit 5b2e6555 authored by Greg Ungerer's avatar Greg Ungerer

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: default avatarGreg Ungerer <gerg@uclinux.org>
parent 9c68015b
......@@ -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 */
......
/*
* 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 */
/*
* 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
......
/***************************************************************************/
/*
* 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment