Skip to content

Commit

Permalink
Merge remote-tracking branch 'scott/next' into next
Browse files Browse the repository at this point in the history
<<
Highlights include a few new boards, a device tree binding for CCF
(including backwards-compatible device tree updates to distinguish
incompatible versions), and some fixes.
>>
  • Loading branch information
Benjamin Herrenschmidt committed May 28, 2014
2 parents 872aa77 + e83eb02 commit b9d8009
Show file tree
Hide file tree
Showing 55 changed files with 2,065 additions and 290 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ which can then be passed to a variety of internal logic, including
cores and peripheral IP blocks.
Please refer to the Reference Manual for details.

All references to "1.0" and "2.0" refer to the QorIQ chassis version to
which the chip complies.

Chassis Version Example Chips
--------------- -------------
1.0 p4080, p5020, p5040
2.0 t4240, b4860, t1040

1. Clock Block Binding

Required properties:
Expand Down Expand Up @@ -85,7 +93,7 @@ Example for clock block and clock provider:
#clock-cells = <0>;
compatible = "fsl,qoriq-sysclk-1.0";
clock-output-names = "sysclk";
}
};

pll0: pll0@800 {
#clock-cells = <1>;
Expand Down
25 changes: 25 additions & 0 deletions Documentation/devicetree/bindings/mfd/bfticu.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
KEYMILE bfticu Chassis Management FPGA

The bfticu is a multifunction device that manages the whole chassis.
Its main functionality is to collect IRQs from the whole chassis and signals
them to a single controller.

Required properties:
- compatible: "keymile,bfticu"
- interrupt-controller: the bfticu FPGA is an interrupt controller
- interrupts: the main IRQ line to signal the collected IRQs
- #interrupt-cells : is 2 and their usage is compliant to the 2 cells variant
of Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
- interrupt-parent: the parent IRQ ctrl the main IRQ is connected to
- reg: access on the parent local bus (chip select, offset in chip select, size)

Example:

chassis-mgmt@3,0 {
compatible = "keymile,bfticu";
interrupt-controller;
#interrupt-cells = <2>;
reg = <3 0 0x100>;
interrupt-parent = <&mpic>;
interrupts = <6 1 0 0>;
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/mfd/qriox.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
KEYMILE qrio Board Control CPLD

The qrio is a multifunction device that controls the KEYMILE boards based on
the kmp204x design.
It is consists of a reset controller, watchdog timer, LEDs, and 2 IRQ capable
GPIO blocks.

Required properties:
- compatible: "keymile,qriox"
- reg: access on the parent local bus (chip select, offset in chip select, size)

Example:

board-control@1,0 {
compatible = "keymile,qriox";
reg = <1 0 0x80>;
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/powerpc/fsl/board.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,20 @@ Example:
gpio-controller;
};
};

* Freescale on-board FPGA connected on I2C bus

Some Freescale boards like BSC9132QDS have on board FPGA connected on
the i2c bus.

Required properties:
- compatible: Should be a board-specific string followed by a string
indicating the type of FPGA. Example:
"fsl,<board>-fpga", "fsl,fpga-qixis-i2c"
- reg: Should contain the address of the FPGA

Example:
fpga: fpga@66 {
compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
reg = <0x66>;
};
46 changes: 46 additions & 0 deletions Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding

DESCRIPTION

The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
that enables the implementation of coherent, multicore systems.

Required properties:

- compatible: <string list>
fsl,corenet1-cf - CoreNet coherency fabric version 1.
Example chips: T4240, B4860

fsl,corenet2-cf - CoreNet coherency fabric version 2.
Example chips: P5040, P5020, P4080, P3041, P2041

fsl,corenet-cf - Used to represent the common registers
between CCF version 1 and CCF version 2. This compatible
is retained for compatibility reasons, as it was already
used for both CCF version 1 chips and CCF version 2
chips. It should be specified after either
"fsl,corenet1-cf" or "fsl,corenet2-cf".

- reg: <prop-encoded-array>
A standard property. Represents the CCF registers.

- interrupts: <prop-encoded-array>
Interrupt mapping for CCF error interrupt.

- fsl,ccf-num-csdids: <u32>
Specifies the number of Coherency Subdomain ID Port Mapping
Registers that are supported by the CCF.

- fsl,ccf-num-snoopids: <u32>
Specifies the number of Snoop ID Port Mapping Registers that
are supported by CCF.

Example:

corenet-cf@18000 {
compatible = "fsl,corenet2-cf", "fsl,corenet-cf";
reg = <0x18000 0x1000>;
interrupts = <16 2 1 31>;
fsl,ccf-num-csdids = <32>;
fsl,ccf-num-snoopids = <32>;
};
11 changes: 11 additions & 0 deletions Documentation/devicetree/bindings/powerpc/fsl/cpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,14 @@ PROPERTIES
a property named fsl,eref-[CAT], where [CAT] is the abbreviated category
name with all uppercase letters converted to lowercase, indicates that
the category is supported by the implementation.

- fsl,portid-mapping
Usage: optional
Value type: <u32>
Definition: The Coherency Subdomain ID Port Mapping Registers and
Snoop ID Port Mapping registers, which are part of the CoreNet
Coherency fabric (CCF), provide a CoreNet Coherency Subdomain
ID/CoreNet Snoop ID to cpu mapping functions. Certain bits from
these registers should be set if the coresponding CPU should be
snooped. This property defines a bitmask which selects the bit
that should be set if this cpu should be snooped.
10 changes: 10 additions & 0 deletions Documentation/devicetree/bindings/powerpc/fsl/pamu.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ Optional properties:
for legacy drivers.
- interrupt-parent : <phandle>
Phandle to interrupt controller
- fsl,portid-mapping : <u32>
The Coherency Subdomain ID Port Mapping Registers and
Snoop ID Port Mapping registers, which are part of the
CoreNet Coherency fabric (CCF), provide a CoreNet
Coherency Subdomain ID/CoreNet Snoop ID to pamu mapping
functions. Certain bits from these registers should be
set if PAMUs should be snooped. This property defines
a bitmask which selects the bits that should be set if
PAMUs should be snooped.

Child nodes:

Expand Down Expand Up @@ -88,6 +97,7 @@ Example:
compatible = "fsl,pamu-v1.0", "fsl,pamu";
reg = <0x20000 0x5000>;
ranges = <0 0x20000 0x5000>;
fsl,portid-mapping = <0xf80000>;
#address-cells = <1>;
#size-cells = <1>;
interrupts = <
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/vendor-prefixes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,4 @@ wm Wondermedia Technologies, Inc.
xes Extreme Engineering Solutions (X-ES)
xlnx Xilinx
zyxel ZyXEL Communications Corp.
zarlink Zarlink Semiconductor
7 changes: 6 additions & 1 deletion arch/powerpc/boot/dts/b4860emu.dts
Original file line number Diff line number Diff line change
Expand Up @@ -61,21 +61,25 @@
device_type = "cpu";
reg = <0 1>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
cpu1: PowerPC,e6500@2 {
device_type = "cpu";
reg = <2 3>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
cpu2: PowerPC,e6500@4 {
device_type = "cpu";
reg = <4 5>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
cpu3: PowerPC,e6500@6 {
device_type = "cpu";
reg = <6 7>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
};
};
Expand Down Expand Up @@ -157,7 +161,7 @@
};

corenet-cf@18000 {
compatible = "fsl,b4-corenet-cf";
compatible = "fsl,corenet2-cf", "fsl,corenet-cf";
reg = <0x18000 0x1000>;
interrupts = <16 2 1 0>;
fsl,ccf-num-csdids = <32>;
Expand All @@ -167,6 +171,7 @@
iommu@20000 {
compatible = "fsl,pamu-v1.0", "fsl,pamu";
reg = <0x20000 0x4000>;
fsl,portid-mapping = <0x8000>;
#address-cells = <1>;
#size-cells = <1>;
interrupts = <
Expand Down
35 changes: 35 additions & 0 deletions arch/powerpc/boot/dts/bsc9132qds.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* BSC9132 QDS Device Tree Source
*
* Copyright 2014 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/bsc9132si-pre.dtsi"

/ {
model = "fsl,bsc9132qds";
compatible = "fsl,bsc9132qds";

memory {
device_type = "memory";
};

ifc: ifc@ff71e000 {
/* NOR, NAND Flash on board */
ranges = <0x0 0x0 0x0 0x88000000 0x08000000
0x1 0x0 0x0 0xff800000 0x00010000>;
reg = <0x0 0xff71e000 0x0 0x2000>;
};

soc: soc@ff700000 {
ranges = <0x0 0x0 0xff700000 0x100000>;
};
};

/include/ "bsc9132qds.dtsi"
/include/ "fsl/bsc9132si-post.dtsi"
101 changes: 101 additions & 0 deletions arch/powerpc/boot/dts/bsc9132qds.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/*
* BSC9132 QDS Device Tree Source stub (no addresses or top-level ranges)
*
* Copyright 2014 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 {
nor@0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0x0 0x0 0x8000000>;
bank-width = <2>;
device-width = <1>;
};

nand@1,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,ifc-nand";
reg = <0x1 0x0 0x4000>;
};
};

&soc {
spi@7000 {
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spansion,s25sl12801";
reg = <0>;
spi-max-frequency = <30000000>;
};
};

i2c@3000 {
fpga: fpga@66 {
compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
reg = <0x66>;
};
};

usb@22000 {
phy_type = "ulpi";
};

mdio@24000 {
phy0: ethernet-phy@0 {
reg = <0x0>;
};

phy1: ethernet-phy@1 {
reg = <0x1>;
};

tbi0: tbi-phy@11 {
reg = <0x1f>;
device_type = "tbi-phy";
};
};

enet0: ethernet@b0000 {
phy-handle = <&phy0>;
tbi-handle = <&tbi0>;
phy-connection-type = "sgmii";
};

enet1: ethernet@b1000 {
phy-handle = <&phy1>;
tbi-handle = <&tbi0>;
phy-connection-type = "sgmii";
};
};
4 changes: 0 additions & 4 deletions arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,6 @@
compatible = "fsl,b4420-l3-cache-controller", "cache";
};

corenet-cf@18000 {
compatible = "fsl,b4420-corenet-cf";
};

guts: global-utilities@e0000 {
compatible = "fsl,b4420-device-config", "fsl,qoriq-device-config-2.0";
};
Expand Down
2 changes: 2 additions & 0 deletions arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,14 @@
reg = <0 1>;
clocks = <&mux0>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
cpu1: PowerPC,e6500@2 {
device_type = "cpu";
reg = <2 3>;
clocks = <&mux0>;
next-level-cache = <&L2>;
fsl,portid-mapping = <0x80000000>;
};
};
};
4 changes: 0 additions & 4 deletions arch/powerpc/boot/dts/fsl/b4860si-post.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,6 @@
compatible = "fsl,b4860-l3-cache-controller", "cache";
};

corenet-cf@18000 {
compatible = "fsl,b4860-corenet-cf";
};

guts: global-utilities@e0000 {
compatible = "fsl,b4860-device-config", "fsl,qoriq-device-config-2.0";
};
Expand Down
Loading

0 comments on commit b9d8009

Please sign in to comment.