aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot
Commit message (Collapse)AuthorAge
...
* [POWERPC] 86xx: Added 2nd PCI-Ex controller support for MPC8641 HPCN to DTS.Zhang Wei2007-03-26
| | | | | | Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] New reg.h for the zImageDavid Gibson2007-03-26
| | | | | | | | | | | This patch adds a reg.h to the zImage code, with common definitions for accessing system registers. For now, this includes functions for retrieving the PVR and the stack pointer. This patch then uses the new reg.h to let start() display the running stack address without having to explicitly pass the stack as a parameter from the asm code. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Add gcc format warnings to zImage printf()David Gibson2007-03-26
| | | | | | | | | | This patch adds the correct attributes to the zImage's versions of printf to make gcc generate format string mismatch warnings. It also corrects several minor problems with format strings in the zImage thus discovered. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] boot: Use a common zImage ruleMilton Miller2007-03-26
| | | | | | | | | | | | | | | Before the plethora of platforms gets any worse, establish a common rule to invoke the wrapper for any platform. Add arguments to the rule for initrd, dts, dtb, etc. Show example usage with initrd. Create default rules for zImage, and zImage.initrd. initrd targets depend on the ramdisk file. Don't consider targets for zImage.initrd that are targets for zImage. This means uImage is no longer considered a target for zImage.initrd. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] boot: clean rule fixesMilton Miller2007-03-26
| | | | | | | | | | | | Now that obj-boot is in targets, we can remove (twice) it from clean-files. zImage.initrd was missing, move zImage nearer where its used, and place zImage.initrd next to it. Remove non-ported zImage.sandpoint, and add auto-generation of unconfigured zImage.initrd* like image-. Signed-off-by: Milton Miller <miltonm@bga.com> -- Testing: did a few builds and cleans Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] boot: Use FORCEMilton Miller2007-03-26
| | | | | | | | | Kbuild if_changed and if_changed_dep require the use of the dummy FORCE to get the dependencies right. Also add to targets to get correct behavior. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Allow platforms to call library zImage_startMilton Miller2007-03-26
| | | | | | | | | | Some platforms might need to run some code before the zImage start, but could otherwise use the bss clear and relocation code. Export the start address strongly as zImage_start_lib. 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>
* [POWERPC] bootwrapper: Add a fatal error helperMilton Miller2007-03-26
| | | | | | | | | Add a macro fatal that calls printf then exit. User must include stdio.h. Typically replaces 3 lines with 1, although I added back some whitespace. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] boot: export flush_cacheMilton Miller2007-03-21
| | | | | | | | Move the declaration of flush_cache to ops.h for use by platform code. 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>
* [POWERPC] boot: rebuild when wrapper changesMilton Miller2007-03-21
| | | | | | | | | | Since there is magic defined per platform in the wrapper script, the zImage targets should depend on it. Signed-off-by: Milton Miller <miltonm@bga.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Make setprop accept a const buffer.Scott Wood2007-03-21
| | | | | | 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>
* [POWERPC] bootwrapper: Make compression of the kernel image optional.Scott Wood2007-03-21
| | | | | | | | | | | The --no-gzip option can be passed to the wrapper so that the kernel image is included uncompressed into the zImage. This is intended for bootloaders where the zImage itself can be compressed, or where boot time is considered more important than kernel image size. 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>
* [POWERPC] bootwrapper: Add dt_ops methods.Scott Wood2007-03-21
| | | | | | | | | | | Add get_parent, create_node, and find_node_by_prop_value to dt_ops. Currently only implemented by flatdevtree_misc. Also, add a _str convenience wrapper for setprop. 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>
* [POWERPC] Add documentation for the zImage's gunzip convenience functionsDavid Gibson2007-03-16
| | | | | | | | | This patch adds documenting comments to the gunzip convenience functions added in commit ad9d2716cfc1cda5a7e0d7bc0db45e3af8a4adbb. It also removes a stray newline, and an unused global variable. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Make ft_create_node() pay attention to the parent ↵Scott Wood2007-03-16
| | | | | | | | parameter. 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>
* [POWERPC] bootwrapper: Add ft_find_node_by_prop_value().Scott Wood2007-03-16
| | | | | | | | | ft_find_node_by_prop_value() finds nodes with the specified property/value pair. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Make ft_get_parent() return a phandle, and NULL if ↵Scott Wood2007-03-16
| | | | | | | | | | | | | | | | | already top-level. Most of ft_get_parent() is factored out into __ft_get_parent(), which deals only in internal node pointers. The ft_get_parent() wrapper handles phandle conversion in both directions (previously, ft_get_parent() did not convert its return value). It also now returns NULL as the parent of the toplevel node, rather than just returning the toplevel node again (which made it rather useless in loops). Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Refactor ft_get_prop() into internal and external ↵Scott Wood2007-03-16
| | | | | | | | | | | | | functions. The property searching part of ft_get_prop is factored out into an internal __ft_get_prop() which does not deal with phandles and does not copy the property data. ft_get_prop() is then a wrapper that does the phandle translation and copying. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Add ft_find_device_rel().Scott Wood2007-03-16
| | | | | | | | Add a function to look up a relative, rather than absolute, path name. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Use map_string() instead of lookup_string() in ft_prop().Scott Wood2007-03-13
| | | | | | | | | | When adding a property, the property name should be added to the string table if it doesn't already exist. map_string() does that; lookup_string() will fail instead. 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>
* [POWERPC] bootwrapper: Modify *pp, not *p, in ft_shuffle().Scott Wood2007-03-13
| | | | | | | | Move the caller's pointer back to match the change in the region's start, rather than alter a byte of the device tree's content. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Preserve the pp pointer in ft_make_space() when ↵Scott Wood2007-03-13
| | | | | | | | | | | calling ft_reorder(). The ft_reorder() function may change the start of the region of interest, so the pointer provided by the caller into that region must be fixed up to still point to the same datum. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Make ft_get_phandle() accept and return NULL.Scott Wood2007-03-13
| | | | | | | | | | Currently, if ft_get_phandle() is passed NULL it will allocate an entry for it and return a non-NULL phandle. This patch makes it simply pass the NULL through. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Rename ft_node_add() to ft_get_phandle().Scott Wood2007-03-13
| | | | | | | | | | | This name better reflects what the function does, which is to look up the phandle for an internal node pointer, and add it to the internal pointer to phandle table if not found. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Add ft_root_node().Scott Wood2007-03-13
| | | | | | | | | | | | Clean up some of the open-coded data structure references by providing a function to return a pointer to the tree's root node. This is only used in high-level functions trying to access the root of the tree, not in low-level code that is actually manipulating the data structure. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] bootwrapper: Add stddef.h to ops.hScott Wood2007-03-13
| | | | | | | | | | ops.h references NULL, so include stddef.h, so files including ops.h don't have to. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] zImage: Cleanup and improve zImage entry pointDavid Gibson2007-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch re-organises the way the zImage wrapper code is entered, to allow more flexibility on platforms with unusual entry conditions. After this patch, a platform .o file has two options: 1) It can define a _zimage_start, in which case the platform code gets control from the very beginning of execution. In this case the platform code is responsible for relocating the zImage if necessary, clearing the BSS, performing any platform specific initialization, and finally calling start() to load and enter the kernel. 2) It can define platform_init(). In this case the generic crt0.S handles initial entry, and calls platform_init() before calling start(). The signature of platform_init() is changed, however, to take up to 5 parameters (in r3..r7) as they come from the platform's initial loader, instead of a fixed set of parameters based on OF's usage. When using the generic crt0.S, the platform .o can optionally supply a custom stack to use, using the BSS_STACK() macro. If this is not supplied, the crt0.S will assume that the loader has supplied a usable stack. In either case, the platform code communicates information to the generic code (specifically, a PROM pointer for OF systems, and/or an initrd image address supplied by the bootloader) via a global structure "loader_info". In addition the wrapper script is rearranged to ensure that the platform .o is always linked first. This means that platforms where the zImage entry point is at a fixed address or offset, rather than being encoded in the binary header can be supported using option (1). Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] zImage: Cleanup and improve prep_kernel()David Gibson2007-03-12
| | | | | | | | | | | | | | | | | | | | | | | This patch rewrites prep_kernel() in the zImage wrapper code to be clearer and more flexible. Notable changes: - Handling of the initrd image from prep_kernel() has moved into a new prep_initrd() function. - The address of the initrd image is now added as device tree properties, as the kernel expects. - We only copy a packaged initrd image to a new location if it is in danger of being clobbered when the kernel moves to its final location, instead of always. - By default we decompress the kernel directly to address 0, instead of requiring it to relocate itself. Platforms (such as OF) where doing this could clobber still-live firmware data structures can override the vmlinux_alloc hook to provide an alternate place to decompress the kernel. - We no longer pass lots of information between functions in global variables. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] zImage: Add more flexible gunzip convenience functionsDavid Gibson2007-03-12
| | | | | | | | | | | | | | | | | | | | | | | At present, arch/powerpc/boot/main.c includes a gunzip() function which is a convenient wrapper around zlib. However, it doesn't conveniently allow decompressing part of an image to one location, then the remainder to a different address. This patch adds a new set of more flexible convenience wrappers around zlib, moving them to their own file, gunzip_util.c, in the process. These wrappers allow decompressing sections of the compressed image to different locations. In addition, they transparently handle uncompressed data, avoiding special case code to handle uncompressed vmlinux images. The patch also converts main.c to use the new wrappers, using the new flexibility to avoid decompressing the vmlinux's ELF header twice as we did previously. That in turn means we avoid extending our allocations for the vmlinux to allow space for the extra copy of the ELF header. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Remove unused, undocumented #cpus property from cpus nodeStuart Yoder2007-03-08
| | | | | | | | | The #cpus property is unused and undocumented and is therefore being removed. Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch '86xx' into for_paulusKumar Gala2007-02-18
|\
| * [POWERPC] 86xx: Cleaned up platform dts filesKumar Gala2007-02-18
| | | | | | | | | | | | | | | | | | * Removed explicit linux,phandle usage. Use references and labels now * Removed interrupts property from openpic node * Removed interrupt-parent property from openpic node that pointed to itself Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Jon Loeliger <jdl@freescale.com>
* | Merge branch '85xx' into for_paulusKumar Gala2007-02-17
|\ \
| * | [POWERPC] 85xx: Cleaned up platform dts filesKumar Gala2007-02-17
| |/ | | | | | | | | | | | | | | * Fixed up top level compatible property for all boards * Removed explicit linux,phandle usage. Use references and labels now * Fixed phy-phandles for TSEC3/4 in mpc8548cds.dts Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [POWERPC] 83xx: Renamed MPC8323 MDS dts and defconfig to match other boardsKumar Gala2007-02-17
| | | | | | | | | | | | | | Renamed the MPC8323 MDS and defconfig to match the naming convention followed by other MDS boards. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDSKumar Gala2007-02-17
| | | | | | | | | | | | | | | | The MPC836x PB board is really just one part of the MPC836x MDS. We currently name all other PB boards as MDS. Removed all references to PB and replaced with MDS. Additionally renamed the .dts to match the defconfig (mpc836x_mds*). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [POWERPC] 83xx: Cleaned up 83xx platform dts filesKumar Gala2007-02-16
|/ | | | | | | | * Fixed up top level compatible property for all boards * Removed explicit linux,phandle usage. Use references and labels now * Fixed interrupt sense attribute, some interrupts were marked edge, that are level Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] Delete boot-cpu property from all DTS filesTimur Tabi2007-02-15
| | | | | | | | | | | | The 'linux,boot-cpu' property is obsolete, so remove it from all of the DTS files and from booting-without-of.txt. The boot CPU is actually defined in the device tree header, and U-Boot sets that field. The device tree compiler also complains if the property exists. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Acked-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch '83xx' into for_paulusKumar Gala2007-02-13
|\
| * [POWERPC] 83xx: Add support for MPC8349E-mITX-GPTimur Tabi2007-02-13
| | | | | | | | | | | | | | | | | | | | | | This patch adds a defconfig and a DTS for the MPC8349E-mITX-GP, a variant of the MPC8349E-mITX. USB is disabled because the only USB port is not setup properly by firmware/kernel Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [POWERPC] 85xx: Add support for the 8568 MDS boardAndy Fleming2007-02-13
|/ | | | | | | Add support for the MPC8568 MDS reference board Signed-off-by: Andrew Fleming <afleming@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] mpc5200 device tree bindings refinementGrant Likely2007-02-12
| | | | | | | | | | | | | | | | | | Much needed refinement of mpc5200 device tree binding specifications. Short list: - drop mpc52xx designator; only two supported chips exist, 5200 and 5200b. It's premature to refer to them as '52xx'. - Specify optional 'model' and 'revision' properties in the soc5200 node - Specify reqiured 'cell-index' property to identify between multiple SOC devices of the same type. (Useful for arbitrating shared register access) - Specify optional 'port-number' property for adjusting the logical serial port assignments. - Specify optional 'has-wdt' property for gpt0 node. - Add system-frequency property to soc5200 node Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Update to linkstation / kurobox supportGuennadi Liakhovetski2007-02-09
| | | | | | | | | | | | Linkstation systems capable of running mainline kernels use u-boot as a bootloader, so, specifying a suitable kernel command is not a problem. Don't guess. Also extend linkstation_defconfig to support the linkstation HS model with a IT8212 IDE controller and kuroboxHD/HD-HLAN linkstation models with a tulip ethernet chip. The latter also require a slightly different .dts file, which is also included with this patch. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] 83xx: Updated and renamed MPC834x SYS to MPC834x MDSKumar Gala2007-02-09
| | | | | | | | The MPC834x SYS board has always been called the MPC834x MDS since its public release. Removed all references to SYS and replaced with MDS. Additionally renamed the .dts to match the defconfig (mpc834x_mds*). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] 83xx: Added new dr_mode property for usb controller on 83xxLi Yang2007-02-08
| | | | | | | | Added a new dr_mode property to describe what mode the DR controller is being used in (host, device, OTG). Updated the MPC8349E MDS dts with this new property. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] 83xx: Add base support for the MPC8313E RDBKim Phillips2007-02-08
| | | | | | | | | | | Add support for the MPC8313E Reference Development Board (RDB). The board is a mini-ITX reference board with 128M DDR2, 8M flash, 32M NAND, USB, PCI, gigabit ethernet, and serial. Signed-off-by: Wilson Lo <Wilson.Lo@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] Celleb: basic supportIshizaki Kou2007-02-06
| | | | | | | | | This patch adds base support for Celleb platform. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Fix kernel build errors for mpc8272ads and mpc8560adsVitaly Bordug2007-02-06
| | | | | | | | | | | | | | | | | | | | Recent update of asm-powerpc/io.h caused cpm-related stuff to break in the current kernel. Current patch fixes it, as well as other inconsistencies expressed, that do not permit targets from working properly: - Updated dts with a chosen node with interrupt controller, - fixed messed device IDs among CPM2 SoC devices, - corrected odd header name and fixed type in defines, - Added 82xx subdir to the powerpc/platforms Makefile, missed during initial commit, - new solely-powerpc header file for 8260 family (was using one from arch/ppc, this one cleaned up from the extra stuff), in fact for now a placeholder to get the board-specific includes for stuff not yet capable to live with devicetree peeks only - Fixed couple of misprints in reference mpc8272 dts. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] cpm2: CPM2 interrupt controller fixVitaly Bordug2007-02-06
| | | | | | | | | | | | This contains important fixes for the CPM2 PIC code. Eliminated CPM_IRQ_OFFSET, pulling the respective interrupt numbers from the interrupt mapping. Updated devicetree files to reflect that. Changed direct IC-related IO accesses to the IO accessors. Fixed all the sense values to keep coherency with ipic. In the current code, CPM2 stuff will have no IRQs and hence could be hardly usable. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Add mpc866ads board-specific bits to arch/powerpcVitaly Bordug2007-02-06
| | | | | | | | | This add support of the Freescale mpc86xads reference board to arch/powerpc. Supported SMC1 and SMC2 (UART and serial console), FEC 100Mbps Ethernet, SCC1 Ethernet (10Mbps hdx) Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>