Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 225964
b: refs/heads/master
c: 9b6956f
h: refs/heads/master
v: v3
  • Loading branch information
Marek Vasut authored and Eric Miao committed Dec 20, 2010
1 parent 5a1762b commit c60d20e
Show file tree
Hide file tree
Showing 9 changed files with 189 additions and 253 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 960c0acaabf603e39b121ae5c0580aaca6f8aa7b
refs/heads/master: 9b6956f45132f9bf696e9f6c2e457bdfa8e08721
8 changes: 4 additions & 4 deletions trunk/arch/arm/mach-pxa/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,6 @@ config MACH_COLIBRI
bool "Toradex Colibri PXA270"
select PXA27x

config MACH_COLIBRI_PXA270_EVALBOARD
bool "Toradex Colibri Evaluation Carrier Board support (PXA270)"
depends on MACH_COLIBRI

config MACH_COLIBRI_PXA270_INCOME
bool "Income s.r.o. PXA270 SBC"
depends on MACH_COLIBRI
Expand All @@ -257,6 +253,10 @@ config MACH_COLIBRI320
select PXA3xx
select CPU_PXA320

config MACH_COLIBRI_PXA270_EVALBOARD
bool "Toradex Colibri Evaluation Carrier Board support"
depends on MACH_COLIBRI || MACH_COLIBRI300 || MACH_COLIBRI320

config MACH_VPAC270
bool "Voipac PXA270"
select PXA27x
Expand Down
61 changes: 15 additions & 46 deletions trunk/arch/arm/mach-pxa/colibri-pxa270-evalboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,62 +29,29 @@
#include "generic.h"
#include "devices.h"

/******************************************************************************
* Pin configuration
******************************************************************************/
static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {
/* MMC */
GPIO32_MMC_CLK,
GPIO92_MMC_DAT_0,
GPIO109_MMC_DAT_1,
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
GPIO112_MMC_CMD,
GPIO0_GPIO, /* SD detect */

/* FFUART */
GPIO39_FFUART_TXD,
GPIO34_FFUART_RXD,

/* UHC */
GPIO88_USBH1_PWR,
GPIO89_USBH1_PEN,
GPIO119_USBH2_PWR,
GPIO120_USBH2_PEN,

/* PCMCIA */
GPIO85_nPCE_1,
GPIO54_nPCE_2,
GPIO55_nPREG,
GPIO50_nPIOR,
GPIO51_nPIOW,
GPIO49_nPWE,
GPIO48_nPOE,
GPIO57_nIOIS16,
GPIO56_nPWAIT,
GPIO104_PSKTSEL,
GPIO53_GPIO, /* RESET */
GPIO83_GPIO, /* BVD1 */
GPIO82_GPIO, /* BVD2 */
GPIO1_GPIO, /* READY */
GPIO84_GPIO, /* DETECT */
GPIO107_GPIO, /* PPEN */
};

/******************************************************************************
* SD/MMC card controller
******************************************************************************/
#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
static struct pxamci_platform_data colibri_pxa270_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
.gpio_power = -1,
.gpio_card_detect = GPIO0_COLIBRI_PXA270_SD_DETECT,
.gpio_card_ro = -1,
.detect_delay_ms = 200,
};

static void __init colibri_pxa270_mmc_init(void)
{
if (machine_is_colibri()) /* PXA270 Colibri */
colibri_pxa270_mci_platform_data.gpio_card_detect =
GPIO0_COLIBRI_PXA270_SD_DETECT;
if (machine_is_colibri300()) /* PXA300 Colibri */
colibri_pxa270_mci_platform_data.gpio_card_detect =
GPIO39_COLIBRI_PXA300_SD_DETECT;
else /* PXA320 Colibri */
colibri_pxa270_mci_platform_data.gpio_card_detect =
GPIO28_COLIBRI_PXA320_SD_DETECT;

pxa_set_mci_info(&colibri_pxa270_mci_platform_data);
}
#else
Expand All @@ -103,13 +70,17 @@ static int colibri_pxa270_ohci_init(struct device *dev)

static struct pxaohci_platform_data colibri_pxa270_ohci_info = {
.port_mode = PMM_PERPORT_MODE,
.flags = ENABLE_PORT1 | ENABLE_PORT2 |
.flags = ENABLE_PORT1 |
POWER_CONTROL_LOW | POWER_SENSE_LOW,
.init = colibri_pxa270_ohci_init,
};

static void __init colibri_pxa270_uhc_init(void)
{
/* Colibri PXA270 has two usb ports, TBA for 320 */
if (machine_is_colibri())
colibri_pxa270_ohci_info.flags |= ENABLE_PORT2;

pxa_set_ohci_info(&colibri_pxa270_ohci_info);
}
#else
Expand All @@ -118,12 +89,10 @@ static inline void colibri_pxa270_uhc_init(void) {}

