[ARM] pxa/MioA701: discovered new gpio definitions.
The charger enable gpio is straight (1 means draw from USB Vbus, 0 mean do not draw). The USB Vbus sensing is inverted (1 means no Vbus voltage sensed, 0 means Vbus voltage present). Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
Родитель
a0361a8afe
Коммит
c96763d4dc
|
@ -10,12 +10,14 @@
|
||||||
(MFP_PIN(pin) | MFP_##af | MFP_DIR_OUT | MFP_LPM_##state))
|
(MFP_PIN(pin) | MFP_##af | MFP_DIR_OUT | MFP_LPM_##state))
|
||||||
|
|
||||||
/* Global GPIOs */
|
/* Global GPIOs */
|
||||||
#define GPIO9_CHARGE_nEN 9
|
#define GPIO9_CHARGE_EN 9
|
||||||
#define GPIO18_POWEROFF 18
|
#define GPIO18_POWEROFF 18
|
||||||
#define GPIO87_LCD_POWER 87
|
#define GPIO87_LCD_POWER 87
|
||||||
|
#define GPIO96_AC_DETECT 96
|
||||||
|
#define GPIO80_MAYBE_CHARGE_VDROP 80 /* Drop of 88mV */
|
||||||
|
|
||||||
/* USB */
|
/* USB */
|
||||||
#define GPIO13_USB_DETECT 13
|
#define GPIO13_nUSB_DETECT 13
|
||||||
#define GPIO22_USB_ENABLE 22
|
#define GPIO22_USB_ENABLE 22
|
||||||
|
|
||||||
/* SDIO bits */
|
/* SDIO bits */
|
||||||
|
@ -24,7 +26,10 @@
|
||||||
#define GPIO91_SDIO_EN 91
|
#define GPIO91_SDIO_EN 91
|
||||||
|
|
||||||
/* Bluetooth */
|
/* Bluetooth */
|
||||||
|
#define GPIO14_BT_nACTIVITY 14
|
||||||
#define GPIO83_BT_ON 83
|
#define GPIO83_BT_ON 83
|
||||||
|
#define GPIO77_BT_UNKNOWN1 77
|
||||||
|
#define GPIO86_BT_MAYBE_nRESET 86
|
||||||
|
|
||||||
/* GPS */
|
/* GPS */
|
||||||
#define GPIO23_GPS_UNKNOWN1 23
|
#define GPIO23_GPS_UNKNOWN1 23
|
||||||
|
|
|
@ -57,10 +57,11 @@
|
||||||
|
|
||||||
static unsigned long mioa701_pin_config[] = {
|
static unsigned long mioa701_pin_config[] = {
|
||||||
/* Mio global */
|
/* Mio global */
|
||||||
MIO_CFG_OUT(GPIO9_CHARGE_nEN, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO9_CHARGE_EN, AF0, DRIVE_LOW),
|
||||||
MIO_CFG_OUT(GPIO18_POWEROFF, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO18_POWEROFF, AF0, DRIVE_LOW),
|
||||||
MFP_CFG_OUT(GPIO3, AF0, DRIVE_HIGH),
|
MFP_CFG_OUT(GPIO3, AF0, DRIVE_HIGH),
|
||||||
MFP_CFG_OUT(GPIO4, AF0, DRIVE_HIGH),
|
MFP_CFG_OUT(GPIO4, AF0, DRIVE_HIGH),
|
||||||
|
MIO_CFG_IN(GPIO80_MAYBE_CHARGE_VDROP, AF0),
|
||||||
|
|
||||||
/* Backlight PWM 0 */
|
/* Backlight PWM 0 */
|
||||||
GPIO16_PWM0_OUT,
|
GPIO16_PWM0_OUT,
|
||||||
|
@ -77,7 +78,7 @@ static unsigned long mioa701_pin_config[] = {
|
||||||
MIO_CFG_OUT(GPIO91_SDIO_EN, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO91_SDIO_EN, AF0, DRIVE_LOW),
|
||||||
|
|
||||||
/* USB */
|
/* USB */
|
||||||
MIO_CFG_IN(GPIO13_USB_DETECT, AF0),
|
MIO_CFG_IN(GPIO13_nUSB_DETECT, AF0),
|
||||||
MIO_CFG_OUT(GPIO22_USB_ENABLE, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO22_USB_ENABLE, AF0, DRIVE_LOW),
|
||||||
|
|
||||||
/* LCD */
|
/* LCD */
|
||||||
|
@ -116,11 +117,14 @@ static unsigned long mioa701_pin_config[] = {
|
||||||
GPIO85_CIF_LV,
|
GPIO85_CIF_LV,
|
||||||
|
|
||||||
/* Bluetooth */
|
/* Bluetooth */
|
||||||
|
MIO_CFG_IN(GPIO14_BT_nACTIVITY, AF0),
|
||||||
GPIO44_BTUART_CTS,
|
GPIO44_BTUART_CTS,
|
||||||
GPIO42_BTUART_RXD,
|
GPIO42_BTUART_RXD,
|
||||||
GPIO45_BTUART_RTS,
|
GPIO45_BTUART_RTS,
|
||||||
GPIO43_BTUART_TXD,
|
GPIO43_BTUART_TXD,
|
||||||
MIO_CFG_OUT(GPIO83_BT_ON, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO83_BT_ON, AF0, DRIVE_LOW),
|
||||||
|
MIO_CFG_OUT(GPIO77_BT_UNKNOWN1, AF0, DRIVE_HIGH),
|
||||||
|
MIO_CFG_OUT(GPIO86_BT_MAYBE_nRESET, AF0, DRIVE_HIGH),
|
||||||
|
|
||||||
/* GPS */
|
/* GPS */
|
||||||
MIO_CFG_OUT(GPIO23_GPS_UNKNOWN1, AF0, DRIVE_LOW),
|
MIO_CFG_OUT(GPIO23_GPS_UNKNOWN1, AF0, DRIVE_LOW),
|
||||||
|
@ -173,15 +177,11 @@ static unsigned long mioa701_pin_config[] = {
|
||||||
GPIO118_I2C_SDA,
|
GPIO118_I2C_SDA,
|
||||||
|
|
||||||
/* Unknown */
|
/* Unknown */
|
||||||
MFP_CFG_IN(GPIO14, AF0),
|
|
||||||
MFP_CFG_IN(GPIO20, AF0),
|
MFP_CFG_IN(GPIO20, AF0),
|
||||||
MFP_CFG_IN(GPIO21, AF0),
|
MFP_CFG_IN(GPIO21, AF0),
|
||||||
MFP_CFG_IN(GPIO33, AF0),
|
MFP_CFG_IN(GPIO33, AF0),
|
||||||
MFP_CFG_OUT(GPIO49, AF0, DRIVE_HIGH),
|
MFP_CFG_OUT(GPIO49, AF0, DRIVE_HIGH),
|
||||||
MFP_CFG_OUT(GPIO57, AF0, DRIVE_HIGH),
|
MFP_CFG_OUT(GPIO57, AF0, DRIVE_HIGH),
|
||||||
MFP_CFG_OUT(GPIO77, AF0, DRIVE_HIGH),
|
|
||||||
MFP_CFG_IN(GPIO80, AF0),
|
|
||||||
MFP_CFG_OUT(GPIO86, AF0, DRIVE_HIGH),
|
|
||||||
MFP_CFG_IN(GPIO96, AF0),
|
MFP_CFG_IN(GPIO96, AF0),
|
||||||
MFP_CFG_OUT(GPIO116, AF0, DRIVE_HIGH),
|
MFP_CFG_OUT(GPIO116, AF0, DRIVE_HIGH),
|
||||||
};
|
};
|
||||||
|
@ -428,7 +428,7 @@ static void udc_power_command(int cmd)
|
||||||
|
|
||||||
static int is_usb_connected(void)
|
static int is_usb_connected(void)
|
||||||
{
|
{
|
||||||
return !!gpio_get_value(GPIO13_USB_DETECT);
|
return !gpio_get_value(GPIO13_nUSB_DETECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pxa2xx_udc_mach_info mioa701_udc_info = {
|
static struct pxa2xx_udc_mach_info mioa701_udc_info = {
|
||||||
|
@ -682,7 +682,7 @@ static char *supplicants[] = {
|
||||||
|
|
||||||
static void mioa701_set_charge(int flags)
|
static void mioa701_set_charge(int flags)
|
||||||
{
|
{
|
||||||
gpio_set_value(GPIO9_CHARGE_nEN, !flags);
|
gpio_set_value(GPIO9_CHARGE_EN, (flags == PDA_POWER_CHARGE_USB));
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pda_power_pdata power_pdata = {
|
static struct pda_power_pdata power_pdata = {
|
||||||
|
@ -695,8 +695,8 @@ static struct pda_power_pdata power_pdata = {
|
||||||
static struct resource power_resources[] = {
|
static struct resource power_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.name = "ac",
|
.name = "ac",
|
||||||
.start = gpio_to_irq(GPIO13_USB_DETECT),
|
.start = gpio_to_irq(GPIO13_nUSB_DETECT),
|
||||||
.end = gpio_to_irq(GPIO13_USB_DETECT),
|
.end = gpio_to_irq(GPIO13_nUSB_DETECT),
|
||||||
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE |
|
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE |
|
||||||
IORESOURCE_IRQ_LOWEDGE,
|
IORESOURCE_IRQ_LOWEDGE,
|
||||||
},
|
},
|
||||||
|
@ -908,7 +908,7 @@ static void mioa701_restart(char c)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct gpio_ress global_gpios[] = {
|
struct gpio_ress global_gpios[] = {
|
||||||
MIO_GPIO_OUT(GPIO9_CHARGE_nEN, 1, "Charger enable"),
|
MIO_GPIO_OUT(GPIO9_CHARGE_EN, 1, "Charger enable"),
|
||||||
MIO_GPIO_OUT(GPIO18_POWEROFF, 0, "Power Off"),
|
MIO_GPIO_OUT(GPIO18_POWEROFF, 0, "Power Off"),
|
||||||
MIO_GPIO_OUT(GPIO87_LCD_POWER, 0, "LCD Power")
|
MIO_GPIO_OUT(GPIO87_LCD_POWER, 0, "LCD Power")
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче