powerpc/86xx: display boot device and bank on the MPC8610 HPCDSigned-off-by: Timur Tabi <timur@freescale.com>Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
powerpc: use 'video-mode' environment variable to configure DIUUse the 'video-mode' environment variable (for Freescale chips that have aDIU display controller) to designate the full video configu
powerpc: use 'video-mode' environment variable to configure DIUUse the 'video-mode' environment variable (for Freescale chips that have aDIU display controller) to designate the full video configuration. Previously,the DIU driver used the 'monitor' variable, and it was used only to determinethe output video port.The old definition of the "monitor" environment variable only determineswhich video port to use for output. This variable was set to a number (0,1, or sometimes 2) to specify a DVI, LVDS, or Dual-LVDS port. Theresolution was hard-coded into board-specific code. The Linux command-linearguments needed to be hard-coded to the proper video definition string.Signed-off-by: Timur Tabi <timur@freescale.com>Signed-off-by: Anatolij Gustschin <agust@denx.de>
show more ...
powerpc/8xxx: Refactor fsl_ddr_get_spd into common code from boardMove fsl_ddr_get_spd into common mpc8xxx/ddr/main.c as most boardspretty much do the same thing. The only variations are in how m
powerpc/8xxx: Refactor fsl_ddr_get_spd into common code from boardMove fsl_ddr_get_spd into common mpc8xxx/ddr/main.c as most boardspretty much do the same thing. The only variations are in how manycontrollers or DIMMs per controller exist. To make this work westandardize on the names of the SPD_EEPROM_ADDRESS defines based on theuse case of the board.We allow boards to override get_spd to either do board specific fixupsto the SPD data or deal with any unique behavior of how the SPD eepromsare wired up.Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
powerpc/8xxx: Replace fsl_ddr_get_mem_data_rate with get_ddr_freq()Every 85xx board implements fsl_ddr_get_mem_data_rate via get_ddr_freq()and every 86xx board uses get_bus_freq(). If implement g
powerpc/8xxx: Replace fsl_ddr_get_mem_data_rate with get_ddr_freq()Every 85xx board implements fsl_ddr_get_mem_data_rate via get_ddr_freq()and every 86xx board uses get_bus_freq(). If implement get_ddr_freq()as a static inline to call get_bus_freq() we can removefsl_ddr_get_mem_data_rate altogether and just call get_ddr_freq()directly.Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
powerpc/86xx: Rework MPC8610HPCD pci_init_board to use common FSL PCIe codeRemove duplicated code in MPC8610HPCD board and utilize the commonfsl_pcie_init_board(). We also now dynamically setup t
powerpc/86xx: Rework MPC8610HPCD pci_init_board to use common FSL PCIe codeRemove duplicated code in MPC8610HPCD board and utilize the commonfsl_pcie_init_board(). We also now dynamically setup the LAWs for PCIcontrollers based on which PCIe controllers are enabled.Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
powerpc/8xxx: Replace is_fsl_pci_cfg with is_serdes_configuredNow that we have serdes support for all 85xx/86xx/Pxxx chips we canreplace the is_fsl_pci_cfg() code with the is_serdes_configured().
powerpc/8xxx: Replace is_fsl_pci_cfg with is_serdes_configuredNow that we have serdes support for all 85xx/86xx/Pxxx chips we canreplace the is_fsl_pci_cfg() code with the is_serdes_configured().Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Switch from archive libraries to partial linkingBefore this commit, weak symbols were not overridden by non-weak symbolsfound in archive libraries when linking with recent versions ofbinutils. A
Switch from archive libraries to partial linkingBefore this commit, weak symbols were not overridden by non-weak symbolsfound in archive libraries when linking with recent versions ofbinutils. As stated in the System V ABI, "the link editor does notextract archive members to resolve undefined weak symbols".This commit changes all Makefiles to use partial linking (ld -r) insteadof creating library archives, which forces all symbols to participate inlinking, allowing non-weak symbols to override weak symbols as intended.This approach is also used by Linux, from which the gmake functioncmd_link_o_target (defined in config.mk and used in all Makefiles) isinspired.The name of each former library archive is preserved except forextensions which change from ".a" to ".o". This commit updatesreferences accordingly where needed, in particular in some linkerscripts.This commit reveals board configurations that exclude some features butinclude source files that depend these disabled features in the build,resulting in undefined symbols. Known such cases include:- disabling CMD_NET but not CMD_NFS;- enabling CONFIG_OF_LIBFDT but not CONFIG_QE.Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
fsl: Clean up printing of PCI boot infoPreviously boards used a variety of indentations, newline styles, andcolon styles for the PCI information that is printed on bootup. Thispatch unifies the
fsl: Clean up printing of PCI boot infoPreviously boards used a variety of indentations, newline styles, andcolon styles for the PCI information that is printed on bootup. Thispatch unifies the style to look like:...NAND: 1024 MiBPCIE1: connected as Root Complex Scanning PCI bus 01 04 01 8086 1010 0200 00 04 01 8086 1010 0200 00 03 00 10b5 8112 0604 00 02 01 10b5 8518 0604 00 02 02 10b5 8518 0604 00 08 00 1957 0040 0b20 00 07 00 10b5 8518 0604 00 09 00 10b5 8112 0604 00 07 01 10b5 8518 0604 00 07 02 10b5 8518 0604 00 06 00 10b5 8518 0604 00 02 03 10b5 8518 0604 00 01 00 10b5 8518 0604 00PCIE1: Bus 00 - 0bPCIE2: connected as Root Complex Scanning PCI bus 0d 0d 00 1957 0040 0b20 00PCIE2: Bus 0c - 0dIn: serial...Signed-off-by: Peter Tyser <ptyser@xes-inc.com>CC: wd@denx.deCC: sr@denx.deCC: galak@kernel.crashing.org
86xx: Create common linker scriptSigned-off-by: Peter Tyser <ptyser@xes-inc.com>Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Makefile: move all Power Architecture boards into boards.cfgClean up Makefile, and drop a lot of the config.mk files on the way.We now also automatically pick all boards that are listed inboards
Makefile: move all Power Architecture boards into boards.cfgClean up Makefile, and drop a lot of the config.mk files on the way.We now also automatically pick all boards that are listed inboards.cfg (and with all configurations), so we can drop the redundantentries from MAKEALL to avoid building these twice.Signed-off-by: Wolfgang Denk <wd@denx.de>
Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEThe change is currently needed to be able to remove the boardconfiguration scripting from the top level Makefile and replace it bya simple, table driven
Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEThe change is currently needed to be able to remove the boardconfiguration scripting from the top level Makefile and replace it bya simple, table driven script.Moving this configuration setting into the "CONFIG_*" name space isalso desirable because it is needed if we ever should move forward toa Kconfig driven configuration system.Signed-off-by: Wolfgang Denk <wd@denx.de>
fsl_diu_fb: further refactoring of FSL DIU codeMove common code to the fsl_diu_fb.c file and remove obsoletecode from board files (aria, mpc8610hpcd and pdm360ng).Move fsl_diu_fb.h file to the in
fsl_diu_fb: further refactoring of FSL DIU codeMove common code to the fsl_diu_fb.c file and remove obsoletecode from board files (aria, mpc8610hpcd and pdm360ng).Move fsl_diu_fb.h file to the include directory.Signed-off-by: Anatolij Gustschin <agust@denx.de>
fsl: refactor MPC8610 and MPC5121 DIU code to use existing bitmap and logo featuresThe Freescale MPC8610 and MPC5121 DIU code had re-implement two features that alreadyexisted in U-Boot: bitmap dr
fsl: refactor MPC8610 and MPC5121 DIU code to use existing bitmap and logo featuresThe Freescale MPC8610 and MPC5121 DIU code had re-implement two features that alreadyexisted in U-Boot: bitmap drawing and top-of-screen logo (CONFIG_VIDEO_LOGO).So delete the 8610-specific code and use the built-in features instead.Signed-off-by: Timur Tabi <timur@freescale.com>
cmd_usage(): simplify return code handlingLots of code use this construct: cmd_usage(cmdtp); return 1;Change cmd_usage() let it return 1 - then we can replace all theseocurrances by return
cmd_usage(): simplify return code handlingLots of code use this construct: cmd_usage(cmdtp); return 1;Change cmd_usage() let it return 1 - then we can replace all theseocurrances by return cmd_usage(cmdtp);This fixes a few places with incorrect return code handling, too.Signed-off-by: Wolfgang Denk <wd@denx.de>
powerpc/85xx & 86xx: Rework ft_fsl_pci_setup to not require aliasesPreviously we used an alias the pci node to determine which node tofixup or delete. Now we use the new fdt_node_offset_by_compat
powerpc/85xx & 86xx: Rework ft_fsl_pci_setup to not require aliasesPreviously we used an alias the pci node to determine which node tofixup or delete. Now we use the new fdt_node_offset_by_compat_reg tofind the node to update.Additionally, we replace the code in each board with a single macro callthat makes assumes uniform naming and reduces duplication in this area.Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Make sure that argv[] argument pointers are not modified.The hush shell dynamically allocates (and re-allocates) memory for theargument strings in the "char *argv[]" argument vector passed tocomm
Make sure that argv[] argument pointers are not modified.The hush shell dynamically allocates (and re-allocates) memory for theargument strings in the "char *argv[]" argument vector passed tocommands. Any code that modifies these pointers will cause seriouscorruption of the malloc data structures and crash U-Boot, so makesure the compiler can check that no such modifications are being doneby changing the code into "char * const argv[]".This modification is the result of debugging a strange crash causedafter adding a new command, which used the following argumentprocessing code which has been working perfectly fine in all Unixsystems since version 6 - but not so in U-Boot:int main (int argc, char **argv){ while (--argc > 0 && **++argv == '-') {/* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ...}The line marked "====>" will corrupt the malloc data structures andusually cause U-Boot to crash when the next command gets executed bythe shell. With the modification, the compiler will prevent this withan error: increment of read-only location '*argv'N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ...Signed-off-by: Wolfgang Denk <wd@denx.de>Acked-by: Mike Frysinger <vapier@gentoo.org>
video: cfb_console: add weak default video_set_lut()Do not enforce drivers to provide empty video_set_lut()if they do not implement indexed color (8 bpp) framebuffer support. Add default function
video: cfb_console: add weak default video_set_lut()Do not enforce drivers to provide empty video_set_lut()if they do not implement indexed color (8 bpp) framebuffer support. Add default function to the cfb_consoledriver and remove empty video_set_lut() functions.Signed-off-by: Anatolij Gustschin <agust@denx.de>
Convert Makefiles from COBJS-${} to COBJS-$()Match style we use almost everywhere elseSigned-off-by: Kumar Gala <galak@kernel.crashing.org>
Move arch/ppc to arch/powerpcAs discussed on the list, move "arch/ppc" to "arch/powerpc" tobetter match the Linux directory structure.Please note that this patch also changes the "ppc" target in
Move arch/ppc to arch/powerpcAs discussed on the list, move "arch/ppc" to "arch/powerpc" tobetter match the Linux directory structure.Please note that this patch also changes the "ppc" target inMAKEALL to "powerpc" to match this new infrastructure. But "ppc"is kept as an alias for now, to not break compatibility withscripts using this name.Signed-off-by: Stefan Roese <sr@denx.de>Acked-by: Wolfgang Denk <wd@denx.de>Acked-by: Detlev Zundel <dzu@denx.de>Acked-by: Kim Phillips <kim.phillips@freescale.com>Cc: Peter Tyser <ptyser@xes-inc.com>Cc: Anatolij Gustschin <agust@denx.de>
ppc: Move cpu/$CPU to arch/ppc/cpu/$CPUSigned-off-by: Peter Tyser <ptyser@xes-inc.com>
Rename lib_generic/ to lib/Now that the other architecture-specific lib directories have beenmoved out of the top-level directory there's not much reason to have the'_generic' suffix on the commo
Rename lib_generic/ to lib/Now that the other architecture-specific lib directories have beenmoved out of the top-level directory there's not much reason to have the'_generic' suffix on the common lib directory.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Move lib_$ARCH directories to arch/$ARCH/libAlso move lib_$ARCH/config.mk to arch/$ARCH/config.mkThis change is intended to clean up the top-level directory structureand more closely mimic Linux
Move lib_$ARCH directories to arch/$ARCH/libAlso move lib_$ARCH/config.mk to arch/$ARCH/config.mkThis change is intended to clean up the top-level directory structureand more closely mimic Linux's directory organization.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
fsl: improve the PIXIS code and fix a few bugsRefactor and document the Freescale PIXIS code, used on most 85xx and 86xxboards. This makes the code easier to read and more flexible.Delete pixis
fsl: improve the PIXIS code and fix a few bugsRefactor and document the Freescale PIXIS code, used on most 85xx and 86xxboards. This makes the code easier to read and more flexible.Delete pixis.h, because none of the exported functions were actually beingused by any other file. Make all of the functions in pixis.c 'static'.Remove "#include pixis.h" from every file that has it.Remove some unnecessary #includes.Make 'pixis_base' into a macro, so that we don't need to define it in everyfunction.Add "while(1);" loops at the end of functions that reset the board, so thatexecution doesn't continue while the reset is in progress.Replace in_8/out_8 calls with clrbits_8, setbits_8, or clrsetbits_8, whereappropriate.Replace ulong/uint with their spelled-out equivalents. Remove unnecessarytypecasts, changing the types of some variables if necessary.Add CONFIG_SYS_PIXIS_VCFGEN0_ENABLE and CONFIG_SYS_PIXIS_VBOOT_ENABLE to makeit easier for specific boards to support variations in the PIXIS registerssets. No current boards appears to need this feature.Fix the definition of CONFIG_SYS_PIXIS_VBOOT_MASK for the MPC8610 HPCD.Apparently, "pixis_reset altbank" has never worked on this board.Signed-off-by: Timur Tabi <timur@freescale.com>Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
mpc86xx: set the DDR BATs after calculating true DDR sizeAfter determining how much DDR is actually in the system, set DBAT0 andIBAT0 accordingly. This ensures that the CPU won't attempt to acces
mpc86xx: set the DDR BATs after calculating true DDR sizeAfter determining how much DDR is actually in the system, set DBAT0 andIBAT0 accordingly. This ensures that the CPU won't attempt to access(via speculation) addresses outside of actual memory.On 86xx systems, DBAT0 and IBAT0 (the BATs for DDR) are initialized to 2GBand kept that way. If the system has less than 2GB of memory (typical foran MPC8610 HPCD), the CPU may attempt to access this memory duringspeculation. The zlib code is notorious for generating such memory reads,and indeed on the MPC8610, uncompressing the Linux kernel causes a machinecheck (without this patch).Currently we are limited to power of two sized DDR since we only use asingle bat. If a non-power of two size is used that is less thanCONFIG_MAX_MEM_MAPPED u-boot will crash.Signed-off-by: Timur Tabi <timur@freescale.com>Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
PCIe, USB: Replace 'end point' references with 'endpoint'When referring to PCIe and USB 'endpoint' is the standard namingconvention.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>Acked-by: Stef
PCIe, USB: Replace 'end point' references with 'endpoint'When referring to PCIe and USB 'endpoint' is the standard namingconvention.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>Acked-by: Stefan Roese <sr@denx.de>Acked-by: Remy Bohmer <linux@bohmer.net>
12345