summaryrefslogtreecommitdiff
path: root/cpu/mpc512x
Commit message (Collapse)AuthorAgeLines
* Merge branch 'reloc'Wolfgang Denk2009-10-09-3/+4
|\
| * 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-1/+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>
* | mpc512x: fix fixed_sdram() init code.Wolfgang Denk2009-10-08-14/+19
|/ | | | | | | | | | Commit 054197ba and later fixes used an array to initialize some of the MDDRC parameters; however, the use of an array turned out to be a bad idea as it was not possible to correlate structure entries to array indices in readable and reliable way. Now we use a struct instead, which makes this self-explanatory. Signed-off-by: Wolfgang Denk <wd@denx.de>
* mpc512x: Streamlined fixed_sdram() init sequence.Martha M Stan2009-09-25-35/+69
| | | | | | | | | | | | | | | | | | | Signed-off-by: Martha M Stan <mmarx@silicontkx.com> Minor cleanup: Re-ordered default_mddrc_config[] to have matching indices. This allows to use the same index "N" for source and target fields; before, we had code like this out_be32(&im->mddrc.ddr_time_config2, mddrc_config[3]); which always looked like a copy & paste error because 2 != 3. Also, use NULL when meaning a null pointer. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Update Freescale copyrights to remove "All Rights Reserved"Kumar Gala2009-07-29-2/+2
| | | | | | "All Rights Reserved" conflicts with the GPL. Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the console API uses the following naming convention: ======Extract====== typedef struct device_t; int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ======= which is too generic and confusing. Instead of using device_XX and device_t we change this into stdio_XX and stdio_dev This will also allow to add later a generic device mechanism in order to have support for multiple devices and driver instances. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
* MPC512x: factor out common codeWolfgang Denk2009-07-14-1/+122
| | | | | | | | | | | | | | Now that we have 3 boards for the MPC512x it turns out that they all use the very same fixed_sdram() code. This patch factors out this common code into cpu/mpc512x/fixed_sdram.c and adds a new header file, include/asm-ppc/mpc512x.h, with some macros, inline functions and prototype definitions specific to MPC512x systems. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
* mpc512x: Fix problem with I2C access before relocationStefan Roese2009-06-12-1/+1
| | | | | | | | | This is needed for the upcoming esd MECP5123 board port which uses I2C EEPROM for environment storage. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com> Acked-by: Heiko Schocher<hs@denx.de>
* mpc512x: Use serial_setbrg() in serial_init() to not duplicate the codeStefan Roese2009-06-12-21/+15
| | | | | | | | This patch removes the duplicated code for baudrate generator configuration in the PSC serial_init() implementation by calling serial_setbrg() instead of duplicating the code. Signed-off-by: Stefan Roese <sr@denx.de>
* mpc512x: Fix PSC divisor calculation for baudrate settingStefan Roese2009-06-12-1/+1
| | | | | | | The wrong input frequency was used in serial_setbrg(). This patch fixes this by using ips_clk as input frequency for the PSC baudrate generator. Signed-off-by: Stefan Roese <sr@denx.de>
* MPC512x: remove include/mpc512x.hWolfgang Denk2009-06-12-6/+19
| | | | | | | | | | | | | | | | | | | | Move needed definitions (register descriptions etc.) from include/mpc512x.h into include/asm-ppc/immap_512x.h. Instead of using a #define'd register offset, use a function that provides the PATA controller's base address. All the rest of include/mpc512x.h are register offset definitions which can be eliminated by proper use of C structures. There are only a few register offsets remaining that are needed in cpu/mpc512x/start.S; for these we provide cpu/mpc512x/asm-offsets.h which is intended as a temporary workaround only. In a later patch this file will be removed, too, and then auto-generated from the respective C structs. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* MPC512x: use I/O accessors instead of pointer accessesWolfgang Denk2009-06-12-130/+168
| | | | | | | | This commit changes the MPC512x code to use I/O accessor calls (i.e. out_*() and in_*()) instead of using deprecated pointer accesses. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* MPC512x: add more hardware description to immap_512x.hWolfgang Denk2009-06-12-3/+3
| | | | | | | | | | | | | - add GPIO module description - add Address Latch Timing Register description - add IO Control Memory Map - add FEC Memory Map Also change board/freescale/mpc5121ads/mpc5121ads.c and cpu/mpc512x/iopin.c as needed. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* cpu/mpc512x/diu.c: fix warning: assignment from incompatible pointer typeWolfgang Denk2009-06-12-1/+1
| | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* cpu/mpc512x/pci.c: minor coding style cleanupWolfgang Denk2009-06-12-6/+3
| | | | | | | Get rid of variable declaration in the middle of the code. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* mpc512x: Move common files to share them by several boardsWolfgang Denk2009-06-12-1/+663
| | | | | | | | | | We will soon see several new MPC521x based boards added. This patch moves files that are not board specific to a common directory so they can be shared by all such ports. It also splits off common IDE code into a new file, cpu/mpc512x/ide.c . Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* mpc512x: change cpu/mpc512x/Makefile to use Kconfig styleWolfgang Denk2009-06-12-5/+4
| | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: John Rigby <jcrigby@gmail.com>
* General help message cleanupWolfgang Denk2009-06-12-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of the help messages were not really helpful; for example, many commands that take no arguments would not print a correct synopsis line, but "No additional help available." which is not exactly wrong, but not helpful either. Commit ``Make "usage" messages more helpful.'' changed this partially. But it also became clear that lots of "Usage" and "Help" messages (fields "usage" and "help" in struct cmd_tbl_s respective) were actually redundant. This patch cleans this up - for example: Before: => help dtt dtt - Digital Thermometer and Thermostat Usage: dtt - Read temperature from digital thermometer and thermostat. After: => help dtt dtt - Read temperature from Digital Thermometer and Thermostat Usage: dtt Signed-off-by: Wolfgang Denk <wd@denx.de>
* i2c: Create common default i2c_[set|get]_bus_speed() functionsPeter Tyser2009-06-12-14/+0
| | | | | | | | | | | | | New default, weak i2c_get_bus_speed() and i2c_set_bus_speed() functions replace a number of architecture-specific implementations. Also, providing default functions will allow all boards to enable CONFIG_I2C_CMD_TREE. This was previously not possible since the tree-form of the i2c command provides the ability to display and modify the i2c bus speed which requires i2c_[set|get]_bus_speed() to be present. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* ppc: cleanup compiler errors/warningsHeiko Schocher2009-03-27-0/+1
| | | | | | | | | | | | | Current u-boot top of tree builds with warnings/errors for the following boards: ads5121 cpci5200 mecp5200 v38b IAD210 MBX MBX860T NX823 RPXClassic debris PN62 following patch solves this. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.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>
* ADS5121 Add IC Ident Module (IIM) supportMartha Marx2009-02-03-0/+397
| | | | | | | | | | | | IIM (IC Identification Module) is the fusebox for the mpc5121. Use #define CONFIG_IIM to turn on the clock for this module use #define CONFIG_CMD_FUSE to add fusebox commands. Fusebox commands include the ability to read the status, read the register cache, override the register cache, program the fuses and sense them. Signed-off-by: Martha Marx <mmarx@silicontkx.com> Signed-off-by: John Rigby <jrigby@freescale.com>
* Command usage cleanupPeter Tyser2009-01-28-1/+1
| | | | | | | | Remove command name from all command "usage" fields and update common/command.c to display "name - usage" instead of just "usage". Also remove newlines from command usage fields. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* i2c: merge all i2c_reg_read() and i2c_reg_write() into inline functionsTimur Tabi2008-12-15-17/+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>
* Use strmhz() to format clock frequenciesWolfgang Denk2008-10-21-8/+11
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-51/+51
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Moved initialization of MPC512x_FEC Ethernet driver to CPU directoryBen Warren2008-09-02-0/+13
| | | | | | | Added a cpu_eth_init() function to MPC512x CPU directory and removed code from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Move MPC512x_FEC driver to drivers/netBen Warren2008-08-29-1022/+1
| | | | Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* fdt: rework fdt_fixup_ethernet() to use env instead of bd_tKumar Gala2008-08-21-1/+1
| | | | | | | | | | Move to using the environment variables 'ethaddr', 'eth1addr', etc.. instead of bd->bi_enetaddr, bi_enet1addr, etc. This makes the code a bit more flexible to the number of ethernet interfaces. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* ads5121: fix compiler warnings (unused variables)Wolfgang Denk2008-08-12-3/+1
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* mpc5121: Move iopin features from board specific to common files.Kenneth Johansson2008-08-05-1/+50
| | | | | | And in the process eliminate some duplicate register defines. Signed-off-by: Kenneth Johansson <kenneth@southpole.se>
* mpc5121: squash some fdt fixup errorsJohn Rigby2008-08-05-15/+62
| | | | | | | | | | | | | | | | | | | | | | | On ADS5121 when booting linux the following errors are seen: Unable to update property /soc5121@80000000:bus-frequency, err=FDT_ERR_NOTFOUND Unable to update property /soc5121@80000000/ethernet@2800:local-mac-address, err=FDT_ERR_NOTFOUND Unable to update property /soc5121@80000000/ethernet@2800:address, err=FDT_ERR_NOTFOUND This is caused by ft_cpu_setup trying to deal with both old and new soc node naming. This patch fixes this by being smarter about what to fixup. Also do soc node fixups by compatible instead of by path. A new board config called OF_SOC_COMPAT defined to be "fsl,mpc5121-immr" replaces the old OF_SOC node path that was defined to be "soc@80000000". Old device trees still work, but the compatiblity is conditional on CONFIG_OF_SUPPORT_OLD_DEVICE_TREES which is on by default in include/configs/ads5121.h. Signed-off-by: John Rigby <jrigby@freescale.com>
* Fix some more print() format errors.Wolfgang Denk2008-07-11-1/+1
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Configuration changes for ADS5121 Rev 3Martha Marx2008-07-10-2/+6
| | | | | | | | | | | | | | | | | | | | | ADS5121 Rev 3 board is now the default config config targets are now ads5121_config Rev 3 board with PCI M41T62 on board RTC 512MB DRAM ads5121_rev2_config Rev 2 board with No PCI 256MB DRAM Signed-off-by: Martha Marx <mmarx@silicontkx.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: John Rigby <jrigby@freescale.com>
* Consolidate ADS5121 IO Pin configurationMartha Marx2008-07-10-15/+0
| | | | | | | | | | | Consolidate ADS5121 IO Pin configuration to one file board/ads5121/iopin.c. Remove pin config from cpu/mpc512x/fec.c Signed-off-by: Martha Marx <mmarx@silicontkx.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: John Rigby <jrigby@freescale.com>
* MPC512x: Change traps.c to not reference non-addressable memoryBecky Bruce2008-06-03-1/+7
| | | | | | | | | | | Currently, END_OF_RAM is used by the trap code to determine if we should attempt to access the stack pointer or not. However, on systems with a lot of RAM, only a subset of the RAM is guaranteed to be mapped in and accessible. Change END_OF_RAM to use get_effective_memsize() instead of using the raw ram size out of the bd. Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
* Big white-space cleanup.Wolfgang Denk2008-05-21-1/+1
| | | | | | | | | | | 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>
* MPC5121e ADS PCI support take 3John Rigby2008-03-02-5/+16
| | | | | | | | | | | | | | | | Adds PCI support for MPC5121 Tested with drivers/net/rtl8139.c Support is conditional since PCI on old silicon does not work. ads5121_PCI_config turns on PCI In this version, condition compilation of PCI code has been moved from ifdef in board/ads5121/pci.c to board/ads5121/Makefile as suggested by Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: John Rigby <jrigby@freescale.com>
* 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>
* ppc: Refactor cache routines, so there is only one common set.Rafal Jaworowski2008-02-14-46/+0
| | | | Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
* Device tree updatesJohn Rigby2008-02-07-3/+3
| | | | | | | | | | | | | | Changes to match 5121 device tree going mainline in 2.6.25. Change OF_SOC from "soc5121" to plain "soc". Remove unneeded "ref-frequency" fixups. Remove "address" enetaddr fixup. Add bus-frequency fixup for old OF_SOC so old kernels with old device trees will work with new u-boot with 66MHz IPS clock Signed-off-by: John Rigby <jrigby@freescale.com>
* MPC512X: Cleanup bus clock names.Grzegorz Bernacki2008-01-12-10/+10
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* ads5121: Added support for FDT.Grzegorz Bernacki2008-01-12-0/+21
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* Revert "[MPC512x] Correct fixup relocation"Grant Likely2007-11-15-1/+1
| | | | | This reverts commit 8d17979d0359492a822a0a409d26e3a3549b4cd4. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* [MPC512x] Streamline frame handling in the FEC driverGrzegorz Bernacki2007-09-10-6/+9
| | | | | | | - convert frame size settings to be derived from a single base - set frame size to the recommended default value Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* [MPC512x] Proper handling of larger frames in the FEC driverGrzegorz Bernacki2007-09-07-13/+21
| | | | | | | | | | When frame larger than local RX buffer is received, it is split and handled by two buffer descriptors. Prior to this patch the FEC driver discarded contents of a buffer descriptor without the 'LAST' bit set, so the first part of the frame was lost in case of larger frames. This fix allows to safely combine the two pieces into the whole frame. Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* [MPC512x] Correct fixup relocationRafal Jaworowski2007-09-07-1/+1
| | | | Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
* Minor alignment of output, 2nd try.Wolfgang Denk2007-08-12-1/+1
| | | | | | Also update CHANGELOG Signed-off-by: Wolfgang Denk <wd@denx.de>