forked from Minki/linux
[ARM] 5429/1: collie: start scoop converton to new api
Start converting scoop gpio access to new API instead of old deprecated one. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
cf281a99b6
commit
224be092d1
@ -25,6 +25,7 @@
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/gpio.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
@ -195,18 +196,34 @@ static struct mtd_partition collie_partitions[] = {
|
||||
}
|
||||
};
|
||||
|
||||
static void collie_set_vpp(int vpp)
|
||||
static int collie_flash_init(void)
|
||||
{
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR) | COLLIE_SCP_VPEN);
|
||||
if (vpp)
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) | COLLIE_SCP_VPEN);
|
||||
else
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) & ~COLLIE_SCP_VPEN);
|
||||
int rc;
|
||||
rc = gpio_request(COLLIE_GPIO_VPEN, "flash Vpp enable");
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
rc = gpio_direction_output(COLLIE_GPIO_VPEN, 1);
|
||||
if (rc)
|
||||
gpio_free(COLLIE_GPIO_VPEN);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void collie_set_vpp(int vpp)
|
||||
{
|
||||
gpio_set_value(COLLIE_GPIO_VPEN, vpp);
|
||||
}
|
||||
|
||||
static void collie_flash_exit(void)
|
||||
{
|
||||
gpio_free(COLLIE_GPIO_VPEN);
|
||||
}
|
||||
static struct flash_platform_data collie_flash_data = {
|
||||
.map_name = "cfi_probe",
|
||||
.init = collie_flash_init,
|
||||
.set_vpp = collie_set_vpp,
|
||||
.exit = collie_flash_exit,
|
||||
.parts = collie_partitions,
|
||||
.nr_parts = ARRAY_SIZE(collie_partitions),
|
||||
};
|
||||
|
@ -14,6 +14,7 @@
|
||||
#define __ASM_ARCH_COLLIE_H
|
||||
|
||||
|
||||
#define COLLIE_SCOOP_GPIO_BASE (GPIO_MAX + 1)
|
||||
#define COLLIE_SCP_CHARGE_ON SCOOP_GPCR_PA11
|
||||
#define COLLIE_SCP_DIAG_BOOT1 SCOOP_GPCR_PA12
|
||||
#define COLLIE_SCP_DIAG_BOOT2 SCOOP_GPCR_PA13
|
||||
@ -21,13 +22,13 @@
|
||||
#define COLLIE_SCP_MUTE_R SCOOP_GPCR_PA15
|
||||
#define COLLIE_SCP_5VON SCOOP_GPCR_PA16
|
||||
#define COLLIE_SCP_AMP_ON SCOOP_GPCR_PA17
|
||||
#define COLLIE_SCP_VPEN SCOOP_GPCR_PA18
|
||||
#define COLLIE_GPIO_VPEN (COLLIE_SCOOP_GPIO_BASE + 7)
|
||||
#define COLLIE_SCP_LB_VOL_CHG SCOOP_GPCR_PA19
|
||||
|
||||
#define COLLIE_SCOOP_IO_DIR ( COLLIE_SCP_CHARGE_ON | COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
|
||||
COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | COLLIE_SCP_VPEN | \
|
||||
COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | \
|
||||
COLLIE_SCP_LB_VOL_CHG )
|
||||
#define COLLIE_SCOOP_IO_OUT ( COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | COLLIE_SCP_VPEN | \
|
||||
#define COLLIE_SCOOP_IO_OUT ( COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
|
||||
COLLIE_SCP_CHARGE_ON )
|
||||
|
||||
/* GPIOs for which the generic definition doesn't say much */
|
||||
|
Loading…
Reference in New Issue
Block a user