Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 226099
b: refs/heads/master
c: c2932bf
h: refs/heads/master
i:
  226097: 55c0ef7
  226095: cd73de6
v: v3
  • Loading branch information
Arnaud Patard (Rtp) authored and Sascha Hauer committed Nov 24, 2010
1 parent 53177b9 commit 5be2329
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 2 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: c6e34a4cbe8d4e126c3f603d11cce6979952cbb1
refs/heads/master: c2932bf47001697fc48e89f1d136532703ed4779
24 changes: 24 additions & 0 deletions trunk/arch/arm/mach-mx5/board-mx51_efikamx.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@
#define EFIKAMX_SPI_CS0 (3*32 + 24)
#define EFIKAMX_SPI_CS1 (3*32 + 25)

/* board 1.1 doesn't have same reset gpio */
#define EFIKAMX_RESET1_1 (2*32 + 2)
#define EFIKAMX_RESET (0*32 + 4)

/* the pci ids pin have pull up. they're driven low according to board id */
#define MX51_PAD_PCBID0 IOMUX_PAD(0x518, 0x130, 3, 0x0, 0, PAD_CTL_PUS_100K_UP)
#define MX51_PAD_PCBID1 IOMUX_PAD(0x51C, 0x134, 3, 0x0, 0, PAD_CTL_PUS_100K_UP)
Expand Down Expand Up @@ -110,6 +114,10 @@ static iomux_v3_cfg_t mx51efikamx_pads[] = {
MX51_PAD_CSPI1_SS1__GPIO_4_25,
MX51_PAD_CSPI1_RDY__ECSPI1_RDY,
MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK,

/* reset */
MX51_PAD_DI1_PIN13__GPIO_3_2,
MX51_PAD_GPIO_1_4__GPIO_1_4,
};

/* Serial ports */
Expand Down Expand Up @@ -296,6 +304,14 @@ static const struct spi_imx_master mx51_efikamx_spi_pdata __initconst = {
.num_chipselect = ARRAY_SIZE(mx51_efikamx_spi_cs),
};

void mx51_efikamx_reset(void)
{
if (system_rev == 0x11)
gpio_direction_output(EFIKAMX_RESET1_1, 0);
else
gpio_direction_output(EFIKAMX_RESET, 0);
}

static void __init mxc_board_init(void)
{
mxc_iomux_v3_setup_multiple_pads(mx51efikamx_pads,
Expand All @@ -317,6 +333,14 @@ static void __init mxc_board_init(void)
spi_register_board_info(mx51_efikamx_spi_board_info,
ARRAY_SIZE(mx51_efikamx_spi_board_info));
imx51_add_ecspi(0, &mx51_efikamx_spi_pdata);

if (system_rev == 0x11) {
gpio_request(EFIKAMX_RESET1_1, "reset");
gpio_direction_output(EFIKAMX_RESET1_1, 1);
} else {
gpio_request(EFIKAMX_RESET, "reset");
gpio_direction_output(EFIKAMX_RESET, 1);
}
}

static void __init mx51_efikamx_timer_init(void)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/plat-mxc/include/mach/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ extern void mxc_arch_reset_init(void __iomem *);
extern void mxc91231_power_off(void);
extern void mxc91231_arch_reset(int, const char *);
extern void mxc91231_prepare_idle(void);

extern void mx51_efikamx_reset(void);
#endif
8 changes: 8 additions & 0 deletions trunk/arch/arm/plat-mxc/system.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include <mach/common.h>
#include <asm/proc-fns.h>
#include <asm/system.h>
#include <asm/mach-types.h>

static void __iomem *wdog_base;

Expand All @@ -42,6 +43,13 @@ void arch_reset(char mode, const char *cmd)
return;
}
#endif
#ifdef CONFIG_MACH_MX51_EFIKAMX
if (machine_is_mx51_efikamx()) {
mx51_efikamx_reset();
return;
}
#endif

if (cpu_is_mx1()) {
wcr_enable = (1 << 0);
} else {
Expand Down

0 comments on commit 5be2329

Please sign in to comment.