aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/boot
AgeCommit message (Collapse)Author
2007-06-07[POWERPC] Fix building of COFF zImagesPaul Mackerras
The COFF zImage (for booting oldworld powermacs) wasn't being built correctly because the procedure descriptor in crt0.S for the zImage entry point wasn't declared as .globl, and therefore wasn't getting pulled in from wrapper.a by the linker. This adds the necessary .globl statement. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-02[POWERPC] Fix zImage.coff generation for 32-bit pmacMilton Miller
Commit 9da82a6dee9db4cd5ae7a74ab4f51afb52b6efb9 inadvertently removed the platform override for zImage.coff to be generated with pmaccoff. Rather than add a special makefile rule, change the platform for which the wrapper platform uses the special rules. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-02[POWERPC] Don't use HOSTCFLAGS in BOOTCFLAGSDavid Gibson
In the bootwrapper code for powerpc, we include HOSTCFLAGS into the BOOTCFLAGS used for building the zImage wrapper code. Since the wrapper code is not host code, this makes no sense. This patch removes the use of HOSTCFLAGS here, instead including directly into BOOTCFLAGS those flags from the normal kernel CFLAGS which also make sense in the bootwrapper code. In particular, this makes the bootwrapper use -msoft-float, preventing the compiler from generating floating point instructions. Previously, under some circumstances the compiler could generate floating point instructions in the bootwrapper which would cause exceptions on embedded CPUS which don't have floating point support. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-02[POWERPC] Create a zImage for legacy iSeriesStephen Rothwell
This zImage is really just the stripped vmlinux, but it means that there is one less special case for iSeries and also that the zImages will be built for a combined kernel build that happens to include iSeries. This zImage boots fine on legacy iSeries. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-02[POWERPC] Fix compiler/assembler flags for Ebony platform boot filesDavid Gibson
The recent addition of assembler flags for 44x.c and ebony.c in the bootwrapper to make them compile on certain toolchains was not correct and could break other platforms. This patch switches to using a compiler flag instead, which implies the appropriate assembler flag, and also stops the compiler itself generating instructions which are invalid for the platform in question. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-23[POWERPC] 52xx: unbreak lite5200 dts (_pic vs. -pic)Domen Puncer
Unbreak lite5200 dts, which were broken by 5c1992f83304cf2d56934dd6c06709b96e1b0c81 Signed-off-by: Domen Puncer <domen.puncer@telargo.com> Acked-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-17[POWERPC] Pass per-file CFLAGs for platform specific op codesJosh Boyer
As a result of compiling all of the wrapper files for every platform now, the kernel build can fail for toolchains that don't support various op codes by default. An example of this building a 7xx platform with the ELD4.0 toolchain, is below: /tmp/ccYjhJoL.s: Assembler messages: /tmp/ccYjhJoL.s:42: Error: Unrecognized opcode: `mtdcr' /tmp/ccYjhJoL.s:43: Error: Unrecognized opcode: `mfdcr' make[1]: *** [arch/powerpc/boot/44x.o] Error 1 The following patch introduces additional CFLAGS for the 4xx specific files and fixes the kernel compile. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-17[POWERPC] Fix sed command lines for zlib source constructionSegher Boessenkool
Not every sed understands \+ so use the more portable * instead. Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-17[POWERPC] Small fixes for the Ebony device treeDavid Gibson
This patch corrects a number of minor errors in the Ebony device tree: - Missing (given as 0) cache sizes are added to the CPU node - device_type properties are removed from nodes which don't have a reasonably well defined device_type binding. This does require a very small code change to locate the busses to be probed for of_platform devices by 'compatible' instead of 'device_type'. - A node is added for the SRAM controller - The unit address of the small-flash node is adjusted to correctly reflect the reg property. - device_type values for the MAL and ZMII are updated to reflected more up-to-date versions of the binding. - An incorrect offset in the partition map for the large-flash node is corrected. - Some redundant values, already commented out are removed entirely. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-17[POWERPC] Fix make rules for treeImage.initrdDavid Gibson
At present attempting to build treeImage.initrd.* boot images will fail, because make will select the treeImage.% rule which also matches instead of the correct and more specific treeImage.initrd.% rule. This patch corrects the problem by listing the more specific rule first. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-17[POWERPC] Fix bug adding properties with flatdevtree.c's ft_set_prop()David Gibson
ft_set_prop() from flatdevtree.c in the zImage wrapper will either replace an existing property in the flat device tree, or add a new property definiion if the given property isn't present. However, when adding properties, it adds the property definition immediately before the node's END_NODE tag, potentially after any subnode definitions for the node. This confuses the kernel flat tree parser in prom.c which assumes that all property definitions for a node come before all subnode definitions. This patch corrects ft_set_prop() so that it adds new properties before the first subnode, instead of before the END_NODE tag. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-17[POWERPC] Removed hardcoded phandles from dtsKumar Gala
Remove explicit phandles and move to using references that autogenerate the phandles when needed. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-17[POWERPC] 85xx: Add device nodes for error reporting devices used by EDACKumar Gala
Adding memory-controller and l2-cache-controller entries to be used by EDAC as of_devices for MPC8541 CDS, MPC8544 DS, MPC8555 CDS, and MPC8568 MDS. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-17[POWERPC] 85xx: Add device nodes for error reporting devices used by EDACDave Jiang
Adding memory-controller and l2-cache-controller entries to be used by EDAC as of_devices for MPC8540 ADS, MPC8548 CDS, and MPC8560 ADS. Also fixed up the size of the PCI node on MPC8560 ADS. Signed-off-by: Dave Jiang <djiang@mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-12[POWERPC] Add bootwrapper support for Motorola PrPMC2800 platformMark A. Greer
The Motorola PrPMC280 and PrPMC2800 processor modules sit on an F101 or PrPMC2800 baseboard, respectively. There are several variants of each type of processor module which can have different amounts of memory, amounts of FLASH, cpu frequencies, and an mv64360 or an mv64362. The bootwrapper code for that platform reads VPD from an I2C EEPROM to determine the processor module variant. From the variant, the amount of memory, etc. is determined and the device tree is updated accordingly. If the variant cannot be determined (e.g., corrupted VPD or a previously unknown variant), the property values already in the device tree are used. Also, the firmware for those platforms does not completely configure the mv64x60 host bridge so that configuration is done here. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] Add DTS file for the Motorola PrPMC2800 platformMark A. Greer
Add the device tree source file for the prpmc2800 line of processor PMCs. Several of the property values are updated by the bootwrapper but sane defaults have been chosen in case the bootwrapper can't determine the exact processor board variant. The defaults should allow the kernel to boot despite having non-optimal device tree property values. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] Add bootwrapper support for Marvell/mv64x60 I2CMark A. Greer
Some platforms support a variety processor modules with no method of determining which exact processor module is being used except by examining Vital Product Data (VPD). The modules may have different amounts of memory, clock frequencies, etc. so reading the VPD becomes necessary to correctly set properties in the device tree before its passed to the kernel. Often the VPD is stored in I2C EEPROMs so an I2C driver becomes necessary. This I2C driver is for the I2C controller that's embedded on the Marvel mv64x60 line of host bridges. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] Add bootwrapper support for Marvell MPSCMark A. Greer
The bootwrapper requires a serial driver to allow cmdline editing and information reporting on the console. This driver is required by platforms that boot a zImage and use the MPSC for the console. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] Add bootwrapper support for Marvell/mv64x60 hostbridgeMark A. Greer
The mv64x60 host bridge has many windows between its various components (cpu, system memory, ethernet ctlr, MPSC, DMA ctlr, PCI MEM, PCI I/O). Unfortunately, the firmware on some of mv64x60-based platforms do not properly or completely configure those windows (e.g., MPSC->system memory windows not configured or CPU->PCI MEM space not configured). So, the missing configuration needs to be done in either the bootwrapper or in the kernel. To keep the kernel as clean as possible, it is done in the bootwrapper. Note that I/O controller configuration is NOT being done, its only the windows to allow the I/O controllers and other components to access memory, etc. that is being done--drivers assume that their controllers can already access system memory). Table of routines and the windows they configure: mv64x60_config_ctlr_windows() ENET->System Memory MPSC->System Memory IDMA->System Memory mv64x60_config_pci_windows() PCI MEM->System Memory PCI I/O->Bridge's Registers mv64x60_config_cpu2pci_window() CPU->PCI MEM CPU->PCI I/O Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] Add Makefile rules to wrap dts file in zImageMark A. Greer
Add 'zImage.dts' and 'zImage.dts_initrd' build rules that automatically compile and wrap a dts file from arch/powerpc/boot/dts into the zImage file. The resulting zImage will be arch/powerpc/boot/zImage.dts.<platform> and arch/powerpc/boot/zImage.dts_initrd.<platform>, respectively. Having separate rules allows the user to choose whether to include a device tree--and which device tree--at build time. This is useful when one Makefile target builds a zImage that runs on several platforms except for differing device trees. By just setting CONFIG_DEVICE_TREE and running "make zImage.dts" the exact zImage you want is built without Makefile bloat or manually running the wrapper script. The dts file is expected to be arch/powerpc/boot/dts/$(CONFIG_DEVICE_TREE) Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-12[POWERPC] U-boot passes the initrd as start/end, not start/size.Scott Wood
The boot wrapper platform init code on 83xx and 85xx using the cuboot platform type was incorrectly assuming that u-boot supplied the size of the initrd, whereas it actually supplies the end address. This fixes it. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-09[POWERPC] 83xx: Fix the PCI ranges in the MPC834x_MDS device tree.Scott Wood
The MPC834x_MDS device tree's PCI non-prefetchable MMIO range was specified incorrectly. Both the local and bus addresses start at 0x90000000. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-09[POWERPC] 83xx: Fix the PCI ranges in the MPC832x_MDS device tree.Scott Wood
The MPC832x_MDS device tree's PCI non-prefetchable MMIO range was specified incorrectly. Both the local and bus addresses start at 0x90000000. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-05-08[POWERPC] Support for the Ebony 440GP reference board in arch/powerpcDavid Gibson
This adds platform support code for the Ebony (440GP) evaluation board. This includes both code in arch/powerpc/platforms/44x for board initialization, and zImage wrapper code to correctly tweak the flattened device tree based on information from the firmware. The zImage supports both IBM OpenBIOS (aka "treeboot") and old versions of uboot which don't support a flattened device tree. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-08[POWERPC] Add device tree for EbonyDavid Gibson
Add a device tree for the Ebony evaluation board (440GP based). This tree is not complete or finalized. This tree needs a version of dtc recent enough to include reference-to-labels to process. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-08[POWERPC] Holly bootwrapperJosh Boyer
Add Holly/Hickory bootwrapper Signed-off-by: Stephen Winiecki <stevewin@us.ibm.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-08[POWERPC] Holly DTSJosh Boyer
Add Holly DTS file Signed-off-by: Stephen Winiecki <stevewin@us.ibm.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-07[POWERPC] lite5200(b) support for i2cDomen Puncer
Add fsl-i2c to mpc5200 i2c node in device tree, and enable FSL_SOC. Tested to work with built-in eeprom on lite5200b. Signed-off-by: Domen Puncer <domen.puncer@telargo.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-07[POWERPC] lite5200(b) DTS fixesDomen Puncer
Three trivial DTS fixes: -Mark Lite5200(b) boards as "mpc5200" compatible. On efika the firmware already does that. -Fix mscan interrupt. -Fix wakeup GPIO address. Signed-off-by: Domen Puncer <domen.puncer@telargo.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-07[POWERPC] Fix some missing build dependencies in arch/powerpc/bootDavid Gibson
This patch fixes a couple of missing dependencies in arch/powerpc/boot/Makefile. First, it ensures that the zlib.h header is linked in before attempting to build gunzip_util.o, as it is, building gunzip_util.o usually works, but not always depending on make order. Second, it makes the final images which are built using a dts dependent on that dts, so the image will be correctly rebuilt if the dts changes. This in turn requires fixing the definition of the dts variable. CONFIG_DEVICE_TREE from Kconfig will have quotes around it, which don't matter when passing the variable to a shell, but which need to be removed when incorporating it into a filename for make's use. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-07[POWERPC] bootwrapper: Only build cuImage if CONFIG_DEVICE_TREE is non-emptyScott Wood
This allows the zImage target to once again be used to build all supported image types, rather than requiring an explicit "make uImage" to avoid failing to create an unneeded cuImage. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-02[POWERPC] Small cleanups to the cuboot bootwrapper codeDavid Gibson
This patch makes a few small cleanups to the cuboot code. - It removes the double layered selection of images, via cuboot-plat-y, instead having the cuboot platforms directly select a suitable image-y (this changes the name of the final cuboot image from plain cuImage to cuImage.<platform>). - Factors out some code in the wrapper that's potentially useful to platforms other than uboot. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-02[POWERPC] Replace undocumented interface properties in dts filesKim Phillips
phy-connection-type now supersedes the interface property. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-30[POWERPC] Add dt_xlate_addr() to bootwrapperMark A. Greer
dt_xlate_reg() looks up the 'reg' property in the specified node to get the address and size to translate. Add dt_xlate_addr() which is passed in the address and size to translate. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-30[POWERPC] bootwrapper: CONFIG_ -> CONFIG_DEVICE_TREEScott Wood
A usage of CONFIG_DEVICE_TREE got accidentally truncated; this fix allows out-of-tree dts files to work. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-27[POWERPC] bootwrapper: cuboot-83xx: Exclude upper 1MB from heap.Scott Wood
The uppermost part of memory is where u-boot puts the stack, so don't include that in the heap. It's not currently causing problems, as the current code allocates from the bottom of the heap, but this will keep things from potentially breaking if a future implementation were to allocate from the top. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-27[POWERPC] bootwrapper: cuImage for 85xxScott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-27[POWERPC] bootwrapper: Fix array handling in dt_xlate_reg().Scott Wood
This fixes a few bugs in how dt_xlate_reg() handles address arrays: 1. copy_val() was copying into the wrong end of the array, resulting in random stack garbage at the other end. 2. dt_xlate_reg() was getting the result from the wrong end of the array. 3. add_reg() and sub_reg() were treating the arrays as little-endian rather than big-endian. 4. add_reg() only returned an error on a carry out of the entire array, rather than out of the naddr portion. 5. The requested reg resource was checked to see if it exceeded the size of the reg property, but not to see if it exceeded the size of the buffer. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-27[POWERPC] boot: More verbose gunzip error messageMilton Miller
Change the error message in gunzip_exactly to be more verbose. Besides the identifier being unrelated to the current function name, the user had no indication if the corruption was near the beginning or the end. Signed-off-by: Milton Miller <miltonm@bga.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-27[POWERPC] Enable make installAkinobu Mita
make help on powerpc says make install is available. But it failed due to no rule to make install. This patch enables make install to work. Signed-off-by: Akinobu Mita <mita@fixstars.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-24[POWERPC] Fix comment typo in Kurobox device treeGrant Likely
Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-24[POWERPC] bootwrapper: Use `unsigned long' for malloc sizesGeert Uytterhoeven
Use `unsigned long' for malloc sizes, to match common practice and types used by most callers and callees. Also use `unsigned long' for integers representing pointers in simple_alloc. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@eu.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-24[POWERPC] bootwrapper: cuboot for 83xxScott Wood
This adds cuboot support for MPC83xx platforms. A device tree used with this must have linux,stdout-path in /chosen and linux,network-index in any network device nodes that need mac addresses assigned. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-24[POWERPC] bootwrapper: Add ppcboot.hScott Wood
This file describes the bd_t struct, which is used by old versions of U-boot to pass information to the kernel. Platform code that needs to interoperate with such firmware can use this; it should not be used for anything new. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-24[POWERPC] bootwrapper: Add a cuboot platform and a cuImage targetScott Wood
The cuImage target will build a uImage with bootwrapper code and a device tree. The default device tree and platform file are determined by the kernel configuration. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-13[POWERPC] Fix detection of loader-supplied initrd on OF platformsPaul Mackerras
Commit 79c8541924a220964f9f2cbed31eaa9fdb042eab introduced code to move the initrd if it was in a place where it would get overwritten by the kernel image. Unfortunately this exposed the fact that the code that checks whether the values passed in r3 and r4 are intended to indicate the start address and size of an initrd image was not as thorough as the kernel's checks. The symptom is that on OF-based platforms, the bootwrapper can cause an exception which causes the system to drop back into OF. Previously it didn't matter so much if the code incorrectly thought that there was an initrd, since the values for start and size were just passed through to the kernel. Now the bootwrapper needs to apply the same checks as the kernel since it is now using the initrd data itself (in the process of copying it if necessary). This adds the code to do that. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-13[POWERPC] bootwrapper: Decompress less, check moreMilton Miller
Our kernels put everything in the first load segment, and we read that. Instead of decompressing to the end of the gzip stream or supplied image and hoping we get it all, decompress the expected size and complain if it is not available. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-13[POWERPC] bootwrapper: no-gzip fixesMilton Miller
Commit a9903811bf8d130a26004f9cb27b66513a267908 missed two uses of the the .gz suffix in the wrapper script and didn't clean the additonal possibly cached files. Signed-off-by: Milton Miller <miltonm@bga.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-13[POWERPC] bootwrapper: missing relocation in crt0.SMilton Miller
crt0.S had provisions to provide run address relocaton to got2 and cache flush, but not on the bss clear or stack pointer load. Apply the same fixup for them. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-04-13[POWERPC] Routine to find the devtree node of a linux,phandleMark A. Greer
Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>