[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/mtd.h>
|
||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <asm/mach-types.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);
|
int rc;
|
||||||
if (vpp)
|
rc = gpio_request(COLLIE_GPIO_VPEN, "flash Vpp enable");
|
||||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) | COLLIE_SCP_VPEN);
|
if (rc)
|
||||||
else
|
return rc;
|
||||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) & ~COLLIE_SCP_VPEN);
|
|
||||||
|
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 = {
|
static struct flash_platform_data collie_flash_data = {
|
||||||
.map_name = "cfi_probe",
|
.map_name = "cfi_probe",
|
||||||
|
.init = collie_flash_init,
|
||||||
.set_vpp = collie_set_vpp,
|
.set_vpp = collie_set_vpp,
|
||||||
|
.exit = collie_flash_exit,
|
||||||
.parts = collie_partitions,
|
.parts = collie_partitions,
|
||||||
.nr_parts = ARRAY_SIZE(collie_partitions),
|
.nr_parts = ARRAY_SIZE(collie_partitions),
|
||||||
};
|
};
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#define __ASM_ARCH_COLLIE_H
|
#define __ASM_ARCH_COLLIE_H
|
||||||
|
|
||||||
|
|
||||||
|
#define COLLIE_SCOOP_GPIO_BASE (GPIO_MAX + 1)
|
||||||
#define COLLIE_SCP_CHARGE_ON SCOOP_GPCR_PA11
|
#define COLLIE_SCP_CHARGE_ON SCOOP_GPCR_PA11
|
||||||
#define COLLIE_SCP_DIAG_BOOT1 SCOOP_GPCR_PA12
|
#define COLLIE_SCP_DIAG_BOOT1 SCOOP_GPCR_PA12
|
||||||
#define COLLIE_SCP_DIAG_BOOT2 SCOOP_GPCR_PA13
|
#define COLLIE_SCP_DIAG_BOOT2 SCOOP_GPCR_PA13
|
||||||
@ -21,13 +22,13 @@
|
|||||||
#define COLLIE_SCP_MUTE_R SCOOP_GPCR_PA15
|
#define COLLIE_SCP_MUTE_R SCOOP_GPCR_PA15
|
||||||
#define COLLIE_SCP_5VON SCOOP_GPCR_PA16
|
#define COLLIE_SCP_5VON SCOOP_GPCR_PA16
|
||||||
#define COLLIE_SCP_AMP_ON SCOOP_GPCR_PA17
|
#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_SCP_LB_VOL_CHG SCOOP_GPCR_PA19
|
||||||
|
|
||||||
#define COLLIE_SCOOP_IO_DIR ( COLLIE_SCP_CHARGE_ON | COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
|
#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 )
|
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 )
|
COLLIE_SCP_CHARGE_ON )
|
||||||
|
|
||||||
/* GPIOs for which the generic definition doesn't say much */
|
/* GPIOs for which the generic definition doesn't say much */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user