aboutsummaryrefslogtreecommitdiff
path: root/board/davinci
AgeCommit message (Collapse)Author
2010-11-30Davinci 8xx: Move common functions to share codeStefano Babic
As more Davinci 8xx board can be added, move common code to be shared between boards. * rebased ontop of Sugosh's patches * moving the HAWKBOARD_KICK{0,1}_UNLOCK defines to arch/arm/include/asm/arch-davinci/davinci_misc.h from to arch/arm/include/asm/arch-davinci/da8xx_common.h * don't define dram functions in PRELOADER * move sync_env_enetaddr into existing EMAC ifdef * use misc.c in hawkboard nand_spl Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-11-30da850: Add RMII support for EMACSudhakar Rajashekhara
This patch is a port of the work by Sudhakar Rajeshekhara in commit ab3effbcad8851cc65dc5241a01c064d2030a3b2 of git://arago-project.org/git/people/sandeep/u-boot-davinci.git. The da850 UI board has on it an RMII PHY which can be used if the MDC line to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by configuring the values of some GPIO pins on the IO expander of the UI board. This patch implements disabling that line via GPIO2[6], configuring the UI board's IO expander and setting only the pinmux settings that are needed for RMII operation. Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Sandeep Paulraj <s-paulraj@ti.com> CC: Ben Warren <biggerbadderben@gmail.com> CC: Mike Frysinger <vapier@gentoo.org> CC: Sughosh Ganu <urwithsughosh@gmail.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-11-30Add board support for hawkboardSughosh Ganu
The patch adds basic board support for TI's OMAP-L138 based Hawkboard. This board is pretty similar to the da850 EVM. Support for nand and network access is added in this version. The following bootup procedure is used. At reset, the Rom Boot Loader(RBL), initialises the ddr and the nand controllers and copies the second stage bootloader(nand_spl) to RAM. The secondary bootloader then copies u-boot from a predefined location in the nand flash to the RAM, and passes control to the u-boot image. Three config options are supported * hawkboard_config - Used to create the u-boot.bin. Tftp the u-boot.bin image to the RAM from u-boot, and flash to the nand flash at address 0xe0000. * hawkboard_nand_config - Used to generate the secondary bootloader(nand_spl) image. This creates an elf file u-boot-spl under nand_spl/. Create an AIS signed image using this file, and flash it to the nand flash at address 0x20000. The ais file should fit in one block. * hawkboard_uart_config - This is same as the first image, but with the TEXT_BASE as expected by the RBL(0xc1080000). Create the AIS Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com> Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-11-28Move and rename common headers from underSughosh Ganu
board/davinci. Move the davinci common headers to the architecture specific include file path. Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-11-19DA850 EVM: passing maximum clock rate information to kernelSekhar Nori
The TI DA850/OMAP-L138/AM18x EVM can be populated with devices having different maximum allowed CPU clock rating. The maximum clock the chip can support can only be determined from the label on the package (not software readable). Introduce a method to pass the maximum allowed clock rate information to kernel using ATAG_REVISION. The kernel uses this information to determine the maximum cpu clock rate reachable using cpufreq. Note that U-Boot itself does not set the CPU clock rate. The CPU clock is setup by a primary bootloader ("UBL"). The rate setup by UBL could be different from the maximum clock rate supported by the device. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-11-17Switch from archive libraries to partial linkingSebastien Carlier
Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
2010-10-29Drop support for CONFIG_SYS_ARM_WITHOUT_RELOCWolfgang Denk
When this define was introduced, the idea was to provide a soft migration path for ARM boards to get adapted to the new relocation support. However, other recent changes led to a different implementation (ELF relocation), where this no longer works. By now CONFIG_SYS_ARM_WITHOUT_RELOC does not only not help any more, but it actually hurts because it obfuscates the actual code by sprinkling it with lots of dead and non-working debris. So let's make a clean cut and drop CONFIG_SYS_ARM_WITHOUT_RELOC. Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-10-26Remove config.mk for da8xxevm based boards.Sughosh Ganu
Move CONFIG_SYS_TEXT_BASE to the board's config file, and remove the now unnecessary config.mk file. Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com> Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
2010-10-18Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk
The change is currently needed to be able to remove the board configuration scripting from the top level Makefile and replace it by a simple, table driven script. Moving this configuration setting into the "CONFIG_*" name space is also desirable because it is needed if we ever should move forward to a Kconfig driven configuration system. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-10-18schmoogie: fix build error due to removal of forceenv()Wolfgang Denk
commit 6d014adf dropped support for the forceenv() function, but failed to remove references to it from board/davinci/schmoogie/schmoogie.c Replace forceenv() by setenv() and set CONFIG_ENV_OVERWRITE instead in the board config file to allow overwriting the serial number. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Sergey Kubushyn <ksi@koi8.net> Acked-by: Sergey Kubushyn <ksi@koi8.net>
2010-10-17da850evm: basic MII EMAC supportBen Gardiner
The current da850evm support in u-boot/master omits any use of the davinci EMAC. This patch adds basic support for the EMAC using the MII PHY found on the baseboard of the EVM. The MAC address is read from the environment variable 'ethadd'. Note that this is different from the da850evm support in the u-boot omapl1 tree where the MAC address is read from SPI flash. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Sandeep Paulraj <s-paulraj@ti.com> CC: Sudhakar Rajashekhara <sudhakar.raj@ti.com> CC: Ben Warren <biggerbadderben@gmail.com> CC: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-10-17da850evm: setup the NAND flash timingsBen Gardiner
The default NAND flash timings are very conservative. This patch assigns the timings reccomended in the recent linux kernel patch [1] from Sekhar Nori. The speedup, as reported in that patch, is 5.3x for reads. [1] http://www.spinics.net/lists/arm-kernel/msg100278.html Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-10-17da850evm : enable NAND even when not in NAND boot modeBen Gardiner
There is currently no NAND pinmux enabled by the da850evm board setup code. This is fine when booting from NAND since the early boot code (UBL) will setup the pinmux; however, when the boot mode is any other setting NAND is unusable when enabled in the config. This patch adds a pinmux list for NAND and enables it when NAND is enabled in the config. Tested by booting from SPI on the da850evm and verifying NAND was usable. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-10-11davinci_emac: davinci_eth_set_mac_addr to ->write_hwaddrBen Gardiner
This patch proposes to migrate the davinci_emac driver to using the eth_device->write_hwaddr function pointer as suggested by Ben Warren. All the davinci boards had the behaviour, prior to this patch, of sync'ing the environment variable enetaddr with the MAC address read from non-volatile storage on boot -- when the two locations disagreed, the environment variable value took precendence. This patch keeps the same behaviour but lets eth_initialize take care of it. This patch refactors davinci_emac setup in the boards so that the MAC address is read from non-volatile storage into the environment variable and then the environment variable value is use in eth_intialize. The only exception is the direct call to davinci_eth_set_mac_addr made by the da830evm board init which was changed into an assignment of the enetaddr field. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Tested-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-09-19da8xx: fixup ARM relocation supportBen Gardiner
Split the existing dram_init for da8xx when ARM reloc is enabled, like the changes to arch/arm/cpu/arm926ejs/orion5x/dram.c in 0f234d263b17ccf1b8fd776eb8c15b7cdb27a887 by Heiko Schocher <hs@denx.de>. Without these changes gd->ram_size is '0' which leads to incorrect relocation when CONFIG_SYS_ARM_WITHOUT_RELOC is defined and the board does not boot. We use get_ram_size to dynamically calculate the available RAM because it runs on different board version with different ram, as suggested by Heiko in private communication. Tested on a da850evm with 128M of DDR2 installed; with both CONFIG_SYS_ARM_WITHOUT_RELOC defined and undefined. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> CC: Sudhakar Rajashekhara <sudhakar.raj@ti.com> CC: Heiko Schocher <hs@denx.de>
2010-07-15da850 evm: Fix definition of 'pinmux' macroPrakash PM
Usage of parenthesis in pinmux macro definition changes the definition of the macro and raises the precedence of '&' operator inadvertently over '[]'. Signed-off-by: Prakash PM <prakash.pm@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-07-15da830 evm: Fix checkpatch error on 'pinmux' macroPrakash PM
Existing code returns checkpatch error on pinmux macro definition for not enclosing the definition in parenthesis. The error can be observed in the patch generated from commit id bdc9c6c7f77a9a63349ecb9f54b20ad34033a2ae. So macro implementation is modified to fix the error. Signed-off-by: Prakash PM <prakash.pm@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-06-10TI: DaVinci: Add board specific code for da850 EVMSudhakar Rajashekhara
Provides initial support for TI OMAP-L138/DA850 SoC devices on a Logic PD EVM board. Provides: Initial boot and configuration. Support for i2c. UART support (console). Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Acked-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-06-10TI: DaVinci: Prepare for da850 supportSudhakar Rajashekhara
DA850/OMAP-L138 is a new SoC from Texas Instruments (http://focus.ti.com/docs/prod/folders/print/omap-l138.html). This SoC is similar to DA830/OMAP-L137 in many aspects. Hence rename the da830 specific files and folders to da8xx to accommodate DA850/OMAP-L138. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Acked-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-06-10da830: Move common code out of da830evm.c fileSudhakar Rajashekhara
TI's DA850/OMAP-L138 platform is similar to DA830/OMAP-L137 in many aspects. So instead of repeating the same code in multiple files, move the common code to a different file and call those functions from the respective da830/da850 files. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Acked-by: Nick Thompson <nick.thompson@ge.com> Acked-by: Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-04-13arm: Move cpu/$CPU to arch/arm/cpu/$CPUPeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2010-03-23TI: Davinci: NAND Driver CleanupCyril Chemparathy
Modified to use IO accessor routines consistently. Eliminated volatile usage to keep checkpatch.pl happy. Signed-off-by: Cyril Chemparathy <cyril@ti.com>
2010-03-07da830evm: Add support for TI EMACNick Thompson
Adds support for ethernet networking on the da830evm platform. This platform uses an SoC EMAC interface and a 3 port ethernet switch as a PHY with an RMII interface. The PHY also has a i2c interface for configuring the switch functions. Signed-off-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-02-12DA830 EVM: Enable NAND support on Spectrum Digital EVMNick Thompson
The EVM UI extender card has a NAND device. This change will enable saveenv to work with NAND and Linux to be booted using: mtdparts default nboot kernel bootm Signed-off-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-02-12da830evm: Use table driven pin mux configurationNick Thompson
Tidyup the pin muxer configuration using the Davinci table driven pinmux configuration function and data tables. Signed-off-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-01-12Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
2010-01-09DA830: Add pinmux for USB0_DRVVBUSAjay Kumar Gupta
USB0_DRVVBUS pinmux configuration is required for USB functinality in uboot. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Swaminathan S <swami.iyer@ti.com>
2010-01-04Davinci: Table driven pinmux configurationNick Thompson
Davinci: Table driven pinmux configuration Add code to allow pinmux_config tables to be grouped and configured as a single resource. This removes multiple calls to the pinmux configuration code from board_init and allows pinmuxes to be individually configured and added by data manipulation only. All related #ifdefs can the be removed from board_init code and since the compiler optimises away statics, #ifdefs can be reduced in the data definitions as well. Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
2009-11-27TI DaVinci DM646x: Enable NAND on DM6467 EVMSandeep Paulraj
This patch enables NAND on the DM6467 EVM Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-11-27TI DA8xx: Add new directory for da830evm boardSekhar Nori
Add new directory for da830evm board Provides initial support for TI OMAP-L137/DA830 SoC devices on a Spectrum Digital EVM board. See http://www.spectrumdigital.com/ Provides: Initial boot and configuration. Support for i2c. UART support (console). Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
2009-11-27TI Davinci: add a pin multiplexer configuration APINick Thompson
Creates a method allowing pin settings to be logically grouped into data structure arrays and provides an API to configure the pinmux settings to enable the relevant pin functions. Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
2009-10-28Coding Style cleanup; update CHANGELOG, prepare -rc1v2009.11-rc1Wolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-10-24TI DaVinci: Adding Copyright for DM365 EVMSandeep Paulraj
Forgot to add Copyright while submitting the patch. This patch adds the copyright. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-24TI DaVinci: DM355 Leopard: Fix compilation warningSandeep Paulraj
We get a compliation warning when we enable the NAND driver for DM355 leopard. The waring we get is that we have an implicit declaration of davinci_nand_init. It is fixed by including the asm/arch/nand_defs.h header file Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-18TI: DaVinci: DM355 Leopard board supportSandeep Paulraj
This patch adds support for the leopard board which is based on the DM355 SOC. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-18TI DaVinci DM646x: Adding initial support for DM6467 EVMSandeep Paulraj
This patch adds the initial support for DM6467 EVM. Other features like NET and NAND support will be added as follow up patches. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-18TI DaVinci DM365: Fix Compilation warning for DM365 EVMSandeep Paulraj
This patch fixes a compilation warning while compiling the DM365 EVM. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-18TI DaVinci DM355: Fix Compilation warning for DM355 EVMSandeep Paulraj
This patch fixes a compilation warning while compiling the DM355 EVM. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-10-13TI: DaVinci DM365: Enabling network Support on DM365 EVMSandeep Paulraj
This patch enables EMAC on the DM365 EVM. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Acked-by: Tom Rix <Tom.Rix@windriver.com>
2009-10-13TI DaVinci DM365: Removing header file which does not existSandeep Paulraj
The DaVinci DM365 EVM board specific code was including a header file which does not exist. So removing this header file. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-09-05ARM: DaVinci: Adding Support for DaVinci DM365 EVMSandeep Paulraj
This patch adds support for the DM365 EVM. It has been tested on a DM365 EVM. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-08-10ARM: Davinci DM355: Enabling DM9000 on DM355 EVMSandeep Paulraj
Due to recent changes to the NET support on U-boot, DM9000 is no longer detected on the DM355 EVM. This minor update enables DM9000 on the DM355 EVM. Tested on the DM355 EVM Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-07-07davinci_nand chipselect/init cleanupDavid Brownell
Update chipselect handling in davinci_nand.c so that it can handle 2 GByte chips the same way Linux does: as one device, even though it has two halves with independent chip selects. For such chips the "nand info" command reports: Device 0: 2x nand0, sector size 128 KiB Switch to use the default chipselect function unless the board really needs its own. The logic for the Sonata board moves out of the driver into board-specific code. (Which doesn't affect current build breakage if its NAND support is enabled...) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-06-15Switched davinci_emac Ethernet driver to use newer APIBen Warren
Added CONFIG_NET_MULTI to all Davinci boards Removed all calls to Davinci network driver from board code Added cpu_eth_init() to cpu/arm926ejs/cpu.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-06-12dm355 evm supportDavid Brownell
Initial U-Boot support for the DaVinci DM355 EVM. This is a board from Spectrum Digital. Board docs include schematic and firmware for its microcontroller: http://c6000.spectrumdigital.com/evmdm355/revd/ Most of the DM355 chip is fully documented by TI, the most notable exception being the MPEG/JPEG coprocessor (programmable using codecs available at no cost from TI), which is omitted from its DM335 sibling: http://focus.ti.com/docs/prod/folders/print/tms320dm355.html This version can boot from the on-board DM9000 Ethernet chip, after being loaded (from NAND, MMC/SD, or UART). In the near future, NAND and USB support could be added ... NAND support is being held back until the support for the 4-bit ECC hardware is ready. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-06-12ARM DaVinci:Consolidate common u-boot.ldsSandeep Paulraj
The u-boot.lds is common for all DaVinci boards. The patch removes multiple instances and moves the u-boot.lds to /cpu/arm926ejs/davinci folder. This addresses one of the comments i received while submitting patches for DM3xx Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-06-12davinci: display correct clock infoDavid Brownell
Move the clock-rate dumping code into the cpu/.../davinci area where it should have been, enabled by CONFIG_DISPLAY_CPUINFO, updating the format and showing the DSP clock (where relevant). Switch boards to use the cpuinfo() hook for this stuff. Remove a few now-obsolete PLL #defines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-06-12arm: timer and interrupt init reworkJean-Christophe PLAGNIOL-VILLARD
actually the timer init use the interrupt_init as init callback which make the interrupt and timer implementation difficult to follow so now rename it as int timer_init(void) and use interrupt_init for interrupt btw also remane the corresponding file to the functionnality implemented as ixp arch implement two timer - one based on interrupt - so all the timer related code is moved to timer.c Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2009-06-12davinci: move psc support board-->cpuDavid Brownell
Move DaVinci PSC support from board/* to cpu/* where it belongs. The PSC module manages clocks and resets for all DaVinci-family SoCs, and isn't at all board-specific. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-06-12DaVinci Ethernet cleanupDavid Brownell
Chips without the EMAC controller won't need the utilities it uses to read an Ethernet address from EEPROM; so don't include them needlessly. Use is_valid_ether() to validate the address from EEPROM. All-zero addresses aren't the only invalid addresses. A fully erased EEPROM returns all-ones, also invalid... Switch those Ethernet utilities to use "%pM" for printing MAC addresses; and not say ROM when they mean EEPROM. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Ben Warren <biggerbadderben@gmail.com>