void __init colibri_pxa270_evalboard_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_evalboard_pin_config));
pxa_set_ffuart_info(NULL);
pxa_set_btuart_info(NULL);
pxa_set_stuart_info(NULL);

colibri_pxa270_mmc_init();
colibri_pxa270_uhc_init();
}

47 changes: 0 additions & 47 deletions trunk/arch/arm/mach-pxa/colibri-pxa270-income.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,52 +45,6 @@
#define GPIO55_INCOME_LED_B (55)
#define GPIO113_INCOME_TS_IRQ (113)

/******************************************************************************
* Pin configuration
******************************************************************************/
static mfp_cfg_t income_pin_config[] __initdata = {
/* MMC */
GPIO32_MMC_CLK,
GPIO92_MMC_DAT_0,
GPIO109_MMC_DAT_1,
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
GPIO112_MMC_CMD,
GPIO0_GPIO, /* SD detect */
GPIO1_GPIO, /* SD read-only */

/* FFUART */
GPIO39_FFUART_TXD,
GPIO34_FFUART_RXD,

/* BFUART */
GPIO42_BTUART_RXD,
GPIO43_BTUART_TXD,
GPIO45_BTUART_RTS,

/* STUART */
GPIO46_STUART_RXD,
GPIO47_STUART_TXD,

/* UHC */
GPIO88_USBH1_PWR,
GPIO89_USBH1_PEN,

/* LCD */
GPIOxx_LCD_TFT_16BPP,

/* PWM */
GPIO16_PWM0_OUT,

/* I2C */
GPIO117_I2C_SCL,
GPIO118_I2C_SDA,

/* LED */
GPIO54_GPIO, /* LED A */
GPIO55_GPIO, /* LED B */
};

/******************************************************************************
* SD/MMC card controller
******************************************************************************/
Expand Down Expand Up @@ -257,7 +211,6 @@ static inline void income_pwm_init(void) {}

void __init colibri_pxa270_income_boardinit(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(income_pin_config));
pxa_set_ffuart_info(NULL);
pxa_set_btuart_info(NULL);
pxa_set_stuart_info(NULL);
Expand Down
96 changes: 96 additions & 0 deletions trunk/arch/arm/mach-pxa/colibri-pxa270.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,99 @@
#include "devices.h"
#include "generic.h"

/******************************************************************************
* Evaluation board MFP
******************************************************************************/
#ifdef CONFIG_MACH_COLIBRI_PXA270_EVALBOARD
static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {
/* MMC */
GPIO32_MMC_CLK,
GPIO92_MMC_DAT_0,
GPIO109_MMC_DAT_1,
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
GPIO112_MMC_CMD,
GPIO0_GPIO, /* SD detect */

/* FFUART */
GPIO39_FFUART_TXD,
GPIO34_FFUART_RXD,

/* UHC */
GPIO88_USBH1_PWR,
GPIO89_USBH1_PEN,
GPIO119_USBH2_PWR,
GPIO120_USBH2_PEN,

/* PCMCIA */
GPIO85_nPCE_1,
GPIO54_nPCE_2,
GPIO55_nPREG,
GPIO50_nPIOR,
GPIO51_nPIOW,
GPIO49_nPWE,
GPIO48_nPOE,
GPIO57_nIOIS16,
GPIO56_nPWAIT,
GPIO104_PSKTSEL,
GPIO53_GPIO, /* RESET */
GPIO83_GPIO, /* BVD1 */
GPIO82_GPIO, /* BVD2 */
GPIO1_GPIO, /* READY */
GPIO84_GPIO, /* DETECT */
GPIO107_GPIO, /* PPEN */
};
#else
static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {};
#endif

#ifdef CONFIG_MACH_COLIBRI_PXA270_INCOME
static mfp_cfg_t income_pin_config[] __initdata = {
/* MMC */
GPIO32_MMC_CLK,
GPIO92_MMC_DAT_0,
GPIO109_MMC_DAT_1,
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
GPIO112_MMC_CMD,
GPIO0_GPIO, /* SD detect */
GPIO1_GPIO, /* SD read-only */

/* FFUART */
GPIO39_FFUART_TXD,
GPIO34_FFUART_RXD,

/* BFUART */
GPIO42_BTUART_RXD,
GPIO43_BTUART_TXD,
GPIO45_BTUART_RTS,

/* STUART */
GPIO46_STUART_RXD,
GPIO47_STUART_TXD,

/* UHC */
GPIO88_USBH1_PWR,
GPIO89_USBH1_PEN,

/* LCD */
GPIOxx_LCD_TFT_16BPP,

/* PWM */
GPIO16_PWM0_OUT,

/* I2C */
GPIO117_I2C_SCL,
GPIO118_I2C_SDA,

/* LED */
GPIO54_GPIO, /* LED A */
GPIO55_GPIO, /* LED B */
};
#else
static mfp_cfg_t income_pin_config[] __initdata = {};
#endif

