Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f26a3988 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] macintosh: Replace deprecated __initcall with device_initcall
  [POWERPC] cell: Fix section mismatches in io-workarounds code
  [POWERPC] spufs: Fix compile error
  [POWERPC] Fix uninitialized variable bug in copy_{to|from}_user
  [POWERPC] Add null pointer check to of_find_property
  [POWERPC] vmemmap fixes to use smaller pages
  [POWERPC] spufs: Fix pointer reference in find_victim
  [POWERPC] 85xx: SBC8548 - Add flash support and HW Rev reporting
  [POWERPC] 85xx: Fix some sparse warnings for 85xx MDS
  [POWERPC] 83xx: Enable DMA engine on the MPC8377 MDS board.
  [POWERPC] 86xx: mpc8610_hpcd: fix second serial port
  [POWERPC] 86xx: mpc8610_hpcd: add support for NOR and NAND flashes
  [POWERPC] 85xx: Add 8568 PHY workarounds to board code
  [POWERPC] 86xx: mpc8610_hpcd: use ULI526X driver for on-board ethernet
parents ac0e9c30 faa5b9da
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -268,6 +268,33 @@
			interrupt-parent = <&ipic>;
		};

		dma@82a8 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8349-dma";
			reg = <0x82a8 4>;
			ranges = <0 0x8100 0x1a8>;
			interrupt-parent = <&ipic>;
			interrupts = <0x47 8>;
			cell-index = <0>;
			dma-channel@0 {
				compatible = "fsl,mpc8349-dma-channel";
				reg = <0 0x80>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8349-dma-channel";
				reg = <0x80 0x80>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8349-dma-channel";
				reg = <0x100 0x80>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8349-dma-channel";
				reg = <0x180 0x28>;
			};
		};

		/* IPIC
		 * interrupts cell = <intr #, sense>
		 * sense values match linux IORESOURCE_IRQ_* defines:
+57 −3
Original line number Diff line number Diff line
@@ -46,9 +46,63 @@
		reg = <0x00000000 0x20000000>;	// 512M at 0x0
	};

	board-control@e8000000 {
	localbus@e0005000 {
		#address-cells = <2>;
		#size-cells = <1>;
		compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
		reg = <0xe0005000 0x1000>;
		interrupts = <19 2>;
		interrupt-parent = <&mpic>;
		ranges = <0 0 0xf8000000 0x08000000
			  1 0 0xf0000000 0x08000000
			  2 0 0xe8400000 0x00008000
			  4 0 0xe8440000 0x00008000
			  5 0 0xe8480000 0x00008000
			  6 0 0xe84c0000 0x00008000
			  3 0 0xe8000000 0x00000020>;

		flash@0,0 {
			compatible = "cfi-flash";
			reg = <0 0 0x8000000>;
			bank-width = <2>;
			device-width = <1>;
		};

		flash@1,0 {
			compatible = "cfi-flash";
			reg = <1 0 0x8000000>;
			bank-width = <2>;
			device-width = <1>;
		};

		flash@2,0 {
			compatible = "fsl,mpc8610-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <2 0 0x8000>;
		};

		flash@4,0 {
			compatible = "fsl,mpc8610-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <4 0 0x8000>;
		};

		flash@5,0 {
			compatible = "fsl,mpc8610-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <5 0 0x8000>;
		};

		flash@6,0 {
			compatible = "fsl,mpc8610-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <6 0 0x8000>;
		};

		board-control@3,0 {
			compatible = "fsl,fpga-pixis";
		reg = <0xe8000000 32>;		// pixis at 0xe8000000
			reg = <3 0 0x20>;
		};
	};

	soc@e0000000 {
+94 −0
Original line number Diff line number Diff line
@@ -52,6 +52,99 @@
		reg = <0x00000000 0x10000000>;
	};

	localbus@e0000000 {
		#address-cells = <2>;
		#size-cells = <1>;
		compatible = "simple-bus";
		reg = <0xe0000000 0x5000>;
		interrupt-parent = <&mpic>;

		ranges = <0x0 0x0 0xff800000 0x00800000		/*8MB Flash*/
			  0x3 0x0 0xf0000000 0x04000000		/*64MB SDRAM*/
			  0x4 0x0 0xf4000000 0x04000000 	/*64MB SDRAM*/
			  0x5 0x0 0xf8000000 0x00b10000		/* EPLD */
			  0x6 0x0 0xfb800000 0x04000000>;	/*64MB Flash*/


		flash@0,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "cfi-flash";
			reg = <0x0 0x0 0x800000>;
			bank-width = <1>;
			device-width = <1>;
			partition@0x0 {
				label = "space";
				reg = <0x00000000 0x00100000>;
			};
			partition@0x100000 {
				label = "bootloader";
				reg = <0x00100000 0x00700000>;
				read-only;
			};
		};

		epld@5,0 {
			compatible = "wrs,epld-localbus";
			#address-cells = <2>;
			#size-cells = <1>;
			reg = <0x5 0x0 0x00b10000>;
			ranges = <
				0x0 0x0 0x5 0x000000 0x1fff	/* LED */
				0x1 0x0 0x5 0x100000 0x1fff	/* Switches */
				0x3 0x0 0x5 0x300000 0x1fff	/* HW Rev. */
				0xb 0x0	0x5 0xb00000 0x1fff	/* EEPROM */
			>;

			led@0,0 {
				compatible = "led";
				reg = <0x0 0x0 0x1fff>;
			};

			switches@1,0 {
				compatible = "switches";
				reg = <0x1 0x0 0x1fff>;
			};

			hw-rev@3,0 {
				compatible = "hw-rev";
				reg = <0x3 0x0 0x1fff>;
			};

			eeprom@b,0 {
				compatible = "eeprom";
				reg = <0xb 0 0x1fff>;
			};

		};

		alt-flash@6,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x6 0x0 0x04000000>;
			compatible = "cfi-flash";
			bank-width = <4>;
			device-width = <1>;
			partition@0x0 {
				label = "bootloader";
				reg = <0x00000000 0x00100000>;
				read-only;
			};
			partition@0x00100000 {
				label = "file-system";
				reg = <0x00100000 0x01f00000>;
			};
			partition@0x02000000 {
				label = "boot-config";
				reg = <0x02000000 0x00100000>;
			};
			partition@0x02100000 {
				label = "space";
				reg = <0x02100000 0x01f00000>;
			};
                };
        };

	soc8548@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
