Merge remote-tracking branch 'kumar/next' into next
Freescale updates for 3.6
This commit is contained in:
commit
af3bf7fbe0
|
@ -653,7 +653,7 @@ config SBUS
|
|||
config FSL_SOC
|
||||
bool
|
||||
select HAVE_CAN_FLEXCAN if NET && CAN
|
||||
select PPC_CLOCK if CAN_FLEXCAN
|
||||
select PPC_CLOCK
|
||||
|
||||
config FSL_PCI
|
||||
bool
|
||||
|
|
|
@ -276,7 +276,6 @@ image-$(CONFIG_TQM8548) += cuImage.tqm8548
|
|||
image-$(CONFIG_TQM8555) += cuImage.tqm8555
|
||||
image-$(CONFIG_TQM8560) += cuImage.tqm8560
|
||||
image-$(CONFIG_SBC8548) += cuImage.sbc8548
|
||||
image-$(CONFIG_SBC8560) += cuImage.sbc8560
|
||||
image-$(CONFIG_KSI8560) += cuImage.ksi8560
|
||||
|
||||
# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* BSC9131 RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2011-2012 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.
|
||||
*/
|
||||
|
||||
/include/ "fsl/bsc9131si-pre.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,bsc9131rdb";
|
||||
compatible = "fsl,bsc9131rdb";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
board_ifc: ifc: ifc@ff71e000 {
|
||||
/* NAND Flash on board */
|
||||
ranges = <0x0 0x0 0x0 0xff800000 0x00004000>;
|
||||
reg = <0x0 0xff71e000 0x0 0x2000>;
|
||||
};
|
||||
|
||||
board_soc: soc: soc@ff700000 {
|
||||
ranges = <0x0 0x0 0xff700000 0x100000>;
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "bsc9131rdb.dtsi"
|
||||
/include/ "fsl/bsc9131si-post.dtsi"
|
|
@ -0,0 +1,142 @@
|
|||
/*
|
||||
* BSC9131 RDB Device Tree Source stub (no addresses or top-level ranges)
|
||||
*
|
||||
* Copyright 2011-2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
&board_ifc {
|
||||
|
||||
nand@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x0 0x0 0x4000>;
|
||||
|
||||
partition@0 {
|
||||
/* This location must not be altered */
|
||||
/* 3MB for u-boot Bootloader Image */
|
||||
reg = <0x0 0x00300000>;
|
||||
label = "NAND U-Boot Image";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
/* 1MB for DTB Image */
|
||||
reg = <0x00300000 0x00100000>;
|
||||
label = "NAND DTB Image";
|
||||
};
|
||||
|
||||
partition@400000 {
|
||||
/* 8MB for Linux Kernel Image */
|
||||
reg = <0x00400000 0x00800000>;
|
||||
label = "NAND Linux Kernel Image";
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
/* Rest space for Root file System Image */
|
||||
reg = <0x00c00000 0x07400000>;
|
||||
label = "NAND RFS Image";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&board_soc {
|
||||
/* BSC9131RDB does not have any device on i2c@3100 */
|
||||
i2c@3100 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi@7000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,s25sl12801";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
/* 512KB for u-boot Bootloader Image */
|
||||
partition@0 {
|
||||
reg = <0x0 0x00080000>;
|
||||
label = "SPI Flash U-Boot Image";
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* 512KB for DTB Image */
|
||||
partition@80000 {
|
||||
reg = <0x00080000 0x00080000>;
|
||||
label = "SPI Flash DTB Image";
|
||||
};
|
||||
|
||||
/* 4MB for Linux Kernel Image */
|
||||
partition@100000 {
|
||||
reg = <0x00100000 0x00400000>;
|
||||
label = "SPI Flash Kernel Image";
|
||||
};
|
||||
|
||||
/*11MB for RFS Image */
|
||||
partition@500000 {
|
||||
reg = <0x00500000 0x00B00000>;
|
||||
label = "SPI Flash RFS Image";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
usb@22000 {
|
||||
phy_type = "ulpi";
|
||||
};
|
||||
|
||||
mdio@24000 {
|
||||
phy0: ethernet-phy@0 {
|
||||
interrupts = <3 1 0 0>;
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
interrupts = <2 1 0 0>;
|
||||
reg = <0x3>;
|
||||
};
|
||||
};
|
||||
|
||||
sdhci@2e000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
enet0: ethernet@b0000 {
|
||||
phy-handle = <&phy0>;
|
||||
phy-connection-type = "rgmii-id";
|
||||
};
|
||||
|
||||
enet1: ethernet@b1000 {
|
||||
phy-handle = <&phy1>;
|
||||
phy-connection-type = "rgmii-id";
|
||||
};
|
||||
};
|
|
@ -0,0 +1,193 @@
|
|||
/*
|
||||
* BSC9131 Silicon/SoC Device Tree Source (post include)
|
||||
*
|
||||
* Copyright 2011-2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc", "simple-bus";
|
||||
interrupts = <16 2 0 0 20 2 0 0>;
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
compatible = "fsl,bsc9131-immr", "simple-bus";
|
||||
bus-frequency = <0>; // Filled out by uboot.
|
||||
|
||||
ecm-law@0 {
|
||||
compatible = "fsl,ecm-law";
|
||||
reg = <0x0 0x1000>;
|
||||
fsl,num-laws = <12>;
|
||||
};
|
||||
|
||||
ecm@1000 {
|
||||
compatible = "fsl,bsc9131-ecm", "fsl,ecm";
|
||||
reg = <0x1000 0x1000>;
|
||||
interrupts = <16 2 0 0>;
|
||||
};
|
||||
|
||||
memory-controller@2000 {
|
||||
compatible = "fsl,bsc9131-memory-controller";
|
||||
reg = <0x2000 0x1000>;
|
||||
interrupts = <16 2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-i2c-0.dtsi"
|
||||
i2c@3000 {
|
||||
interrupts = <17 2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-i2c-1.dtsi"
|
||||
i2c@3100 {
|
||||
interrupts = <17 2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-duart-0.dtsi"
|
||||
serial0: serial@4500 {
|
||||
interrupts = <18 2 0 0>;
|
||||
};
|
||||
|
||||
serial1: serial@4600 {
|
||||
interrupts = <18 2 0 0 >;
|
||||
};
|
||||
/include/ "pq3-espi-0.dtsi"
|
||||
spi0: spi@7000 {
|
||||
fsl,espi-num-chipselects = <1>;
|
||||
interrupts = <22 0x2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-gpio-0.dtsi"
|
||||
gpio-controller@f000 {
|
||||
interrupts = <19 0x2 0 0>;
|
||||
};
|
||||
|
||||
L2: l2-cache-controller@20000 {
|
||||
compatible = "fsl,bsc9131-l2-cache-controller";
|
||||
reg = <0x20000 0x1000>;
|
||||
cache-line-size = <32>; // 32 bytes
|
||||
cache-size = <0x40000>; // L2,256K
|
||||
interrupts = <16 2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-dma-0.dtsi"
|
||||
|
||||
dma@21300 {
|
||||
|
||||
dma-channel@0 {
|
||||
interrupts = <62 2 0 0>;
|
||||
};
|
||||
|
||||
dma-channel@80 {
|
||||
interrupts = <63 2 0 0>;
|
||||
};
|
||||
|
||||
dma-channel@100 {
|
||||
interrupts = <64 2 0 0>;
|
||||
};
|
||||
|
||||
dma-channel@180 {
|
||||
interrupts = <65 2 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "pq3-usb2-dr-0.dtsi"
|
||||
usb@22000 {
|
||||
compatible = "fsl-usb2-dr","fsl-usb2-dr-v2.2";
|
||||
interrupts = <40 0x2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-esdhc-0.dtsi"
|
||||
sdhc@2e000 {
|
||||
fsl,sdhci-auto-cmd12;
|
||||
interrupts = <41 0x2 0 0>;
|
||||
};
|
||||
|
||||
/include/ "pq3-sec4.4-0.dtsi"
|
||||
crypto@30000 {
|
||||
interrupts = <57 2 0 0>;
|
||||
|
||||
sec_jr0: jr@1000 {
|
||||
interrupts = <58 2 0 0>;
|
||||
};
|
||||
|
||||
sec_jr1: jr@2000 {
|
||||
interrupts = <59 2 0 0>;
|
||||
};
|
||||
|
||||
sec_jr2: jr@3000 {
|
||||
interrupts = <60 2 0 0>;
|
||||
};
|
||||
|
||||
sec_jr3: jr@4000 {
|
||||
interrupts = <61 2 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "pq3-mpic.dtsi"
|
||||
|
||||
timer@41100 {
|
||||
compatible = "fsl,mpic-v1.2-msgr", "fsl,mpic-msg";
|
||||
reg = <0x41400 0x200>;
|
||||
interrupts = <
|
||||
0xb0 2
|
||||
0xb1 2
|
||||
0xb2 2
|
||||
0xb3 2>;
|
||||
};
|
||||
|
||||
/include/ "pq3-etsec2-0.dtsi"
|
||||
enet0: ethernet@b0000 {
|
||||
queue-group@b0000 {
|
||||
fsl,rx-bit-map = <0xff>;
|
||||
fsl,tx-bit-map = <0xff>;
|
||||
interrupts = <26 2 0 0 27 2 0 0 28 2 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "pq3-etsec2-1.dtsi"
|
||||
enet1: ethernet@b1000 {
|
||||
queue-group@b1000 {
|
||||
fsl,rx-bit-map = <0xff>;
|
||||
fsl,tx-bit-map = <0xff>;
|
||||
interrupts = <33 2 0 0 34 2 0 0 35 2 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
global-utilities@e0000 {
|
||||
compatible = "fsl,bsc9131-guts";
|
||||
reg = <0xe0000 0x1000>;
|
||||
fsl,has-rstcr;
|
||||
};
|
||||
};
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* P3060 Silicon/SoC Device Tree Source (pre include)
|
||||
* BSC9131 Silicon/SoC Device Tree Source (pre include)
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
* Copyright 2011-2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
@ -34,92 +34,26 @@
|
|||
|
||||
/dts-v1/;
|
||||
/ {
|
||||
compatible = "fsl,P3060";
|
||||
compatible = "fsl,BSC9131";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
aliases {
|
||||
ccsr = &soc;
|
||||
dcsr = &dcsr;
|
||||
|
||||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
serial2 = &serial2;
|
||||
serial3 = &serial3;
|
||||
pci0 = &pci0;
|
||||
pci1 = &pci1;
|
||||
usb0 = &usb0;
|
||||
usb1 = &usb1;
|
||||
dma0 = &dma0;
|
||||
dma1 = &dma1;
|
||||
msi0 = &msi0;
|
||||
msi1 = &msi1;
|
||||
msi2 = &msi2;
|
||||
|
||||
crypto = &crypto;
|
||||
sec_jr0 = &sec_jr0;
|
||||
sec_jr1 = &sec_jr1;
|
||||
sec_jr2 = &sec_jr2;
|
||||
sec_jr3 = &sec_jr3;
|
||||
rtic_a = &rtic_a;
|
||||
rtic_b = &rtic_b;
|
||||
rtic_c = &rtic_c;
|
||||
rtic_d = &rtic_d;
|
||||
sec_mon = &sec_mon;
|
||||
ethernet0 = &enet0;
|
||||
ethernet1 = &enet1;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: PowerPC,e500mc@0 {
|
||||
PowerPC,BSC9131@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
next-level-cache = <&L2_0>;
|
||||
L2_0: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu1: PowerPC,e500mc@1 {
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
next-level-cache = <&L2_1>;
|
||||
L2_1: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu4: PowerPC,e500mc@4 {
|
||||
device_type = "cpu";
|
||||
reg = <4>;
|
||||
next-level-cache = <&L2_4>;
|
||||
L2_4: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu5: PowerPC,e500mc@5 {
|
||||
device_type = "cpu";
|
||||
reg = <5>;
|
||||
next-level-cache = <&L2_5>;
|
||||
L2_5: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu6: PowerPC,e500mc@6 {
|
||||
device_type = "cpu";
|
||||
reg = <6>;
|
||||
next-level-cache = <&L2_6>;
|
||||
L2_6: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu7: PowerPC,e500mc@7 {
|
||||
device_type = "cpu";
|
||||
reg = <7>;
|
||||
next-level-cache = <&L2_7>;
|
||||
L2_7: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
compatible = "fsl,e500v2";
|
||||
reg = <0x0>;
|
||||
next-level-cache = <&L2>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* P1021/P1012 Silicon/SoC Device Tree Source (post include)
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
* Copyright 2011-2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
@ -213,6 +213,20 @@
|
|||
interrupt-parent = <&qeic>;
|
||||
};
|
||||
|
||||
ucc@2600 {
|
||||
cell-index = <7>;
|
||||
reg = <0x2600 0x200>;
|
||||
interrupts = <42>;
|
||||
interrupt-parent = <&qeic>;
|
||||
};
|
||||
|
||||
ucc@2200 {
|
||||
cell-index = <3>;
|
||||
reg = <0x2200 0x200>;
|
||||
interrupts = <34>;
|
||||
interrupt-parent = <&qeic>;
|
||||
};
|
||||
|
||||
muram@10000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
|
|
@ -1,302 +0,0 @@
|
|||
/*
|
||||
* P3060 Silicon/SoC Device Tree Source (post include)
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p3060-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
|
||||
/* controller at 0x200000 */
|
||||
&pci0 {
|
||||
compatible = "fsl,p3060-pcie", "fsl,qoriq-pcie-v2.2";
|
||||
device_type = "pci";
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
bus-range = <0x0 0xff>;
|
||||
clock-frequency = <33333333>;
|
||||
interrupts = <16 2 1 15>;
|
||||
pcie@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
device_type = "pci";
|
||||
interrupts = <16 2 1 15>;
|
||||
interrupt-map-mask = <0xf800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x0 */
|
||||
0000 0 0 1 &mpic 40 1 0 0
|
||||
0000 0 0 2 &mpic 1 1 0 0
|
||||
0000 0 0 3 &mpic 2 1 0 0
|
||||
0000 0 0 4 &mpic 3 1 0 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
/* controller at 0x201000 */
|
||||
&pci1 {
|
||||
compatible = "fsl,p3060-pcie", "fsl,qoriq-pcie-v2.2";
|
||||
device_type = "pci";
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
bus-range = <0 0xff>;
|
||||
clock-frequency = <33333333>;
|
||||
interrupts = <16 2 1 14>;
|
||||
pcie@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
device_type = "pci";
|
||||
interrupts = <16 2 1 14>;
|
||||
interrupt-map-mask = <0xf800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x0 */
|
||||
0000 0 0 1 &mpic 41 1 0 0
|
||||
0000 0 0 2 &mpic 5 1 0 0
|
||||
0000 0 0 3 &mpic 6 1 0 0
|
||||
0000 0 0 4 &mpic 7 1 0 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&rio {
|
||||
compatible = "fsl,srio";
|
||||
interrupts = <16 2 1 11>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
fsl,srio-rmu-handle = <&rmu>;
|
||||
ranges;
|
||||
|
||||
port1 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
cell-index = <1>;
|
||||
};
|
||||
|
||||
port2 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
cell-index = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&dcsr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,dcsr", "simple-bus";
|
||||
|
||||
dcsr-epu@0 {
|
||||
compatible = "fsl,dcsr-epu";
|
||||
interrupts = <52 2 0 0
|
||||
84 2 0 0
|
||||
85 2 0 0>;
|
||||
reg = <0x0 0x1000>;
|
||||
};
|
||||
dcsr-npc {
|
||||
compatible = "fsl,dcsr-npc";
|
||||
reg = <0x1000 0x1000 0x1000000 0x8000>;
|
||||
};
|
||||
dcsr-nxc@2000 {
|
||||
compatible = "fsl,dcsr-nxc";
|
||||
reg = <0x2000 0x1000>;
|
||||
};
|
||||
dcsr-corenet {
|
||||
compatible = "fsl,dcsr-corenet";
|
||||
reg = <0x8000 0x1000 0xB0000 0x1000>;
|
||||
};
|
||||
dcsr-dpaa@9000 {
|
||||
compatible = "fsl,p3060-dcsr-dpaa", "fsl,dcsr-dpaa";
|
||||
reg = <0x9000 0x1000>;
|
||||
};
|
||||
dcsr-ocn@11000 {
|
||||
compatible = "fsl,p3060-dcsr-ocn", "fsl,dcsr-ocn";
|
||||
reg = <0x11000 0x1000>;
|
||||
};
|
||||
dcsr-ddr@12000 {
|
||||
compatible = "fsl,dcsr-ddr";
|
||||
dev-handle = <&ddr1>;
|
||||
reg = <0x12000 0x1000>;
|
||||
};
|
||||
dcsr-nal@18000 {
|
||||
compatible = "fsl,p3060-dcsr-nal", "fsl,dcsr-nal";
|
||||
reg = <0x18000 0x1000>;
|
||||
};
|
||||
dcsr-rcpm@22000 {
|
||||
compatible = "fsl,p3060-dcsr-rcpm", "fsl,dcsr-rcpm";
|
||||
reg = <0x22000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@40000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu0>;
|
||||
reg = <0x40000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@41000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu1>;
|
||||
reg = <0x41000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@44000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu4>;
|
||||
reg = <0x44000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@45000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu5>;
|
||||
reg = <0x45000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@46000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu6>;
|
||||
reg = <0x46000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@47000 {
|
||||
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu7>;
|
||||
reg = <0x47000 0x1000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
compatible = "simple-bus";
|
||||
|
||||
soc-sram-error {
|
||||
compatible = "fsl,soc-sram-error";
|
||||
interrupts = <16 2 1 29>;
|
||||
};
|
||||
|
||||
corenet-law@0 {
|
||||
compatible = "fsl,corenet-law";
|
||||
reg = <0x0 0x1000>;
|
||||
fsl,num-laws = <32>;
|
||||
};
|
||||
|
||||
ddr1: memory-controller@8000 {
|
||||
compatible = "fsl,qoriq-memory-controller-v4.4", "fsl,qoriq-memory-controller";
|
||||
reg = <0x8000 0x1000>;
|
||||
interrupts = <16 2 1 23>;
|
||||
};
|
||||
|
||||
cpc: l3-cache-controller@10000 {
|
||||
compatible = "fsl,p3060-l3-cache-controller", "cache";
|
||||
reg = <0x10000 0x1000
|
||||
0x11000 0x1000>;
|
||||
interrupts = <16 2 1 27
|
||||
16 2 1 26>;
|
||||
};
|
||||
|
||||
corenet-cf@18000 {
|
||||
compatible = "fsl,corenet-cf";
|
||||
reg = <0x18000 0x1000>;
|
||||
interrupts = <16 2 1 31>;
|
||||
fsl,ccf-num-csdids = <32>;
|
||||
fsl,ccf-num-snoopids = <32>;
|
||||
};
|
||||
|
||||
iommu@20000 {
|
||||
compatible = "fsl,pamu-v1.0", "fsl,pamu";
|
||||
reg = <0x20000 0x5000>;
|
||||
interrupts = <
|
||||
24 2 0 0
|
||||
16 2 1 30>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-rmu-0.dtsi"
|
||||
/include/ "qoriq-mpic.dtsi"
|
||||
|
||||
guts: global-utilities@e0000 {
|
||||
compatible = "fsl,qoriq-device-config-1.0";
|
||||
reg = <0xe0000 0xe00>;
|
||||
fsl,has-rstcr;
|
||||
#sleep-cells = <1>;
|
||||
fsl,liodn-bits = <12>;
|
||||
};
|
||||
|
||||
pins: global-utilities@e0e00 {
|
||||
compatible = "fsl,qoriq-pin-control-1.0";
|
||||
reg = <0xe0e00 0x200>;
|
||||
#sleep-cells = <2>;
|
||||
};
|
||||
|
||||
clockgen: global-utilities@e1000 {
|
||||
compatible = "fsl,p3060-clockgen", "fsl,qoriq-clockgen-1.0";
|
||||
reg = <0xe1000 0x1000>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
rcpm: global-utilities@e2000 {
|
||||
compatible = "fsl,qoriq-rcpm-1.0";
|
||||
reg = <0xe2000 0x1000>;
|
||||
#sleep-cells = <1>;
|
||||
};
|
||||
|
||||
sfp: sfp@e8000 {
|
||||
compatible = "fsl,p3060-sfp", "fsl,qoriq-sfp-1.0";
|
||||
reg = <0xe8000 0x1000>;
|
||||
};
|
||||
|
||||
serdes: serdes@ea000 {
|
||||
compatible = "fsl,p3060-serdes";
|
||||
reg = <0xea000 0x1000>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-dma-0.dtsi"
|
||||
/include/ "qoriq-dma-1.dtsi"
|
||||
/include/ "qoriq-espi-0.dtsi"
|
||||
spi@110000 {
|
||||
fsl,espi-num-chipselects = <4>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-i2c-0.dtsi"
|
||||
/include/ "qoriq-i2c-1.dtsi"
|
||||
/include/ "qoriq-duart-0.dtsi"
|
||||
/include/ "qoriq-duart-1.dtsi"
|
||||
/include/ "qoriq-gpio-0.dtsi"
|
||||
/include/ "qoriq-usb2-mph-0.dtsi"
|
||||
usb@210000 {
|
||||
compatible = "fsl-usb2-mph-v2.2", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph";
|
||||
};
|
||||
/include/ "qoriq-usb2-dr-0.dtsi"
|
||||
usb@211000 {
|
||||
compatible = "fsl-usb2-dr-v2.2", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr";
|
||||
};
|
||||
/include/ "qoriq-sec4.1-0.dtsi"
|
||||
};
|
|
@ -222,6 +222,29 @@
|
|||
interrupt-parent = <&PIC>;
|
||||
usb-clock = <5>;
|
||||
};
|
||||
spi@11aa0 {
|
||||
cell-index = <0>;
|
||||
compatible = "fsl,spi", "fsl,cpm2-spi";
|
||||
reg = <0x11a80 0x40 0x89fc 0x2>;
|
||||
interrupts = <2 8>;
|
||||
interrupt-parent = <&PIC>;
|
||||
gpios = < &cpm2_pio_d 19 0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ds3106@1 {
|
||||
compatible = "gen,spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <8000000>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
cpm2_pio_d: gpio-controller@10d60 {
|
||||
#gpio-cells = <2>;
|
||||
compatible = "fsl,cpm2-pario-bank";
|
||||
reg = <0x10d60 0x14>;
|
||||
gpio-controller;
|
||||
};
|
||||
|
||||
cpm2_pio_c: gpio-controller@10d40 {
|
||||
|
|
|
@ -203,6 +203,14 @@
|
|||
reg = <1>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
sgmii_phy0: sgmii-phy@0 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1d>;
|
||||
};
|
||||
sgmii_phy1: sgmii-phy@1 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1c>;
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
|
|
|
@ -51,6 +51,15 @@
|
|||
device_type = "ethernet-phy";
|
||||
};
|
||||
|
||||
sgmii_phy0: sgmii-phy@0 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1c>;
|
||||
};
|
||||
sgmii_phy1: sgmii-phy@1 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1d>;
|
||||
};
|
||||
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
|
|
|
@ -169,6 +169,23 @@
|
|||
reg = <0x3>;
|
||||
};
|
||||
|
||||
sgmii_phy0: sgmii-phy@0 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1c>;
|
||||
};
|
||||
sgmii_phy1: sgmii-phy@1 {
|
||||
interrupts = <6 1 0 0>;
|
||||
reg = <0x1d>;
|
||||
};
|
||||
sgmii_phy2: sgmii-phy@2 {
|
||||
interrupts = <7 1 0 0>;
|
||||
reg = <0x1e>;
|
||||
};
|
||||
sgmii_phy3: sgmii-phy@3 {
|
||||
interrupts = <7 1 0 0>;
|
||||
reg = <0x1f>;
|
||||
};
|
||||
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
|
|
|
@ -67,10 +67,10 @@
|
|||
msi@41600 {
|
||||
msi-available-ranges = <0 0x80>;
|
||||
interrupts = <
|
||||
0xe0 0
|
||||
0xe1 0
|
||||
0xe2 0
|
||||
0xe3 0>;
|
||||
0xe0 0 0 0
|
||||
0xe1 0 0 0
|
||||
0xe2 0 0 0
|
||||
0xe3 0 0 0>;
|
||||
};
|
||||
timer@42100 {
|
||||
status = "disabled";
|
||||
|
|
|
@ -67,9 +67,6 @@
|
|||
ethernet@24000 {
|
||||
status = "disabled";
|
||||
};
|
||||
mdio@24520 {
|
||||
status = "disabled";
|
||||
};
|
||||
ptp_clock@24e00 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -100,10 +97,10 @@
|
|||
msi@41600 {
|
||||
msi-available-ranges = <0x80 0x80>;
|
||||
interrupts = <
|
||||
0xe4 0
|
||||
0xe5 0
|
||||
0xe6 0
|
||||
0xe7 0>;
|
||||
0xe4 0 0 0
|
||||
0xe5 0 0 0
|
||||
0xe6 0 0 0
|
||||
0xe7 0 0 0>;
|
||||
};
|
||||
global-utilities@e0000 {
|
||||
status = "disabled";
|
||||
|
|
|
@ -126,12 +126,24 @@
|
|||
|
||||
&board_soc {
|
||||
i2c@3000 {
|
||||
eeprom@50 {
|
||||
compatible = "st,24c256";
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "pericom,pt7c4338";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3100 {
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c01";
|
||||
reg = <0x52>;
|
||||
};
|
||||
};
|
||||
|
||||
spi@7000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* P1021 RDB Device Tree Source stub (no addresses or top-level ranges)
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* P1021 RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
@ -92,5 +92,5 @@
|
|||
};
|
||||
};
|
||||
|
||||
/include/ "p1021rdb.dtsi"
|
||||
/include/ "p1021rdb-pc.dtsi"
|
||||
/include/ "fsl/p1021si-post.dtsi"
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* P1021 RDB Device Tree Source (36-bit address map)
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
@ -92,5 +92,5 @@
|
|||
};
|
||||
};
|
||||
|
||||
/include/ "p1021rdb.dtsi"
|
||||
/include/ "p1021rdb-pc.dtsi"
|
||||
/include/ "fsl/p1021si-post.dtsi"
|
|
@ -33,22 +33,6 @@
|
|||
*/
|
||||
|
||||
&board_lbc {
|
||||
/*
|
||||
* This node is used to access the pixis via "indirect" mode,
|
||||
* which is done by writing the pixis register index to chip
|
||||
* select 0 and the value to/from chip select 1. Indirect
|
||||
* mode is the only way to access the pixis when DIU video
|
||||
* is enabled. Note that this assumes that the first column
|
||||
* of the 'ranges' property above is the chip select number.
|
||||
*/
|
||||
board-control@0,0 {
|
||||
compatible = "fsl,p1022ds-indirect-pixis";
|
||||
reg = <0x0 0x0 1 /* CS0 */
|
||||
0x1 0x0 1>; /* CS1 */
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <8 0 0 0>;
|
||||
};
|
||||
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -161,6 +145,10 @@
|
|||
* the clock is enabled.
|
||||
*/
|
||||
};
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
spi@7000 {
|
||||
|
|
|
@ -0,0 +1,228 @@
|
|||
/*
|
||||
* P1024 RDB Device Tree Source stub (no addresses or top-level ranges)
|
||||
*
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
&lbc {
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x0 0x0 0x1000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <1>;
|
||||
|
||||
partition@0 {
|
||||
/* This location must not be altered */
|
||||
/* 256KB for Vitesse 7385 Switch firmware */
|
||||
reg = <0x0 0x00040000>;
|
||||
label = "NOR Vitesse-7385 Firmware";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
/* 256KB for DTB Image */
|
||||
reg = <0x00040000 0x00040000>;
|
||||
label = "NOR DTB Image";
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
/* 3.5 MB for Linux Kernel Image */
|
||||
reg = <0x00080000 0x00380000>;
|
||||
label = "NOR Linux Kernel Image";
|
||||
};
|
||||
|
||||
partition@400000 {
|
||||
/* 11MB for JFFS2 based Root file System */
|
||||
reg = <0x00400000 0x00b00000>;
|
||||
label = "NOR JFFS2 Root File System";
|
||||
};
|
||||
|
||||
partition@f00000 {
|
||||
/* This location must not be altered */
|
||||
/* 512KB for u-boot Bootloader Image */
|
||||
/* 512KB for u-boot Environment Variables */
|
||||
reg = <0x00f00000 0x00100000>;
|
||||
label = "NOR U-Boot Image";
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
|
||||
nand@1,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,p1020-fcm-nand",
|
||||
"fsl,elbc-fcm-nand";
|
||||
reg = <0x1 0x0 0x40000>;
|
||||
|
||||
partition@0 {
|
||||
/* This location must not be altered */
|
||||
/* 1MB for u-boot Bootloader Image */
|
||||
reg = <0x0 0x00100000>;
|
||||
label = "NAND U-Boot Image";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
/* 1MB for DTB Image */
|
||||
reg = <0x00100000 0x00100000>;
|
||||
label = "NAND DTB Image";
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
/* 4MB for Linux Kernel Image */
|
||||
reg = <0x00200000 0x00400000>;
|
||||
label = "NAND Linux Kernel Image";
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
/* 4MB for Compressed Root file System Image */
|
||||
reg = <0x00600000 0x00400000>;
|
||||
label = "NAND Compressed RFS Image";
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
/* 15MB for JFFS2 based Root file System */
|
||||
reg = <0x00a00000 0x00f00000>;
|
||||
label = "NAND JFFS2 Root File System";
|
||||
};
|
||||
|
||||
partition@1900000 {
|
||||
/* 7MB for User Writable Area */
|
||||
reg = <0x01900000 0x00700000>;
|
||||
label = "NAND Writable User area";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
spi@7000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,m25p80";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <40000000>;
|
||||
|
||||
partition@0 {
|
||||
/* 512KB for u-boot Bootloader Image */
|
||||
reg = <0x0 0x00080000>;
|
||||
label = "SPI U-Boot Image";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
/* 512KB for DTB Image */
|
||||
reg = <0x00080000 0x00080000>;
|
||||
label = "SPI DTB Image";
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
/* 4MB for Linux Kernel Image */
|
||||
reg = <0x00100000 0x00400000>;
|
||||
label = "SPI Linux Kernel Image";
|
||||
};
|
||||
|
||||
partition@500000 {
|
||||
/* 4MB for Compressed RFS Image */
|
||||
reg = <0x00500000 0x00400000>;
|
||||
label = "SPI Compressed RFS Image";
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
/* 7MB for JFFS2 based RFS */
|
||||
reg = <0x00900000 0x00700000>;
|
||||
label = "SPI JFFS2 RFS";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3000 {
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
usb@22000 {
|
||||
phy_type = "ulpi";
|
||||
};
|
||||
|
||||
usb@23000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mdio@24000 {
|
||||
phy0: ethernet-phy@0 {
|
||||
interrupts = <3 1 0 0>;
|
||||
reg = <0x0>;
|
||||
};
|
||||
phy1: ethernet-phy@1 {
|
||||
interrupts = <2 1 0 0>;
|
||||
reg = <0x1>;
|
||||
};
|
||||
phy2: ethernet-phy@2 {
|
||||
interrupts = <1 1 0 0>;
|
||||
reg = <0x2>;
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25000 {
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@26000 {
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
ethernet@b0000 {
|
||||
phy-handle = <&phy2>;
|
||||
phy-connection-type = "rgmii-id";
|
||||
};
|
||||
|
||||
ethernet@b1000 {
|
||||
phy-handle = <&phy0>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@b2000 {
|
||||
phy-handle = <&phy1>;
|
||||
phy-connection-type = "rgmii-id";
|
||||
};
|
||||
};
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* P1024 RDB 32Bit Physical Address Map Device Tree Source
|
||||
*
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/p1020si-pre.dtsi"
|
||||
/ {
|
||||
model = "fsl,P1024RDB";
|
||||
compatible = "fsl,P1024RDB";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
lbc: localbus@ffe05000 {
|
||||
reg = <0x0 0xffe05000 0 0x1000>;
|
||||
ranges = <0x0 0x0 0x0 0xef000000 0x01000000
|
||||
0x1 0x0 0x0 0xff800000 0x00040000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe00000 {
|
||||
ranges = <0x0 0x0 0xffe00000 0x100000>;
|
||||
};
|
||||
|
||||
pci0: pcie@ffe09000 {
|
||||
reg = <0x0 0xffe09000 0 0x1000>;
|
||||
ranges = <0x2000000 0x0 0xe0000000 0x0 0xa0000000 0x0 0x20000000
|
||||
0x1000000 0x0 0x00000000 0x0 0xffc10000 0x0 0x10000>;
|
||||
pcie@0 {
|
||||
ranges = <0x2000000 0x0 0xe0000000
|
||||
0x2000000 0x0 0xe0000000
|
||||
0x0 0x20000000
|
||||
|
||||
0x1000000 0x0 0x0
|
||||
0x1000000 0x0 0x0
|
||||
0x0 0x100000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe0a000 {
|
||||
reg = <0x0 0xffe0a000 0 0x1000>;
|
||||
ranges = <0x2000000 0x0 0xe0000000 0x0 0x80000000 0x0 0x20000000
|
||||
0x1000000 0x0 0x00000000 0x0 0xffc00000 0x0 0x10000>;
|
||||
pcie@0 {
|
||||
reg = <0x0 0x0 0x0 0x0 0x0>;
|
||||
ranges = <0x2000000 0x0 0xe0000000
|
||||
0x2000000 0x0 0xe0000000
|
||||
0x0 0x20000000
|
||||
|
||||
0x1000000 0x0 0x0
|
||||
0x1000000 0x0 0x0
|
||||
0x0 0x100000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "p1024rdb.dtsi"
|
||||
/include/ "fsl/p1020si-post.dtsi"
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* P1024 RDB 36Bit Physical Address Map Device Tree Source
|
||||
*
|
||||
* Copyright 2012 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/p1020si-pre.dtsi"
|
||||
/ {
|
||||
model = "fsl,P1024RDB";
|
||||
compatible = "fsl,P1024RDB";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
lbc: localbus@fffe05000 {
|
||||
reg = <0xf 0xffe05000 0 0x1000>;
|
||||
ranges = <0x0 0x0 0xf 0xef000000 0x01000000
|
||||
0x1 0x0 0xf 0xff800000 0x00040000>;
|
||||
};
|
||||
|
||||
soc: soc@fffe00000 {
|
||||
ranges = <0x0 0xf 0xffe00000 0x100000>;
|
||||
};
|
||||
|
||||
pci0: pcie@fffe09000 {
|
||||
reg = <0xf 0xffe09000 0 0x1000>;
|
||||
ranges = <0x2000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
|
||||
0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>;
|
||||
pcie@0 {
|
||||
ranges = <0x2000000 0x0 0xe0000000
|
||||
0x2000000 0x0 0xe0000000
|
||||
0x0 0x20000000
|
||||
|
||||
0x1000000 0x0 0x0
|
||||
0x1000000 0x0 0x0
|
||||
0x0 0x100000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@fffe0a000 {
|
||||
reg = <0xf 0xffe0a000 0 0x1000>;
|
||||
ranges = <0x2000000 0x0 0xe0000000 0xc 0x00000000 0x0 0x20000000
|
||||
0x1000000 0x0 0x00000000 0xf 0xffc00000 0x0 0x10000>;
|
||||
pcie@0 {
|
||||
reg = <0x0 0x0 0x0 0x0 0x0>;
|
||||
ranges = <0x2000000 0x0 0xe0000000
|
||||
0x2000000 0x0 0xe0000000
|
||||
0x0 0x20000000
|
||||
|
||||
0x1000000 0x0 0x0
|
||||
0x1000000 0x0 0x0
|
||||
0x0 0x100000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "p1024rdb.dtsi"
|
||||
/include/ "fsl/p1020si-post.dtsi"
|
|
@ -282,5 +282,45 @@
|
|||
0x1 0x4 0x2 0x0 0x2 0x0 /* ENET5_RX_DV_SER5_CTS_B */
|
||||
0x1 0x8 0x2 0x0 0x2 0x0>; /* ENET5_RX_ER_SER5_CD_B */
|
||||
};
|
||||
|
||||
pio3: ucc_pin@03 {
|
||||
pio-map = <
|
||||
/* port pin dir open_drain assignment has_irq */
|
||||
0x0 0x16 0x2 0x0 0x2 0x0 /* SER7_CD_B*/
|
||||
0x0 0x12 0x2 0x0 0x2 0x0 /* SER7_CTS_B*/
|
||||
0x0 0x13 0x1 0x0 0x2 0x0 /* SER7_RTS_B*/
|
||||
0x0 0x14 0x2 0x0 0x2 0x0 /* SER7_RXD0*/
|
||||
0x0 0x15 0x1 0x0 0x2 0x0>; /* SER7_TXD0*/
|
||||
};
|
||||
|
||||
pio4: ucc_pin@04 {
|
||||
pio-map = <
|
||||
/* port pin dir open_drain assignment has_irq */
|
||||
0x1 0x0 0x2 0x0 0x2 0x0 /* SER3_CD_B*/
|
||||
0x0 0x1c 0x2 0x0 0x2 0x0 /* SER3_CTS_B*/
|
||||
0x0 0x1d 0x1 0x0 0x2 0x0 /* SER3_RTS_B*/
|
||||
0x0 0x1e 0x2 0x0 0x2 0x0 /* SER3_RXD0*/
|
||||
0x0 0x1f 0x1 0x0 0x2 0x0>; /* SER3_TXD0*/
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qe {
|
||||
serial2: ucc@2600 {
|
||||
device_type = "serial";
|
||||
compatible = "ucc_uart";
|
||||
port-number = <0>;
|
||||
rx-clock-name = "brg6";
|
||||
tx-clock-name = "brg6";
|
||||
pio-handle = <&pio3>;
|
||||
};
|
||||
|
||||
serial3: ucc@2200 {
|
||||
device_type = "serial";
|
||||
compatible = "ucc_uart";
|
||||
port-number = <1>;
|
||||
rx-clock-name = "brg2";
|
||||
tx-clock-name = "brg2";
|
||||
pio-handle = <&pio4>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -150,6 +150,16 @@
|
|||
interrupts = <3 1 0 0>;
|
||||
reg = <0x2>;
|
||||
};
|
||||
|
||||
sgmii_phy1: sgmii-phy@1 {
|
||||
interrupts = <5 1 0 0>;
|
||||
reg = <0x1c>;
|
||||
};
|
||||
sgmii_phy2: sgmii-phy@2 {
|
||||
interrupts = <5 1 0 0>;
|
||||
reg = <0x1d>;
|
||||
};
|
||||
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
/* NOR and NAND Flashes */
|
||||
ranges = <0x0 0x0 0x0 0xef000000 0x01000000
|
||||
0x1 0x0 0x0 0xff800000 0x00040000
|
||||
0x1 0x0 0x0 0xffa00000 0x00040000
|
||||
0x2 0x0 0x0 0xffb00000 0x00020000>;
|
||||
|
||||
nor@0,0 {
|
||||
|
|
|
@ -121,7 +121,8 @@
|
|||
|
||||
lbc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x1000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
1 0 0xf 0xffa00000 0x00040000>;
|
||||
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
|
@ -129,6 +130,44 @@
|
|||
bank-width = <2>;
|
||||
device-width = <2>;
|
||||
};
|
||||
|
||||
nand@1,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,elbc-fcm-nand";
|
||||
reg = <0x1 0x0 0x40000>;
|
||||
|
||||
partition@0 {
|
||||
label = "NAND U-Boot Image";
|
||||
reg = <0x0 0x02000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2000000 {
|
||||
label = "NAND Root File System";
|
||||
reg = <0x02000000 0x10000000>;
|
||||
};
|
||||
|
||||
partition@12000000 {
|
||||
label = "NAND Compressed RFS Image";
|
||||
reg = <0x12000000 0x08000000>;
|
||||
};
|
||||
|
||||
partition@1a000000 {
|
||||
label = "NAND Linux Kernel Image";
|
||||
reg = <0x1a000000 0x04000000>;
|
||||
};
|
||||
|
||||
partition@1e000000 {
|
||||
label = "NAND DTB Image";
|
||||
reg = <0x1e000000 0x01000000>;
|
||||
};
|
||||
|
||||
partition@1f000000 {
|
||||
label = "NAND Writable User area";
|
||||
reg = <0x1f000000 0x01000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pcie@ffe200000 {
|
||||
|
|
|
@ -1,242 +0,0 @@
|
|||
/*
|
||||
* P3060QDS Device Tree Source
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/p3060si-pre.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,P3060QDS";
|
||||
compatible = "fsl,P3060QDS";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
ranges = <0x00000000 0xf 0x00000000 0x01008000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
spi@110000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,s25sl12801";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <40000000>; /* input clock */
|
||||
partition@u-boot {
|
||||
label = "u-boot";
|
||||
reg = <0x00000000 0x00100000>;
|
||||
read-only;
|
||||
};
|
||||
partition@kernel {
|
||||
label = "kernel";
|
||||
reg = <0x00100000 0x00500000>;
|
||||
read-only;
|
||||
};
|
||||
partition@dtb {
|
||||
label = "dtb";
|
||||
reg = <0x00600000 0x00100000>;
|
||||
read-only;
|
||||
};
|
||||
partition@fs {
|
||||
label = "file system";
|
||||
reg = <0x00700000 0x00900000>;
|
||||
};
|
||||
};
|
||||
flash@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,en25q32b";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <40000000>; /* input clock */
|
||||
partition@spi1 {
|
||||
label = "spi1";
|
||||
reg = <0x00000000 0x00400000>;
|
||||
};
|
||||
};
|
||||
flash@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "atmel,at45db081d";
|
||||
reg = <2>;
|
||||
spi-max-frequency = <40000000>; /* input clock */
|
||||
partition@spi1 {
|
||||
label = "spi2";
|
||||
reg = <0x00000000 0x00100000>;
|
||||
};
|
||||
};
|
||||
flash@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,sst25wf040";
|
||||
reg = <3>;
|
||||
spi-max-frequency = <40000000>; /* input clock */
|
||||
partition@spi3 {
|
||||
label = "spi3";
|
||||
reg = <0x00000000 0x00080000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118000 {
|
||||
eeprom@51 {
|
||||
compatible = "at24,24c256";
|
||||
reg = <0x51>;
|
||||
};
|
||||
eeprom@53 {
|
||||
compatible = "at24,24c256";
|
||||
reg = <0x53>;
|
||||
};
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds3232";
|
||||
reg = <0x68>;
|
||||
interrupts = <0x1 0x1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
usb0: usb@210000 {
|
||||
phy_type = "ulpi";
|
||||
};
|
||||
|
||||
usb1: usb@211000 {
|
||||
dr_mode = "host";
|
||||
phy_type = "ulpi";
|
||||
};
|
||||
};
|
||||
|
||||
rio: rapidio@ffe0c0000 {
|
||||
reg = <0xf 0xfe0c0000 0 0x11000>;
|
||||
|
||||
port1 {
|
||||
ranges = <0 0 0xc 0x20000000 0 0x10000000>;
|
||||
};
|
||||
port2 {
|
||||
ranges = <0 0 0xc 0x30000000 0 0x10000000>;
|
||||
};
|
||||
};
|
||||
|
||||
lbc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x1000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
2 0 0xf 0xffa00000 0x00040000
|
||||
3 0 0xf 0xffdf0000 0x00008000>;
|
||||
|
||||
flash@0,0 {
|
||||
compatible = "cfi-flash";
|
||||
reg = <0 0 0x08000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <2>;
|
||||
};
|
||||
|
||||
nand@2,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,elbc-fcm-nand";
|
||||
reg = <0x2 0x0 0x40000>;
|
||||
|
||||
partition@0 {
|
||||
label = "NAND U-Boot Image";
|
||||
reg = <0x0 0x02000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2000000 {
|
||||
label = "NAND Root File System";
|
||||
reg = <0x02000000 0x10000000>;
|
||||
};
|
||||
|
||||
partition@12000000 {
|
||||
label = "NAND Compressed RFS Image";
|
||||
reg = <0x12000000 0x08000000>;
|
||||
};
|
||||
|
||||
partition@1a000000 {
|
||||
label = "NAND Linux Kernel Image";
|
||||
reg = <0x1a000000 0x04000000>;
|
||||
};
|
||||
|
||||
partition@1e000000 {
|
||||
label = "NAND DTB Image";
|
||||
reg = <0x1e000000 0x01000000>;
|
||||
};
|
||||
|
||||
partition@1f000000 {
|
||||
label = "NAND Writable User area";
|
||||
reg = <0x1f000000 0x21000000>;
|
||||
};
|
||||
};
|
||||
|
||||
board-control@3,0 {
|
||||
compatible = "fsl,p3060qds-fpga", "fsl,fpga-qixis";
|
||||
reg = <3 0 0x100>;
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pcie@ffe200000 {
|
||||
reg = <0xf 0xfe200000 0 0x1000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x20000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe201000 {
|
||||
reg = <0xf 0xfe201000 0 0x1000>;
|
||||
ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
|
||||
0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x20000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "fsl/p3060si-post.dtsi"
|
|
@ -1,406 +0,0 @@
|
|||
/*
|
||||
* SBC8560 Device Tree Source
|
||||
*
|
||||
* Copyright 2007 Wind River Systems Inc.
|
||||
*
|
||||
* Paul Gortmaker (see MAINTAINERS for contact information)
|
||||
*
|
||||
* 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 = "SBC8560";
|
||||
compatible = "SBC8560";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aliases {
|
||||
ethernet0 = &enet0;
|
||||
ethernet1 = &enet1;
|
||||
ethernet2 = &enet2;
|
||||
ethernet3 = &enet3;
|
||||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
pci0 = &pci0;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
PowerPC,8560@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 = <0>; // From uboot
|
||||
bus-frequency = <0>;
|
||||
clock-frequency = <0>;
|
||||
next-level-cache = <&L2>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x20000000>;
|
||||
};
|
||||
|
||||
soc@ff700000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
ranges = <0x0 0xff700000 0x00100000>;
|
||||
clock-frequency = <0>;
|
||||
|
||||
ecm-law@0 {
|
||||
compatible = "fsl,ecm-law";
|
||||
reg = <0x0 0x1000>;
|
||||
fsl,num-laws = <8>;
|
||||
};
|
||||
|
||||
ecm@1000 {
|
||||
compatible = "fsl,mpc8560-ecm", "fsl,ecm";
|
||||
reg = <0x1000 0x1000>;
|
||||
interrupts = <17 2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
memory-controller@2000 {
|
||||
compatible = "fsl,mpc8560-memory-controller";
|
||||
reg = <0x2000 0x1000>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x12 0x2>;
|
||||
};
|
||||
|
||||
L2: l2-cache-controller@20000 {
|
||||
compatible = "fsl,mpc8560-l2-cache-controller";
|
||||
reg = <0x20000 0x1000>;
|
||||
cache-line-size = <0x20>; // 32 bytes
|
||||
cache-size = <0x40000>; // L2, 256K
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x10 0x2>;
|
||||
};
|
||||
|
||||
i2c@3000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <0>;
|
||||
compatible = "fsl-i2c";
|
||||
reg = <0x3000 0x100>;
|
||||
interrupts = <0x2b 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
dfsrr;
|
||||
};
|
||||
|
||||
i2c@3100 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <1>;
|
||||
compatible = "fsl-i2c";
|
||||
reg = <0x3100 0x100>;
|
||||
interrupts = <0x2b 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
dfsrr;
|
||||
};
|
||||
|
||||
dma@21300 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma";
|
||||
reg = <0x21300 0x4>;
|
||||
ranges = <0x0 0x21100 0x200>;
|
||||
cell-index = <0>;
|
||||
dma-channel@0 {
|
||||
compatible = "fsl,mpc8560-dma-channel",
|
||||
"fsl,eloplus-dma-channel";
|
||||
reg = <0x0 0x80>;
|
||||
cell-index = <0>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <20 2>;
|
||||
};
|
||||
dma-channel@80 {
|
||||
compatible = "fsl,mpc8560-dma-channel",
|
||||
"fsl,eloplus-dma-channel";
|
||||
reg = <0x80 0x80>;
|
||||
cell-index = <1>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <21 2>;
|
||||
};
|
||||
dma-channel@100 {
|
||||
compatible = "fsl,mpc8560-dma-channel",
|
||||
"fsl,eloplus-dma-channel";
|
||||
reg = <0x100 0x80>;
|
||||
cell-index = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <22 2>;
|
||||
};
|
||||
dma-channel@180 {
|
||||
compatible = "fsl,mpc8560-dma-channel",
|
||||
"fsl,eloplus-dma-channel";
|
||||
reg = <0x180 0x80>;
|
||||
cell-index = <3>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <23 2>;
|
||||
};
|
||||
};
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
model = "TSEC";
|
||||
compatible = "gianfar";
|
||||
reg = <0x24000 0x1000>;
|
||||
ranges = <0x0 0x24000 0x1000>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy0>;
|
||||
|
||||
mdio@520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-mdio";
|
||||
reg = <0x520 0x20>;
|
||||
phy0: ethernet-phy@19 {
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x6 0x1>;
|
||||
reg = <0x19>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
phy1: ethernet-phy@1a {
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x7 0x1>;
|
||||
reg = <0x1a>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
phy2: ethernet-phy@1b {
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x8 0x1>;
|
||||
reg = <0x1b>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
phy3: ethernet-phy@1c {
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x8 0x1>;
|
||||
reg = <0x1c>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
enet1: ethernet@25000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
cell-index = <1>;
|
||||
device_type = "network";
|
||||
model = "TSEC";
|
||||
compatible = "gianfar";
|
||||
reg = <0x25000 0x1000>;
|
||||
ranges = <0x0 0x25000 0x1000>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy1>;
|
||||
|
||||
mdio@520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mpic: pic@40000 {
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
compatible = "chrp,open-pic";
|
||||
reg = <0x40000 0x40000>;
|
||||
device_type = "open-pic";
|
||||
};
|
||||
|
||||
cpm@919c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
|
||||
reg = <0x919c0 0x30>;
|
||||
ranges;
|
||||
|
||||
muram@80000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x80000 0x10000>;
|
||||
|
||||
data@0 {
|
||||
compatible = "fsl,cpm-muram-data";
|
||||
reg = <0x0 0x4000 0x9000 0x2000>;
|
||||
};
|
||||
};
|
||||
|
||||
brg@919f0 {
|
||||
compatible = "fsl,mpc8560-brg",
|
||||
"fsl,cpm2-brg",
|
||||
"fsl,cpm-brg";
|
||||
reg = <0x919f0 0x10 0x915f0 0x10>;
|
||||
clock-frequency = <165000000>;
|
||||
};
|
||||
|
||||
cpmpic: pic@90c00 {
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupts = <0x2e 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
reg = <0x90c00 0x80>;
|
||||
compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
|
||||
};
|
||||
|
||||
enet2: ethernet@91320 {
|
||||
device_type = "network";
|
||||
compatible = "fsl,mpc8560-fcc-enet",
|
||||
"fsl,cpm2-fcc-enet";
|
||||
reg = <0x91320 0x20 0x88500 0x100 0x913b0 0x1>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
fsl,cpm-command = <0x16200300>;
|
||||
interrupts = <0x21 0x8>;
|
||||
interrupt-parent = <&cpmpic>;
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
|
||||
enet3: ethernet@91340 {
|
||||
device_type = "network";
|
||||
compatible = "fsl,mpc8560-fcc-enet",
|
||||
"fsl,cpm2-fcc-enet";
|
||||
reg = <0x91340 0x20 0x88600 0x100 0x913d0 0x1>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
fsl,cpm-command = <0x1a400300>;
|
||||
interrupts = <0x22 0x8>;
|
||||
interrupt-parent = <&cpmpic>;
|
||||
phy-handle = <&phy3>;
|
||||
};
|
||||
};
|
||||
|
||||
global-utilities@e0000 {
|
||||
compatible = "fsl,mpc8560-guts";
|
||||
reg = <0xe0000 0x1000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pci@ff708000 {
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
|
||||
device_type = "pci";
|
||||
reg = <0xff708000 0x1000>;
|
||||
clock-frequency = <66666666>;
|
||||
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
|
||||
interrupt-map = <
|
||||
|
||||
/* IDSEL 0x02 */
|
||||
0x1000 0x0 0x0 0x1 &mpic 0x2 0x1
|
||||
0x1000 0x0 0x0 0x2 &mpic 0x3 0x1
|
||||
0x1000 0x0 0x0 0x3 &mpic 0x4 0x1
|
||||
0x1000 0x0 0x0 0x4 &mpic 0x5 0x1>;
|
||||
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <0x18 0x2>;
|
||||
bus-range = <0x0 0x0>;
|
||||
ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000
|
||||
0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
|
||||
};
|
||||
|
||||
localbus@ff705000 {
|
||||
compatible = "fsl,mpc8560-localbus", "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xff705000 0x100>; // BRx, ORx, etc.
|
||||
|
||||
ranges = <
|
||||
0x0 0x0 0xff800000 0x0800000 // 8MB boot flash
|
||||
0x1 0x0 0xe4000000 0x4000000 // 64MB flash
|
||||
0x3 0x0 0x20000000 0x4000000 // 64MB SDRAM
|
||||
0x4 0x0 0x24000000 0x4000000 // 64MB SDRAM
|
||||
0x5 0x0 0xfc000000 0x0c00000 // EPLD
|
||||
0x6 0x0 0xe0000000 0x4000000 // 64MB flash
|
||||
0x7 0x0 0x80000000 0x0200000 // ATM1,2
|
||||
>;
|
||||
|
||||
epld@5,0 {
|
||||
compatible = "wrs,epld-localbus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x5 0x0 0xc00000>;
|
||||
ranges = <
|
||||
0x0 0x0 0x5 0x000000 0x1fff // LED disp.
|
||||
0x1 0x0 0x5 0x100000 0x1fff // switches
|
||||
0x2 0x0 0x5 0x200000 0x1fff // ID reg.
|
||||
0x3 0x0 0x5 0x300000 0x1fff // status reg.
|
||||
0x4 0x0 0x5 0x400000 0x1fff // reset reg.
|
||||
0x5 0x0 0x5 0x500000 0x1fff // Wind port
|
||||
0x7 0x0 0x5 0x700000 0x1fff // UART #1
|
||||
0x8 0x0 0x5 0x800000 0x1fff // UART #2
|
||||
0x9 0x0 0x5 0x900000 0x1fff // RTC
|
||||
0xb 0x0 0x5 0xb00000 0x1fff // EEPROM
|
||||
>;
|
||||
|
||||
bidr@2,0 {
|
||||
compatible = "wrs,sbc8560-bidr";
|
||||
reg = <0x2 0x0 0x10>;
|
||||
};
|
||||
|
||||
bcsr@3,0 {
|
||||
compatible = "wrs,sbc8560-bcsr";
|
||||
reg = <0x3 0x0 0x10>;
|
||||
};
|
||||
|
||||
brstcr@4,0 {
|
||||
compatible = "wrs,sbc8560-brstcr";
|
||||
reg = <0x4 0x0 0x10>;
|
||||
};
|
||||
|
||||
serial0: serial@7,0 {
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <0x7 0x0 0x100>;
|
||||
clock-frequency = <1843200>;
|
||||
interrupts = <0x9 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
serial1: serial@8,0 {
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <0x8 0x0 0x100>;
|
||||
clock-frequency = <1843200>;
|
||||
interrupts = <0xa 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
rtc@9,0 {
|
||||
compatible = "m48t59";
|
||||
reg = <0x9 0x0 0x1fff>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
|
@ -2,14 +2,14 @@ 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
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_PPC_CHRP is not set
|
||||
|
@ -31,11 +31,10 @@ CONFIG_IP_PNP=y
|
|||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_TIPC=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CONCAT=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
|
@ -50,17 +49,15 @@ CONFIG_MTD_UBI_DEBUG=y
|
|||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_UCC_GETH=y
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
CONFIG_WAN=y
|
||||
CONFIG_HDLC=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_PPP=y
|
||||
CONFIG_PPP_MULTILINK=y
|
||||
CONFIG_PPPOE=y
|
||||
CONFIG_WAN=y
|
||||
CONFIG_HDLC=y
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
|
@ -77,10 +74,7 @@ CONFIG_UIO=y
|
|||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
CONFIG_PPC_85xx=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_SBC8560=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=32768
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_GIANFAR=y
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_VIDEO_OUTPUT_CONTROL=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_M48T59=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_PPC_EARLY_DEBUG=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
|
@ -23,7 +23,6 @@ CONFIG_MODVERSIONS=y
|
|||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_P2041_RDB=y
|
||||
CONFIG_P3041_DS=y
|
||||
CONFIG_P3060_QDS=y
|
||||
CONFIG_P4080_DS=y
|
||||
CONFIG_P5020_DS=y
|
||||
CONFIG_HIGHMEM=y
|
||||
|
@ -32,10 +31,12 @@ CONFIG_HIGH_RES_TIMERS=y
|
|||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_FSL_LBC=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_FSL_RIO=y
|
||||
|
@ -76,6 +77,11 @@ CONFIG_MTD_BLOCK=y
|
|||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
CONFIG_MTD_NAND_IDS=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
|
@ -136,6 +142,8 @@ CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
|||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_OF=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_EDAC_MPC85XX=y
|
||||
|
|
|
@ -6,7 +6,9 @@ CONFIG_NR_CPUS=2
|
|||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
|
@ -18,11 +20,14 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_P5020_DS=y
|
||||
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_FSL_RIO=y
|
||||
CONFIG_NET=y
|
||||
|
@ -51,12 +56,25 @@ CONFIG_INET_ESP=y
|
|||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_MISC_DEVICES=y
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
|
@ -66,39 +84,59 @@ CONFIG_INPUT_FF_MEMLESS=m
|
|||
CONFIG_SERIO_LIBPS2=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_VIDEO_OUTPUT_CONTROL=y
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_USB_HID=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=m
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_ITU_T=m
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_AES=y
|
||||
|
|
|
@ -2,7 +2,6 @@ CONFIG_EXPERIMENTAL=y
|
|||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
|
@ -12,6 +11,7 @@ CONFIG_KALLSYMS_ALL=y
|
|||
# CONFIG_PCSPKR_PLATFORM is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_82xx=y
|
||||
|
@ -49,12 +49,9 @@ CONFIG_PROC_DEVICETREE=y
|
|||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_FS_ENET=y
|
||||
CONFIG_FS_ENET_MDIO_FCC=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
|
@ -64,6 +61,8 @@ CONFIG_SERIAL_CPM_CONSOLE=y
|
|||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_CPM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_FSL_USB2=y
|
||||
|
@ -80,8 +79,6 @@ CONFIG_SQUASHFS=y
|
|||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ASCII=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
|
@ -90,7 +87,6 @@ CONFIG_MAGIC_SYSRQ=y
|
|||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_BDI_SWITCH=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_PCBC=y
|
||||
|
|
|
@ -74,6 +74,30 @@ CONFIG_INET_ESP=y
|
|||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_GEN_PROBE=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||
CONFIG_MTD_CFI_I1=y
|
||||
CONFIG_MTD_CFI_I2=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_CFI_UTIL=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_NAND_IDS=y
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
|
|
|
@ -46,6 +46,7 @@ CONFIG_NO_HZ=y
|
|||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=12
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
|
@ -76,6 +77,30 @@ CONFIG_INET_ESP=y
|
|||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_GEN_PROBE=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||
CONFIG_MTD_CFI_I1=y
|
||||
CONFIG_MTD_CFI_I2=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_CFI_UTIL=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_NAND_IDS=y
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
struct qe_iram {
|
||||
__be32 iadd; /* I-RAM Address Register */
|
||||
__be32 idata; /* I-RAM Data Register */
|
||||
u8 res0[0x78];
|
||||
u8 res0[0x04];
|
||||
__be32 iready; /* I-RAM Ready Register */
|
||||
u8 res1[0x70];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* QE Interrupt Controller */
|
||||
|
|
|
@ -499,6 +499,7 @@ enum comm_dir {
|
|||
/* I-RAM */
|
||||
#define QE_IRAM_IADD_AIE 0x80000000 /* Auto Increment Enable */
|
||||
#define QE_IRAM_IADD_BADDR 0x00080000 /* Base Address */
|
||||
#define QE_IRAM_READY 0x80000000 /* Ready */
|
||||
|
||||
/* UPC */
|
||||
#define UPGCR_PROTOCOL 0x80000000 /* protocol ul2 or pl2 */
|
||||
|
|
|
@ -556,8 +556,10 @@ END_FTR_SECTION_IFSET(CPU_FTR_EMB_HV)
|
|||
/* SPE Unavailable */
|
||||
START_EXCEPTION(SPEUnavailable)
|
||||
NORMAL_EXCEPTION_PROLOG(SPE_UNAVAIL)
|
||||
bne load_up_spe
|
||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
beq 1f
|
||||
bl load_up_spe
|
||||
b fast_exception_return
|
||||
1: addi r3,r1,STACK_FRAME_OVERHEAD
|
||||
EXC_XFER_EE_LITE(0x2010, KernelSPE)
|
||||
#else
|
||||
EXCEPTION(0x2020, SPE_UNAVAIL, SPEUnavailable, \
|
||||
|
@ -778,7 +780,7 @@ tlb_write_entry:
|
|||
/* Note that the SPE support is closely modeled after the AltiVec
|
||||
* support. Changes to one are likely to be applicable to the
|
||||
* other! */
|
||||
load_up_spe:
|
||||
_GLOBAL(load_up_spe)
|
||||
/*
|
||||
* Disable SPE for the task which had SPE previously,
|
||||
* and save its SPE registers in its thread_struct.
|
||||
|
@ -826,20 +828,7 @@ load_up_spe:
|
|||
subi r4,r5,THREAD
|
||||
stw r4,last_task_used_spe@l(r3)
|
||||
#endif /* !CONFIG_SMP */
|
||||
/* restore registers and return */
|
||||
2: REST_4GPRS(3, r11)
|
||||
lwz r10,_CCR(r11)
|
||||
REST_GPR(1, r11)
|
||||
mtcr r10
|
||||
lwz r10,_LINK(r11)
|
||||
mtlr r10
|
||||
REST_GPR(10, r11)
|
||||
mtspr SPRN_SRR1,r9
|
||||
mtspr SPRN_SRR0,r12
|
||||
REST_GPR(9, r11)
|
||||
REST_GPR(12, r11)
|
||||
lwz r11,GPR11(r11)
|
||||
rfi
|
||||
blr
|
||||
|
||||
/*
|
||||
* SPE unavailable trap from kernel - print a message, but let
|
||||
|
|
|
@ -720,6 +720,33 @@ static int powerpc_debugfs_init(void)
|
|||
arch_initcall(powerpc_debugfs_init);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BOOKE_WDT
|
||||
extern u32 booke_wdt_enabled;
|
||||
extern u32 booke_wdt_period;
|
||||
|
||||
/* Checks wdt=x and wdt_period=xx command-line option */
|
||||
notrace int __init early_parse_wdt(char *p)
|
||||
{
|
||||
if (p && strncmp(p, "0", 1) != 0)
|
||||
booke_wdt_enabled = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("wdt", early_parse_wdt);
|
||||
|
||||
int __init early_parse_wdt_period(char *p)
|
||||
{
|
||||
unsigned long ret;
|
||||
if (p) {
|
||||
if (!kstrtol(p, 0, &ret))
|
||||
booke_wdt_period = ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("wdt_period", early_parse_wdt_period);
|
||||
#endif /* CONFIG_BOOKE_WDT */
|
||||
|
||||
void ppc_printk_progress(char *s, unsigned short hex)
|
||||
{
|
||||
pr_info("%s\n", s);
|
||||
|
|
|
@ -149,30 +149,6 @@ notrace void __init machine_init(u64 dt_ptr)
|
|||
ppc_md.progress("id mach(): done", 0x200);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOOKE_WDT
|
||||
extern u32 booke_wdt_enabled;
|
||||
extern u32 booke_wdt_period;
|
||||
|
||||
/* Checks wdt=x and wdt_period=xx command-line option */
|
||||
notrace int __init early_parse_wdt(char *p)
|
||||
{
|
||||
if (p && strncmp(p, "0", 1) != 0)
|
||||
booke_wdt_enabled = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("wdt", early_parse_wdt);
|
||||
|
||||
int __init early_parse_wdt_period (char *p)
|
||||
{
|
||||
if (p)
|
||||
booke_wdt_period = simple_strtoul(p, NULL, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("wdt_period", early_parse_wdt_period);
|
||||
#endif /* CONFIG_BOOKE_WDT */
|
||||
|
||||
/* Checks "l2cr=xxxx" command-line option */
|
||||
int __init ppc_setup_l2cr(char *str)
|
||||
{
|
||||
|
|
|
@ -128,6 +128,11 @@ static __initdata struct cpm_pin km82xx_pins[] = {
|
|||
{3, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, /* TXP */
|
||||
{3, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, /* TXN */
|
||||
{3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* RXD */
|
||||
|
||||
/* SPI */
|
||||
{3, 16, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_MISO PD16 */
|
||||
{3, 17, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_MOSI PD17 */
|
||||
{3, 18, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_CLK PD18 */
|
||||
};
|
||||
|
||||
static void __init init_ioports(void)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Author: Heiko Schocher <hs@denx.de>
|
||||
*
|
||||
* Description:
|
||||
* Keymile KMETER1 board specific routines.
|
||||
* Keymile 83xx platform specific routines.
|
||||
*
|
||||
* 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,54 +70,88 @@ static void __init mpc83xx_km_setup_arch(void)
|
|||
for_each_node_by_name(np, "spi")
|
||||
par_io_of_config(np);
|
||||
|
||||
for (np = NULL; (np = of_find_node_by_name(np, "ucc")) != NULL;)
|
||||
for_each_node_by_name(np, "ucc")
|
||||
par_io_of_config(np);
|
||||
}
|
||||
|
||||
np = of_find_compatible_node(NULL, "network", "ucc_geth");
|
||||
if (np != NULL) {
|
||||
uint svid;
|
||||
/*
|
||||
* handle mpc8360E Erratum QE_ENET10:
|
||||
* RGMII AC values do not meet the specification
|
||||
*/
|
||||
uint svid = mfspr(SPRN_SVR);
|
||||
struct device_node *np_par;
|
||||
struct resource res;
|
||||
void __iomem *base;
|
||||
int ret;
|
||||
|
||||
/* handle mpc8360ea rev.2.1 erratum 2: RGMII Timing */
|
||||
svid = mfspr(SPRN_SVR);
|
||||
if (SVR_REV(svid) == 0x0021) {
|
||||
struct device_node *np_par;
|
||||
struct resource res;
|
||||
void __iomem *base;
|
||||
int ret;
|
||||
|
||||
np_par = of_find_node_by_name(NULL, "par_io");
|
||||
if (np_par == NULL) {
|
||||
printk(KERN_WARNING "%s couldn;t find par_io node\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
/* Map Parallel I/O ports registers */
|
||||
ret = of_address_to_resource(np_par, 0, &res);
|
||||
if (ret) {
|
||||
printk(KERN_WARNING "%s couldn;t map par_io registers\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
base = ioremap(res.start, resource_size(&res));
|
||||
|
||||
/*
|
||||
* IMMR + 0x14A8[4:5] = 11 (clk delay for UCC 2)
|
||||
* IMMR + 0x14A8[18:19] = 11 (clk delay for UCC 1)
|
||||
*/
|
||||
setbits32((base + 0xa8), 0x0c003000);
|
||||
|
||||
/*
|
||||
* IMMR + 0x14AC[20:27] = 10101010
|
||||
* (data delay for both UCC's)
|
||||
*/
|
||||
clrsetbits_be32((base + 0xac), 0xff0, 0xaa0);
|
||||
iounmap(base);
|
||||
of_node_put(np_par);
|
||||
np_par = of_find_node_by_name(NULL, "par_io");
|
||||
if (np_par == NULL) {
|
||||
printk(KERN_WARNING "%s couldn;t find par_io node\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
/* Map Parallel I/O ports registers */
|
||||
ret = of_address_to_resource(np_par, 0, &res);
|
||||
if (ret) {
|
||||
printk(KERN_WARNING "%s couldn;t map par_io registers\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
|
||||
base = ioremap(res.start, res.end - res.start + 1);
|
||||
|
||||
/*
|
||||
* set output delay adjustments to default values according
|
||||
* table 5 in Errata Rev. 5, 9/2011:
|
||||
*
|
||||
* write 0b01 to UCC1 bits 18:19
|
||||
* write 0b01 to UCC2 option 1 bits 4:5
|
||||
* write 0b01 to UCC2 option 2 bits 16:17
|
||||
*/
|
||||
clrsetbits_be32((base + 0xa8), 0x0c00f000, 0x04005000);
|
||||
|
||||
/*
|
||||
* set output delay adjustments to default values according
|
||||
* table 3-13 in Reference Manual Rev.3 05/2010:
|
||||
*
|
||||
* write 0b01 to UCC2 option 2 bits 16:17
|
||||
* write 0b0101 to UCC1 bits 20:23
|
||||
* write 0b0101 to UCC2 option 1 bits 24:27
|
||||
*/
|
||||
clrsetbits_be32((base + 0xac), 0x0000cff0, 0x00004550);
|
||||
|
||||
if (SVR_REV(svid) == 0x0021) {
|
||||
/*
|
||||
* UCC2 option 1: write 0b1010 to bits 24:27
|
||||
* at address IMMRBAR+0x14AC
|
||||
*/
|
||||
clrsetbits_be32((base + 0xac), 0x000000f0, 0x000000a0);
|
||||
} else if (SVR_REV(svid) == 0x0020) {
|
||||
/*
|
||||
* UCC1: write 0b11 to bits 18:19
|
||||
* at address IMMRBAR+0x14A8
|
||||
*/
|
||||
setbits32((base + 0xa8), 0x00003000);
|
||||
|
||||
/*
|
||||
* UCC2 option 1: write 0b11 to bits 4:5
|
||||
* at address IMMRBAR+0x14A8
|
||||
*/
|
||||
setbits32((base + 0xa8), 0x0c000000);
|
||||
|
||||
/*
|
||||
* UCC2 option 2: write 0b11 to bits 16:17
|
||||
* at address IMMRBAR+0x14AC
|
||||
*/
|
||||
setbits32((base + 0xac), 0x0000c000);
|
||||
}
|
||||
iounmap(base);
|
||||
of_node_put(np_par);
|
||||
of_node_put(np);
|
||||
}
|
||||
#endif /* CONFIG_QUICC_ENGINE */
|
||||
#endif /* CONFIG_QUICC_ENGINE */
|
||||
}
|
||||
|
||||
machine_device_initcall(mpc83xx_km, mpc83xx_declare_of_platform_devices);
|
||||
|
|
|
@ -23,6 +23,15 @@ config FSL_85XX_CACHE_SRAM
|
|||
cache-sram-size and cache-sram-offset kernel boot
|
||||
parameters should be passed when this option is enabled.
|
||||
|
||||
config BSC9131_RDB
|
||||
bool "Freescale BSC9131RDB"
|
||||
select DEFAULT_UIMAGE
|
||||
help
|
||||
This option enables support for the Freescale BSC9131RDB board.
|
||||
The BSC9131 is a heterogeneous SoC containing an e500v2 powerpc and a
|
||||
StarCore SC3850 DSP
|
||||
Manufacturer : Freescale Semiconductor, Inc
|
||||
|
||||
config MPC8540_ADS
|
||||
bool "Freescale MPC8540 ADS"
|
||||
select DEFAULT_UIMAGE
|
||||
|
@ -175,12 +184,6 @@ config SBC8548
|
|||
help
|
||||
This option enables support for the Wind River SBC8548 board
|
||||
|
||||
config SBC8560
|
||||
bool "Wind River SBC8560"
|
||||
select DEFAULT_UIMAGE
|
||||
help
|
||||
This option enables support for the Wind River SBC8560 board
|
||||
|
||||
config GE_IMP3A
|
||||
bool "GE Intelligent Platforms IMP3A"
|
||||
select DEFAULT_UIMAGE
|
||||
|
@ -222,18 +225,6 @@ config P3041_DS
|
|||
help
|
||||
This option enables support for the P3041 DS board
|
||||
|
||||
config P3060_QDS
|
||||
bool "Freescale P3060 QDS"
|
||||
select DEFAULT_UIMAGE
|
||||
select PPC_E500MC
|
||||
select PHYS_64BIT
|
||||
select SWIOTLB
|
||||
select GPIO_MPC8XXX
|
||||
select HAS_RAPIDIO
|
||||
select PPC_EPAPR_HV_PIC
|
||||
help
|
||||
This option enables support for the P3060 QDS board
|
||||
|
||||
config P4080_DS
|
||||
bool "Freescale P4080 DS"
|
||||
select DEFAULT_UIMAGE
|
||||
|
@ -263,6 +254,22 @@ config P5020_DS
|
|||
help
|
||||
This option enables support for the P5020 DS board
|
||||
|
||||
config PPC_QEMU_E500
|
||||
bool "QEMU generic e500 platform"
|
||||
depends on EXPERIMENTAL
|
||||
select DEFAULT_UIMAGE
|
||||
help
|
||||
This option enables support for running as a QEMU guest using
|
||||
QEMU's generic e500 machine. This is not required if you're
|
||||
using a QEMU machine that targets a specific board, such as
|
||||
mpc8544ds.
|
||||
|
||||
Unlike most e500 boards that target a specific CPU, this
|
||||
platform works with any e500-family CPU that QEMU supports.
|
||||
Thus, you'll need to make sure CONFIG_PPC_E500MC is set or
|
||||
unset based on the emulated CPU (or actual host CPU in the case
|
||||
of KVM).
|
||||
|
||||
endif # FSL_SOC_BOOKE
|
||||
|
||||
config TQM85xx
|
||||
|
|
|
@ -5,6 +5,7 @@ obj-$(CONFIG_SMP) += smp.o
|
|||
|
||||
obj-y += common.o
|
||||
|
||||
obj-$(CONFIG_BSC9131_RDB) += bsc913x_rdb.o
|
||||
obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o
|
||||
obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o
|
||||
obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
|
||||
|
@ -17,14 +18,13 @@ obj-$(CONFIG_P1022_DS) += p1022_ds.o
|
|||
obj-$(CONFIG_P1023_RDS) += p1023_rds.o
|
||||
obj-$(CONFIG_P2041_RDB) += p2041_rdb.o corenet_ds.o
|
||||
obj-$(CONFIG_P3041_DS) += p3041_ds.o corenet_ds.o
|
||||
obj-$(CONFIG_P3060_QDS) += p3060_qds.o corenet_ds.o
|
||||
obj-$(CONFIG_P4080_DS) += p4080_ds.o corenet_ds.o
|
||||
obj-$(CONFIG_P5020_DS) += p5020_ds.o corenet_ds.o
|
||||
obj-$(CONFIG_STX_GP3) += stx_gp3.o
|
||||
obj-$(CONFIG_TQM85xx) += tqm85xx.o
|
||||
obj-$(CONFIG_SBC8560) += sbc8560.o
|
||||
obj-$(CONFIG_SBC8548) += sbc8548.o
|
||||
obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o
|
||||
obj-$(CONFIG_KSI8560) += ksi8560.o
|
||||
obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
|
||||
obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o
|
||||
obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* BSC913xRDB Board Setup
|
||||
*
|
||||
* Author: Priyanka Jain <Priyanka.Jain@freescale.com>
|
||||
*
|
||||
* Copyright 2011-2012 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.
|
||||
*/
|
||||
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/pci.h>
|
||||
#include <asm/mpic.h>
|
||||
#include <sysdev/fsl_soc.h>
|
||||
#include <asm/udbg.h>
|
||||
|
||||
#include "mpc85xx.h"
|
||||
|
||||
void __init bsc913x_rdb_pic_init(void)
|
||||
{
|
||||
struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN |
|
||||
MPIC_SINGLE_DEST_CPU,
|
||||
0, 256, " OpenPIC ");
|
||||
|
||||
if (!mpic)
|
||||
pr_err("bsc913x: Failed to allocate MPIC structure\n");
|
||||
else
|
||||
mpic_init(mpic);
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup the architecture
|
||||
*/
|
||||
static void __init bsc913x_rdb_setup_arch(void)
|
||||
{
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("bsc913x_rdb_setup_arch()", 0);
|
||||
|
||||
pr_info("bsc913x board from Freescale Semiconductor\n");
|
||||
}
|
||||
|
||||
machine_device_initcall(bsc9131_rdb, mpc85xx_common_publish_devices);
|
||||
|
||||
/*
|
||||
* Called very early, device-tree isn't unflattened
|
||||
*/
|
||||
|
||||
static int __init bsc9131_rdb_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
return of_flat_dt_is_compatible(root, "fsl,bsc9131rdb");
|
||||
}
|
||||
|
||||
define_machine(bsc9131_rdb) {
|
||||
.name = "BSC9131 RDB",
|
||||
.probe = bsc9131_rdb_probe,
|
||||
.setup_arch = bsc913x_rdb_setup_arch,
|
||||
.init_IRQ = bsc913x_rdb_pic_init,
|
||||
.get_irq = mpic_get_irq,
|
||||
.restart = fsl_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
|
@ -114,72 +114,54 @@ void __init mpc85xx_ds_pic_init(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
static int primary_phb_addr;
|
||||
extern int uli_exclude_device(struct pci_controller *hose,
|
||||
u_char bus, u_char devfn);
|
||||
|
||||
static struct device_node *pci_with_uli;
|
||||
|
||||
static int mpc85xx_exclude_device(struct pci_controller *hose,
|
||||
u_char bus, u_char devfn)
|
||||
{
|
||||
struct device_node* node;
|
||||
struct resource rsrc;
|
||||
|
||||
node = hose->dn;
|
||||
of_address_to_resource(node, 0, &rsrc);
|
||||
|
||||
if ((rsrc.start & 0xfffff) == primary_phb_addr) {
|
||||
if (hose->dn == pci_with_uli)
|
||||
return uli_exclude_device(hose, bus, devfn);
|
||||
}
|
||||
|
||||
return PCIBIOS_SUCCESSFUL;
|
||||
}
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
static void __init mpc85xx_ds_pci_init(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct device_node *node;
|
||||
|
||||
fsl_pci_init();
|
||||
|
||||
/* See if we have a ULI under the primary */
|
||||
|
||||
node = of_find_node_by_name(NULL, "uli1575");
|
||||
while ((pci_with_uli = of_get_parent(node))) {
|
||||
of_node_put(node);
|
||||
node = pci_with_uli;
|
||||
|
||||
if (pci_with_uli == fsl_pci_primary) {
|
||||
ppc_md.pci_exclude_device = mpc85xx_exclude_device;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup the architecture
|
||||
*/
|
||||
static void __init mpc85xx_ds_setup_arch(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct device_node *np;
|
||||
struct pci_controller *hose;
|
||||
#endif
|
||||
dma_addr_t max = 0xffffffff;
|
||||
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("mpc85xx_ds_setup_arch()", 0);
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
for_each_node_by_type(np, "pci") {
|
||||
if (of_device_is_compatible(np, "fsl,mpc8540-pci") ||
|
||||
of_device_is_compatible(np, "fsl,mpc8548-pcie") ||
|
||||
of_device_is_compatible(np, "fsl,p2020-pcie")) {
|
||||
struct resource rsrc;
|
||||
of_address_to_resource(np, 0, &rsrc);
|
||||
if ((rsrc.start & 0xfffff) == primary_phb_addr)
|
||||
fsl_add_bridge(np, 1);
|
||||
else
|
||||
fsl_add_bridge(np, 0);
|
||||
|
||||
hose = pci_find_hose_for_OF_device(np);
|
||||
max = min(max, hose->dma_window_base_cur +
|
||||
hose->dma_window_size);
|
||||
}
|
||||
}
|
||||
|
||||
ppc_md.pci_exclude_device = mpc85xx_exclude_device;
|
||||
#endif
|
||||
|
||||
mpc85xx_ds_pci_init();
|
||||
mpc85xx_smp_init();
|
||||
|
||||
#ifdef CONFIG_SWIOTLB
|
||||
if ((memblock_end_of_DRAM() - 1) > max) {
|
||||
ppc_swiotlb_enable = 1;
|
||||
set_pci_dma_ops(&swiotlb_dma_ops);
|
||||
ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
|
||||
}
|
||||
#endif
|
||||
|
||||
printk("MPC85xx DS board from Freescale Semiconductor\n");
|
||||
}
|
||||
|
||||
|
@ -190,14 +172,7 @@ static int __init mpc8544_ds_probe(void)
|
|||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
if (of_flat_dt_is_compatible(root, "MPC8544DS")) {
|
||||
#ifdef CONFIG_PCI
|
||||
primary_phb_addr = 0xb000;
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return !!of_flat_dt_is_compatible(root, "MPC8544DS");
|
||||
}
|
||||
|
||||
machine_device_initcall(mpc8544_ds, mpc85xx_common_publish_devices);
|
||||
|
@ -215,14 +190,7 @@ static int __init mpc8572_ds_probe(void)
|
|||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
if (of_flat_dt_is_compatible(root, "fsl,MPC8572DS")) {
|
||||
#ifdef CONFIG_PCI
|
||||
primary_phb_addr = 0x8000;
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return !!of_flat_dt_is_compatible(root, "fsl,MPC8572DS");
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -232,14 +200,7 @@ static int __init p2020_ds_probe(void)
|
|||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
if (of_flat_dt_is_compatible(root, "fsl,P2020DS")) {
|
||||
#ifdef CONFIG_PCI
|
||||
primary_phb_addr = 0x9000;
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return !!of_flat_dt_is_compatible(root, "fsl,P2020DS");
|
||||
}
|
||||
|
||||
define_machine(mpc8544_ds) {
|
||||
|
|
|
@ -169,6 +169,7 @@ machine_device_initcall(p1020_rdb_pc, mpc85xx_common_publish_devices);
|
|||
machine_device_initcall(p1020_utm_pc, mpc85xx_common_publish_devices);
|
||||
machine_device_initcall(p1021_rdb_pc, mpc85xx_common_publish_devices);
|
||||
machine_device_initcall(p1025_rdb, mpc85xx_common_publish_devices);
|
||||
machine_device_initcall(p1024_rdb, mpc85xx_common_publish_devices);
|
||||
|
||||
/*
|
||||
* Called very early, device-tree isn't unflattened
|
||||
|
@ -237,6 +238,13 @@ static int __init p1020_utm_pc_probe(void)
|
|||
return of_flat_dt_is_compatible(root, "fsl,P1020UTM-PC");
|
||||
}
|
||||
|
||||
static int __init p1024_rdb_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
return of_flat_dt_is_compatible(root, "fsl,P1024RDB");
|
||||
}
|
||||
|
||||
define_machine(p2020_rdb) {
|
||||
.name = "P2020 RDB",
|
||||
.probe = p2020_rdb_probe,
|
||||
|
@ -348,3 +356,17 @@ define_machine(p1020_rdb_pc) {
|
|||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
||||
|
||||
define_machine(p1024_rdb) {
|
||||
.name = "P1024 RDB",
|
||||
.probe = p1024_rdb_probe,
|
||||
.setup_arch = mpc85xx_rdb_setup_arch,
|
||||
.init_IRQ = mpc85xx_rdb_pic_init,
|
||||
#ifdef CONFIG_PCI
|
||||
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
|
||||
#endif
|
||||
.get_irq = mpic_get_irq,
|
||||
.restart = fsl_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <sysdev/fsl_pci.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/fsl_guts.h>
|
||||
#include <asm/fsl_lbc.h>
|
||||
#include "smp.h"
|
||||
|
||||
#include "mpc85xx.h"
|
||||
|
@ -142,17 +143,73 @@ static void p1022ds_set_gamma_table(enum fsl_diu_monitor_port port,
|
|||
{
|
||||
}
|
||||
|
||||
struct fsl_law {
|
||||
u32 lawbar;
|
||||
u32 reserved1;
|
||||
u32 lawar;
|
||||
u32 reserved[5];
|
||||
};
|
||||
|
||||
#define LAWBAR_MASK 0x00F00000
|
||||
#define LAWBAR_SHIFT 12
|
||||
|
||||
#define LAWAR_EN 0x80000000
|
||||
#define LAWAR_TGT_MASK 0x01F00000
|
||||
#define LAW_TRGT_IF_LBC (0x04 << 20)
|
||||
|
||||
#define LAWAR_MASK (LAWAR_EN | LAWAR_TGT_MASK)
|
||||
#define LAWAR_MATCH (LAWAR_EN | LAW_TRGT_IF_LBC)
|
||||
|
||||
#define BR_BA 0xFFFF8000
|
||||
|
||||
/*
|
||||
* Map a BRx value to a physical address
|
||||
*
|
||||
* The localbus BRx registers only store the lower 32 bits of the address. To
|
||||
* obtain the upper four bits, we need to scan the LAW table. The entry which
|
||||
* maps to the localbus will contain the upper four bits.
|
||||
*/
|
||||
static phys_addr_t lbc_br_to_phys(const void *ecm, unsigned int count, u32 br)
|
||||
{
|
||||
#ifndef CONFIG_PHYS_64BIT
|
||||
/*
|
||||
* If we only have 32-bit addressing, then the BRx address *is* the
|
||||
* physical address.
|
||||
*/
|
||||
return br & BR_BA;
|
||||
#else
|
||||
const struct fsl_law *law = ecm + 0xc08;
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
u64 lawbar = in_be32(&law[i].lawbar);
|
||||
u32 lawar = in_be32(&law[i].lawar);
|
||||
|
||||
if ((lawar & LAWAR_MASK) == LAWAR_MATCH)
|
||||
/* Extract the upper four bits */
|
||||
return (br & BR_BA) | ((lawbar & LAWBAR_MASK) << 12);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* p1022ds_set_monitor_port: switch the output to a different monitor port
|
||||
*
|
||||
*/
|
||||
static void p1022ds_set_monitor_port(enum fsl_diu_monitor_port port)
|
||||
{
|
||||
struct device_node *guts_node;
|
||||
struct device_node *indirect_node = NULL;
|
||||
struct device_node *lbc_node = NULL;
|
||||
struct device_node *law_node = NULL;
|
||||
struct ccsr_guts __iomem *guts;
|
||||
struct fsl_lbc_regs *lbc = NULL;
|
||||
void *ecm = NULL;
|
||||
u8 __iomem *lbc_lcs0_ba = NULL;
|
||||
u8 __iomem *lbc_lcs1_ba = NULL;
|
||||
phys_addr_t cs0_addr, cs1_addr;
|
||||
const __be32 *iprop;
|
||||
unsigned int num_laws;
|
||||
u8 b;
|
||||
|
||||
/* Map the global utilities registers. */
|
||||
|
@ -168,25 +225,43 @@ static void p1022ds_set_monitor_port(enum fsl_diu_monitor_port port)
|
|||
goto exit;
|
||||
}
|
||||
|
||||
indirect_node = of_find_compatible_node(NULL, NULL,
|
||||
"fsl,p1022ds-indirect-pixis");
|
||||
if (!indirect_node) {
|
||||
pr_err("p1022ds: missing pixis indirect mode node\n");
|
||||
lbc_node = of_find_compatible_node(NULL, NULL, "fsl,p1022-elbc");
|
||||
if (!lbc_node) {
|
||||
pr_err("p1022ds: missing localbus node\n");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
lbc_lcs0_ba = of_iomap(indirect_node, 0);
|
||||
if (!lbc_lcs0_ba) {
|
||||
pr_err("p1022ds: could not map localbus chip select 0\n");
|
||||
lbc = of_iomap(lbc_node, 0);
|
||||
if (!lbc) {
|
||||
pr_err("p1022ds: could not map localbus node\n");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
lbc_lcs1_ba = of_iomap(indirect_node, 1);
|
||||
if (!lbc_lcs1_ba) {
|
||||
pr_err("p1022ds: could not map localbus chip select 1\n");
|
||||
law_node = of_find_compatible_node(NULL, NULL, "fsl,ecm-law");
|
||||
if (!law_node) {
|
||||
pr_err("p1022ds: missing local access window node\n");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
ecm = of_iomap(law_node, 0);
|
||||
if (!ecm) {
|
||||
pr_err("p1022ds: could not map local access window node\n");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
iprop = of_get_property(law_node, "fsl,num-laws", 0);
|
||||
if (!iprop) {
|
||||
pr_err("p1022ds: LAW node is missing fsl,num-laws property\n");
|
||||
goto exit;
|
||||
}
|
||||
num_laws = be32_to_cpup(iprop);
|
||||
|
||||
cs0_addr = lbc_br_to_phys(ecm, num_laws, in_be32(&lbc->bank[0].br));
|
||||
cs1_addr = lbc_br_to_phys(ecm, num_laws, in_be32(&lbc->bank[1].br));
|
||||
|
||||
lbc_lcs0_ba = ioremap(cs0_addr, 1);
|
||||
lbc_lcs1_ba = ioremap(cs1_addr, 1);
|
||||
|
||||
/* Make sure we're in indirect mode first. */
|
||||
if ((in_be32(&guts->pmuxcr) & PMUXCR_ELBCDIU_MASK) !=
|
||||
PMUXCR_ELBCDIU_DIU) {
|
||||
|
@ -254,10 +329,15 @@ exit:
|
|||
iounmap(lbc_lcs1_ba);
|
||||
if (lbc_lcs0_ba)
|
||||
iounmap(lbc_lcs0_ba);
|
||||
if (lbc)
|
||||
iounmap(lbc);
|
||||
if (ecm)
|
||||
iounmap(ecm);
|
||||
if (guts)
|
||||
iounmap(guts);
|
||||
|
||||
of_node_put(indirect_node);
|
||||
of_node_put(law_node);
|
||||
of_node_put(lbc_node);
|
||||
of_node_put(guts_node);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
/*
|
||||
* P3060 QDS Setup
|
||||
*
|
||||
* Copyright 2011 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.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/phy.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/mpic.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <sysdev/fsl_soc.h>
|
||||
#include <sysdev/fsl_pci.h>
|
||||
#include <asm/ehv_pic.h>
|
||||
#include "corenet_ds.h"
|
||||
|
||||
/*
|
||||
* Called very early, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init p3060_qds_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
#ifdef CONFIG_SMP
|
||||
extern struct smp_ops_t smp_85xx_ops;
|
||||
#endif
|
||||
|
||||
if (of_flat_dt_is_compatible(root, "fsl,P3060QDS"))
|
||||
return 1;
|
||||
|
||||
/* Check if we're running under the Freescale hypervisor */
|
||||
if (of_flat_dt_is_compatible(root, "fsl,P3060QDS-hv")) {
|
||||
ppc_md.init_IRQ = ehv_pic_init;
|
||||
ppc_md.get_irq = ehv_pic_get_irq;
|
||||
ppc_md.restart = fsl_hv_restart;
|
||||
ppc_md.power_off = fsl_hv_halt;
|
||||
ppc_md.halt = fsl_hv_halt;
|
||||
#ifdef CONFIG_SMP
|
||||
/*
|
||||
* Disable the timebase sync operations because we can't write
|
||||
* to the timebase registers under the hypervisor.
|
||||
*/
|
||||
smp_85xx_ops.give_timebase = NULL;
|
||||
smp_85xx_ops.take_timebase = NULL;
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
define_machine(p3060_qds) {
|
||||
.name = "P3060 QDS",
|
||||
.probe = p3060_qds_probe,
|
||||
.setup_arch = corenet_ds_setup_arch,
|
||||
.init_IRQ = corenet_ds_pic_init,
|
||||
#ifdef CONFIG_PCI
|
||||
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
|
||||
#endif
|
||||
.get_irq = mpic_get_coreint_irq,
|
||||
.restart = fsl_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
.power_save = e500_idle,
|
||||
};
|
||||
|
||||
machine_device_initcall(p3060_qds, corenet_ds_publish_devices);
|
||||
|
||||
#ifdef CONFIG_SWIOTLB
|
||||
machine_arch_initcall(p3060_qds, swiotlb_setup_bus_notifier);
|
||||
#endif
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Paravirt target for a generic QEMU e500 machine
|
||||
*
|
||||
* This is intended to be a flexible device-tree-driven platform, not fixed
|
||||
* to a particular piece of hardware or a particular spec of virtual hardware,
|
||||
* beyond the assumption of an e500-family CPU. Some things are still hardcoded
|
||||
* here, such as MPIC, but this is a limitation of the current code rather than
|
||||
* an interface contract with QEMU.
|
||||
*
|
||||
* Copyright 2012 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.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/of_fdt.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/time.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/mpic.h>
|
||||
#include <sysdev/fsl_soc.h>
|
||||
#include <sysdev/fsl_pci.h>
|
||||
#include "smp.h"
|
||||
#include "mpc85xx.h"
|
||||
|
||||
void __init qemu_e500_pic_init(void)
|
||||
{
|
||||
struct mpic *mpic;
|
||||
|
||||
mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU,
|
||||
0, 256, " OpenPIC ");
|
||||
|
||||
BUG_ON(mpic == NULL);
|
||||
mpic_init(mpic);
|
||||
}
|
||||
|
||||
static void __init qemu_e500_setup_arch(void)
|
||||
{
|
||||
ppc_md.progress("qemu_e500_setup_arch()", 0);
|
||||
|
||||
fsl_pci_init();
|
||||
mpc85xx_smp_init();
|
||||
}
|
||||
|
||||
/*
|
||||
* Called very early, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init qemu_e500_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
return !!of_flat_dt_is_compatible(root, "fsl,qemu-e500");
|
||||
}
|
||||
|
||||
machine_device_initcall(qemu_e500, mpc85xx_common_publish_devices);
|
||||
|
||||
define_machine(qemu_e500) {
|
||||
.name = "QEMU e500",
|
||||
.probe = qemu_e500_probe,
|
||||
.setup_arch = qemu_e500_setup_arch,
|
||||
.init_IRQ = qemu_e500_pic_init,
|
||||
#ifdef CONFIG_PCI
|
||||
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
|
||||
#endif
|
||||
.get_irq = mpic_get_irq,
|
||||
.restart = fsl_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
|
@ -1,254 +0,0 @@
|
|||
/*
|
||||
* Wind River SBC8560 setup and early boot code.
|
||||
*
|
||||
* Copyright 2007 Wind River Systems Inc.
|
||||
*
|
||||
* By Paul Gortmaker (see MAINTAINERS for contact information)
|
||||
*
|
||||
* Based largely on the MPC8560ADS support - Copyright 2005 Freescale 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.
|
||||
*/
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/kdev_t.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/pci-bridge.h>
|
||||
#include <asm/mpic.h>
|
||||
#include <mm/mmu_decl.h>
|
||||
#include <asm/udbg.h>
|
||||
|
||||
#include <sysdev/fsl_soc.h>
|
||||
#include <sysdev/fsl_pci.h>
|
||||
|
||||
#include "mpc85xx.h"
|
||||
|
||||
#ifdef CONFIG_CPM2
|
||||
#include <asm/cpm2.h>
|
||||
#include <sysdev/cpm2_pic.h>
|
||||
#endif
|
||||
|
||||
static void __init sbc8560_pic_init(void)
|
||||
{
|
||||
struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN,
|
||||
0, 256, " OpenPIC ");
|
||||
BUG_ON(mpic == NULL);
|
||||
mpic_init(mpic);
|
||||
|
||||
mpc85xx_cpm2_pic_init();
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup the architecture
|
||||
*/
|
||||
#ifdef CONFIG_CPM2
|
||||
struct cpm_pin {
|
||||
int port, pin, flags;
|
||||
};
|
||||
|
||||
static const struct cpm_pin sbc8560_pins[] = {
|
||||
/* SCC1 */
|
||||
{3, 29, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
|
||||
{3, 31, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
|
||||
/* SCC2 */
|
||||
{3, 26, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{3, 27, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{3, 28, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
|
||||
/* FCC2 */
|
||||
{1, 18, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 19, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 20, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 21, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 22, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 25, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 26, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 27, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 28, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 29, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
|
||||
{1, 30, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 31, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{2, 18, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* CLK14 */
|
||||
{2, 19, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* CLK13 */
|
||||
|
||||
/* FCC3 */
|
||||
{1, 4, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 5, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 6, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 7, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 8, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 9, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 10, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 11, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 12, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 13, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 14, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 15, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
|
||||
{1, 16, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{1, 17, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
|
||||
{2, 16, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* CLK16 */
|
||||
{2, 17, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* CLK15 */
|
||||
};
|
||||
|
||||
static void __init init_ioports(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(sbc8560_pins); i++) {
|
||||
const struct cpm_pin *pin = &sbc8560_pins[i];
|
||||
cpm2_set_pin(pin->port, pin->pin, pin->flags);
|
||||
}
|
||||
|
||||
cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_RX);
|
||||
cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_TX);
|
||||
cpm2_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_RX);
|
||||
cpm2_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_TX);
|
||||
cpm2_clk_setup(CPM_CLK_FCC2, CPM_CLK13, CPM_CLK_RX);
|
||||
cpm2_clk_setup(CPM_CLK_FCC2, CPM_CLK14, CPM_CLK_TX);
|
||||
cpm2_clk_setup(CPM_CLK_FCC3, CPM_CLK15, CPM_CLK_RX);
|
||||
cpm2_clk_setup(CPM_CLK_FCC3, CPM_CLK16, CPM_CLK_TX);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void __init sbc8560_setup_arch(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct device_node *np;
|
||||
#endif
|
||||
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("sbc8560_setup_arch()", 0);
|
||||
|
||||
#ifdef CONFIG_CPM2
|
||||
cpm2_reset();
|
||||
init_ioports();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
for_each_compatible_node(np, "pci", "fsl,mpc8540-pci")
|
||||
fsl_add_bridge(np, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void sbc8560_show_cpuinfo(struct seq_file *m)
|
||||
{
|
||||
uint pvid, svid, phid1;
|
||||
|
||||
pvid = mfspr(SPRN_PVR);
|
||||
svid = mfspr(SPRN_SVR);
|
||||
|
||||
seq_printf(m, "Vendor\t\t: Wind River\n");
|
||||
seq_printf(m, "PVR\t\t: 0x%x\n", pvid);
|
||||
seq_printf(m, "SVR\t\t: 0x%x\n", svid);
|
||||
|
||||
/* Display cpu Pll setting */
|
||||
phid1 = mfspr(SPRN_HID1);
|
||||
seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
|
||||
}
|
||||
|
||||
machine_device_initcall(sbc8560, mpc85xx_common_publish_devices);
|
||||
|
||||
/*
|
||||
* Called very early, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init sbc8560_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
|
||||
return of_flat_dt_is_compatible(root, "SBC8560");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_RTC_DRV_M48T59
|
||||
static int __init sbc8560_rtc_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
struct resource res;
|
||||
struct platform_device *rtc_dev;
|
||||
|
||||
np = of_find_compatible_node(NULL, NULL, "m48t59");
|
||||
if (np == NULL) {
|
||||
printk("No RTC in DTB. Has it been eaten by wild dogs?\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
of_address_to_resource(np, 0, &res);
|
||||
of_node_put(np);
|
||||
|
||||
printk("Found RTC (m48t59) at i/o 0x%x\n", res.start);
|
||||
|
||||
rtc_dev = platform_device_register_simple("rtc-m48t59", 0, &res, 1);
|
||||
|
||||
if (IS_ERR(rtc_dev)) {
|
||||
printk("Registering sbc8560 RTC device failed\n");
|
||||
return PTR_ERR(rtc_dev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
arch_initcall(sbc8560_rtc_init);
|
||||
|
||||
#endif /* M48T59 */
|
||||
|
||||
static __u8 __iomem *brstcr;
|
||||
|
||||
static int __init sbc8560_bdrstcr_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
struct resource res;
|
||||
|
||||
np = of_find_compatible_node(NULL, NULL, "wrs,sbc8560-brstcr");
|
||||
if (np == NULL) {
|
||||
printk(KERN_WARNING "sbc8560: No board specific RSTCR in DTB.\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
of_address_to_resource(np, 0, &res);
|
||||
|
||||
printk(KERN_INFO "sbc8560: Found BRSTCR at %pR\n", &res);
|
||||
|
||||
brstcr = ioremap(res.start, resource_size(&res));
|
||||
if(!brstcr)
|
||||
printk(KERN_WARNING "sbc8560: ioremap of brstcr failed.\n");
|
||||
|
||||
of_node_put(np);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
arch_initcall(sbc8560_bdrstcr_init);
|
||||
|
||||
void sbc8560_rstcr_restart(char * cmd)
|
||||
{
|
||||
local_irq_disable();
|
||||
if(brstcr)
|
||||
clrbits8(brstcr, 0x80);
|
||||
|
||||
while(1);
|
||||
}
|
||||
|
||||
define_machine(sbc8560) {
|
||||
.name = "SBC8560",
|
||||
.probe = sbc8560_probe,
|
||||
.setup_arch = sbc8560_setup_arch,
|
||||
.init_IRQ = sbc8560_pic_init,
|
||||
.show_cpuinfo = sbc8560_show_cpuinfo,
|
||||
.get_irq = mpic_get_irq,
|
||||
.restart = sbc8560_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
|
@ -159,6 +159,10 @@ config PPC_E500MC
|
|||
bool "e500mc Support"
|
||||
select PPC_FPU
|
||||
depends on E500
|
||||
help
|
||||
This must be enabled for running on e500mc (and derivatives
|
||||
such as e5500/e6500), and must be disabled for running on
|
||||
e500v1 or e500v2.
|
||||
|
||||
config PPC_FPU
|
||||
bool
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* MPC83xx/85xx/86xx PCI/PCIE support routing.
|
||||
*
|
||||
* Copyright 2007-2011 Freescale Semiconductor, Inc.
|
||||
* Copyright 2007-2012 Freescale Semiconductor, Inc.
|
||||
* Copyright 2008-2009 MontaVista Software, Inc.
|
||||
*
|
||||
* Initial author: Xianghua Xiao <x.xiao@freescale.com>
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
static int fsl_pcie_bus_fixup, is_mpc83xx_pci;
|
||||
|
||||
static void __init quirk_fsl_pcie_header(struct pci_dev *dev)
|
||||
static void __devinit quirk_fsl_pcie_header(struct pci_dev *dev)
|
||||
{
|
||||
u8 progif;
|
||||
|
||||
|
@ -807,3 +807,72 @@ u64 fsl_pci_immrbar_base(struct pci_controller *hose)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_FSL_SOC_BOOKE) || defined(CONFIG_PPC_86xx)
|
||||
static const struct of_device_id pci_ids[] = {
|
||||
{ .compatible = "fsl,mpc8540-pci", },
|
||||
{ .compatible = "fsl,mpc8548-pcie", },
|
||||
{ .compatible = "fsl,mpc8610-pci", },
|
||||
{ .compatible = "fsl,mpc8641-pcie", },
|
||||
{ .compatible = "fsl,p1022-pcie", },
|
||||
{ .compatible = "fsl,p1010-pcie", },
|
||||
{ .compatible = "fsl,p1023-pcie", },
|
||||
{ .compatible = "fsl,p4080-pcie", },
|
||||
{ .compatible = "fsl,qoriq-pcie-v2.3", },
|
||||
{ .compatible = "fsl,qoriq-pcie-v2.2", },
|
||||
{},
|
||||
};
|
||||
|
||||
struct device_node *fsl_pci_primary;
|
||||
|
||||
void __devinit fsl_pci_init(void)
|
||||
{
|
||||
struct device_node *node;
|
||||
struct pci_controller *hose;
|
||||
dma_addr_t max = 0xffffffff;
|
||||
|
||||
/* Callers can specify the primary bus using other means. */
|
||||
if (!fsl_pci_primary) {
|
||||
/* If a PCI host bridge contains an ISA node, it's primary. */
|
||||
node = of_find_node_by_type(NULL, "isa");
|
||||
while ((fsl_pci_primary = of_get_parent(node))) {
|
||||
of_node_put(node);
|
||||
node = fsl_pci_primary;
|
||||
|
||||
if (of_match_node(pci_ids, node))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
node = NULL;
|
||||
for_each_node_by_type(node, "pci") {
|
||||
if (of_match_node(pci_ids, node)) {
|
||||
/*
|
||||
* If there's no PCI host bridge with ISA, arbitrarily
|
||||
* designate one as primary. This can go away once
|
||||
* various bugs with primary-less systems are fixed.
|
||||
*/
|
||||
if (!fsl_pci_primary)
|
||||
fsl_pci_primary = node;
|
||||
|
||||
fsl_add_bridge(node, fsl_pci_primary == node);
|
||||
hose = pci_find_hose_for_OF_device(node);
|
||||
max = min(max, hose->dma_window_base_cur +
|
||||
hose->dma_window_size);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SWIOTLB
|
||||
/*
|
||||
* if we couldn't map all of DRAM via the dma windows
|
||||
* we need SWIOTLB to handle buffers located outside of
|
||||
* dma capable memory region
|
||||
*/
|
||||
if (memblock_end_of_DRAM() - 1 > max) {
|
||||
ppc_swiotlb_enable = 1;
|
||||
set_pci_dma_ops(&swiotlb_dma_ops);
|
||||
ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -93,5 +93,13 @@ extern void fsl_pcibios_fixup_bus(struct pci_bus *bus);
|
|||
extern int mpc83xx_add_bridge(struct device_node *dev);
|
||||
u64 fsl_pci_immrbar_base(struct pci_controller *hose);
|
||||
|
||||
extern struct device_node *fsl_pci_primary;
|
||||
|
||||
#ifdef CONFIG_FSL_PCI
|
||||
void fsl_pci_init(void);
|
||||
#else
|
||||
static inline void fsl_pci_init(void) {}
|
||||
#endif
|
||||
|
||||
#endif /* __POWERPC_FSL_PCI_H */
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
@ -1211,7 +1211,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
|
|||
if (of_get_property(node, "single-cpu-affinity", NULL))
|
||||
flags |= MPIC_SINGLE_DEST_CPU;
|
||||
if (of_device_is_compatible(node, "fsl,mpic"))
|
||||
flags |= MPIC_FSL;
|
||||
flags |= MPIC_FSL | MPIC_LARGE_VECTORS;
|
||||
|
||||
mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL);
|
||||
if (mpic == NULL)
|
||||
|
|
|
@ -395,6 +395,9 @@ static void qe_upload_microcode(const void *base,
|
|||
|
||||
for (i = 0; i < be32_to_cpu(ucode->count); i++)
|
||||
out_be32(&qe_immr->iram.idata, be32_to_cpu(code[i]));
|
||||
|
||||
/* Set I-RAM Ready Register */
|
||||
out_be32(&qe_immr->iram.iready, be32_to_cpu(QE_IRAM_READY));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1115,10 +1115,10 @@ config BOOKE_WDT
|
|||
config BOOKE_WDT_DEFAULT_TIMEOUT
|
||||
int "PowerPC Book-E Watchdog Timer Default Timeout"
|
||||
depends on BOOKE_WDT
|
||||
default 38 if FSL_BOOKE
|
||||
range 0 63 if FSL_BOOKE
|
||||
default 3 if !FSL_BOOKE
|
||||
range 0 3 if !FSL_BOOKE
|
||||
default 38 if PPC_FSL_BOOK3E
|
||||
range 0 63 if PPC_FSL_BOOK3E
|
||||
default 3 if !PPC_FSL_BOOK3E
|
||||
range 0 3 if !PPC_FSL_BOOK3E
|
||||
help
|
||||
Select the default watchdog timer period to be used by the PowerPC
|
||||
Book-E watchdog driver. A watchdog "event" occurs when the bit
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
u32 booke_wdt_enabled;
|
||||
u32 booke_wdt_period = CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT;
|
||||
|
||||
#ifdef CONFIG_FSL_BOOKE
|
||||
#ifdef CONFIG_PPC_FSL_BOOK3E
|
||||
#define WDTP(x) ((((x)&0x3)<<30)|(((x)&0x3c)<<15))
|
||||
#define WDTP_MASK (WDTP(0x3f))
|
||||
#else
|
||||
|
@ -190,7 +190,7 @@ static long booke_wdt_ioctl(struct file *file,
|
|||
case WDIOC_SETTIMEOUT:
|
||||
if (get_user(tmp, p))
|
||||
return -EFAULT;
|
||||
#ifdef CONFIG_FSL_BOOKE
|
||||
#ifdef CONFIG_PPC_FSL_BOOK3E
|
||||
/* period of 1 gives the largest possible timeout */
|
||||
if (tmp > period_to_sec(1))
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue