Commit bd41b99d authored by Linus Walleij's avatar Linus Walleij Committed by Russell King

[ARM] 5471/2: U300 GPIO and PADMUX support

This adds GPIO and PADMUX headers and implementation for
the U300 platform. This is an implementation in isolation
that depend on later patches in this series to plug into
the framework.
Signed-off-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent fa59440d
This diff is collapsed.
This diff is collapsed.
/*
*
* arch/arm/mach-u300/padmux.c
*
*
* Copyright (C) 2009 ST-Ericsson AB
* License terms: GNU General Public License (GPL) version 2
* U300 PADMUX functions
* Author: Linus Walleij <linus.walleij@stericsson.com>
*
*/
#include <linux/io.h>
#include <linux/err.h>
#include <mach/u300-regs.h>
#include <mach/syscon.h>
#include "padmux.h"
/* Set the PAD MUX to route the MMC reader correctly to GPIO0. */
void pmx_set_mission_mode_mmc(void)
{
u16 val;
val = readw(U300_SYSCON_VBASE + U300_SYSCON_PMC1LR);
val &= ~U300_SYSCON_PMC1LR_MMCSD_MASK;
writew(val, U300_SYSCON_VBASE + U300_SYSCON_PMC1LR);
val = readw(U300_SYSCON_VBASE + U300_SYSCON_PMC1HR);
val &= ~U300_SYSCON_PMC1HR_APP_GPIO_1_MASK;
val |= U300_SYSCON_PMC1HR_APP_GPIO_1_MMC;
writew(val, U300_SYSCON_VBASE + U300_SYSCON_PMC1HR);
}
void pmx_set_mission_mode_spi(void)
{
u16 val;
/* Set up padmuxing so the SPI port and its chipselects are active */
val = readw(U300_SYSCON_VBASE + U300_SYSCON_PMC1HR);
/*
* Activate the SPI port (disable the use of these pins for generic
* GPIO, DSP, AAIF
*/
val &= ~U300_SYSCON_PMC1HR_APP_SPI_2_MASK;
val |= U300_SYSCON_PMC1HR_APP_SPI_2_SPI;
/*
* Use GPIO pin SPI CS1 for CS1 actually (it can be used for other
* things also)
*/
val &= ~U300_SYSCON_PMC1HR_APP_SPI_CS_1_MASK;
val |= U300_SYSCON_PMC1HR_APP_SPI_CS_1_SPI;
/*
* Use GPIO pin SPI CS2 for CS2 actually (it can be used for other
* things also)
*/
val &= ~U300_SYSCON_PMC1HR_APP_SPI_CS_2_MASK;
val |= U300_SYSCON_PMC1HR_APP_SPI_CS_2_SPI;
writew(val, U300_SYSCON_VBASE + U300_SYSCON_PMC1HR);
}
/*
*
* arch/arm/mach-u300/padmux.h
*
*
* Copyright (C) 2009 ST-Ericsson AB
* License terms: GNU General Public License (GPL) version 2
* U300 PADMUX API
* Author: Linus Walleij <linus.walleij@stericsson.com>
*
*/
#ifndef __MACH_U300_PADMUX_H
#define __MACH_U300_PADMUX_H
void pmx_set_mission_mode_mmc(void);
void pmx_set_mission_mode_spi(void);
#endif
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