summaryrefslogtreecommitdiff
path: root/cpu/mpc5xxx
Commit message (Collapse)AuthorAgeLines
* kgdb: cpu/mpc* cpu/74xx: include kgdb.h when neededMike Frysinger2010-02-08-0/+1
| | | | | | | | Commit cbb0cab1d929839d broke some platforms which used kgdb code but didn't actually include kgdb.h. So include kgdb.h in all the relevant traps code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mpc5xxx/cpu_init.c: fix warning: unused variable 'cdm'Wolfgang Denk2010-02-03-5/+7
| | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Detlev Zundel <dzu@denx.de>
* mpc5xxx/cpu_init.c: fix warning: unused variable 'gpt0'Wolfgang Denk2010-02-03-0/+3
| | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Detlev Zundel <dzu@denx.de>
* ppc: remove -ffixed-r14 gcc option.Joakim Tjernlund2010-01-26-1/+1
| | | | | | This is no loger needed, free up r14 for general usage. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* ppc: Use r12 instead of r14 as GOT pointer.Joakim Tjernlund2010-01-26-5/+6
| | | | | | | | r14 is not supposed to be clobbered by functions. Switch to r12 and call GET_GOT when needed. This will allow u-boot to loose the -ffixed-r14 gcc option. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* ppc: Loose GOT access in IRQJoakim Tjernlund2010-01-26-32/+3
| | | | | | | | Using the GOT in IRQ handlers requires r14 to be -ffixed-r14. Avoid this by relocatate transfer_to_handler too. This will allow to free up r14 later on. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* mpc5xxx: Support CPU internal watchdog.Detlev Zundel2010-01-25-2/+32
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* kgdb: drop duplicate debugger_exception_handlerMike Frysinger2010-01-18-4/+0
| | | | | | | The debugger_exception_handler definition is the same for everyone, so use the common one now. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mpc5xxx/cpu_init.c: Convert to IO accessors.Detlev Zundel2010-01-18-48/+78
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* 5xxx, fdt: move fdt_fixup_memory() to cpu.c fileHeiko Schocher2009-12-08-0/+1
| | | | | | | | u-boot updates, before starting Linux, the memory node in the DTS. As this is a "standard" feature, move this functionality to the cpu.c file for mpc5xxx and mpc512x processors. Signed-off-by: Heiko Schocher <hs@denx.de>
* relocation: Do not relocate NULL pointers.Joakim Tjernlund2009-10-08-2/+4
| | | | | | | | | | NULL is an absolute value and should not be relocated. After this correction code like: void weak_fun(void) __attribute__((weak)); printf("weak_fun:%p\n", weak_fun); will still print null after relocation. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* ppc: Enable full relocation to RAMPeter Tyser2009-10-03-2/+0
| | | | | | | | | | | | | The following changes allow U-Boot to fully relocate from flash to RAM: - Remove linker scripts' .fixup sections from the .text section - Add -mrelocatable to PLATFORM_RELFLAGS for all boards - Define CONFIG_RELOC_FIXUP_WORKS for all boards Previously, U-Boot would partially relocate, but statically initialized pointers needed to be manually relocated. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* mucmc52, uc101: delete ata@3a00 node, if no CF card is detectedHeiko Schocher2009-09-25-0/+20
| | | | | | | | | | | U-Boot can detect if an IDE device is present or not. If not, and this new config option is activated, U-Boot removes the ATA node from the DTS before booting Linux, so the Linux IDE driver does not probe the device and crash. This is needed for buggy hardware (uc101) where no pull down resistor is connected to the signal IDE5V_DD7. Signed-off-by: Heiko Schocher <hs@denx.de>
* Reset i2c slave devices during init on mpc5xxx cpusEric Millbrandt2009-09-06-0/+49
| | | | | | | | | | | Reset any i2c devices that may have been interrupted during a system reset. Normally this would be accomplished by clocking the line until SCL and SDA are released and then sending a start condtiion (From an Atmel datasheet). There is no direct access to the i2c pins so instead create start commands through the i2c interface. Send a start command then delay for the SDA Hold time, repeat this by disabling/enabling the bus a total of 9 times. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
* Add support for USB on PSC3 for the mpc5200Eric Millbrandt2009-08-25-2/+10
| | | | | | | | | | | Support USB on PSC3 on the mpc5200. Before this patch, enabling USB support would reconfigure PSC4 and PSC5 to USB. The mpc5200 does not support USB enabled on both the standard USB port and PSC3. This patch masks the appropriate bits when enabling USB. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Remy Bohmer <linux@bohmer.net>
* board support patch for phyCORE-MPC5200B-tinyJon Smirl2009-07-10-0/+3
| | | | | | | | | | Add support for the Phytec phyCORE-MPC5200B-tiny. Code originally from Pengutronix.de. Created CONFIG_SYS_ATA_CS_ON_TIMER01 define for when IDE CS is on Timer 0/1 Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca>
* Fix e-mail address of Gary Jennejohn.Detlev Zundel2009-05-15-1/+1
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* Replace __attribute references with __attribute__Peter Tyser2009-04-28-4/+4
| | | | | | | | __attribute__ follows gcc's documented syntax and is generally more common than __attribute. This change is only asthetic and should not affect functionality. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* mpc5200: reduce delays in i2cJon Smirl2009-04-05-3/+3
| | | | | | | | The previous code waited 1000us before checking i2c status. Measurement shows i2c is usually ready in under 50us. Change the polling interval to 15us, loop 6,667 times to keep the polling timeout constant at 100ms.
* mpc5200: suppress printf until console initializedJon Smirl2009-03-25-10/+20
| | | | | | | | | On boards which have the environment in eeprom, i2c_init() is called before the console and RAM are initialized. Suppress printfs until the console is initialized. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Heiko Schocher <hs@denx.de>
* Add support for the digsy MTC board.Grzegorz Bernacki2009-03-20-1/+2
| | | | | | This is the InterControl custom device based on the MPC5200B chip. Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* Fix all linker script to handle all rodata sectionsTrent Piepho2009-03-20-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent gcc added a new unaligned rodata section called '.rodata.str1.1', which needs to be added the the linker script. Instead of just adding this one section, we use a wildcard ".rodata*" to get all rodata linker section gcc has now and might add in the future. However, '*(.rodata*)' by itself will result in sub-optimal section ordering. The sections will be sorted by object file, which causes extra padding between the unaligned rodata.str.1.1 of one object file and the aligned rodata of the next object file. This is easy to fix by using the SORT_BY_ALIGNMENT command. This patch has not be tested one most of the boards modified. Some boards have a linker script that looks something like this: *(.text) . = ALIGN(16); *(.rodata) *(.rodata.str1.4) *(.eh_frame) I change this to: *(.text) . = ALIGN(16); *(.eh_frame) *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) This means the start of rodata will no longer be 16 bytes aligned. However, the boundary between text and rodata/eh_frame is still aligned to 16 bytes, which is what I think the real purpose of the ALIGN call is. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
* cpu/: get mac address from environmentMike Frysinger2009-03-20-2/+4
| | | | | | | | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The cpus that get converted here: at91rm9200 mpc512x mpc5xxx mpc8260 mpc8xx ppc4xx Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com> CC: John Rigby <jrigby@freescale.com> CC: Stefan Roese <sr@denx.de>
* mpc52xx: Get rid of board-specific #ifdef's in cpu/mpc5xxx/ide.cGrzegorz Bernacki2009-03-18-1/+1
| | | | | | | | | | Total5200 and digsy MTC use I2C port 2 pins as a ATA chip select. To avoid adding board-specific ifdefs to cpu/mpc5xxx/ide.c new define CONFIG_SYS_ATA_CS_ON_I2C2 was introduced. It is used by Total5200 and will be used by digsy MTC and other boards with ATA CS on I2C pins. Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* pci: Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY for clarityKumar Gala2009-02-07-1/+1
| | | | | | | | | | The PCI_REGION_MEMORY and PCI_REGION_MEM are a bit to similar and can be confusing when reading the code. Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY to clarify its used for system memory mapping purposes. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* i2c: merge all i2c_reg_read() and i2c_reg_write() into inline functionsTimur Tabi2008-12-15-16/+0
| | | | | | | | | | All implementations of the functions i2c_reg_read() and i2c_reg_write() are identical. We can save space and simplify the code by converting these functions into inlines and putting them in i2c.h. Signed-off-by: Timur Tabi <timur@freescale.com> Acked-By: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Update U-Boot's build timestamp on every compilePeter Tyser2008-12-06-1/+2
| | | | | | | Use the GNU 'date' command to auto-generate a new U-Boot timestamp on every compile. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Align end of bss by 4 bytesSelvamuthukumar2008-11-18-0/+2
| | | | | | | | | | Most of the bss initialization loop increments 4 bytes at a time. And the loop end is checked for an 'equal' condition. Make the bss end address aligned by 4, so that the loop will end as expected. Signed-off-by: Selvamuthukumar <selva.muthukumar@e-coninfotech.com> Signed-off-by: Wolfgang Denk <wd@denx.de>
* Use strmhz() to format clock frequenciesWolfgang Denk2008-10-21-3/+6
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge git://git.denx.de/u-boot into x1Markus Klotzbuecher2008-10-21-113/+113
|\ | | | | | | | | | | Conflicts: drivers/usb/usb_ohci.c
| * rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-113/+113
| | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | The PIPE_INTERRUPT flag is used wrongRemy Bohmer2008-10-14-4/+4
|/ | | | | | | | | | | | | | At a lot of places in the code the PIPE_INTERRUPT flags and friends are used wrong. The wrong bits are compared to this flag resulting in wrong conditions. Also there are macros that should be used for PIPE_* flags. This patch tries to fix them all, however, I was not able to test the changes, because I do not have any of these boards. Review required! Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* rename environment.c in env_embedded.c to reflect is functionalityJean-Christophe PLAGNIOL-VILLARD2008-09-10-1/+1
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Moved initialization of MPC5xxx_FEC Ethernet driver to CPU directoryBen Warren2008-09-02-0/+13
| | | | | | | | | | | | | | | | | | Modified board_eth_init() functions of boards that have this FEC in addition to other Ethernet controllers. Affected boards: bc3450 icecube mvbc_p o2dnt pm520 total5200 tq5200 Removed initialization of controller from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Move MPC5xxx_FEC driver to drivers/netBen Warren2008-08-29-1447/+1
| | | | Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* mpc52xx: added support for the MPC5200 based MUC.MC52 board from MAN.Heiko Schocher2008-08-27-2/+4
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Minor coding style cleanup, updte CHANGELOGWolfgang Denk2008-08-25-7/+7
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Adding bootlimit/bootcount feature for MPC5XXX on TQM5200 BoardsAxel Beierlein2008-08-21-0/+20
| | | | | | Tested with TQM5200S on STK52XX.200 Board Signed-off-by: Axel Beierlein <belatronix@web.de>
* Big white-space cleanup.Wolfgang Denk2008-05-21-9/+9
| | | | | | | | | | | 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>
* USB: fix more GCC 4.2.x aliasing warningsWolfgang Denk2008-04-25-2/+2
| | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Markus Klotzbuecher <mk@denx.de>
* Remove all the search paths from the .lds files.Jason Wessel2008-04-17-2/+0
| | | | | | | 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>
* Merge branch 'new-image' of git://www.denx.de/git/u-boot-testingBartlomiej Sieka2008-03-26-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: common/cmd_bootm.c cpu/mpc8xx/cpu.c Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * [new uImage] Pull in libfdt if CONFIG_FIT is enabledMarian Balakowicz2008-02-21-1/+1
| | | | | | | | | | | | | | | | | | | | | | New uImage format (Flattened Image Tree) requires libfdt functionality, print out error message if CONFIG_OF_LIBFDT is not defined. New uImage support is enabled by defining CONFIG_FIT (and CONFIG_OF_LIBFDT). This commit turns it on by default. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | MPC5200: support setup without FECAndré Schwarz2008-03-25-0/+4
|/ | | | | | | | Include FEC specific nodes in ft_cpu_setup only if CONFIG_MPC5xxx_FEC is defined. Systems without FEC, i.e. no FEC node in DTB, should be possible. Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de> Acked-by: Grant Likely <grant.likely@secretlab.ca>
* PPC: Use r2 instead of r29 as global data pointerWolfgang Denk2008-02-14-1/+1
| | | | | | | | | | | | R29 was an unlucky choice as with recent toolchains (gcc-4.2.x) gcc will refuse to use load/store multiple insns; instead, it issues a list of simple load/store instructions upon function entry and exit, resulting in bigger code size, which in turn makes the build for a few boards fail. Use r2 instead. Signed-off-by: Wolfgang Denk <wd@denx.de>
* MPC5200: don't use hardcoded MBAR address in Bestcomm firmwareOliver Weber2008-01-12-4/+4
| | | | Signed-off-by: Oliver Weber <almoeli@gmx.de>
* Fix linker scripts: add NOLOAD atribute to .bss/.sbss sectionsWolfgang Denk2008-01-12-2/+2
| | | | | | | | | | | | | | | | | | | With recent toolchain versions, some boards would not build because or errors like this one (here for ocotea board when building with ELDK 4.2 beta): ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss [fffee900 -> fffff8ab] For many boards, the .bss section is big enough that it wraps around at the end of the address space (0xFFFFFFFF), so the problem will not be visible unless you use a 64 bit tool chain for development. On some boards however, changes to the code size (due to different optimizations) we bail out with section overlaps like above. The fix is to add the NOLOAD attribute to the .bss and .sbss sections, telling the linker that .bss does not consume any space in the image. Signed-off-by: Wolfgang Denk <wd@denx.de>
* added basic support for the MUNICes board.Heiko Schocher2008-01-12-3/+4
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Move do_fixup* for libfdt into common codeKumar Gala2007-11-21-31/+9
| | | | | | | | | | Moved the generic fixup handling code out of cpu/mpc5xxx and cpu/mpc8260 into common/fdt_support.c and renamed: do_fixup() -> do_fixup_by_path() do_fixup_u32() -> do_fixup_by_path_u32() Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Revert "Correct fixup relocation for MPC5xxx"Grant Likely2007-11-15-1/+3
| | | | | This reverts commit 6f7576b20ecf0d040c3ac3b032b5cbc860e38a90. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>