linux/arch/arm/mach-pxa
Paul Parsons 11407e5713 pxa/hx4700: Correct StrataFlash block size discovery
The HP iPAQ hx4700 has 128Mb of flash provided by two Intel StrataFlash devices.
The hx4700 platform configuration defines a single 128Mb flash resource,
resulting in the MTD physmap-flash driver probing the first device only and
presuming the second device is identical:

physmap platform flash device: 08000000 at 00000000
physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008816
physmap-flash: Found 2 x16 devices at 0x4000000 in 32-bit bank
<snip>
erase region 0: offset=0x0,size=0x10000,blocks=4
erase region 1: offset=0x40000,size=0x40000,blocks=255
erase region 2: offset=0x4000000,size=0x10000,blocks=4
erase region 3: offset=0x4040000,size=0x40000,blocks=255
physmap-flash: 2 set(s) of 2 interleaved chips --> 32 partitions of 4096 KiB

Unfortunately the two devices are not identical. The first has a device ID of
0x8816, identifying a bottom parameter device. The second has a device ID of
0x8813, identifying a top parameter device. By not probing the second device,
physmap-flash does not discover the correct block sizes.

This patch splits the configuration into two 64Mb flash resources, forcing
physmap-flash to probe both devices and thus discover the correct block sizes:

physmap platform flash device: 04000000 at 00000000
physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008816
<snip>
erase region 0: offset=0x0,size=0x10000,blocks=4
erase region 1: offset=0x40000,size=0x40000,blocks=255
physmap-flash: 1 set(s) of 2 interleaved chips --> 16 partitions of 4096 KiB
physmap platform flash device: 04000000 at 04000000
physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008813
<snip>
erase region 0: offset=0x0,size=0x40000,blocks=255
erase region 1: offset=0x3fc0000,size=0x10000,blocks=4
physmap-flash: 1 set(s) of 2 interleaved chips --> 16 partitions of 4096 KiB
Concatenating MTD devices:
(0): "physmap-flash"
(1): "physmap-flash"
into device "physmap-flash"

Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
2012-02-28 10:20:35 +08:00
..
include/mach Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
am200epd.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
am300epd.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
balloon3.c Driver specific changes 2012-01-09 14:39:22 -08:00
capc7117.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
clock-pxa2xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
clock-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
cm-x2xx-pci.c ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
cm-x2xx-pci.h
cm-x2xx.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
cm-x255.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
cm-x270.c ARM: pxa: rename gpio_to_irq and irq_to_gpio 2011-11-14 21:07:59 +08:00
cm-x300.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
colibri-evalboard.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
colibri-pxa3xx.c mtd: pxa3xx_nand: enable multiple chip select support 2011-09-11 15:02:15 +03:00
colibri-pxa270-income.c ARM: pxa: Fix typo 'CONFIG_BACKLIGHT_PWM__MODULE' 2011-10-31 10:55:26 +01:00
colibri-pxa270.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
colibri-pxa300.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
colibri-pxa320.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
corgi.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
corgi_pm.c ARM: pxa: fix the build error because of missing gpio-pxa.h 2011-12-08 16:12:55 +00:00
cpufreq-pxa2xx.c ARM: pxa: Access SMEMC via virtual addresses 2010-12-16 14:31:16 +08:00
cpufreq-pxa3xx.c ARM: pxa: reduce the scope of get_clk_frequency_khz() 2010-10-09 17:07:30 +08:00
csb701.c [ARM] pxa/csb701: do not register devices on non-csb726 boads 2009-04-04 10:26:35 +08:00
csb726.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
devices.c Revert "RTC: sa1100: support sa1100, pxa and mmp soc families" 2012-01-19 17:19:18 +00:00
devices.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
em-x270.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
eseries.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
eseries.h ARM: PXA: eseries: fix eseries_register_clks section mismatch warning 2011-11-05 19:09:42 +00:00
ezx.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
generic.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
generic.h ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
gumstix.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
h5000.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
himalaya.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
hx4700.c pxa/hx4700: Correct StrataFlash block size discovery 2012-02-28 10:20:35 +08:00
icontrol.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
idp.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
irq.c ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
Kconfig ARM: pxa: sharpsl pm needs SPI 2011-10-08 21:03:06 +08:00
leds-idp.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds-lubbock.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds-mainstone.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds.c
leds.h
littleton.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
lpd270.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
lubbock.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
magician.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
mainstone.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
Makefile ARM: pxa: pxa95x/saarb depends on pxa3xx code 2011-10-08 21:03:00 +08:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mfp-pxa2xx.c ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
mfp-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
mioa701.c Driver specific changes 2012-01-09 14:39:22 -08:00
mioa701_bootresume.S
mp900.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
mxm8x10.c Merge branches 'drivers/macb-gem' and 'drivers/pxa-gpio' into next/drivers 2011-11-23 20:47:41 +00:00
palm27x.c ARM: pxa: fix inconsistent CONFIG_USB_PXA27X 2011-11-10 15:32:27 +08:00
palmld.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmt5.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmtc.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmte2.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmtreo.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmtx.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
palmz72.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
pcm027.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
pcm990-baseboard.c ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
pm.c ARM: pm: move cpu_init() call into core code 2011-06-24 08:48:43 +01:00
poodle.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
pxa2xx.c [ARM] pxa: add gpio_pwdown(_inverted) into pxaficp_ir.c 2009-09-10 18:49:39 +08:00
pxa3xx-ulpi.c ARM: pxa: export symbols from pxa3xx-ulpi 2011-10-08 21:02:58 +08:00
pxa3xx.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa25x.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa27x.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa95x.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa300.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa320.c Revert "ARM: pxa: add dummy clock for sa1100-rtc" 2012-01-19 11:59:07 +00:00
pxa930.c ARM: pxa: support pxa95x 2010-12-18 21:02:14 +08:00
raumfeld.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
reset.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
saar.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
saarb.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
sharpsl_pm.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
sleep.S ARM: pm: pxa: move cpu_suspend into C code 2011-06-24 08:48:45 +01:00
smemc.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
spitz.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
spitz_pm.c ARM: pxa: fix build error for GPIO_bit() 2011-12-08 16:12:55 +00:00
standby.S [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
stargate2.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
tavorevb.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
tavorevb3.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
time.c ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime 2011-12-18 23:00:26 +00:00
tosa-bt.c ARM: pxa/tosa: drop setting LED trigger name, as it's unsupported now 2011-02-27 21:38:18 +08:00
tosa.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
trizeps4.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
viper.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
vpac270.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
xcep.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
z2.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
zeus.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
zylonite.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
zylonite_pxa300.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
zylonite_pxa320.c [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot 2009-12-29 14:11:34 +08:00