ARM: tegra: trimslice: enable MMC/SD slots
TrimSlice has MicroSD and standard MMC/SD slots. Register sdhci devices and enable GPIOs for MMC/SD slot. Signed-off-by: Mike Rapoport <mike@compulab.co.il>
This commit is contained in:
parent
d5fdafd38c
commit
f02726a779
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue