Merge branch 'trimslice/upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux-tegra into boards-for-next

This commit is contained in:
Olof Johansson 2011-03-16 23:08:22 -07:00
commit 2f40ea9d07
3 changed files with 32 additions and 1 deletions

View File

@ -16,8 +16,11 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <mach/pinmux.h>
#include <mach/pinmux.h>
#include <mach/gpio.h>
#include "gpio-names.h"
#include "board-trimslice.h" #include "board-trimslice.h"
static __initdata struct tegra_pingroup_config trimslice_pinmux[] = { static __initdata struct tegra_pingroup_config trimslice_pinmux[] = {
@ -139,7 +142,13 @@ static __initdata struct tegra_pingroup_config trimslice_pinmux[] = {
{TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
}; };
static struct tegra_gpio_table gpio_table[] = {
{ .gpio = TRIMSLICE_GPIO_SD4_CD, .enable = true }, /* mmc4 cd */
{ .gpio = TRIMSLICE_GPIO_SD4_WP, .enable = true }, /* mmc4 wp */
};
void __init trimslice_pinmux_init(void) void __init trimslice_pinmux_init(void)
{ {
tegra_pinmux_config_table(trimslice_pinmux, ARRAY_SIZE(trimslice_pinmux)); tegra_pinmux_config_table(trimslice_pinmux, ARRAY_SIZE(trimslice_pinmux));
tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table));
} }

View File

@ -29,9 +29,12 @@
#include <asm/setup.h> #include <asm/setup.h>
#include <mach/iomap.h> #include <mach/iomap.h>
#include <mach/sdhci.h>
#include "board.h" #include "board.h"
#include "clock.h" #include "clock.h"
#include "devices.h"
#include "gpio-names.h"
#include "board-trimslice.h" #include "board-trimslice.h"
@ -56,9 +59,22 @@ static struct platform_device debug_uart = {
.platform_data = debug_uart_platform_data, .platform_data = debug_uart_platform_data,
}, },
}; };
static struct tegra_sdhci_platform_data sdhci_pdata1 = {
.cd_gpio = -1,
.wp_gpio = -1,
.power_gpio = -1,
};
static struct tegra_sdhci_platform_data sdhci_pdata4 = {
.cd_gpio = TRIMSLICE_GPIO_SD4_CD,
.wp_gpio = TRIMSLICE_GPIO_SD4_WP,
.power_gpio = -1,
};
static struct platform_device *trimslice_devices[] __initdata = { static struct platform_device *trimslice_devices[] __initdata = {
&debug_uart, &debug_uart,
&tegra_sdhci_device1,
&tegra_sdhci_device4,
}; };
static void __init tegra_trimslice_fixup(struct machine_desc *desc, static void __init tegra_trimslice_fixup(struct machine_desc *desc,
@ -92,6 +108,9 @@ static void __init tegra_trimslice_init(void)
trimslice_pinmux_init(); trimslice_pinmux_init();
tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1;
tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;
platform_add_devices(trimslice_devices, ARRAY_SIZE(trimslice_devices)); platform_add_devices(trimslice_devices, ARRAY_SIZE(trimslice_devices));
} }

View File

@ -17,6 +17,9 @@
#ifndef _MACH_TEGRA_BOARD_TRIMSLICE_H #ifndef _MACH_TEGRA_BOARD_TRIMSLICE_H
#define _MACH_TEGRA_BOARD_TRIMSLICE_H #define _MACH_TEGRA_BOARD_TRIMSLICE_H
#define TRIMSLICE_GPIO_SD4_CD TEGRA_GPIO_PP1 /* mmc4 cd */
#define TRIMSLICE_GPIO_SD4_WP TEGRA_GPIO_PP2 /* mmc4 wp */
void trimslice_pinmux_init(void); void trimslice_pinmux_init(void);
#endif #endif