/******************************************************************************
* Pin configuration
******************************************************************************/
Expand Down Expand Up @@ -185,9 +278,12 @@ static void __init colibri_pxa270_init(void)

switch (colibri_pxa270_baseboard) {
case COLIBRI_PXA270_EVALBOARD:
pxa2xx_mfp_config(ARRAY_AND_SIZE(
colibri_pxa270_evalboard_pin_config));
colibri_pxa270_evalboard_init();
break;
case COLIBRI_PXA270_INCOME:
pxa2xx_mfp_config(ARRAY_AND_SIZE(income_pin_config));
colibri_pxa270_income_boardinit();
break;
default:
Expand Down
61 changes: 24 additions & 37 deletions trunk/arch/arm/mach-pxa/colibri-pxa300.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,28 @@
#include "generic.h"
#include "devices.h"


#ifdef CONFIG_MACH_COLIBRI_PXA270_EVALBOARD
static mfp_cfg_t colibri_pxa300_evalboard_pin_config[] __initdata = {
/* MMC */
GPIO7_MMC1_CLK,
GPIO14_MMC1_CMD,
GPIO3_MMC1_DAT0,
GPIO4_MMC1_DAT1,
GPIO5_MMC1_DAT2,
GPIO6_MMC1_DAT3,
GPIO39_GPIO, /* SD detect */

/* UHC */
GPIO0_2_USBH_PEN,
GPIO1_2_USBH_PWR,
};
#else
static mfp_cfg_t colibri_pxa300_evalboard_pin_config[] __initdata = {};
#endif

#if defined(CONFIG_AX88796)
#define COLIBRI_ETH_IRQ_GPIO mfp_to_gpio(GPIO26_GPIO)

/*
* Asix AX88796 Ethernet
*/
Expand Down Expand Up @@ -80,35 +99,6 @@ static void __init colibri_pxa300_init_eth(void)
static inline void __init colibri_pxa300_init_eth(void) {}
#endif /* CONFIG_AX88796 */

#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
static mfp_cfg_t colibri_pxa300_usb_pin_config[] __initdata = {
GPIO0_2_USBH_PEN,
GPIO1_2_USBH_PWR,
};

static struct pxaohci_platform_data colibri_pxa300_ohci_info = {
.port_mode = PMM_GLOBAL_MODE,
.flags = ENABLE_PORT1 | POWER_CONTROL_LOW | POWER_SENSE_LOW,
};

void __init colibri_pxa300_init_ohci(void)
{
pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa300_usb_pin_config));
pxa_set_ohci_info(&colibri_pxa300_ohci_info);
}
#else
static inline void colibri_pxa300_init_ohci(void) {}
#endif /* CONFIG_USB_OHCI_HCD || CONFIG_USB_OHCI_HCD_MODULE */

static mfp_cfg_t colibri_pxa300_mmc_pin_config[] __initdata = {
GPIO7_MMC1_CLK,
GPIO14_MMC1_CMD,
GPIO3_MMC1_DAT0,
GPIO4_MMC1_DAT1,
GPIO5_MMC1_DAT2,
GPIO6_MMC1_DAT3,
};

#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
static mfp_cfg_t colibri_pxa300_lcd_pin_config[] __initdata = {
GPIO54_LCD_LDD_0,
Expand Down Expand Up @@ -171,18 +161,15 @@ static inline void colibri_pxa310_init_ac97(void) {}

void __init colibri_pxa300_init(void)
{
pxa_set_ffuart_info(NULL);
pxa_set_btuart_info(NULL);
pxa_set_stuart_info(NULL);

colibri_pxa300_init_eth();
colibri_pxa300_init_ohci();
colibri_pxa3xx_init_nand();
colibri_pxa300_init_lcd();
colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO39_GPIO));
colibri_pxa310_init_ac97();
colibri_pxa3xx_init_mmc(ARRAY_AND_SIZE(colibri_pxa300_mmc_pin_config),
mfp_to_gpio(MFP_PIN_GPIO13));

/* Evalboard init */
pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa300_evalboard_pin_config));
colibri_pxa270_evalboard_init();
}

MACHINE_START(COLIBRI300, "Toradex Colibri PXA300")
Expand Down
Loading

0 comments on commit c60d20e

Please sign in to comment.