summaryrefslogtreecommitdiff
path: root/board/freescale
AgeCommit message (Collapse)Author
2008-06-03SPI API improvementsHaavard Skinnemoen
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>
2008-05-21Replace DPRINTF with debugYork Sun
Remove DPRINTF macro and replace it with generic debug macro. Signed-off-by: York Sun <yorksun@freescale.com>
2008-05-21Move pixel clock setting to board fileYork Sun
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>
2008-05-21Big white-space cleanup.Wolfgang Denk
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>
2008-05-0785xx: Limit CPU2 workaround to parts that have the errataAndy Fleming
Signed-off-by: Ebony Zhu <ebony.zhu@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
2008-05-03MPC8610HPCD: Drop -O2 from the build flagsKumar Gala
Make the flags use -Os like all other boards Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-2985xx/86xx: Rename ext_refrec to timing_cfg_3 to match docsKumar Gala
All the 85xx and 86xx UM describe the register as timing_cfg_3 not as ext_refrec. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-26MPC8544DS: decode pcie3 end-point configuration correctly.Ed Swarthout
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-17Remove all the search paths from the .lds files.Jason Wessel
The cross compiler is responsible for providing the correct libraries and the logic to find the linking libraries. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2008-04-13Coding Style cleanup; update CHANGELOGWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-04-11mpc83xx: Fix the bug of serdes initializationDave Liu
Currently the serdes will not be initializated due to the partid's error. Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-04-11mpc837xerdb: Fix warning: implicit declaration of function 'fdt_fixup_dr_usb'Jean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-04-08Merge branch 'master' of git://www.denx.de/git/u-boot-coldfireWolfgang Denk
2008-03-31ColdFire: Add dspi and serial flash support for MCF5445xTsiChung Liew
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com> Acked-by: John Rigby <jrigby@freescale.com>
2008-03-31ColdFire: Added M5275EVB support.Matthew Fettke
Signed-off-by: Matthew Fettke <mfettke@videon-central.com> Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com> Acked-by: John Rigby <jrigby@freescale.com>
2008-03-31ColdFire: Fix second memory Chipselect for M5475EVBTsiChung Liew
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com> Acked-by: John Rigby <jrigby@freescale.com>
2008-03-28mpc8323erdb: fix EEPROM page size and get MAC from EEPROMMichael Barkowski
This patch fixes eeprom page size so that you can now write more than 64 bytes at a time. It also makes the board take MAC addresses, if found, from EEPROM. User should place up to 4 addresses at offset 0x7f00, for eth{,1,2,3}addr. Any unused addresses should be zero. This group of four six-byte values should have it's CRC at the end. crc32 and eeprom commands can be used to accomplish this. If CRC fails, MAC addresses come from the environment. If CRC succeeds, the environment is overwritten at startup. Signed-off-by: Michael Barkowski <michael.barkowski@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-28mpc83xx: cleanup System Part and Revision ID Register (SPRIDR) codeKim Phillips
in the spirit of commit 1ced121600b2060ab2ff9f0fddd9421fd70a0dc6, 85xx's "Update SVR numbers to expand support", simplify SPRIDR processing and processor ID display. Add REVID_{MAJ,MIN}OR macros to make REVID dependent code simpler. Also added PARTID_NO_E and IS_E_PROCESSOR convenience macros. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-28mpc83xx: initialize serdes for MPC837xEMDS boardsDave Liu
This patch is stolen from Anton Vorontsov's patch for mpc837xerdb boards. The reference clk and xcorevdd voltage of serdes1/2 is same between mpc837xemds and mpc837xerdb. 8377E: LYNX1- 2 SATA LYNX2- 2 PCIE 8378E: LYNX1- 2 SGMII LYNX2- 2 PCIE 8379E: LYNX1- 2 SATA LYNX2- 2 SATA Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-26FSL: Clean up board/freescale/common/MakefileJon Loeliger
Each file that can be built here now follows some CONFIG_ option so that they are appropriately built or not, as needed. And CONFIG_ defines were added to various board config files to make sure that happens. The other board/freescale/*/Makefiles no longer need to reach up and over into ../common to build their individually needed files any more. Boards that are CDS specific were renamed with cds_ prefix. Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-03-2685xx: Add the concept of CFG_CCSRBAR_PHYSKumar Gala
When we go to 36-bit physical addresses we need to keep the concept of the physical CCSRBAR address seperate from the virtual one. For the majority of boards CFG_CCSBAR_PHYS == CFG_CCSRBAR Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-03-2583xx/fdt_support: let user specifiy FSL USB Dual-Role controller roleAnton Vorontsov
Linux understands "host" (default), "peripheral" and "otg" (broken). Though, U-Boot doesn't restrict dr_mode variable to these values (think of renames in future). Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-25mpc83xx: MPC8360E-RDK: configure pario pins for AD7843 and FHCIAnton Vorontsov
This patch adds qe pario pins configuration for AD7843 ADC/Touchscreen controller and FHCI (QE USB). Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
2008-03-25mpc83xx: MPC8360E-RDK: add support for NANDAnton Vorontsov
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
2008-03-2583xx: initialize serdes for MPC837XRDB boardsAnton Vorontsov
On the MPC8377ERDB: 2 SATA and 2 PCI-E. On the MPC8378ERDB: 2 PCI-E On the MPC8379ERDB: 4 SATA Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
2008-03-2583xx: Add Vitesse VSC7385 firmware uploadingTimur Tabi
Update the MPC8349E-mITX, MPC8313E-RDB, and MPC837XE-RDB board files to upload the Vitesse VSC7385 firmware. Changed CONFIG_VSC7385 to CONFIG_VSC7385_ENET. Cleaned up the board header files to make selecting the VSC7385 easier to control. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-25FSL: Move board/mpc8266ads under board/freescaleJon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-03-25FSL: Move board/mpc7448hpc2 under board/freescaleJon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-03-25FSL: Move board/mpc8260ads under board/freescaleJon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-03-05Remove erroneous or extra spd.h #includers.Jon Loeliger
Many of the spd.h #includers don't need it, and wanted to have spd_sdram() declared instead. Since they didn't get that, some also had open coded extern declarations of it instead or as well. Fix it all up by using spd_sdram.h where needed. Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-02-2086xx: Fix GUR PCI config registers properly.Jon Loeliger
Back in commit 975a083a5ef785c414b35f9c5b8ae25b26b41524 where I tried to "8610HPCD: Fix typos in two PCI setup registers", I botched it due to not realizing that 8610 and 8641 had different Global Utility Register defintions, one of which was like 85xx, and the other wasn't. Correct this problem by introducing two symbols, one for each 86xx SoC, but neither of which is named anything like 85xx. My bad. Lovely Wednesday with git bisect. You know. Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-02-198610HPCD: Fix typos in two PCI setup registers.Jon Loeliger
The two symbols MPC86xx_PORDEVSR_IO_SEL and MPC86xx_PORBMSR_HA were erroneously present as 85xx names and values, leftover from the clone wars. Fix this by removing the 85xx cruft from the 86xx codebase. Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-02-1886xx: Convert sbc8641d to use libfdt.Jon Loeliger
This is the proper fix for a missing closing brace in the function ft_cpu_setup() noticed by joe.hamman <at> embeddedspecialties.com. The ft_cpu_setup() function in mpc8641hpcn.c should have been removed earlier as it was under the obsolete CONFIG_OF_FLAT_TREE, but was missed. Only, the sbc8641d was nominally still using it. It all got ripped out, and the funcality that was in ft_board_setup() was refactored to remove the CPU portions into the new file cpu/mpc86xx/fdt.c instead. Make sbc8641d use this now. Based loosely on an original patch from joe.hamman@embeddedspecialties.com Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-02-1486xx: Fix compilation warning in sys_eprom.cJon Loeliger
sys_eeprom.c:82:9: warning: unknown escape sequence '\/' Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-01-2486xx: Remove old-style law setup codeBecky Bruce
This includes mpc8610hpcd, mpc8641hpcn, and sbc8641d. Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
2008-01-2486xx: Convert mpc8610hpcd to new law setup method.Becky Bruce
Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
2008-01-2486xx: Support new law setup method and convert mpc8641Becky Bruce
Adds the support code in cpu/mpc86xx for the new law setup code recently created fsl_law.c, and changes the MPC8641HPCN config to use this code. Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
2008-01-23Merge branch 'master' of git://www.denx.de/git/u-boot-coldfireWolfgang Denk
2008-01-23Merge branch 'master' of git://www.denx.de/git/u-boot-mpc86xxWolfgang Denk
2008-01-23Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xxWolfgang Denk
2008-01-17ColdFire: MCF547x_8x - Add M547xEVB and M548xEVB boardTsiChungLiew
Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> Signed-off by: John Rigby <jrigby@freescale.com>
2008-01-17ColdFire: Add MCF5227x cpu and M52277EVB support-1TsiChungLiew
Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> Signed-off by: John Rigby <jrigby@freescale.com>
2008-01-17ColdFire: Add M5373EVB platform support - 1TsiChungLiew
Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> Signed-off by: John Rigby <jrigby@freescale.com>
2008-01-17ColdFire: Update FlexBus CS for MCF532xTsiChungLiew
Definition update and change from 16bit to 32bit Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> Signed-off by: John Rigby <jrigby@freescale.com>
2008-01-17codingstyle cleanup for spi driverKim Phillips
..and rm unused CONFIG_FSL_SPI define Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-01-17FSL: Fix common EEPROM_data structure definitionHaiying Wang
- Fix EEPROM_data structure definition according to System EEPROM Data Format. - Read MAC addresses from EEPROM to ethXaddr before saving ethXaddr to bd->bi_ethaddr. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2008-01-17Implement hard SPI driver on MPC8349EMDSBen Warren
This patch implements the fsl_spi driver on the MPC8349EMDS evaluation board. This board has an ST M25P40 4Mbit EEPROM on its SPI bus Signed-off-by: Ben Warren <biggerbadderben@gmail.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-01-1785xx: Convert MPC8568 MDS to new TLB setupKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-1785xx: Convert MPC8541/MPC8555/MPC8548 CDS to new TLB setupKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-1785xx: Convert MPC8540/MPC8560 ADS to new TLB setupKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>