summaryrefslogtreecommitdiff
path: root/board
Commit message (Collapse)AuthorAgeLines
* SPI API improvementsHaavard Skinnemoen2008-06-03-54/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch gets rid of the spi_chipsel table and adds a handful of new functions that makes the SPI layer cleaner and more flexible. Instead of the spi_chipsel table, each board that wants to use SPI gets to implement three hooks: * spi_cs_activate(): Activates the chipselect for a given slave * spi_cs_deactivate(): Deactivates the chipselect for a given slave * spi_cs_is_valid(): Determines if the given bus/chipselect combination can be activated. Not all drivers may need those extra functions however. If that's the case, the board code may just leave them out (assuming they know what the driver needs) or rely on the linker to strip them out (assuming --gc-sections is being used.) To set up communication parameters for a given slave, the driver needs to call spi_setup_slave(). This returns a pointer to an opaque spi_slave struct which must be passed as a parameter to subsequent SPI calls. This struct can be freed by calling spi_free_slave(), but most driver probably don't want to do this. Before starting one or more SPI transfers, the driver must call spi_claim_bus() to gain exclusive access to the SPI bus and initialize the hardware. When all transfers are done, the driver must call spi_release_bus() to make the bus available to others, and possibly shut down the SPI controller hardware. spi_xfer() behaves mostly the same as before, but it now takes a spi_slave parameter instead of a spi_chipsel function pointer. It also got a new parameter, flags, which is used to specify chip select behaviour. This may be extended with other flags in the future. This patch has been build-tested on all powerpc and arm boards involved. I have not tested NIOS since I don't have a toolchain for it installed, so I expect some breakage there even though I've tried fixing up everything I could find by visual inspection. I have run-time tested this on AVR32 ATNGW100 using the atmel_spi and DataFlash drivers posted as a follow-up. I'd like some help testing other boards that use the existing SPI API. But most of all, I'd like some comments on the new API. Is this stuff usable for everyone? If not, why? Changed in v4: - Build fixes for various boards, drivers and commands - Provide common struct spi_slave definition that can be extended by drivers - Pass a struct spi_slave * to spi_cs_activate and spi_cs_deactivate - Make default bus and mode build-time configurable - Override default SPI bus ID and mode on mx32ads and imx31_litekit. Changed in v3: - Add opaque struct spi_slave for controller-specific data associated with a slave. - Add spi_claim_bus() and spi_release_bus() - Add spi_free_slave() - spi_setup() is now called spi_setup_slave() and returns a struct spi_slave - soft_spi now supports four SPI modes (CPOL|CPHA) - Add bus parameter to spi_setup_slave() - Convert the new i.MX32 SPI driver - Convert the new MC13783 RTC driver Changed in v2: - Convert the mpc8xxx_spi driver and the mpc8349emds board to the new API. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Tested-by: Guennadi Liakhovetski <lg@denx.de>
* Merge remote branch 'u-boot-at91/for-1.3.4'Wolfgang Denk2008-06-03-117/+1658
|\
| * Merging Stelian Pop AT91 patchesJean-Christophe PLAGNIOL-VILLARD2008-05-24-117/+1658
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge branch 'testing-V2' Conflicts: board/atmel/at91cap9adk/Makefile Fixing copyright board/atmel/at91sam9260ek/Makefile Fixing copyright board/atmel/at91sam9260ek/u-boot.lds Delete no more needed ld script Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Support AT91CAP9 revC CPUsStelian Pop2008-05-10-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AT91CAP9 revC CPU has a few differences over the previous, revB CPU which was distributed in small quantities only (revA was an internal Atmel product only). The revC silicon needs a special initialisation sequence to switch from the internal (imprecise) RC oscillator to the external 32k clock. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9RLEK: hook up the ATMEL LCD driverStelian Pop2008-05-10-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9RLEK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9263EK: hook up the ATMEL LCD driverStelian Pop2008-05-10-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9263EK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9261EK: hook up the ATMEL LCD driverStelian Pop2008-05-10-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9261EK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91CAP9ADK: hook up the ATMEL LCD driverStelian Pop2008-05-10-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91CAP9ADK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9RLEK supportStelian Pop2008-05-10-0/+405
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the AT91SAM9RL chip and the AT91SAM9RLEK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9263EK supportStelian Pop2008-05-10-0/+494
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the AT91SAM9263 chip and the AT91SAM9263EK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9261EK supportStelian Pop2008-05-10-0/+449
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the AT91SAM9261 chip and the AT91SAM9261EK board. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91SAM9260EK: Handle 8 or 16 bit NANDStelian Pop2008-05-10-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Atmel boards can handle 8 or 16 bit NAND memories. This patch makes the support configurable in the board config header file (CFG_NAND_DBW_8 or CFG_NAND_DBW_16). Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * AT91CAP9ADK: Handle 8 or 16 bit NANDStelian Pop2008-05-10-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Atmel boards can handle 8 or 16 bit NAND memories. This patch makes the support configurable in the board config header file (CFG_NAND_DBW_8 or CFG_NAND_DBW_16). Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Use a common u-boot.lds file across all AT91CAP9/AT91SAM9 platformsStelian Pop2008-05-10-114/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | All the AT91CAP9/AT91SAM9 boards have the same linker script. The patch below avoids the duplication of u-boot.lds by putting the file in the cpu directory instead of the board one. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Add proper copyright notices in Atmel boards MakefilesStelian Pop2008-05-10-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | The Makefiles for the AT91CAP9/AT91SAM9 boards have an incomplete copyright notice. This patch adds the missing pieces. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Add copyright information in Atmel boards partition.cStelian Pop2008-05-10-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | When Ulf did the dataflash.c cleanup, he didn't add his copyright on the new created files. This patch fixes the problem. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Update origin and copyright information in arch-at91sam9 header filesStelian Pop2008-05-10-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing the AT91CAP9/AT91SAM9 port, a number of header files were copied from the Linux kernel sources. This patch explicitly specifies this origin for all the copied headers, and for those missing copyright information, adds it. Additionaly, the header file 'at91sam926x_mc.h' has been superceeded in the latest kernel sources by 'at91sam9_smc.h'. The copyright information has been confirmed by the AT91 Linux kernel maintainer, Andrew Victor <avictor.za@gmail.com>. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * Fix @ -> <at> substitutionStelian Pop2008-05-08-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When applying the AT91CAP9 patches upstream, something transformed the '@' character into the ' <at> ' sequence. The patch below restores the original form in all the places where it has been modified (the AT91CAP9 files, the AT91SAM9260 files which were copied from AT91CAP9, and a couple of other files where the ' <at> ' sequence was present). Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | | Merge remote branch 'u-boot-avr32/master'Wolfgang Denk2008-06-03-31/+74
|\ \ \
| * | | avr32: Rework SDRAM initialization codeHaavard Skinnemoen2008-05-27-13/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the SDRAM initialization and related code a bit, and allows faster booting. * Add definitions for EBI and internal SRAM to asm/arch/memory-map.h * Remove memory test from sdram_init() and make caller responsible for verifying the SDRAM and determining its size. * Remove base_address member from struct sdram_config (was sdram_info) * Add data_bits member to struct sdram_config and kill CFG_SDRAM_16BIT * Add support for a common STK1000 hack: 16MB SDRAM instead of 8. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
| * | | avr32: Use the same entry point for reset and exception handlingHaavard Skinnemoen2008-05-27-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the reset vector is always aligned to a very large boundary, we can save a couple of KB worth of alignment padding by placing the exception vectors at the same address. Deciding which one it is is easy: If we're handling an exception, the CPU is in Exception mode. If we're starting up after reset, the CPU is in Supervisor mode. So this adds a very minimal overhead to the reset path (only executed once) and the exception handling path (normally never executed at all.) Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
| * | | avr32: Clean up the HMATRIX codeHaavard Skinnemoen2008-05-27-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the HMATRIX configuration interface so that it becomes easier to configure the HMATRIX for boards with special needs, and add new parts. The HMATRIX header file has been split into a general, chip-independent part with register definitions, etc. and a chip-specific part with SFR bitfield definitions and master/slave identifiers. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
| * | | avr32: Add support for the ATSTK1006 boardHaavard Skinnemoen2008-05-27-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a replacement for ATSTK1002 with 64MB SDRAM and NAND flash on board. It's currently in production and will be available soon. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
| * | | avr32: Get rid of the .flashprog sectionHaavard Skinnemoen2008-05-27-19/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The .flashprog section was only needed back when we were running directly from flash, and it's even more useless on NGW100 since it uses the CFI flash driver which never used this workaround in the first place. Remove it on STK1000 as well, and get rid of all the associated code and annotations. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
* | | Merge remote branch 'u-boot-mips/master'Wolfgang Denk2008-06-03-6/+6
|\ \ \
| * | | [MIPS] <asm/mipsregs.h>: Update coprocessor register access macrosShinya Kuribayashi2008-05-30-6/+6
| |/ / | | | | | | | | | Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* | | Merge remote branch 'u-boot-ppc4xx/master'Wolfgang Denk2008-06-02-0/+380
|\ \ \ | |/ / |/| |
| * | Merge branch 'quad100hd'Stefan Roese2008-05-21-0/+380
| |\ \
| | * | ppc4xx: Add the Harris QUAD100HD AMCC 405EP-based boardGary Jennejohn2008-05-08-0/+380
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Gary Jennejohn <garyj@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
* | | | Merge branch 'master' of git://git.denx.de/u-boot-testingWolfgang Denk2008-05-21-6/+6
|\ \ \ \
| * | | | Fix some whitespace issuesWolfgang Denk2008-05-21-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | introduced by 53677ef18 "Big white-space cleanup." Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | | | Merge branch 'socrates' of /home/wd/git/u-boot/projectsWolfgang Denk2008-05-21-0/+740
|\ \ \ \ \
| * | | | | socrates: changes to support FDTSergei Poselenov2008-05-20-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com> Signed-off-by: Wolfgang Denk <wd@denx.de>
| * | | | | Initial support for "Socrates" boardSergei Poselenov2008-05-20-0/+715
| | |/ / / | |/| | | | | | | | | | | | | Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
* | | | | Make ads5121 out-of-tree compiling safeYork Sun2008-05-21-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reuse the existing DIU driver in board/freescale/common. Signed-off-by: York Sun <yorksun@freescale.com>
* | | | | Adding DIU support for Freescale 5121ADSYork Sun2008-05-21-2/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DIU and cfb console support to FSL 5121ADS board. Use #define CONFIG_VIDEO in config file to enable fb console. Signed-off-by: York Sun <yorksun@freescale.com>
* | | | | Replace DPRINTF with debugYork Sun2008-05-21-35/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove DPRINTF macro and replace it with generic debug macro. Signed-off-by: York Sun <yorksun@freescale.com>
* | | | | Move pixel clock setting to board fileYork Sun2008-05-21-34/+25
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | The clock divider has different format in 5121 and 8610. This patch moves it to board specific code. Signed-off-by: York Sun <yorksun@freescale.com>
* | | | Big white-space cleanup.Wolfgang Denk2008-05-21-4195/+4143
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xxWolfgang Denk2008-05-19-1/+30
|\ \ \
| * | | ppc4xx: Canyonlands: Disable PCIe0/SATA in dev-tree depending on selectionStefan Roese2008-05-19-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When SATA is selected (via jumper J6) we need to disable the first PCIe node in the device tree, so that Linux doesn't initialize it. Otherwise the Linux SATA driver will fail to detect the devices. The same goes the other way around too. So if PCIe is selected we need to disable the SATA node in the device tree. This is because PCIe port 0 and SATA on 460EX share the same pins (multiplexed) and we have to configure in U-Boot which peripheral is enabled. Signed-off-by: Stefan Roese <sr@denx.de>
* | | | i386: Fix multiple definitions of __show_boot_progressJean-Christophe PLAGNIOL-VILLARD2008-05-19-4/+4
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | | | sc530_spunk: add missing SOBJS entryJean-Christophe PLAGNIOL-VILLARD2008-05-19-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | | | sc520_spunk: Fix flashJean-Christophe PLAGNIOL-VILLARD2008-05-19-24/+6
|/ / / | | | | | | | | | | | | | | | | | | flash.c:593: warning: dereferencing type-punned pointer will break strict-aliasing rules flash.c:398: error: label at end of compound statement Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | | TQM8272: fix out-of-tree buildingWolfgang Denk2008-05-15-8/+15
| | | | | | | | | | | | | | | | | | ...and add to MAKEALL script Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xxWolfgang Denk2008-05-14-15/+12
|\ \ \
| * | | ppc4xx: Fix bogus Canyonlands config.mkStefan Roese2008-05-14-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the canyonlands config.mk file to enable correct out-of-tree builds. Thanks to Wolfgang Denk for spotting this. Signed-off-by: Stefan Roese <sr@denx.de>
| * | | ppc4xx: Add 405EX(r) revision C PVR definitions and detection codeStefan Roese2008-05-13-7/+12
| | | | | | | | | | | | | | | | Signed-off-by: Stefan Roese <sr@denx.de>
* | | | Fix config files for out-of-tree buildingWolfgang Denk2008-05-14-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several board/<...>/config.mk files include dynamically built (by the Makefile) config files but used the wrong file name of $(TOPDIR)/board/$(BOARDDIR)/config.tmp instead if the correct $(OBJTREE)/board/$(BOARDDIR)/config.tmp The bug is nasty because the build result is correct for the (normal) in-tree builds, and because 'sinclude' is used no errors get raised even for out-of-tree build tests. But out-of-tree builds use an incomplete and thus usually incorrect configuration... Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | | linkstation_HGLAN: Fix out of tree building.Wolfgang Denk2008-05-14-6/+9
|/ / / | | | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>