fsl/mpic: Document and use the "big-endian" device-tree flag

The MPIC code checks for a "big-endian" property and sets the flag
MPIC_BIG_ENDIAN if one is present, although prior to the "mpic->flags"
fixup that would never have worked anways.

Unfortunately, even now that it works properly, the Freescale mpic
device-node (the "PowerQUICC-III"-compatible one) does not specify it,
so all of the board ports need to manually pass it to mpic_alloc().

Document the flag and add it to the pq3 device tree.  Existing code will
still need to pass the MPIC_BIG_ENDIAN flag because their dtb may not
have this property, but new platforms shouldn't need to do so.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Kyle Moffett 2011-12-22 10:19:10 +00:00 committed by Benjamin Herrenschmidt
parent 3a7a7176e8
commit 98cca250ae
2 changed files with 9 additions and 1 deletions

View File

@ -56,7 +56,14 @@ PROPERTIES
to the client. The presence of this property also mandates to the client. The presence of this property also mandates
that any initialization related to interrupt sources shall that any initialization related to interrupt sources shall
be limited to sources explicitly referenced in the device tree. be limited to sources explicitly referenced in the device tree.
- big-endian
Usage: optional
Value type: <empty>
If present the MPIC will be assumed to be big-endian. Some
device-trees omit this property on MPIC nodes even when the MPIC is
in fact big-endian, so certain boards override this property.
INTERRUPT SPECIFIER DEFINITION INTERRUPT SPECIFIER DEFINITION
Interrupt specifiers consists of 4 cells encoded as Interrupt specifiers consists of 4 cells encoded as

View File

@ -39,6 +39,7 @@ mpic: pic@40000 {
reg = <0x40000 0x40000>; reg = <0x40000 0x40000>;
compatible = "fsl,mpic"; compatible = "fsl,mpic";
device_type = "open-pic"; device_type = "open-pic";
big-endian;
}; };
timer@41100 { timer@41100 {