summaryrefslogtreecommitdiff
path: root/board/st/u8500/mmc_host.c
AgeCommit message (Collapse)Author
2011-02-14Fixing base address for emmc.Mathieu J. Poirier
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2010-12-08db8500: New GPIO driver and config, from Linux kernelJoakim Axelsson
Copied the GPIO configurator written for the Linux kernel. The Nomadik db8500 GPIO driver. Purpose is to be able to just cut-n-paste the GPIO config from Linux to U-boot. Also at the same time remove the obsolete and old gpio_alt_funcenable/disable methods. Now all is configured using a table in u8500.c. Now drivers doesn't have to worry about setting up the GPIO pins. Actually no driver today uses GPIO pins directly, only via hardware blocks within db8500. Functions are still added to be able to interact directly with a GPIO pin. This also cleaned up a lot of driver by not having to bit manipulate GPIO registers them self. The new driver is called db8500_gpio and placed in driver/gpio/. Functions are in include/db8500_gpio.h: void db8500_gpio_set_pull(unsigned gpio, enum db8500_gpio_pull pull); void db8500_gpio_make_input(unsigned gpio); int db8500_gpio_get_input(unsigned gpio); void db8500_gpio_make_output(unsigned gpio, int val); void db8500_gpio_set_output(unsigned gpio, int val); And for the configurator in include/db8500_pincfg.h: void db8500_gpio_config_pins(pin_cfg_t *cfgs, size_t num); All in all the final binary size has decreased. This is only done for db8500 nomadik GPIO. The code for gpio expanders has not been touched. All references to Nomadik has been removed in this driver. Only db8500 is left. ST-Ericsson ID: None Signed-off-by: Joakim Axelsson <joakim.axelsson@stericsson.com> Change-Id: I90aa1d46c813ffb5a777c3492b5751f5054f71cf Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/9904 Reviewed-by: QATOOLS Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-12-08db8500: Move cpu identifying function to SoC codeJoakim Axelsson
Moved u8500_is_earlydrop() and cpu_is_u8500*() to include/asm-arm/arch-db8500/cpu.h. They are kept in cpu.h as the functions are very small and should be inlined with each use of them. The final binary actually also became around 100 bytes smaller. ST-Ericsson ID: None Signed-off-by: Joakim Axelsson <joakim.axelsson@stericsson.com> Change-Id: Ied553b7c8a004a37c70c3e328a069ae8b2a92b23 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/9893 Reviewed-by: QATOOLS Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Tested-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-11-19U8500: Removed duplicates of common.h and gpio.hMichael Brandt
common.h and gpio.h were present in the u8500 board directory and in the SoC include directory include/asm-arch/arch-stw8500. This patch removes the duplicates in the board directory and replaces all "common.h" and "gpio.h" with <asm/arch/common.h> and <asm/arch/gpio.h>, respectively. Change-Id: I4ff2a3a11324200222e3ae5b9d22eee6427f6d4c Signed-off-by: Michael Brandt <michael.brandt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/8838 Reviewed-by: Markus HELGESSON <markus.helgesson@stericsson.com> Reviewed-by: Rikard OLSSON <rikard.p.olsson@stericsson.com>
2010-11-10U8500: Fix sd card initMikael Larsson
Fixes sd card init that did not initialize ddr_en. This made sd fail init when previous contents in ddr_en was not 0. Change-Id: I5f2f33efdeb2e6af9e984805442ee0aa4285abdd Signed-off-by: Mikael Larsson <mikael.xt.larsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/8231 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Reviewed-by: Robert ROSENGREN <robert.rosengren@stericsson.com> Tested-by: Robert ROSENGREN <robert.rosengren@stericsson.com>
2010-10-26Minimize time to splashMikael Larsson
Moved splash start to just after emmc init to minimize time to splash. Changed behaviour so that all SW is loaded after splash and splash is not loaded if it is itp. ST-Ericsson ID: ER268766 Change-Id: I09f8efce997ebd97d6de1a5fbff707b2aef175a4 Signed-off-by: Mikael Larsson <mikael.xt.larsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/6515 Reviewed-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-10-05Modem loadingMikael Larsson
This adds functionality to load and execute modem in an early stage just after eMMC init. It also flushes ISSW since this will be removed in Xloader This patch depends on an updated Xloader that doesn't load modem, ipl and doesn't flush ISSW. Change-Id: I5be4a4a5af80df13e65ecd10c073b50e4d8703b9 Signed-off-by: Mikael Larsson <mikael.xt.larsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/5769 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Reviewed-by: Peter NESSRUP <peter.nessrup@stericsson.com>
2010-09-30u8500: Do not reset timers when doing mmc performance testsJonas Aaberg
MMC performance tests broke other timing tests. Change-Id: I6a70ce55adc69d6069931b2d7649f4a7df10e5c6 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/5089 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-09-28ITP loadingMikael Larsson
This adds functionality to load and execute ITP in an early stage just after eMMC init. eMMC init was moved to mmc_host.c since it fits better there and is needed in order to access ITP before loading env. Flag for functionality is CONFIG_ITP_LOAD. This functionailty depends on CONFIG_TOC_PARTITION ST-Ericsson ID: ER273744 Change-Id: Ia80f0bf2d67055045c95e47473b9ba2275bbdb83 Signed-off-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/5130 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2010-08-30U-boot: MMC update.Martin LUNDHOLM
MMC has been updated with several improvements. Primarily MMC performance has been improved by using assembler code for low level FIFO handling. Also some MMC functionality has been added, e.g. support for DDR and reliable write. Data and command delay times were incremented, otherwise hangups and timeouts were observed. Tested on HREF+ 1.1 V21 and HREF+ 1.1 V32 (Micron PoP). Following WP depends on this change (more reliable SD card write support): ST-Ericsson ID: WP264488 Change-Id: Ic92abffe1640aa9375b8d43a6b8522ca8296a368 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/4056 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Tested-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-08-20ux500: add DB8500v2 supportRabin Vincent
- Add cpu_is_u8500v2() for identification: ASICID has moved, so use the MIDR for primary identification. - Handle the changed MTU0 enable bit - Handle the MMC DBLOCKSIZE field move ST-Ericsson ID: CR267426 Change-Id: Ieae6032cf4e96796a8b53cfb95b28b26d4cf9a7b Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/3960 Reviewed-by: Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com>
2010-08-11Replace MMC/SD driver to fit new framework.Ulf Hansson
IR265772: MMC driver does not detect SDHC cards. IR254201: Restructure MMC/SD driver for U8500 board according to the block device framework in mainline U-Boot. Changes to mmc framework: - Multi Block Read support in mmc framework. - Wrap Multi Block Write/Read to be able to adopt for large transaction. - Removed incorrect check in EXT CSD for high capacity MMC. - Corrected check for high capacity SD cards. - Set MMC buswidth to 8, prio of using 4. Known limitations/bugs in mmc framework: - High capacity MMC, will likely not get the correct density. - High speed is set, whether or not the host supports it or not. board/st/u8500/mmc_utils: IMPORTANT FOR DEVELOPERS: - Removed unessary U-Boot commands which is already supported in cmd_fat. - mmc_read_cmd_file: Read command.txt into bootcmd env from FAT FS in SD card. - write_partition_block: Writes the MBR if it is not already written. board/st/u8500/mmc_host[c.h]: - Implements the entire MMC/SD host driver for the PL180 block. - There is still room for optimization: Increase CLK-speed. Use high-speed for SD cards. Is GPIO setup correctly for both cards an eMMC. EarlyDrop support not fully tested. Dynamically turn on voltage/clocks to SD, not always. More... Note: - Increased read/write performance for eMMC, to around 5.4 MB/s for sequential read/write. Earlier measurements was 3.5 MB/s for read and 2.6 MB/s for write. ST-Ericsson ID: ER265772, CR267996, ER267993 Change-Id: I921102edbde761407ff5ad476d1bb99f5dc7a2ef Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2288 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Tested-by: Michael BRANDT <michael.brandt@stericsson.com> Reviewed-by: Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> Tested-by: Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> Reviewed-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com> Tested-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com>