mirror of
https://github.com/suyu-emu/horinux.git
synced 2026-09-21 14:15:21 -07:00
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (62 commits) powerpc/85xx: Fix signedness bug in cache-sram powerpc/fsl: 85xx: document cache sram bindings powerpc/fsl: define binding for fsl mpic interrupt controllers powerpc/fsl_msi: Handle msi-available-ranges better drivers/serial/ucc_uart.c: Add of_node_put to avoid memory leak powerpc/85xx: Fix SPE float to integer conversion failure powerpc/85xx: Update sata controller compatible for p1022ds board ATA: Add FSL sata v2 controller support powerpc/mpc8xxx_gpio: simplify searching for 'fsl, qoriq-gpio' compatiable powerpc/8xx: remove obsolete mgsuvd board powerpc/82xx: rename and update mgcoge board support powerpc/83xx: rename and update kmeter1 powerpc/85xx: Workaroudn e500 CPU erratum A005 powerpc/fsl_pci: Add support for FSL PCIe controllers v2.x powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e powerpc/pseries: Disable MSI using new interface if possible powerpc: Enable GENERIC_HARDIRQS_NO_DEPRECATED. powerpc: core irq_data conversion. powerpc: sysdev/xilinx_intc irq_data conversion. powerpc: sysdev/uic irq_data conversion. ... Fix up conflicts in arch/powerpc/sysdev/fsl_msi.c (due to getting rid of of_platform_driver in arch/powerpc)
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
* Freescale PQ3 and QorIQ based Cache SRAM
|
||||
|
||||
Freescale's mpc85xx and some QorIQ platforms provide an
|
||||
option of configuring a part of (or full) cache memory
|
||||
as SRAM. This cache SRAM representation in the device
|
||||
tree should be done as under:-
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "fsl,p2020-cache-sram"
|
||||
- fsl,cache-sram-ctlr-handle : points to the L2 controller
|
||||
- reg : offset and length of the cache-sram.
|
||||
|
||||
Example:
|
||||
|
||||
cache-sram@fff00000 {
|
||||
fsl,cache-sram-ctlr-handle = <&L2>;
|
||||
reg = <0 0xfff00000 0 0x10000>;
|
||||
compatible = "fsl,p2020-cache-sram";
|
||||
};
|
||||
@@ -1,42 +1,211 @@
|
||||
* OpenPIC and its interrupt numbers on Freescale's e500/e600 cores
|
||||
=====================================================================
|
||||
Freescale MPIC Interrupt Controller Node
|
||||
Copyright (C) 2010,2011 Freescale Semiconductor Inc.
|
||||
=====================================================================
|
||||
|
||||
The OpenPIC specification does not specify which interrupt source has to
|
||||
become which interrupt number. This is up to the software implementation
|
||||
of the interrupt controller. The only requirement is that every
|
||||
interrupt source has to have an unique interrupt number / vector number.
|
||||
To accomplish this the current implementation assigns the number zero to
|
||||
the first source, the number one to the second source and so on until
|
||||
all interrupt sources have their unique number.
|
||||
Usually the assigned vector number equals the interrupt number mentioned
|
||||
in the documentation for a given core / CPU. This is however not true
|
||||
for the e500 cores (MPC85XX CPUs) where the documentation distinguishes
|
||||
between internal and external interrupt sources and starts counting at
|
||||
zero for both of them.
|
||||
The Freescale MPIC interrupt controller is found on all PowerQUICC
|
||||
and QorIQ processors and is compatible with the Open PIC. The
|
||||
notable difference from Open PIC binding is the addition of 2
|
||||
additional cells in the interrupt specifier defining interrupt type
|
||||
information.
|
||||
|
||||
So what to write for external interrupt source X or internal interrupt
|
||||
source Y into the device tree? Here is an example:
|
||||
PROPERTIES
|
||||
|
||||
The memory map for the interrupt controller in the MPC8544[0] shows,
|
||||
that the first interrupt source starts at 0x5_0000 (PIC Register Address
|
||||
Map-Interrupt Source Configuration Registers). This source becomes the
|
||||
number zero therefore:
|
||||
External interrupt 0 = interrupt number 0
|
||||
External interrupt 1 = interrupt number 1
|
||||
External interrupt 2 = interrupt number 2
|
||||
...
|
||||
Every interrupt number allocates 0x20 bytes register space. So to get
|
||||
its number it is sufficient to shift the lower 16bits to right by five.
|
||||
So for the external interrupt 10 we have:
|
||||
0x0140 >> 5 = 10
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Shall include "fsl,mpic". Freescale MPIC
|
||||
controllers compatible with this binding have Block
|
||||
Revision Registers BRR1 and BRR2 at offset 0x0 and
|
||||
0x10 in the MPIC.
|
||||
|
||||
After the external sources, the internal sources follow. The in core I2C
|
||||
controller on the MPC8544 for instance has the internal source number
|
||||
27. Oo obtain its interrupt number we take the lower 16bits of its memory
|
||||
address (0x5_0560) and shift it right:
|
||||
0x0560 >> 5 = 43
|
||||
- reg
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: A standard property. Specifies the physical
|
||||
offset and length of the device's registers within the
|
||||
CCSR address space.
|
||||
|
||||
Therefore the I2C device node for the MPC8544 CPU has to have the
|
||||
interrupt number 43 specified in the device tree.
|
||||
- interrupt-controller
|
||||
Usage: required
|
||||
Value type: <empty>
|
||||
Definition: Specifies that this node is an interrupt
|
||||
controller
|
||||
|
||||
[0] MPC8544E PowerQUICCTM III, Integrated Host Processor Family Reference Manual
|
||||
MPC8544ERM Rev. 1 10/2007
|
||||
- #interrupt-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Shall be 2 or 4. A value of 2 means that interrupt
|
||||
specifiers do not contain the interrupt-type or type-specific
|
||||
information cells.
|
||||
|
||||
- #address-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Shall be 0.
|
||||
|
||||
- pic-no-reset
|
||||
Usage: optional
|
||||
Value type: <empty>
|
||||
Definition: The presence of this property specifies that the
|
||||
MPIC must not be reset by the client program, and that
|
||||
the boot program has initialized all interrupt source
|
||||
configuration registers to a sane state-- masked or
|
||||
directed at other cores. This ensures that the client
|
||||
program will not receive interrupts for sources not belonging
|
||||
to the client. The presence of this property also mandates
|
||||
that any initialization related to interrupt sources shall
|
||||
be limited to sources explicitly referenced in the device tree.
|
||||
|
||||
INTERRUPT SPECIFIER DEFINITION
|
||||
|
||||
Interrupt specifiers consists of 4 cells encoded as
|
||||
follows:
|
||||
|
||||
<1st-cell> interrupt-number
|
||||
|
||||
Identifies the interrupt source. The meaning
|
||||
depends on the type of interrupt.
|
||||
|
||||
Note: If the interrupt-type cell is undefined
|
||||
(i.e. #interrupt-cells = 2), this cell
|
||||
should be interpreted the same as for
|
||||
interrupt-type 0-- i.e. an external or
|
||||
normal SoC device interrupt.
|
||||
|
||||
<2nd-cell> level-sense information, encoded as follows:
|
||||
0 = low-to-high edge triggered
|
||||
1 = active low level-sensitive
|
||||
2 = active high level-sensitive
|
||||
3 = high-to-low edge triggered
|
||||
|
||||
<3rd-cell> interrupt-type
|
||||
|
||||
The following types are supported:
|
||||
|
||||
0 = external or normal SoC device interrupt
|
||||
|
||||
The interrupt-number cell contains
|
||||
the SoC device interrupt number. The
|
||||
type-specific cell is undefined. The
|
||||
interrupt-number is derived from the
|
||||
MPIC a block of registers referred to as
|
||||
the "Interrupt Source Configuration Registers".
|
||||
Each source has 32-bytes of registers
|
||||
(vector/priority and destination) in this
|
||||
region. So interrupt 0 is at offset 0x0,
|
||||
interrupt 1 is at offset 0x20, and so on.
|
||||
|
||||
1 = error interrupt
|
||||
|
||||
The interrupt-number cell contains
|
||||
the SoC device interrupt number for
|
||||
the error interrupt. The type-specific
|
||||
cell identifies the specific error
|
||||
interrupt number.
|
||||
|
||||
2 = MPIC inter-processor interrupt (IPI)
|
||||
|
||||
The interrupt-number cell identifies
|
||||
the MPIC IPI number. The type-specific
|
||||
cell is undefined.
|
||||
|
||||
3 = MPIC timer interrupt
|
||||
|
||||
The interrupt-number cell identifies
|
||||
the MPIC timer number. The type-specific
|
||||
cell is undefined.
|
||||
|
||||
<4th-cell> type-specific information
|
||||
|
||||
The type-specific cell is encoded as follows:
|
||||
|
||||
- For interrupt-type 1 (error interrupt),
|
||||
the type-specific cell contains the
|
||||
bit number of the error interrupt in the
|
||||
Error Interrupt Summary Register.
|
||||
|
||||
EXAMPLE 1
|
||||
/*
|
||||
* mpic interrupt controller with 4 cells per specifier
|
||||
*/
|
||||
mpic: pic@40000 {
|
||||
compatible = "fsl,mpic";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
#address-cells = <0>;
|
||||
reg = <0x40000 0x40000>;
|
||||
};
|
||||
|
||||
EXAMPLE 2
|
||||
/*
|
||||
* The MPC8544 I2C controller node has an internal
|
||||
* interrupt number of 27. As per the reference manual
|
||||
* this corresponds to interrupt source configuration
|
||||
* registers at 0x5_0560.
|
||||
*
|
||||
* The interrupt source configuration registers begin
|
||||
* at 0x5_0000.
|
||||
*
|
||||
* To compute the interrupt specifier interrupt number
|
||||
*
|
||||
* 0x560 >> 5 = 43
|
||||
*
|
||||
* The interrupt source configuration registers begin
|
||||
* at 0x5_0000, and so the i2c vector/priority registers
|
||||
* are at 0x5_0560.
|
||||
*/
|
||||
i2c@3000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <0>;
|
||||
compatible = "fsl-i2c";
|
||||
reg = <0x3000 0x100>;
|
||||
interrupts = <43 2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
dfsrr;
|
||||
};
|
||||
|
||||
|
||||
EXAMPLE 3
|
||||
/*
|
||||
* Definition of a node defining the 4
|
||||
* MPIC IPI interrupts. Note the interrupt
|
||||
* type of 2.
|
||||
*/
|
||||
ipi@410a0 {
|
||||
compatible = "fsl,mpic-ipi";
|
||||
reg = <0x40040 0x10>;
|
||||
interrupts = <0 0 2 0
|
||||
1 0 2 0
|
||||
2 0 2 0
|
||||
3 0 2 0>;
|
||||
};
|
||||
|
||||
EXAMPLE 4
|
||||
/*
|
||||
* Definition of a node defining the MPIC
|
||||
* global timers. Note the interrupt
|
||||
* type of 3.
|
||||
*/
|
||||
timer0: timer@41100 {
|
||||
compatible = "fsl,mpic-global-timer";
|
||||
reg = <0x41100 0x100>;
|
||||
interrupts = <0 0 3 0
|
||||
1 0 3 0
|
||||
2 0 3 0
|
||||
3 0 3 0>;
|
||||
};
|
||||
|
||||
EXAMPLE 5
|
||||
/*
|
||||
* Definition of an error interrupt (interupt type 1).
|
||||
* SoC interrupt number is 16 and the specific error
|
||||
* interrupt bit in the error interrupt summary register
|
||||
* is 23.
|
||||
*/
|
||||
memory-controller@8000 {
|
||||
compatible = "fsl,p4080-memory-controller";
|
||||
reg = <0x8000 0x1000>;
|
||||
interrupts = <16 2 1 23>;
|
||||
};
|
||||
|
||||
@@ -5,14 +5,21 @@ Required properties:
|
||||
first is "fsl,CHIP-msi", where CHIP is the processor(mpc8610, mpc8572,
|
||||
etc.) and the second is "fsl,mpic-msi" or "fsl,ipic-msi" depending on
|
||||
the parent type.
|
||||
|
||||
- reg : should contain the address and the length of the shared message
|
||||
interrupt register set.
|
||||
|
||||
- msi-available-ranges: use <start count> style section to define which
|
||||
msi interrupt can be used in the 256 msi interrupts. This property is
|
||||
optional, without this, all the 256 MSI interrupts can be used.
|
||||
Each available range must begin and end on a multiple of 32 (i.e.
|
||||
no splitting an individual MSI register or the associated PIC interrupt).
|
||||
|
||||
- interrupts : each one of the interrupts here is one entry per 32 MSIs,
|
||||
and routed to the host interrupt controller. the interrupts should
|
||||
be set as edge sensitive.
|
||||
be set as edge sensitive. If msi-available-ranges is present, only
|
||||
the interrupts that correspond to available ranges shall be present.
|
||||
|
||||
- interrupt-parent: the phandle for the interrupt controller
|
||||
that services interrupts for this device. for 83xx cpu, the interrupts
|
||||
are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed
|
||||
|
||||
@@ -626,6 +626,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
disable= [IPV6]
|
||||
See Documentation/networking/ipv6.txt.
|
||||
|
||||
disable_ddw [PPC/PSERIES]
|
||||
Disable Dynamic DMA Window support. Use this if
|
||||
to workaround buggy firmware.
|
||||
|
||||
disable_ipv6= [IPV6]
|
||||
See Documentation/networking/ipv6.txt.
|
||||
|
||||
|
||||
@@ -134,6 +134,7 @@ config PPC
|
||||
select HAVE_GENERIC_HARDIRQS
|
||||
select HAVE_SPARSE_IRQ
|
||||
select IRQ_PER_CPU
|
||||
select GENERIC_HARDIRQS_NO_DEPRECATED
|
||||
|
||||
config EARLY_PRINTK
|
||||
bool
|
||||
|
||||
@@ -172,6 +172,19 @@
|
||||
interrupts = <0x1e 4>;
|
||||
};
|
||||
|
||||
USBOTG0: usbotg@bff80000 {
|
||||
compatible = "amcc,dwc-otg";
|
||||
reg = <0x4 0xbff80000 0x10000>;
|
||||
interrupt-parent = <&USBOTG0>;
|
||||
#interrupt-cells = <1>;
|
||||
#address-cells = <0>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0x0 0x1 0x2>;
|
||||
interrupt-map = </* USB-OTG */ 0x0 &UIC2 0x1c 0x4
|
||||
/* HIGH-POWER */ 0x1 &UIC1 0x1a 0x8
|
||||
/* DMA */ 0x2 &UIC0 0xc 0x4>;
|
||||
};
|
||||
|
||||
SATA0: sata@bffd1000 {
|
||||
compatible = "amcc,sata-460ex";
|
||||
reg = <4 0xbffd1000 0x800 4 0xbffd0800 0x400>;
|
||||
@@ -233,6 +246,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
cpld@2,0 {
|
||||
compatible = "amcc,ppc460ex-bcsr";
|
||||
reg = <2 0x0 0x9>;
|
||||
};
|
||||
|
||||
ndfc@3,0 {
|
||||
compatible = "ibm,ndfc";
|
||||
reg = <0x00000003 0x00000000 0x00002000>;
|
||||
@@ -307,6 +325,12 @@
|
||||
interrupts = <0x3 0x4>;
|
||||
};
|
||||
|
||||
GPIO0: gpio@ef600b00 {
|
||||
compatible = "ibm,ppc4xx-gpio";
|
||||
reg = <0xef600b00 0x00000048>;
|
||||
gpio-controller;
|
||||
};
|
||||
|
||||
ZMII0: emac-zmii@ef600d00 {
|
||||
compatible = "ibm,zmii-460ex", "ibm,zmii";
|
||||
reg = <0xef600d00 0x0000000c>;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Keymile KMETER1 Device Tree Source
|
||||
*
|
||||
* 2008 DENX Software Engineering GmbH
|
||||
* 2008-2011 DENX Software Engineering GmbH
|
||||
*
|
||||
* 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
|
||||
@@ -70,11 +70,11 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <0>;
|
||||
compatible = "fsl-i2c";
|
||||
compatible = "fsl,mpc8313-i2c","fsl-i2c";
|
||||
reg = <0x3000 0x100>;
|
||||
interrupts = <14 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
dfsrr;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
serial0: serial@4500 {
|
||||
@@ -137,6 +137,13 @@
|
||||
compatible = "fsl,mpc8360-par_io";
|
||||
num-ports = <7>;
|
||||
|
||||
qe_pio_c: gpio-controller@30 {
|
||||
#gpio-cells = <2>;
|
||||
compatible = "fsl,mpc8360-qe-pario-bank",
|
||||
"fsl,mpc8323-qe-pario-bank";
|
||||
reg = <0x1430 0x18>;
|
||||
gpio-controller;
|
||||
};
|
||||
pio_ucc1: ucc_pin@0 {
|
||||
reg = <0>;
|
||||
|
||||
@@ -472,7 +479,17 @@
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
reg = <0x80 0x80>;
|
||||
interrupts = <32 8 33 8>;
|
||||
big-endian;
|
||||
interrupts = <
|
||||
32 0x8
|
||||
33 0x8
|
||||
34 0x8
|
||||
35 0x8
|
||||
40 0x8
|
||||
41 0x8
|
||||
42 0x8
|
||||
43 0x8
|
||||
>;
|
||||
interrupt-parent = <&ipic>;
|
||||
};
|
||||
};
|
||||
@@ -484,43 +501,31 @@
|
||||
compatible = "fsl,mpc8360-localbus", "fsl,pq2pro-localbus",
|
||||
"simple-bus";
|
||||
reg = <0xe0005000 0xd8>;
|
||||
ranges = <0 0 0xf0000000 0x04000000>; /* Filled in by U-Boot */
|
||||
ranges = <0 0 0xf0000000 0x04000000 /* LB 0 */
|
||||
1 0 0xe8000000 0x01000000 /* LB 1 */
|
||||
3 0 0xa0000000 0x10000000>; /* LB 3 */
|
||||
|
||||
flash@f0000000,0 {
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
/*
|
||||
* The Intel P30 chip has 2 non-identical chips on
|
||||
* one die, so we need to define 2 separate regions
|
||||
* that are scanned by physmap_of independantly.
|
||||
*/
|
||||
reg = <0 0x00000000 0x02000000
|
||||
0 0x02000000 0x02000000>; /* Filled in by U-Boot */
|
||||
bank-width = <2>;
|
||||
reg = <0 0 0x04000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
partition@0 {
|
||||
bank-width = <2>;
|
||||
partition@0 { /* 768KB */
|
||||
label = "u-boot";
|
||||
reg = <0 0x40000>;
|
||||
reg = <0 0xC0000>;
|
||||
};
|
||||
partition@40000 {
|
||||
partition@c0000 { /* 128KB */
|
||||
label = "env";
|
||||
reg = <0x40000 0x40000>;
|
||||
reg = <0xC0000 0x20000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "dtb";
|
||||
reg = <0x80000 0x20000>;
|
||||
partition@e0000 { /* 128KB */
|
||||
label = "envred";
|
||||
reg = <0xE0000 0x20000>;
|
||||
};
|
||||
partition@a0000 {
|
||||
label = "kernel";
|
||||
reg = <0xa0000 0x300000>;
|
||||
};
|
||||
partition@3a0000 {
|
||||
label = "ramdisk";
|
||||
reg = <0x3a0000 0x800000>;
|
||||
};
|
||||
partition@ba0000 {
|
||||
label = "user";
|
||||
reg = <0xba0000 0x3460000>;
|
||||
partition@100000 { /* 64512KB */
|
||||
label = "ubi0";
|
||||
reg = <0x100000 0x3F00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/dts-v1/;
|
||||
/ {
|
||||
model = "MGCOGE";
|
||||
compatible = "keymile,mgcoge";
|
||||
compatible = "keymile,km82xx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
@@ -48,8 +48,10 @@
|
||||
reg = <0xf0010100 0x40>;
|
||||
|
||||
ranges = <0 0 0xfe000000 0x00400000
|
||||
5 0 0x50000000 0x20000000
|
||||
>; /* Filled in by U-Boot */
|
||||
1 0 0x30000000 0x00010000
|
||||
2 0 0x40000000 0x00010000
|
||||
5 0 0x50000000 0x04000000
|
||||
>;
|
||||
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
@@ -60,36 +62,32 @@
|
||||
device-width = <1>;
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0 0x40000>;
|
||||
reg = <0x00000 0xC0000>;
|
||||
};
|
||||
partition@40000 {
|
||||
partition@1 {
|
||||
label = "env";
|
||||
reg = <0x40000 0x20000>;
|
||||
reg = <0xC0000 0x20000>;
|
||||
};
|
||||
partition@60000 {
|
||||
label = "kernel";
|
||||
reg = <0x60000 0x220000>;
|
||||
partition@2 {
|
||||
label = "envred";
|
||||
reg = <0xE0000 0x20000>;
|
||||
};
|
||||
partition@280000 {
|
||||
label = "dtb";
|
||||
reg = <0x280000 0x20000>;
|
||||
partition@3 {
|
||||
label = "free";
|
||||
reg = <0x100000 0x300000>;
|
||||
};
|
||||
};
|
||||
|
||||
flash@5,0 {
|
||||
compatible = "cfi-flash";
|
||||
reg = <5 0x0 0x2000000>;
|
||||
reg = <5 0x00000000 0x02000000
|
||||
5 0x02000000 0x02000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
bank-width = <2>;
|
||||
device-width = <2>;
|
||||
partition@0 {
|
||||
label = "ramdisk";
|
||||
reg = <0 0x7a0000>;
|
||||
};
|
||||
partition@7a0000 {
|
||||
label = "user";
|
||||
reg = <0x7a0000 0x1860000>;
|
||||
partition@app { /* 64 MBytes */
|
||||
label = "ubi0";
|
||||
reg = <0x00000000 0x04000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -217,6 +215,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
cpm2_pio_c: gpio-controller@10d40 {
|
||||
#gpio-cells = <2>;
|
||||
compatible = "fsl,cpm2-pario-bank";
|
||||
reg = <0x10d40 0x14>;
|
||||
gpio-controller;
|
||||
};
|
||||
|
||||
PIC: interrupt-controller@10c00 {
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
/*
|
||||
* MGSUVD Device Tree Source
|
||||
*
|
||||
* Copyright 2008 DENX Software Engineering GmbH
|
||||
* Heiko Schocher <hs@denx.de>
|
||||
*
|
||||
* 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 = "MGSUVD";
|
||||
compatible = "keymile,mgsuvd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
PowerPC,852@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
d-cache-line-size = <16>;
|
||||
i-cache-line-size = <16>;
|
||||
d-cache-size = <8192>;
|
||||
i-cache-size = <8192>;
|
||||
timebase-frequency = <0>; /* Filled in by u-boot */
|
||||
bus-frequency = <0>; /* Filled in by u-boot */
|
||||
clock-frequency = <0>; /* Filled in by u-boot */
|
||||
interrupts = <15 2>; /* decrementer interrupt */
|
||||
interrupt-parent = <&PIC>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <00000000 0x4000000>; /* Filled in by u-boot */
|
||||
};
|
||||
|
||||
localbus@fff00100 {
|
||||
compatible = "fsl,mpc852-localbus", "fsl,pq1-localbus", "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xfff00100 0x40>;
|
||||
|
||||
ranges = <0 0 0xf0000000 0x01000000>; /* Filled in by u-boot */
|
||||
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
reg = <0 0 0x1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
bank-width = <1>;
|
||||
device-width = <1>;
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0 0x80000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "env";
|
||||
reg = <0x80000 0x20000>;
|
||||
};
|
||||
partition@a0000 {
|
||||
label = "kernel";
|
||||
reg = <0xa0000 0x1e0000>;
|
||||
};
|
||||
partition@280000 {
|
||||
label = "dtb";
|
||||
reg = <0x280000 0x20000>;
|
||||
};
|
||||
partition@2a0000 {
|
||||
label = "root";
|
||||
reg = <0x2a0000 0x500000>;
|
||||
};
|
||||
partition@7a0000 {
|
||||
label = "user";
|
||||
reg = <0x7a0000 0x860000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
soc@fff00000 {
|
||||
compatible = "fsl,mpc852", "fsl,pq1-soc", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
ranges = <0 0xfff00000 0x00004000>;
|
||||
|
||||
PIC: interrupt-controller@0 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0 24>;
|
||||
compatible = "fsl,mpc852-pic", "fsl,pq1-pic";
|
||||
};
|
||||
|
||||
cpm@9c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,mpc852-cpm", "fsl,cpm1", "simple-bus";
|
||||
interrupts = <0>; /* cpm error interrupt */
|
||||
interrupt-parent = <&CPM_PIC>;
|
||||
reg = <0x9c0 10>;
|
||||
ranges;
|
||||
|
||||
muram@2000 {
|
||||
compatible = "fsl,cpm-muram";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x2000 0x2000>;
|
||||
|
||||
data@0 {
|
||||
compatible = "fsl,cpm-muram-data";
|
||||
reg = <0x800 0x1800>;
|
||||
};
|
||||
};
|
||||
|
||||
brg@9f0 {
|
||||
compatible = "fsl,mpc852-brg",
|
||||
"fsl,cpm1-brg",
|
||||
"fsl,cpm-brg";
|
||||
reg = <0x9f0 0x10>;
|
||||
clock-frequency = <0>; /* Filled in by u-boot */
|
||||
};
|
||||
|
||||
CPM_PIC: interrupt-controller@930 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupts = <5 2 0 2>;
|
||||
interrupt-parent = <&PIC>;
|
||||
reg = <0x930 0x20>;
|
||||
compatible = "fsl,cpm1-pic";
|
||||
};
|
||||
|
||||
/* MON-1 */
|
||||
serial@a80 {
|
||||
device_type = "serial";
|
||||
compatible = "fsl,cpm1-smc-uart";
|
||||
reg = <0xa80 0x10 0x3fc0 0x40>;
|
||||
interrupts = <4>;
|
||||
interrupt-parent = <&CPM_PIC>;
|
||||
fsl,cpm-brg = <1>;
|
||||
fsl,cpm-command = <0x0090>;
|
||||
current-speed = <0>; /* Filled in by u-boot */
|
||||
};
|
||||
|
||||
ethernet@a40 {
|
||||
device_type = "network";
|
||||
compatible = "fsl,mpc866-scc-enet",
|
||||
"fsl,cpm1-scc-enet";
|
||||
reg = <0xa40 0x18 0x3e00 0x100>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by u-boot */
|
||||
interrupts = <28>;
|
||||
interrupt-parent = <&CPM_PIC>;
|
||||
fsl,cpm-command = <0x80>;
|
||||
fixed-link = <0 0 10 0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -475,14 +475,14 @@
|
||||
};
|
||||
|
||||
sata@18000 {
|
||||
compatible = "fsl,mpc8536-sata", "fsl,pq-sata";
|
||||
compatible = "fsl,p1022-sata", "fsl,pq-sata-v2";
|
||||
reg = <0x18000 0x1000>;
|
||||
cell-index = <1>;
|
||||
interrupts = <74 0x2>;
|
||||
};
|
||||
|
||||
sata@19000 {
|
||||
compatible = "fsl,mpc8536-sata", "fsl,pq-sata";
|
||||
compatible = "fsl,p1022-sata", "fsl,pq-sata-v2";
|
||||
reg = <0x19000 0x1000>;
|
||||
cell-index = <2>;
|
||||
interrupts = <41 0x2>;
|
||||
|
||||
@@ -2,6 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EXPERT=y
|
||||
# CONFIG_HOTPLUG is not set
|
||||
@@ -18,7 +19,6 @@ CONFIG_KMETER1=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
@@ -37,7 +37,6 @@ CONFIG_MTD=y
|
||||
CONFIG_MTD_CONCAT=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
@@ -49,13 +48,12 @@ CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_GLUEBI=y
|
||||
CONFIG_MTD_UBI_DEBUG=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_UCC_GETH=y
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
CONFIG_WAN=y
|
||||
@@ -77,7 +75,6 @@ CONFIG_I2C_MPC=y
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_UIO=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
@@ -10,7 +11,6 @@ CONFIG_SLAB=y
|
||||
CONFIG_PPC_82xx=y
|
||||
CONFIG_MGCOGE=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
@@ -30,7 +30,6 @@ CONFIG_MTD=y
|
||||
CONFIG_MTD_CONCAT=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_CFI=y
|
||||
@@ -43,7 +42,6 @@ CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
@@ -67,7 +65,6 @@ CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
@@ -88,13 +85,9 @@ CONFIG_DEBUG_FS=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_DEBUG_INFO=y
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_BDI_SWITCH=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_PCBC=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_DES=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
CONFIG_PPC_8xx=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_EXPERT=y
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
# CONFIG_HOTPLUG is not set
|
||||
# CONFIG_BUG is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_EPOLL is not set
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PPC_MGSUVD=y
|
||||
CONFIG_8xx_COPYBACK=y
|
||||
CONFIG_8xx_CPU6=y
|
||||
CONFIG_I2C_SPI_SMC1_UCODE_PATCH=y
|
||||
CONFIG_HZ_1000=y
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_GEOMETRY=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_CFI_STAA=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_FS_ENET=y
|
||||
# CONFIG_FS_ENET_HAS_FEC is not set
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
CONFIG_SERIAL_CPM=y
|
||||
CONFIG_SERIAL_CPM_CONSOLE=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
@@ -154,6 +154,7 @@ extern const char *powerpc_base_platform;
|
||||
#define CPU_FTR_NAP_DISABLE_L2_PR ASM_CONST(0x0000000000002000)
|
||||
#define CPU_FTR_DUAL_PLL_750FX ASM_CONST(0x0000000000004000)
|
||||
#define CPU_FTR_NO_DPM ASM_CONST(0x0000000000008000)
|
||||
#define CPU_FTR_476_DD2 ASM_CONST(0x0000000000010000)
|
||||
#define CPU_FTR_NEED_COHERENT ASM_CONST(0x0000000000020000)
|
||||
#define CPU_FTR_NO_BTIC ASM_CONST(0x0000000000040000)
|
||||
#define CPU_FTR_NODSISRALIGN ASM_CONST(0x0000000000100000)
|
||||
@@ -465,7 +466,7 @@ enum {
|
||||
CPU_FTRS_44X | CPU_FTRS_440x6 |
|
||||
#endif
|
||||
#ifdef CONFIG_PPC_47x
|
||||
CPU_FTRS_47X |
|
||||
CPU_FTRS_47X | CPU_FTR_476_DD2 |
|
||||
#endif
|
||||
#ifdef CONFIG_E200
|
||||
CPU_FTRS_E200 |
|
||||
|
||||
@@ -141,6 +141,8 @@ static inline bool arch_irqs_disabled(void)
|
||||
|
||||
#endif /* CONFIG_PPC64 */
|
||||
|
||||
#define ARCH_IRQ_INIT_FLAGS IRQ_NOREQUEST
|
||||
|
||||
/*
|
||||
* interrupt-retrigger: should we handle this via lost interrupts and IPIs
|
||||
* or should we not care like we do now ? --BenH.
|
||||
|
||||
@@ -467,11 +467,11 @@ extern void mpic_request_ipis(void);
|
||||
void smp_mpic_message_pass(int target, int msg);
|
||||
|
||||
/* Unmask a specific virq */
|
||||
extern void mpic_unmask_irq(unsigned int irq);
|
||||
extern void mpic_unmask_irq(struct irq_data *d);
|
||||
/* Mask a specific virq */
|
||||
extern void mpic_mask_irq(unsigned int irq);
|
||||
extern void mpic_mask_irq(struct irq_data *d);
|
||||
/* EOI a specific virq */
|
||||
extern void mpic_end_irq(unsigned int irq);
|
||||
extern void mpic_end_irq(struct irq_data *d);
|
||||
|
||||
/* Fetch interrupt from a given mpic */
|
||||
extern unsigned int mpic_get_one_irq(struct mpic *mpic);
|
||||
|
||||
@@ -51,7 +51,8 @@ static inline int mmio_nvram_init(void)
|
||||
extern int __init nvram_scan_partitions(void);
|
||||
extern loff_t nvram_create_partition(const char *name, int sig,
|
||||
int req_size, int min_size);
|
||||
extern int nvram_remove_partition(const char *name, int sig);
|
||||
extern int nvram_remove_partition(const char *name, int sig,
|
||||
const char *exceptions[]);
|
||||
extern int nvram_get_partition_size(loff_t data_index);
|
||||
extern loff_t nvram_find_partition(const char *name, int sig, int *out_size);
|
||||
|
||||
|
||||
@@ -170,6 +170,7 @@ extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addre
|
||||
#define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \
|
||||
_PAGE_COHERENT | _PAGE_WRITETHRU))
|
||||
|
||||
#define pgprot_writecombine pgprot_noncached_wc
|
||||
|
||||
struct file;
|
||||
extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
|
||||
@@ -81,7 +81,7 @@ int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high);
|
||||
static inline void qe_ic_cascade_low_ipic(unsigned int irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
struct qe_ic *qe_ic = desc->handler_data;
|
||||
struct qe_ic *qe_ic = get_irq_desc_data(desc);
|
||||
unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
@@ -91,7 +91,7 @@ static inline void qe_ic_cascade_low_ipic(unsigned int irq,
|
||||
static inline void qe_ic_cascade_high_ipic(unsigned int irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
struct qe_ic *qe_ic = desc->handler_data;
|
||||
struct qe_ic *qe_ic = get_irq_desc_data(desc);
|
||||
unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
@@ -101,32 +101,35 @@ static inline void qe_ic_cascade_high_ipic(unsigned int irq,
|
||||
static inline void qe_ic_cascade_low_mpic(unsigned int irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
struct qe_ic *qe_ic = desc->handler_data;
|
||||
struct qe_ic *qe_ic = get_irq_desc_data(desc);
|
||||
unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
|
||||
struct irq_chip *chip = get_irq_desc_chip(desc);
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
generic_handle_irq(cascade_irq);
|
||||
|
||||
desc->chip->eoi(irq);
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
}
|
||||
|
||||
static inline void qe_ic_cascade_high_mpic(unsigned int irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
struct qe_ic *qe_ic = desc->handler_data;
|
||||
struct qe_ic *qe_ic = get_irq_desc_data(desc);
|
||||
unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
|
||||
struct irq_chip *chip = get_irq_desc_chip(desc);
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
generic_handle_irq(cascade_irq);
|
||||
|
||||
desc->chip->eoi(irq);
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
}
|
||||
|
||||
static inline void qe_ic_cascade_muxed_mpic(unsigned int irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
struct qe_ic *qe_ic = desc->handler_data;
|
||||
struct qe_ic *qe_ic = get_irq_desc_data(desc);
|
||||
unsigned int cascade_irq;
|
||||
struct irq_chip *chip = get_irq_desc_chip(desc);
|
||||
|
||||
cascade_irq = qe_ic_get_high_irq(qe_ic);
|
||||
if (cascade_irq == NO_IRQ)
|
||||
@@ -135,7 +138,7 @@ static inline void qe_ic_cascade_muxed_mpic(unsigned int irq,
|
||||
if (cascade_irq != NO_IRQ)
|
||||
generic_handle_irq(cascade_irq);
|
||||
|
||||
desc->chip->eoi(irq);
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
}
|
||||
|
||||
#endif /* _ASM_POWERPC_QE_IC_H */
|
||||
|
||||
@@ -170,6 +170,16 @@
|
||||
#define SPEFSCR_FRMC 0x00000003 /* Embedded FP rounding mode control */
|
||||
|
||||
/* Special Purpose Registers (SPRNs)*/
|
||||
|
||||
#ifdef CONFIG_40x
|
||||
#define SPRN_PID 0x3B1 /* Process ID */
|
||||
#else
|
||||
#define SPRN_PID 0x030 /* Process ID */
|
||||
#ifdef CONFIG_BOOKE
|
||||
#define SPRN_PID0 SPRN_PID/* Process ID Register 0 */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define SPRN_CTR 0x009 /* Count Register */
|
||||
#define SPRN_DSCR 0x11
|
||||
#define SPRN_CTRLF 0x088
|
||||
@@ -852,6 +862,8 @@
|
||||
#define PVR_7450 0x80000000
|
||||
#define PVR_8540 0x80200000
|
||||
#define PVR_8560 0x80200000
|
||||
#define PVR_VER_E500V1 0x8020
|
||||
#define PVR_VER_E500V2 0x8021
|
||||
/*
|
||||
* For the 8xx processors, all of them report the same PVR family for
|
||||
* the PowerPC core. The various versions of these processors must be
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user