linux_dsm_epyc7002/arch/powerpc/platforms
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
..
8xx Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
40x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
44x powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
52xx powerpc: Mark const init data with __initconst instead of __initdata 2012-04-02 14:00:03 +10:00
82xx powerpc/82xx: add SPI support for mgcoge 2012-07-10 07:07:20 -05:00
83xx powerpc/83xx: fix RGMII AC values workaround for km83xx 2012-07-10 07:07:20 -05:00
85xx powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS 2012-07-10 07:07:21 -05:00
86xx powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
512x irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
amigaone pcspkr: Cleanup Kconfig dependencies 2011-06-09 15:01:41 +02:00
cell powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
chrp powerpc/mpic: Remove duplicate MPIC_WANTS_RESET flag 2012-02-23 10:50:00 +11:00
embedded6xx Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
maple Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
pasemi Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
powermac Merge branch 'merge' into next 2012-05-09 10:57:57 +10:00
powernv powerpc: Change LOAD_REG_ADDR to use real register names 2012-07-10 19:18:14 +10:00
prep powerpc: drop unused Kconfig symbols 2011-10-31 23:39:52 +01:00
ps3 powerpc/ps3: Minor Kconfig cleanup 2012-04-24 15:34:19 -07:00
pseries powerpc/pseries: Fix whitespace in eeh 2012-07-10 19:18:49 +10:00
wsp Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
fsl_uli1575.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
Kconfig powerpc: add support for MPIC message register API 2012-03-16 16:15:28 -05:00
Kconfig.cputype Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-05-23 09:02:42 -07:00
Makefile powerpc: Remove the main legacy iSerie platform code 2012-03-09 10:35:11 +11:00