@@ -59,6 +152,7 @@
		ranges = <0x00000000 0xe0000000 0x00100000>;
		reg = <0xe0000000 0x00001000>;	// CCSRBAR
		bus-frequency = <0>;
		compatible = "simple-bus";

		memory-controller@2000 {
			compatible = "fsl,8548-memory-controller";
+89 −6
Original line number Diff line number Diff line
@@ -358,7 +358,93 @@ CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_MTD_OOPS is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_NAND_ECC_SMC is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
CONFIG_MTD_NAND_FSL_ELBC=y
# CONFIG_MTD_ONENAND is not set

#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
CONFIG_OF_DEVICE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
@@ -567,14 +653,11 @@ CONFIG_MII=y
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_ULI526X is not set
CONFIG_ULI526X=y
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
+26 −2
Original line number Diff line number Diff line
@@ -94,6 +94,9 @@ unsigned long htab_hash_mask;
int mmu_linear_psize = MMU_PAGE_4K;
int mmu_virtual_psize = MMU_PAGE_4K;
int mmu_vmalloc_psize = MMU_PAGE_4K;
#ifdef CONFIG_SPARSEMEM_VMEMMAP
int mmu_vmemmap_psize = MMU_PAGE_4K;
#endif
int mmu_io_psize = MMU_PAGE_4K;
int mmu_kernel_ssize = MMU_SEGSIZE_256M;
int mmu_highuser_ssize = MMU_SEGSIZE_256M;
@@ -387,11 +390,32 @@ static void __init htab_init_page_sizes(void)
	}
#endif /* CONFIG_PPC_64K_PAGES */

#ifdef CONFIG_SPARSEMEM_VMEMMAP
	/* We try to use 16M pages for vmemmap if that is supported
	 * and we have at least 1G of RAM at boot
	 */
	if (mmu_psize_defs[MMU_PAGE_16M].shift &&
	    lmb_phys_mem_size() >= 0x40000000)
		mmu_vmemmap_psize = MMU_PAGE_16M;
	else if (mmu_psize_defs[MMU_PAGE_64K].shift)
		mmu_vmemmap_psize = MMU_PAGE_64K;
	else
		mmu_vmemmap_psize = MMU_PAGE_4K;
#endif /* CONFIG_SPARSEMEM_VMEMMAP */

	printk(KERN_DEBUG "Page orders: linear mapping = %d, "
	       "virtual = %d, io = %d\n",
	       "virtual = %d, io = %d"
#ifdef CONFIG_SPARSEMEM_VMEMMAP
	       ", vmemmap = %d"
#endif
	       "\n",
	       mmu_psize_defs[mmu_linear_psize].shift,
	       mmu_psize_defs[mmu_virtual_psize].shift,
	       mmu_psize_defs[mmu_io_psize].shift);
	       mmu_psize_defs[mmu_io_psize].shift
#ifdef CONFIG_SPARSEMEM_VMEMMAP
	       ,mmu_psize_defs[mmu_vmemmap_psize].shift
#endif
	       );

#ifdef CONFIG_HUGETLB_PAGE
	/* Init large page size. Currently, we pick 16M or 1M depending
Loading