linux_dsm_epyc7002/arch/powerpc/boot
Timur Tabi 6bd825f029 powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS
In order to enable the DIU video controller on the P1022DS, the FPGA needs
to be switched to "indirect mode", where the localbus is disabled and
the FPGA is accessed via writes to localbus chip select signals CS0 and CS1.

To obtain the address of CS0 and CS1, the platform driver uses an "indirect
pixis mode" device tree node.  This node assumes that the localbus 'ranges'
property is sorted in chip-select order.  That is, reg value 0 maps to
CS0, reg value 1 maps to CS1, etc.  This is how the 'ranges' property is
supposed to be arranged.

Unfortunately, the 'ranges' property is often mis-arranged, and not just on
the P1022DS.  Linux normally does not care, since it does not program the
localbus.  But the indirect-mode code on the P1022DS does care.

The "proper" fix is to have U-Boot fix the 'ranges' property, but this would
be too cumbersome.  The names and 'reg' properties of all the localbus
devices would also need to be updated, and determining which localbus device
maps to which chip select is board-specific.

Instead, we determine the CS0/CS1 base addresses the same way that U-boot
does -- by reading the BRx registers directly and mapping them to physical
addresses.  This code is simpler and more reliable, and it does not require
a U-boot or device tree change.

Since the indirect pixis device tree node is no longer needed, the node is
deleted from the DTS.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-10 07:07:21 -05:00
..
dts powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS 2012-07-10 07:07:21 -05:00
.gitignore powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
4xx.c powerpc/44x: Fix UART clocks on 440SPe 2010-05-12 07:48:49 -04:00
4xx.h powerpc/405ex: provide necessary fixup function to support cuImage 2009-08-31 09:20:55 -04:00
44x.h [POWERPC] cuimage for Bamboo board 2007-09-19 21:13:16 -05:00
addnote.c powerpc: Use static const char arrays 2010-10-13 16:19:03 +11:00
bamboo.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cpm-serial.c [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. 2008-04-17 01:01:37 -05:00
crt0.S powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN 2011-04-20 16:59:20 +10:00
crtsavres.S [POWERPC] Fix bootwrapper builds with newer gcc versions 2008-06-16 15:00:52 +10:00
cuboot-8xx.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
cuboot-52xx.c powerpc/52xx: Make cuImage more robust in locating immr node. 2008-10-15 11:09:59 -06:00
cuboot-83xx.c [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias 2008-01-23 19:32:47 -06:00
cuboot-85xx-cpm2.c [POWERPC] Add a cuboot wrapper for 85xx with CPM2 2008-01-27 14:10:36 -06:00
cuboot-85xx.c powerpc/85xx: cuboot - Fix up ethernet3 MAC address on MPC85xx 2009-06-15 21:45:32 -05:00
cuboot-824x.c [POWERPC] Add initial iomega StorCenter board port. 2008-01-23 19:54:36 -06:00
cuboot-acadia.c powerpc/40x: Add cuboot wrapper for Acadia board 2008-10-17 10:31:19 -04:00
cuboot-amigaone.c powerpc/amigaone: Bootwrapper and serial console support for AmigaOne 2009-02-11 16:00:09 +11:00
cuboot-bamboo.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-c2k.c powerpc: Boot code for the C2K 2008-06-09 13:42:25 +10:00
cuboot-ebony.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-hotfoot.c powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
cuboot-katmai.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-kilauea.c powerpc/405ex: support cuImage via included dtb 2009-08-31 09:23:22 -04:00
cuboot-mpc7448hpc2.c [POWERPC] bootwrapper: Build multiple cuImages 2008-02-07 11:40:19 +11:00
cuboot-pq2.c [POWERPC] cuboot-pq2: PCI fixes 2008-04-17 01:01:40 -05:00
cuboot-rainier.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-sam440ep.c powerpc/4xx: Sam440ep support 2008-06-11 08:32:49 -04:00
cuboot-sequoia.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-taishan.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-warp.c powerpc/44x: Warp patches for the new NDFC driver 2009-01-20 08:17:21 -05:00
cuboot-yosemite.c [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board 2008-03-26 07:19:17 -05:00
cuboot.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
cuboot.h [POWERPC] Consolidate cuboot initialization code 2007-06-14 22:30:16 +10:00
dcr.h powerpc/boot: Add mfdcrx 2011-12-09 07:49:50 -05:00
devtree.c powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry to use 2008-12-21 14:21:17 +11:00
div64.S powerpc/boot: Add extended precision shifts to the boot wrapper. 2011-12-09 07:49:27 -05:00
dummy.c powerpc/32: Generate miboot images with ARCH=powerpc 2006-01-15 13:00:08 +11:00
ebony.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
elf_util.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
elf.h [POWERPC] Move bootwrapper ELF parsing routines to a file 2007-04-13 03:55:16 +10:00
ep88xc.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
ep405.c [POWERPC] 4xx: EP405 boards support for arch/powerpc 2007-12-23 13:13:14 -06:00
ep8248e.c [POWERPC] 82xx: Embedded Planet EP8248E support 2008-01-23 19:34:43 -06:00
epapr.c powerpc/boot: Add an ePAPR compliant boot wrapper 2011-04-20 16:59:21 +10:00
fixed-head.S [POWERPC] 8xx/wrapper: Embedded Planet EP88xC support 2007-10-04 11:02:40 -05:00
fsl-soc.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
fsl-soc.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
gamecube-head.S powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
gamecube.c powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
gunzip_util.c [POWERPC] boot: Simplify gunzip_finish 2007-10-03 11:48:43 +10:00
gunzip_util.h [POWERPC] Add documentation for the zImage's gunzip convenience functions 2007-03-16 16:38:19 +11:00
hack-coff.c powerpc: Make COFF zImages for old 32-bit powermacs 2006-01-14 15:04:06 +11:00
holly.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
io.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
libfdt_env.h powerpc: Update in-kernel dtc and libfdt to version 1.2.0 2008-08-20 16:34:58 +10:00
libfdt-wrapper.c powerpc/boot: Allocate more memory for dtb 2008-11-06 09:49:43 +11:00
main.c powerpc: Fix format string warning in arch/powerpc/boot/main.c 2008-10-31 20:14:19 +11:00
Makefile powerpc: remove Wind River SBC8560 support 2012-07-10 07:07:21 -05:00
mktree.c powerpc: use consistent types in mktree 2009-08-20 10:29:30 +10:00
mpc8xx.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
mpc8xx.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
mpc52xx-psc.c [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
mpsc.c [POWERPC] prpmc2800: Clean up dts properties 2008-04-15 21:21:24 +10:00
mv64x60_i2c.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.h [POWERPC] Add bootwrapper support for Marvell/mv64x60 hostbridge 2007-05-12 11:32:49 +10:00
ns16550.c [POWERPC] Xilinx: boot support for Xilinx uart 16550. 2008-04-24 13:32:46 -05:00
of.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
of.h [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
ofconsole.c [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms 2007-06-28 19:19:28 +10:00
oflib.c powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
ops.h powerpc: Add del_node() for early boot code to prune inapplicable devices. 2008-10-22 15:01:21 +11:00
page.h powerpc: Move ppc64 boot wrapper code over to arch/powerpc 2005-11-16 13:52:21 +11:00
planetcore.c [POWERPC] bootwrapper: Add PlanetCore firmware support 2007-10-03 11:48:43 +10:00
planetcore.h [POWERPC] bootwrapper: Add PlanetCore firmware support 2007-10-03 11:48:43 +10:00
ppc_asm.h powerpc: Move ppc64 boot wrapper code over to arch/powerpc 2005-11-16 13:52:21 +11:00
ppcboot-hotfoot.h powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
ppcboot.h [POWERPC] bootwrapper: Add TARGET_HAS_ETHn tests to ppcboot.h 2007-08-22 15:21:48 +10:00
pq2.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
pq2.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
prpmc2800.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
ps3-head.S [POWERPC] PS3: Bootwrapper improvements 2008-04-01 20:43:07 +11:00
ps3-hvcall.S [POWERPC] PS3: Fix bootwrapper hang bug 2008-02-14 22:11:01 +11:00
ps3.c [POWERPC] PS3: Bootwrapper improvements 2008-04-01 20:43:07 +11:00
README powerpc: Move ppc64 boot wrapper code over to arch/powerpc 2005-11-16 13:52:21 +11:00
redboot-8xx.c [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
redboot-83xx.c [POWERPC] 83xx: Add support for Analogue & Micro ASP837E board 2008-06-02 14:44:25 -05:00
redboot.h [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
reg.h [POWERPC] 4xx: Add mfspr/mtspr inline macros to 4xx bootwrapper 2007-12-23 13:14:22 -06:00
rs6000.h powerpc: Make COFF zImages for old 32-bit powermacs 2006-01-14 15:04:06 +11:00
serial.c powerpc/amigaone: Bootwrapper and serial console support for AmigaOne 2009-02-11 16:00:09 +11:00
simple_alloc.c [POWERPC] bootwrapper: Use `unsigned long' for malloc sizes 2007-04-24 22:06:54 +10:00
simpleboot.c Move dtc and libfdt sources from arch/powerpc/boot to scripts/dtc 2009-05-02 16:52:26 -07:00
stdio.c [POWERPC] Add u64 printf to bootwrapper 2007-06-28 19:16:48 +10:00
stdio.h [POWERPC] Add gcc format warnings to zImage printf() 2007-03-26 15:11:20 +10:00
stdlib.c [POWERPC] bootwrapper: Add strtoull() 2007-09-14 01:33:23 +10:00
stdlib.h [POWERPC] bootwrapper: Add strtoull() 2007-09-14 01:33:23 +10:00
string.h [POWERPC] Add memchr() to the bootwrapper 2007-10-12 14:13:44 +10:00
string.S powerpc: Fix boot wrapper memcmp() called with zero length argument 2008-10-21 15:17:48 +11:00
treeboot-bamboo.c [POWERPC] cuimage for Bamboo board 2007-09-19 21:13:16 -05:00
treeboot-currituck.c powerpc/47x: Add support for the new IBM currituck platform 2011-12-09 07:51:40 -05:00
treeboot-ebony.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
treeboot-iss4xx.c powerpc/44x: boot wrapper: allow kernel to load into non-zero address 2011-07-12 09:34:41 -04:00
treeboot-walnut.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
types.h [POWERPC] Add signed types to bootwrapper 2007-06-28 19:16:47 +10:00
uartlite.c [POWERPC] Uartlite: bootwrapper bug fix, getc loops forever 2007-10-10 09:14:35 -06:00
ugecon.c powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg 2009-12-18 15:13:57 +11:00
ugecon.h powerpc: gamecube/wii: usbgecko bootwrapper console support 2009-12-12 22:24:26 -07:00
util.S [POWERPC] Add non-OF serial console support 2006-10-23 12:49:19 +10:00
virtex405-head.S [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. 2008-04-02 20:36:11 -05:00
virtex.c powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440 2008-07-04 00:58:59 -06:00
wii-head.S powerpc: wii: bootwrapper bits 2009-12-12 22:24:29 -07:00
wii.c wii: bootwrapper: add fixup to calc useable mem2 2009-12-12 22:24:31 -07:00
wrapper powerpc/ps3: Do not adjust the wrapper load address 2012-03-21 11:16:13 +11:00
zImage.coff.lds.S powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN 2011-04-20 16:59:20 +10:00
zImage.lds.S powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN 2011-04-20 16:59:20 +10:00
zImage.ps3.lds.S [POWERPC] PS3: Bootwrapper support. 2007-07-10 21:56:40 +10:00

To extract the kernel vmlinux, System.map, .config or initrd from the zImage binary:

objcopy -j .kernel:vmlinux -O binary zImage vmlinux.gz
objcopy -j .kernel:System.map -O binary zImage System.map.gz
objcopy -j .kernel:.config -O binary zImage config.gz
objcopy -j .kernel:initrd -O binary zImage.initrd initrd.gz


	Peter