linux/arch/arm/mach-mv78xx0/mpp.c
Andrew Lunn b2f427a108 ARM: orion: Refactor the MPP code common in the orion platform
mv78xx0 and kirkwood use identical mpp code.

It should also be possible to rewrite the orion5x mpp to use this
platform code.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
2011-05-16 15:25:54 -04:00

40 lines
906 B
C

/*
* arch/arm/mach-mv78x00/mpp.c
*
* MPP functions for Marvell MV78x00 SoCs
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mbus.h>
#include <linux/io.h>
#include <plat/mpp.h>
#include <asm/gpio.h>
#include <mach/hardware.h>
#include "common.h"
#include "mpp.h"
static unsigned int __init mv78xx0_variant(void)
{
u32 dev, rev;
mv78xx0_pcie_id(&dev, &rev);
if (dev == MV78100_DEV_ID && rev >= MV78100_REV_A0)
return MPP_78100_A0_MASK;
printk(KERN_ERR "MPP setup: unknown mv78x00 variant "
"(dev %#x rev %#x)\n", dev, rev);
return 0;
}
void __init mv78xx0_mpp_conf(unsigned int *mpp_list)
{
orion_mpp_conf(mpp_list, mv78xx0_variant(),
MPP_MAX, DEV_BUS_VIRT_BASE);
}