ENGR00123017 MX53 Add support for MLB

Add support for MLB by adding MLB MSL codes.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
This commit is contained in:
Xinyu Chen
2010-04-29 12:54:48 +08:00
committed by Matt Sealey
parent c397a8de65
commit 6259fab2ec
7 changed files with 54 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.31
# Mon Apr 26 10:27:23 2010
# Thu Apr 29 12:53:21 2010
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -1797,6 +1797,7 @@ CONFIG_GPS_IOCTRL=m
#
# MXC Media Local Bus Driver
#
CONFIG_MXC_MLB=m
#
# i.MX ADC support

View File

@@ -1072,6 +1072,26 @@ static inline void mxc_init_gpu2d(void)
}
#endif
static struct resource mlb_resources[] = {
[0] = {
.start = MLB_BASE_ADDR,
.end = MLB_BASE_ADDR + 0x300,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = MXC_INT_MLB,
.end = MXC_INT_MLB,
.flags = IORESOURCE_IRQ,
},
};
struct platform_device mxc_mlb_device = {
.name = "mxc_mlb",
.id = 0,
.num_resources = ARRAY_SIZE(mlb_resources),
.resource = mlb_resources,
};
void __init mx5_init_irq(void)
{
unsigned long tzic_addr;
@@ -1382,6 +1402,8 @@ int __init mxc_init_devices(void)
mxc_gpu2d_resources[0].end = MX53_GPU2D_BASE_ADDR + SZ_4K - 1;
ipu_resources[0].start = MX53_IPU_CTRL_BASE_ADDR;
ipu_resources[0].end = MX53_IPU_CTRL_BASE_ADDR + SZ_128M - 1;
mlb_resources[0].start -= MX53_OFFSET;
mlb_resources[0].end -= MX53_OFFSET;
} else if (cpu_is_mx51_rev(CHIP_REV_2_0) < 0) {
scc_resources[1].start += 0x8000;
scc_resources[1].end += 0x8000;

View File

@@ -61,4 +61,4 @@ extern struct platform_device mxc_usbdr_otg_device;
extern struct platform_device mxc_usbdr_host_device;
extern struct platform_device mxc_usbh1_device;
extern struct platform_device mxc_usbh2_device;
extern struct platform_device mxc_mlb_device;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2007-2009 Freescale Semiconductor, Inc. All Rights Reserved.
* Copyright 2007-2010 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -111,3 +111,9 @@ EXPORT_SYMBOL(gpio_spdif_active);
void gpio_spdif_inactive(void) {}
EXPORT_SYMBOL(gpio_spdif_inactive);
void gpio_mlb_active(void) {}
EXPORT_SYMBOL(gpio_mlb_active);
void gpio_mlb_inactive(void) {}
EXPORT_SYMBOL(gpio_mlb_inactive);

View File

@@ -511,6 +511,11 @@ static struct platform_device mxc_sgtl5000_device = {
.name = "imx-3stack-sgtl5000",
};
static struct mxc_mlb_platform_data mlb_data = {
.reg_nvcc = "VCAM",
.mlb_clk = "mlb_clk",
};
/*!
* Board specific fixup function. It is called by \b setup_arch() in
* setup.c file very early on during kernel starts. It allows the user to
@@ -678,6 +683,7 @@ static void __init mxc_board_init(void)
pm_power_off = mxc_power_off;
*/
mxc_register_device(&mxc_sgtl5000_device, &sgtl5000_data);
mxc_register_device(&mxc_mlb_device, &mlb_data);
mx5_usb_dr_init();
mx5_usbh1_init();
}

View File

@@ -187,16 +187,28 @@ static struct mxc_iomux_pin_cfg __initdata mxc_iomux_pins[] = {
INPUT_CTL_PATH1,
},
{
MX53_PIN_GPIO_2, IOMUX_CONFIG_GPIO,
MX53_PIN_GPIO_2, IOMUX_CONFIG_ALT7,
(PAD_CTL_PKE_ENABLE | PAD_CTL_PUE_PULL |
PAD_CTL_DRV_HIGH),
MUX_IN_MLB_MLBDAT_IN_SELECT_INPUT,
INPUT_CTL_PATH2,
},
{
MX53_PIN_GPIO_3, IOMUX_CONFIG_GPIO,
MX53_PIN_GPIO_3, IOMUX_CONFIG_ALT7,
(PAD_CTL_PKE_ENABLE | PAD_CTL_PUE_PULL |
PAD_CTL_DRV_HIGH),
MUX_IN_MLB_MLBCLK_IN_SELECT_INPUT,
INPUT_CTL_PATH2,
},
{
MX53_PIN_GPIO_4, IOMUX_CONFIG_GPIO,
},
{
MX53_PIN_GPIO_6, IOMUX_CONFIG_GPIO,
MX53_PIN_GPIO_6, IOMUX_CONFIG_ALT7,
(PAD_CTL_PKE_ENABLE | PAD_CTL_PUE_PULL |
PAD_CTL_DRV_HIGH),
MUX_IN_MLB_MLBSIG_IN_SELECT_INPUT,
INPUT_CTL_PATH2,
},
{
MX53_PIN_GPIO_7, IOMUX_CONFIG_GPIO,

View File

@@ -6,7 +6,7 @@ menu "MXC Media Local Bus Driver"
config MXC_MLB
tristate "MLB support"
depends on ARCH_MX35
depends on ARCH_MX35 || ARCH_MX53
---help---
Say Y to get the MLB support.