You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits) [POWERPC] Add SPE registers to core dumps [POWERPC] Use regset code for compat PTRACE_*REGS* calls [POWERPC] Use generic compat_sys_ptrace [POWERPC] Use generic compat_ptrace_request [POWERPC] Use generic ptrace peekdata/pokedata [POWERPC] Use regset code for PTRACE_*REGS* requests [POWERPC] Switch to generic compat_binfmt_elf code [POWERPC] Switch to using user_regset-based core dumps [POWERPC] Add user_regset compat support [POWERPC] Add user_regset_view definitions [POWERPC] Use user_regset accessors for GPRs [POWERPC] ptrace accessors for special regs MSR and TRAP [POWERPC] Use user_regset accessors for SPE regs [POWERPC] Use user_regset accessors for altivec regs [POWERPC] Use user_regset accessors for FP regs [POWERPC] mpc52xx: fix compile error introduce when rebasing patch [POWERPC] 4xx: PCIe indirect DCR spinlock fix. [POWERPC] Add missing native dcr dcr_ind_lock spinlock [POWERPC] 4xx: Fix offset value on Warp board [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry ...
This commit is contained in:
@@ -57,6 +57,7 @@ Table of Contents
|
||||
n) 4xx/Axon EMAC ethernet nodes
|
||||
o) Xilinx IP cores
|
||||
p) Freescale Synchronous Serial Interface
|
||||
q) USB EHCI controllers
|
||||
|
||||
VII - Specifying interrupt information for devices
|
||||
1) interrupts property
|
||||
@@ -2577,6 +2578,20 @@ platforms are moved over to use the flattened-device-tree model.
|
||||
Requred properties:
|
||||
- current-speed : Baud rate of uartlite
|
||||
|
||||
v) Xilinx hwicap
|
||||
|
||||
Xilinx hwicap devices provide access to the configuration logic
|
||||
of the FPGA through the Internal Configuration Access Port
|
||||
(ICAP). The ICAP enables partial reconfiguration of the FPGA,
|
||||
readback of the configuration information, and some control over
|
||||
'warm boots' of the FPGA fabric.
|
||||
|
||||
Required properties:
|
||||
- xlnx,family : The family of the FPGA, necessary since the
|
||||
capabilities of the underlying ICAP hardware
|
||||
differ between different families. May be
|
||||
'virtex2p', 'virtex4', or 'virtex5'.
|
||||
|
||||
p) Freescale Synchronous Serial Interface
|
||||
|
||||
The SSI is a serial device that communicates with audio codecs. It can
|
||||
@@ -2775,6 +2790,33 @@ platforms are moved over to use the flattened-device-tree model.
|
||||
interrupt-parent = < &ipic >;
|
||||
};
|
||||
|
||||
q) USB EHCI controllers
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "usb-ehci".
|
||||
- reg : should contain at least address and length of the standard EHCI
|
||||
register set for the device. Optional platform-dependent registers
|
||||
(debug-port or other) can be also specified here, but only after
|
||||
definition of standard EHCI registers.
|
||||
- interrupts : one EHCI interrupt should be described here.
|
||||
If device registers are implemented in big endian mode, the device
|
||||
node should have "big-endian-regs" property.
|
||||
If controller implementation operates with big endian descriptors,
|
||||
"big-endian-desc" property should be specified.
|
||||
If both big endian registers and descriptors are used by the controller
|
||||
implementation, "big-endian" property can be specified instead of having
|
||||
both "big-endian-regs" and "big-endian-desc".
|
||||
|
||||
Example (Sequoia 440EPx):
|
||||
ehci@e0000300 {
|
||||
compatible = "ibm,usb-ehci-440epx", "usb-ehci";
|
||||
interrupt-parent = <&UIC0>;
|
||||
interrupts = <1a 4>;
|
||||
reg = <0 e0000300 90 0 e0000390 70>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
|
||||
More devices will be defined as this spec matures.
|
||||
|
||||
VII - Specifying interrupt information for devices
|
||||
|
||||
+2
-20
@@ -97,6 +97,7 @@ config EARLY_PRINTK
|
||||
config COMPAT
|
||||
bool
|
||||
default y if PPC64
|
||||
select COMPAT_BINFMT_ELF
|
||||
|
||||
config SYSVIPC_COMPAT
|
||||
bool
|
||||
@@ -438,25 +439,6 @@ config WANT_DEVICE_TREE
|
||||
bool
|
||||
default n
|
||||
|
||||
config DEVICE_TREE
|
||||
string "Static device tree source file"
|
||||
depends on WANT_DEVICE_TREE
|
||||
help
|
||||
This specifies the device tree source (.dts) file to be
|
||||
compiled and included when building the bootwrapper. If a
|
||||
relative filename is given, then it will be relative to
|
||||
arch/powerpc/boot/dts. If you are not using the bootwrapper,
|
||||
or do not need to build a dts into the bootwrapper, this
|
||||
field is ignored.
|
||||
|
||||
For example, this is required when building a cuImage target
|
||||
for an older U-Boot, which cannot pass a device tree itself.
|
||||
Such a kernel will not work with a newer U-Boot that tries to
|
||||
pass a device tree (unless you tell it not to). If your U-Boot
|
||||
does not mention a device tree in "help bootm", then use the
|
||||
cuImage target and specify a device tree here. Otherwise, use
|
||||
the uImage target and leave this field blank.
|
||||
|
||||
endmenu
|
||||
|
||||
config ISA_DMA_API
|
||||
@@ -512,7 +494,7 @@ config PCI
|
||||
bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
|
||||
|| PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
|
||||
|| PPC_PS3 || 44x
|
||||
default y if !40x && !CPM2 && !8xx && !PPC_83xx \
|
||||
default y if !40x && !CPM2 && !8xx && !PPC_MPC512x && !PPC_83xx \
|
||||
&& !PPC_85xx && !PPC_86xx
|
||||
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
|
||||
default PCI_QSPAN if !4xx && !CPM2 && 8xx
|
||||
|
||||
@@ -151,14 +151,11 @@ core-$(CONFIG_XMON) += arch/powerpc/xmon/
|
||||
drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
|
||||
|
||||
# Default to zImage, override when needed
|
||||
defaultimage-y := zImage
|
||||
defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage
|
||||
KBUILD_IMAGE := $(defaultimage-y)
|
||||
all: $(KBUILD_IMAGE)
|
||||
all: zImage
|
||||
|
||||
CPPFLAGS_vmlinux.lds := -Upowerpc
|
||||
|
||||
BOOT_TARGETS = zImage zImage.initrd uImage
|
||||
BOOT_TARGETS = zImage zImage.initrd uImage treeImage.% cuImage.%
|
||||
|
||||
PHONY += $(BOOT_TARGETS)
|
||||
|
||||
@@ -180,7 +177,7 @@ define archhelp
|
||||
endef
|
||||
|
||||
install: vdso_install
|
||||
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
|
||||
$(Q)$(MAKE) $(build)=$(boot) install
|
||||
|
||||
vdso_install:
|
||||
ifeq ($(CONFIG_PPC64),y)
|
||||
|
||||
+77
-49
@@ -60,8 +60,9 @@ src-wlib := string.S crt0.S stdio.c main.c \
|
||||
src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \
|
||||
cuboot-ebony.c treeboot-ebony.c prpmc2800.c \
|
||||
ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
|
||||
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \
|
||||
fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \
|
||||
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
|
||||
cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
|
||||
fixed-head.S ep88xc.c ep405.c \
|
||||
cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
|
||||
cuboot-warp.c cuboot-85xx-cpm2.c
|
||||
src-boot := $(src-wlib) $(src-plat) empty.c
|
||||
@@ -123,6 +124,8 @@ targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
|
||||
extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
|
||||
$(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds
|
||||
|
||||
dtstree := $(srctree)/$(src)/dts
|
||||
|
||||
wrapper :=$(srctree)/$(src)/wrapper
|
||||
wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) \
|
||||
$(wrapper) FORCE
|
||||
@@ -181,7 +184,7 @@ quiet_cmd_wrap = WRAP $@
|
||||
image-$(CONFIG_PPC_PSERIES) += zImage.pseries
|
||||
image-$(CONFIG_PPC_MAPLE) += zImage.pseries
|
||||
image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
|
||||
image-$(CONFIG_PPC_PS3) += zImage.ps3
|
||||
image-$(CONFIG_PPC_PS3) += zImage-dtb.ps3
|
||||
image-$(CONFIG_PPC_CELLEB) += zImage.pseries
|
||||
image-$(CONFIG_PPC_CHRP) += zImage.chrp
|
||||
image-$(CONFIG_PPC_EFIKA) += zImage.chrp
|
||||
@@ -191,33 +194,69 @@ image-$(CONFIG_PPC_PRPMC2800) += zImage.prpmc2800
|
||||
image-$(CONFIG_PPC_ISERIES) += zImage.iseries
|
||||
image-$(CONFIG_DEFAULT_UIMAGE) += uImage
|
||||
|
||||
ifneq ($(CONFIG_DEVICE_TREE),"")
|
||||
image-$(CONFIG_PPC_8xx) += cuImage.8xx
|
||||
image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc
|
||||
image-$(CONFIG_EP405) += zImage.ep405
|
||||
image-$(CONFIG_8260) += cuImage.pq2
|
||||
image-$(CONFIG_EP8248E) += zImage.ep8248e
|
||||
image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx
|
||||
image-$(CONFIG_STORCENTER) += cuImage.824x
|
||||
image-$(CONFIG_PPC_83xx) += cuImage.83xx
|
||||
image-$(CONFIG_PPC_85xx) += cuImage.85xx
|
||||
ifeq ($(CONFIG_CPM2),y)
|
||||
image-$(CONFIG_PPC_85xx) += cuImage.85xx-cpm2
|
||||
endif
|
||||
image-$(CONFIG_MPC7448HPC2) += cuImage.hpc2
|
||||
#
|
||||
# Targets which embed a device tree blob
|
||||
#
|
||||
# Theses are default targets to build images which embed device tree blobs.
|
||||
# They are only required on boards which do not have FDT support in firmware.
|
||||
# Boards with newish u-boot firmare can use the uImage target above
|
||||
#
|
||||
|
||||
# Board ports in arch/powerpc/platform/40x/Kconfig
|
||||
image-$(CONFIG_EP405) += zImage-dtb.ep405
|
||||
image-$(CONFIG_WALNUT) += treeImage.walnut
|
||||
|
||||
# Board ports in arch/powerpc/platform/44x/Kconfig
|
||||
image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony
|
||||
image-$(CONFIG_BAMBOO) += treeImage.bamboo cuImage.bamboo
|
||||
image-$(CONFIG_SEQUOIA) += cuImage.sequoia
|
||||
image-$(CONFIG_RAINIER) += cuImage.rainier
|
||||
image-$(CONFIG_WALNUT) += treeImage.walnut
|
||||
image-$(CONFIG_TAISHAN) += cuImage.taishan
|
||||
image-$(CONFIG_KATMAI) += cuImage.katmai
|
||||
image-$(CONFIG_WARP) += cuImage.warp
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_REDBOOT),"")
|
||||
image-$(CONFIG_PPC_8xx) += zImage.redboot-8xx
|
||||
endif
|
||||
# Board ports in arch/powerpc/platform/8xx/Kconfig
|
||||
image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads
|
||||
image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads
|
||||
image-$(CONFIG_PPC_EP88XC) += zImage-dtb.ep88xc
|
||||
image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \
|
||||
zImage-dtb.adder875-redboot
|
||||
|
||||
# Board ports in arch/powerpc/platform/52xx/Kconfig
|
||||
image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b
|
||||
|
||||
# Board ports in arch/powerpc/platform/82xx/Kconfig
|
||||
image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads
|
||||
image-$(CONFIG_PQ2FADS) += cuImage.pq2fads
|
||||
image-$(CONFIG_EP8248E) += zImage-dtb.ep8248e
|
||||
|
||||
# Board ports in arch/powerpc/platform/83xx/Kconfig
|
||||
image-$(CONFIG_MPC832x_MDS) += cuImage.mpc832x_mds
|
||||
image-$(CONFIG_MPC832x_RDB) += cuImage.mpc832x_rdb
|
||||
image-$(CONFIG_MPC834x_ITX) += cuImage.mpc8349emitx \
|
||||
cuImage.mpc8349emitxgp
|
||||
image-$(CONFIG_MPC834x_MDS) += cuImage.mpc834x_mds
|
||||
image-$(CONFIG_MPC836x_MDS) += cuImage.mpc836x_mds
|
||||
|
||||
# Board ports in arch/powerpc/platform/85xx/Kconfig
|
||||
image-$(CONFIG_MPC8540_ADS) += cuImage.mpc8540ads
|
||||
image-$(CONFIG_MPC8560_ADS) += cuImage.mpc8560ads
|
||||
image-$(CONFIG_MPC85xx_CDS) += cuImage.mpc8541cds \
|
||||
cuImage.mpc8548cds \
|
||||
cuImage.mpc8555cds
|
||||
image-$(CONFIG_MPC85xx_MDS) += cuImage.mpc8568mds
|
||||
image-$(CONFIG_MPC85xx_DS) += cuImage.mpc8544ds \
|
||||
cuImage.mpc8572ds
|
||||
image-$(CONFIG_TQM8540) += cuImage.tqm8540
|
||||
image-$(CONFIG_TQM8541) += cuImage.tqm8541
|
||||
image-$(CONFIG_TQM8555) += cuImage.tqm8555
|
||||
image-$(CONFIG_TQM8560) += cuImage.tqm8560
|
||||
image-$(CONFIG_SBC8548) += cuImage.tqm8548
|
||||
image-$(CONFIG_SBC8560) += cuImage.tqm8560
|
||||
|
||||
# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
|
||||
image-$(CONFIG_STORCENTER) += cuImage.storcenter
|
||||
image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2
|
||||
|
||||
# For 32-bit powermacs, build the COFF and miboot images
|
||||
# as well as the ELF images.
|
||||
@@ -233,24 +272,20 @@ targets += $(image-y) $(initrd-y)
|
||||
|
||||
$(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
|
||||
|
||||
# If CONFIG_WANT_DEVICE_TREE is set and CONFIG_DEVICE_TREE isn't an
|
||||
# empty string, define 'dts' to be path to the dts
|
||||
# CONFIG_DEVICE_TREE will have "" around it, make sure to strip them
|
||||
ifeq ($(CONFIG_WANT_DEVICE_TREE),y)
|
||||
ifneq ($(CONFIG_DEVICE_TREE),"")
|
||||
dts = $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\
|
||||
,$(srctree)/$(src)/dts/)$(CONFIG_DEVICE_TREE:"%"=%)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Don't put the ramdisk on the pattern rule; when its missing make will try
|
||||
# the pattern rule with less dependencies that also matches (even with the
|
||||
# hard dependency listed).
|
||||
$(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(dts)
|
||||
$(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz)
|
||||
$(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
|
||||
$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
|
||||
|
||||
$(obj)/zImage.%: vmlinux $(wrapperbits) $(dts)
|
||||
$(call if_changed,wrap,$*,$(dts))
|
||||
$(obj)/zImage.%: vmlinux $(wrapperbits)
|
||||
$(call if_changed,wrap,$*)
|
||||
|
||||
$(obj)/zImage-dtb.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
|
||||
$(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz)
|
||||
|
||||
$(obj)/zImage-dtb.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
|
||||
$(call if_changed,wrap,$*,$(dtstree)/$*.dts)
|
||||
|
||||
# This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
|
||||
# prefix
|
||||
@@ -260,24 +295,17 @@ $(obj)/vmlinux.strip: vmlinux
|
||||
$(obj)/zImage.iseries: vmlinux
|
||||
$(STRIP) -s -R .comment $< -o $@
|
||||
|
||||
$(obj)/zImage.ps3: vmlinux $(wrapper) $(wrapperbits) $(srctree)/$(src)/dts/ps3.dts
|
||||
$(STRIP) -s -R .comment $< -o vmlinux.strip
|
||||
$(call cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,)
|
||||
|
||||
$(obj)/zImage.initrd.ps3: vmlinux $(wrapper) $(wrapperbits) $(srctree)/$(src)/dts/ps3.dts $(obj)/ramdisk.image.gz
|
||||
$(call cmd,wrap,ps3,$(srctree)/$(src)/dts/ps3.dts,,$(obj)/ramdisk.image.gz)
|
||||
|
||||
$(obj)/uImage: vmlinux $(wrapperbits)
|
||||
$(call if_changed,wrap,uboot)
|
||||
|
||||
$(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits)
|
||||
$(call if_changed,wrap,cuboot-$*,$(dts))
|
||||
$(obj)/cuImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
|
||||
$(call if_changed,wrap,cuboot-$*,$(dtstree)/$*.dts)
|
||||
|
||||
$(obj)/treeImage.initrd.%: vmlinux $(dts) $(wrapperbits)
|
||||
$(call if_changed,wrap,treeboot-$*,$(dts),,$(obj)/ramdisk.image.gz)
|
||||
$(obj)/treeImage.initrd.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
|
||||
$(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz)
|
||||
|
||||
$(obj)/treeImage.%: vmlinux $(dts) $(wrapperbits)
|
||||
$(call if_changed,wrap,treeboot-$*,$(dts))
|
||||
$(obj)/treeImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits)
|
||||
$(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts)
|
||||
|
||||
# If there isn't a platform selected then just strip the vmlinux.
|
||||
ifeq (,$(image-y))
|
||||
|
||||
@@ -151,6 +151,7 @@
|
||||
compatible = "fsl,mpc875-brg",
|
||||
"fsl,cpm1-brg",
|
||||
"fsl,cpm-brg";
|
||||
clock-frequency = <50000000>;
|
||||
reg = <0x9f0 0x10>;
|
||||
};
|
||||
|
||||
|
||||
@@ -150,6 +150,7 @@
|
||||
compatible = "fsl,mpc875-brg",
|
||||
"fsl,cpm1-brg",
|
||||
"fsl,cpm-brg";
|
||||
clock-frequency = <50000000>;
|
||||
reg = <0x9f0 0x10>;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* MPC5121E MDS Device Tree Source
|
||||
*
|
||||
* Copyright 2007 Freescale Semiconductor Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
model = "mpc5121ads";
|
||||
compatible = "fsl,mpc5121ads";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
PowerPC,5121@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
d-cache-line-size = <0x20>; // 32 bytes
|
||||
i-cache-line-size = <0x20>; // 32 bytes
|
||||
d-cache-size = <0x8000>; // L1, 32K
|
||||
i-cache-size = <0x8000>; // L1, 32K
|
||||
timebase-frequency = <49500000>;// 49.5 MHz (csb/4)
|
||||
bus-frequency = <198000000>; // 198 MHz csb bus
|
||||
clock-frequency = <396000000>; // 396 MHz ppc core
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x10000000>; // 256MB at 0
|
||||
};
|
||||
|
||||
localbus@80000020 {
|
||||
compatible = "fsl,mpc5121ads-localbus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x80000020 0x40>;
|
||||
|
||||
ranges = <0x0 0x0 0xfc000000 0x04000000
|
||||
0x2 0x0 0x82000000 0x00008000>;
|
||||
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
reg = <0 0x0 0x4000000>;
|
||||
bank-width = <4>;
|
||||
device-width = <1>;
|
||||
};
|
||||
|
||||
board-control@2,0 {
|
||||
compatible = "fsl,mpc5121ads-cpld";
|
||||
reg = <0x2 0x0 0x8000>;
|
||||
};
|
||||
};
|
||||
|
||||
soc@80000000 {
|
||||
compatible = "fsl,mpc5121-immr";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
#interrupt-cells = <2>;
|
||||
ranges = <0x0 0x80000000 0x400000>;
|
||||
reg = <0x80000000 0x400000>;
|
||||
bus-frequency = <66000000>; // 66 MHz ips bus
|
||||
|
||||
|
||||
// IPIC
|
||||
// interrupts cell = <intr #, sense>
|
||||
// sense values match linux IORESOURCE_IRQ_* defines:
|
||||
// sense == 8: Level, low assertion
|
||||
// sense == 2: Edge, high-to-low change
|
||||
//
|
||||
ipic: interrupt-controller@c00 {
|
||||
compatible = "fsl,mpc5121-ipic", "fsl,ipic";
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0xc00 0x100>;
|
||||
};
|
||||
|
||||
// 512x PSCs are not 52xx PSCs compatible
|
||||
// PSC3 serial port A aka ttyPSC0
|
||||
serial@11300 {
|
||||
device_type = "serial";
|
||||
compatible = "fsl,mpc5121-psc-uart";
|
||||
// Logical port assignment needed until driver
|
||||
// learns to use aliases
|
||||
port-number = <0>;
|
||||
cell-index = <3>;
|
||||
reg = <0x11300 0x100>;
|
||||
interrupts = <0x28 0x8>; // actually the fifo irq
|
||||
interrupt-parent = < &ipic >;
|
||||
};
|
||||
|
||||
// PSC4 serial port B aka ttyPSC1
|
||||
serial@11400 {
|
||||
device_type = "serial";
|
||||
compatible = "fsl,mpc5121-psc-uart";
|
||||
// Logical port assignment needed until driver
|
||||
// learns to use aliases
|
||||
port-number = <1>;
|
||||
cell-index = <4>;
|
||||
reg = <0x11400 0x100>;
|
||||
interrupts = <0x28 0x8>; // actually the fifo irq
|
||||
interrupt-parent = < &ipic >;
|
||||
};
|
||||
|
||||
pscsfifo@11f00 {
|
||||
compatible = "fsl,mpc5121-psc-fifo";
|
||||
reg = <0x11f00 0x100>;
|
||||
interrupts = <0x28 0x8>;
|
||||
interrupt-parent = < &ipic >;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -118,6 +118,10 @@
|
||||
interrupts = <14 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
dfsrr;
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3100 {
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
compatible = "simple-bus";
|
||||
compatible = "fsl,mpc8315-immr", "simple-bus";
|
||||
ranges = <0 0xe0000000 0x00100000>;
|
||||
reg = <0xe0000000 0x00000200>;
|
||||
bus-frequency = <0>;
|
||||
|
||||
@@ -332,7 +332,7 @@
|
||||
0xc000 0x0 0x0 0x3 &ipic 23 0x8
|
||||
0xc000 0x0 0x0 0x4 &ipic 20 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
interrupts = <66 0x8>;
|
||||
interrupts = <67 0x8>;
|
||||
bus-range = <0 0>;
|
||||
ranges = <0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
|
||||
0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
|
||||
|
||||
@@ -42,6 +42,18 @@
|
||||
bus-frequency = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
PowerPC,8572@1 {
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
d-cache-line-size = <20>; // 32 bytes
|
||||
i-cache-line-size = <20>; // 32 bytes
|
||||
d-cache-size = <8000>; // L1, 32K
|
||||
i-cache-size = <8000>; // L1, 32K
|
||||
timebase-frequency = <0>;
|
||||
bus-frequency = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
|
||||
@@ -166,6 +166,7 @@
|
||||
compatible = "fsl,mpc885-brg",
|
||||
"fsl,cpm1-brg",
|
||||
"fsl,cpm-brg";
|
||||
clock-frequency = <0>;
|
||||
reg = <9f0 10>;
|
||||
};
|
||||
|
||||
|
||||
@@ -138,6 +138,14 @@
|
||||
interrupts = <15 8>;
|
||||
};
|
||||
|
||||
USB0: ehci@e0000300 {
|
||||
compatible = "ibm,usb-ehci-440epx", "usb-ehci";
|
||||
interrupt-parent = <&UIC0>;
|
||||
interrupts = <1a 4>;
|
||||
reg = <0 e0000300 90 0 e0000390 70>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
POB0: opb {
|
||||
compatible = "ibm,opb-440epx", "ibm,opb";
|
||||
#address-cells = <1>;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/ {
|
||||
model = "StorCenter";
|
||||
compatible = "storcenter";
|
||||
compatible = "iomega,storcenter";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl-i2c";
|
||||
reg = <0x3000 0x100>;
|
||||
interrupts = <5 2>;
|
||||
interrupts = <17 2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1337";
|
||||
reg = <68>;
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
reg = <0x4500 0x20>;
|
||||
clock-frequency = <97553800>; /* Hz */
|
||||
current-speed = <115200>;
|
||||
interrupts = <9 2>;
|
||||
interrupts = <25 2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
reg = <0x4600 0x20>;
|
||||
clock-frequency = <97553800>; /* Hz */
|
||||
current-speed = <9600>;
|
||||
interrupts = <10 2>;
|
||||
interrupts = <26 2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
@@ -136,6 +136,6 @@
|
||||
};
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = "/soc/serial@4500";
|
||||
linux,stdout-path = &serial0;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -158,6 +158,29 @@ miboot|uboot)
|
||||
cuboot*)
|
||||
binary=y
|
||||
gzip=
|
||||
case "$platform" in
|
||||
*-mpc885ads|*-adder875*|*-ep88xc)
|
||||
platformo=$object/cuboot-8xx.o
|
||||
;;
|
||||
*5200*|*-motionpro)
|
||||
platformo=$object/cuboot-52xx.o
|
||||
;;
|
||||
*-pq2fads|*-ep8248e|*-mpc8272*|*-storcenter)
|
||||
platformo=$object/cuboot-pq2.o
|
||||
;;
|
||||
*-mpc824*)
|
||||
platformo=$object/cuboot-824x.o
|
||||
;;
|
||||
*-mpc83*)
|
||||
platformo=$object/cuboot-83xx.o
|
||||
;;
|
||||
*-tqm8541|*-mpc8560*|*-tqm8560|*-tqm8555*)
|
||||
platformo=$object/cuboot-85xx-cpm2.o
|
||||
;;
|
||||
*-mpc85*)
|
||||
platformo=$object/cuboot-85xx.o
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ps3)
|
||||
platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o"
|
||||
|
||||
@@ -186,7 +186,7 @@ CONFIG_PREEMPT_NONE=y
|
||||
# CONFIG_PREEMPT is not set
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
# CONFIG_MATH_EMULATION is not set
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
@@ -416,14 +416,14 @@ CONFIG_PHYLIB=y
|
||||
# MII PHY device drivers
|
||||
#
|
||||
CONFIG_MARVELL_PHY=y
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
CONFIG_VITESSE_PHY=y
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_BROADCOM_PHY is not set
|
||||
# CONFIG_ICPLUS_PHY is not set
|
||||
CONFIG_ICPLUS_PHY=y
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
@@ -436,7 +436,7 @@ CONFIG_MII=y
|
||||
CONFIG_NETDEV_1000=y
|
||||
CONFIG_GIANFAR=y
|
||||
# CONFIG_GFAR_NAPI is not set
|
||||
# CONFIG_UCC_GETH is not set
|
||||
CONFIG_UCC_GETH=y
|
||||
CONFIG_NETDEV_10000=y
|
||||
|
||||
#
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
# Makefile for the linux kernel.
|
||||
#
|
||||
|
||||
CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
|
||||
|
||||
ifeq ($(CONFIG_PPC64),y)
|
||||
CFLAGS_prom_init.o += -mno-minimal-toc
|
||||
endif
|
||||
@@ -15,7 +17,7 @@ obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
|
||||
init_task.o process.o systbl.o idle.o \
|
||||
signal.o
|
||||
obj-y += vdso32/
|
||||
obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \
|
||||
obj-$(CONFIG_PPC64) += setup_64.o sys_ppc32.o \
|
||||
signal_64.o ptrace32.o \
|
||||
paca.o cpu_setup_ppc970.o \
|
||||
cpu_setup_pa6t.o \
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <linux/mman.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#ifdef CONFIG_PPC64
|
||||
#include <linux/time.h>
|
||||
#include <linux/hardirq.h>
|
||||
@@ -312,7 +313,7 @@ int main(void)
|
||||
DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
|
||||
DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC);
|
||||
DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
|
||||
DEFINE(CLOCK_REALTIME_RES, TICK_NSEC);
|
||||
DEFINE(CLOCK_REALTIME_RES, (KTIME_MONOTONIC_RES).tv64);
|
||||
|
||||
#ifdef CONFIG_BUG
|
||||
DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
/*
|
||||
* binfmt_elf32.c: Support 32-bit PPC ELF binaries on Power3 and followons.
|
||||
* based on the SPARC64 version.
|
||||
* Copyright (C) 1995, 1996, 1997, 1998 David S. Miller (davem@redhat.com)
|
||||
* Copyright (C) 1995, 1996, 1997, 1998 Jakub Jelinek (jj@ultra.linux.cz)
|
||||
*
|
||||
* Copyright (C) 2000,2001 Ken Aaker (kdaaker@rchland.vnet.ibm.com), IBM Corp
|
||||
* Copyright (C) 2001 Anton Blanchard (anton@au.ibm.com), IBM
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include <asm/processor.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/compat.h>
|
||||
#include <linux/elfcore-compat.h>
|
||||
|
||||
#undef ELF_ARCH
|
||||
#undef ELF_CLASS
|
||||
#define ELF_CLASS ELFCLASS32
|
||||
#define ELF_ARCH EM_PPC
|
||||
|
||||
#undef elfhdr
|
||||
#undef elf_phdr
|
||||
#undef elf_note
|
||||
#undef elf_addr_t
|
||||
#define elfhdr elf32_hdr
|
||||
#define elf_phdr elf32_phdr
|
||||
#define elf_note elf32_note
|
||||
#define elf_addr_t Elf32_Off
|
||||
|
||||
#define elf_prstatus compat_elf_prstatus
|
||||
#define elf_prpsinfo compat_elf_prpsinfo
|
||||
|
||||
#define elf_core_copy_regs compat_elf_core_copy_regs
|
||||
static inline void compat_elf_core_copy_regs(compat_elf_gregset_t *elf_regs,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
PPC_ELF_CORE_COPY_REGS((*elf_regs), regs);
|
||||
}
|
||||
|
||||
#define elf_core_copy_task_regs compat_elf_core_copy_task_regs
|
||||
static int compat_elf_core_copy_task_regs(struct task_struct *tsk,
|
||||
compat_elf_gregset_t *elf_regs)
|
||||
{
|
||||
struct pt_regs *regs = tsk->thread.regs;
|
||||
if (regs)
|
||||
compat_elf_core_copy_regs(elf_regs, regs);
|
||||
return 1;
|
||||
}
|
||||
|
||||
#include <linux/time.h>
|
||||
|
||||
#undef cputime_to_timeval
|
||||
#define cputime_to_timeval cputime_to_compat_timeval
|
||||
static __inline__ void
|
||||
cputime_to_compat_timeval(const cputime_t cputime, struct compat_timeval *value)
|
||||
{
|
||||
unsigned long jiffies = cputime_to_jiffies(cputime);
|
||||
value->tv_usec = (jiffies % HZ) * (1000000L / HZ);
|
||||
value->tv_sec = jiffies / HZ;
|
||||
}
|
||||
|
||||
#define init_elf_binfmt init_elf32_binfmt
|
||||
|
||||
#include "../../../fs/binfmt_elf.c"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user