linux/arch/powerpc/platforms/85xx
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
..
common.c powerpc/85xx: don't call of_platform_bus_probe() twice 2012-04-19 14:43:27 -05:00
corenet_ds.c powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
corenet_ds.h powerpc/p4080: Add basic support for p4080ds platform 2009-11-20 16:45:38 -06:00
ge_imp3a.c powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
Kconfig powerpc: remove Wind River SBC8560 support 2012-07-10 07:07:21 -05:00
ksi8560.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
Makefile powerpc: remove Wind River SBC8560 support 2012-07-10 07:07:21 -05:00
mpc85xx_ads.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
mpc85xx_cds.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
mpc85xx_ds.c powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
mpc85xx_mds.c powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
mpc85xx_rdb.c powerpc/85xx: Add P1024rdb board support 2012-07-10 07:07:21 -05:00
mpc85xx.h powerpc/85xx: consolidate of_platform_bus_probe calls 2011-11-24 02:01:41 -06:00
mpc8536_ds.c powerpc: Fix assmption of end_of_DRAM() returns end address 2012-07-03 14:14:49 +10:00
p1010rdb.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
p1022_ds.c powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS 2012-07-10 07:07:21 -05:00
p1023_rds.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
p2041_rdb.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
p3041_ds.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
p3060_qds.c powerpc/85xx: Fix compile error on p3060_qds.c 2011-11-23 22:55:47 -06:00
p4080_ds.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
p5020_ds.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sbc8548.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
smp.c powerpc/85xx: Move mpc85xx_smp_init() decl to a new "smp.h" 2011-12-07 13:43:06 +11:00
smp.h powerpc/85xx: Move mpc85xx_smp_init() decl to a new "smp.h" 2011-12-07 13:43:06 +11:00
socrates_fpga_pic.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
socrates_fpga_pic.h powerpc/85xx: Add support for the "socrates" board (MPC8544). 2009-03-27 06:42:08 -05:00
socrates.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
stx_gp3.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
tqm85xx.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
xes_mpc85xx.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00