diff options
author | Michael Bohan <mbohan@quicinc.com> | 2009-12-29 15:03:56 -0800 |
---|---|---|
committer | Michael Bohan <mbohan@quicinc.com> | 2010-01-21 09:49:59 -0800 |
commit | b2aef503ffbaa453021e587dbb482e553378f66d (patch) | |
tree | f5d8497e598388c79393d25a6f8189125a1cfc1a | |
parent | a7be71db697d8d8712f0fb0708917828082a72b2 (diff) | |
download | lk-b2aef503ffbaa453021e587dbb482e553378f66d.tar.gz |
[platform/msm7x30]: Reconfigure EBI2 to add support for Ethernet
Set EBI2 CS5 to 'SMEM' and also increase the read /
write waitstates for CS5. The added waitstates are required to
interact with the SMC9221 Ethernet controller properly.
The SMC9221 is only onboard the msm7x30 SURF and Fluid. This
configuration should be benign on the FFA.
-rw-r--r-- | platform/msm7x30/ebi.c | 46 | ||||
-rw-r--r-- | platform/msm7x30/platform.c | 3 | ||||
-rw-r--r-- | platform/msm7x30/rules.mk | 3 |
3 files changed, 51 insertions, 1 deletions
diff --git a/platform/msm7x30/ebi.c b/platform/msm7x30/ebi.c new file mode 100644 index 00000000..d8394312 --- /dev/null +++ b/platform/msm7x30/ebi.c @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2010, Code Aurora Forum. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Code Aurora nor + * the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include <reg.h> + +#define EBI2_CHIP_SELECT_CFG0 0xA0000000 +#define EBI2_XMEM_CS5_CFG0 0xA001001C + +void ebi2_init(void) +{ + uint32_t val; + + /* Configure CS 5 and 6 for Eth and FPGA */ + val = readl(EBI2_CHIP_SELECT_CFG0); + val |= 0xB01; + writel(val, EBI2_CHIP_SELECT_CFG0); + + /* Add waitstates for SMC9221 access */ + writel(0x330707FF, EBI2_XMEM_CS5_CFG0); +} + diff --git a/platform/msm7x30/platform.c b/platform/msm7x30/platform.c index 672d2590..ecb7b2c7 100644 --- a/platform/msm7x30/platform.c +++ b/platform/msm7x30/platform.c @@ -42,6 +42,8 @@ void platform_init_timer(); void uart3_clock_init(void); void uart_init(void); +void ebi2_init(void); + struct fbcon_config *lcdc_init(void); void platform_early_init(void) @@ -59,6 +61,7 @@ void platform_init(void) dprintf(INFO, "platform_init()\n"); acpu_clock_init(); + ebi2_init(); } void display_init(void) diff --git a/platform/msm7x30/rules.mk b/platform/msm7x30/rules.mk index 237c4699..9ab88159 100644 --- a/platform/msm7x30/rules.mk +++ b/platform/msm7x30/rules.mk @@ -18,7 +18,8 @@ OBJS += \ $(LOCAL_DIR)/interrupts.o \ $(LOCAL_DIR)/gpio.o \ $(LOCAL_DIR)/acpuclock.o \ - $(LOCAL_DIR)/lcdc.o + $(LOCAL_DIR)/lcdc.o \ + $(LOCAL_DIR)/ebi.o LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld |