[POWERPC] 86xx: mpc8610_hpcd: add support for NOR and NAND flashes

This patch adds device tree nodes for NOR and NAND flashes and places
board-control node inside the localbus.

defconfig and board file updated appropriately.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

authored by Anton Vorontsov and committed by Kumar Gala 34b4a873 94833a42

+145 -4
+57 -3
arch/powerpc/boot/dts/mpc8610_hpcd.dts
··· 46 46 reg = <0x00000000 0x20000000>; // 512M at 0x0 47 47 }; 48 48 49 - board-control@e8000000 { 50 - compatible = "fsl,fpga-pixis"; 51 - reg = <0xe8000000 32>; // pixis at 0xe8000000 49 + localbus@e0005000 { 50 + #address-cells = <2>; 51 + #size-cells = <1>; 52 + compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus"; 53 + reg = <0xe0005000 0x1000>; 54 + interrupts = <19 2>; 55 + interrupt-parent = <&mpic>; 56 + ranges = <0 0 0xf8000000 0x08000000 57 + 1 0 0xf0000000 0x08000000 58 + 2 0 0xe8400000 0x00008000 59 + 4 0 0xe8440000 0x00008000 60 + 5 0 0xe8480000 0x00008000 61 + 6 0 0xe84c0000 0x00008000 62 + 3 0 0xe8000000 0x00000020>; 63 + 64 + flash@0,0 { 65 + compatible = "cfi-flash"; 66 + reg = <0 0 0x8000000>; 67 + bank-width = <2>; 68 + device-width = <1>; 69 + }; 70 + 71 + flash@1,0 { 72 + compatible = "cfi-flash"; 73 + reg = <1 0 0x8000000>; 74 + bank-width = <2>; 75 + device-width = <1>; 76 + }; 77 + 78 + flash@2,0 { 79 + compatible = "fsl,mpc8610-fcm-nand", 80 + "fsl,elbc-fcm-nand"; 81 + reg = <2 0 0x8000>; 82 + }; 83 + 84 + flash@4,0 { 85 + compatible = "fsl,mpc8610-fcm-nand", 86 + "fsl,elbc-fcm-nand"; 87 + reg = <4 0 0x8000>; 88 + }; 89 + 90 + flash@5,0 { 91 + compatible = "fsl,mpc8610-fcm-nand", 92 + "fsl,elbc-fcm-nand"; 93 + reg = <5 0 0x8000>; 94 + }; 95 + 96 + flash@6,0 { 97 + compatible = "fsl,mpc8610-fcm-nand", 98 + "fsl,elbc-fcm-nand"; 99 + reg = <6 0 0x8000>; 100 + }; 101 + 102 + board-control@3,0 { 103 + compatible = "fsl,fpga-pixis"; 104 + reg = <3 0 0x20>; 105 + }; 52 106 }; 53 107 54 108 soc@e0000000 {
+87 -1
arch/powerpc/configs/mpc8610_hpcd_defconfig
··· 358 358 # CONFIG_DEBUG_DEVRES is not set 359 359 # CONFIG_SYS_HYPERVISOR is not set 360 360 # CONFIG_CONNECTOR is not set 361 - # CONFIG_MTD is not set 361 + CONFIG_MTD=y 362 + # CONFIG_MTD_DEBUG is not set 363 + # CONFIG_MTD_CONCAT is not set 364 + CONFIG_MTD_PARTITIONS=y 365 + # CONFIG_MTD_REDBOOT_PARTS is not set 366 + CONFIG_MTD_CMDLINE_PARTS=y 367 + # CONFIG_MTD_OF_PARTS is not set 368 + # CONFIG_MTD_AR7_PARTS is not set 369 + 370 + # 371 + # User Modules And Translation Layers 372 + # 373 + CONFIG_MTD_CHAR=y 374 + CONFIG_MTD_BLKDEVS=y 375 + CONFIG_MTD_BLOCK=y 376 + # CONFIG_FTL is not set 377 + # CONFIG_NFTL is not set 378 + # CONFIG_INFTL is not set 379 + # CONFIG_RFD_FTL is not set 380 + # CONFIG_SSFDC is not set 381 + # CONFIG_MTD_OOPS is not set 382 + 383 + # 384 + # RAM/ROM/Flash chip drivers 385 + # 386 + CONFIG_MTD_CFI=y 387 + # CONFIG_MTD_JEDECPROBE is not set 388 + CONFIG_MTD_GEN_PROBE=y 389 + # CONFIG_MTD_CFI_ADV_OPTIONS is not set 390 + CONFIG_MTD_MAP_BANK_WIDTH_1=y 391 + CONFIG_MTD_MAP_BANK_WIDTH_2=y 392 + CONFIG_MTD_MAP_BANK_WIDTH_4=y 393 + # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set 394 + # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set 395 + # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set 396 + CONFIG_MTD_CFI_I1=y 397 + CONFIG_MTD_CFI_I2=y 398 + # CONFIG_MTD_CFI_I4 is not set 399 + # CONFIG_MTD_CFI_I8 is not set 400 + # CONFIG_MTD_CFI_INTELEXT is not set 401 + CONFIG_MTD_CFI_AMDSTD=y 402 + # CONFIG_MTD_CFI_STAA is not set 403 + CONFIG_MTD_CFI_UTIL=y 404 + # CONFIG_MTD_RAM is not set 405 + # CONFIG_MTD_ROM is not set 406 + # CONFIG_MTD_ABSENT is not set 407 + 408 + # 409 + # Mapping drivers for chip access 410 + # 411 + # CONFIG_MTD_COMPLEX_MAPPINGS is not set 412 + # CONFIG_MTD_PHYSMAP is not set 413 + CONFIG_MTD_PHYSMAP_OF=y 414 + # CONFIG_MTD_INTEL_VR_NOR is not set 415 + # CONFIG_MTD_PLATRAM is not set 416 + 417 + # 418 + # Self-contained MTD device drivers 419 + # 420 + # CONFIG_MTD_PMC551 is not set 421 + # CONFIG_MTD_SLRAM is not set 422 + # CONFIG_MTD_PHRAM is not set 423 + # CONFIG_MTD_MTDRAM is not set 424 + # CONFIG_MTD_BLOCK2MTD is not set 425 + 426 + # 427 + # Disk-On-Chip Device Drivers 428 + # 429 + # CONFIG_MTD_DOC2000 is not set 430 + # CONFIG_MTD_DOC2001 is not set 431 + # CONFIG_MTD_DOC2001PLUS is not set 432 + CONFIG_MTD_NAND=y 433 + # CONFIG_MTD_NAND_VERIFY_WRITE is not set 434 + # CONFIG_MTD_NAND_ECC_SMC is not set 435 + # CONFIG_MTD_NAND_MUSEUM_IDS is not set 436 + CONFIG_MTD_NAND_IDS=y 437 + # CONFIG_MTD_NAND_DISKONCHIP is not set 438 + # CONFIG_MTD_NAND_CAFE is not set 439 + # CONFIG_MTD_NAND_NANDSIM is not set 440 + # CONFIG_MTD_NAND_PLATFORM is not set 441 + CONFIG_MTD_NAND_FSL_ELBC=y 442 + # CONFIG_MTD_ONENAND is not set 443 + 444 + # 445 + # UBI - Unsorted block images 446 + # 447 + # CONFIG_MTD_UBI is not set 362 448 CONFIG_OF_DEVICE=y 363 449 # CONFIG_PARPORT is not set 364 450 CONFIG_BLK_DEV=y
+1
arch/powerpc/platforms/86xx/mpc8610_hpcd.c
··· 43 43 44 44 static struct of_device_id __initdata mpc8610_ids[] = { 45 45 { .compatible = "fsl,mpc8610-immr", }, 46 + { .compatible = "simple-bus", }, 46 47 {} 47 48 }; 48 49