-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
powerpc/fsl: Refactor device bindings
Moved Freescale SoC related bindings out of booting-without-of.txt and into their own files. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
- Loading branch information
Kumar Gala
committed
Jul 14, 2008
1 parent
b93eeba
commit d0fc2ea
Showing
27 changed files
with
1,077 additions
and
1,206 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
* Board Control and Status (BCSR) | ||
|
||
Required properties: | ||
|
||
- device_type : Should be "board-control" | ||
- reg : Offset and length of the register set for the device | ||
|
||
Example: | ||
|
||
bcsr@f8000000 { | ||
device_type = "board-control"; | ||
reg = <f8000000 8000>; | ||
}; | ||
|
||
* Freescale on board FPGA | ||
|
||
This is the memory-mapped registers for on board FPGA. | ||
|
||
Required properities: | ||
- compatible : should be "fsl,fpga-pixis". | ||
- reg : should contain the address and the lenght of the FPPGA register | ||
set. | ||
|
||
Example (MPC8610HPCD): | ||
|
||
board-control@e8000000 { | ||
compatible = "fsl,fpga-pixis"; | ||
reg = <0xe8000000 32>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
* Freescale Communications Processor Module | ||
|
||
NOTE: This is an interim binding, and will likely change slightly, | ||
as more devices are supported. The QE bindings especially are | ||
incomplete. | ||
|
||
* Root CPM node | ||
|
||
Properties: | ||
- compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe". | ||
- reg : A 48-byte region beginning with CPCR. | ||
|
||
Example: | ||
cpm@119c0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
#interrupt-cells = <2>; | ||
compatible = "fsl,mpc8272-cpm", "fsl,cpm2"; | ||
reg = <119c0 30>; | ||
} | ||
|
||
* Properties common to mulitple CPM/QE devices | ||
|
||
- fsl,cpm-command : This value is ORed with the opcode and command flag | ||
to specify the device on which a CPM command operates. | ||
|
||
- fsl,cpm-brg : Indicates which baud rate generator the device | ||
is associated with. If absent, an unused BRG | ||
should be dynamically allocated. If zero, the | ||
device uses an external clock rather than a BRG. | ||
|
||
- reg : Unless otherwise specified, the first resource represents the | ||
scc/fcc/ucc registers, and the second represents the device's | ||
parameter RAM region (if it has one). | ||
|
||
* Multi-User RAM (MURAM) | ||
|
||
The multi-user/dual-ported RAM is expressed as a bus under the CPM node. | ||
|
||
Ranges must be set up subject to the following restrictions: | ||
|
||
- Children's reg nodes must be offsets from the start of all muram, even | ||
if the user-data area does not begin at zero. | ||
- If multiple range entries are used, the difference between the parent | ||
address and the child address must be the same in all, so that a single | ||
mapping can cover them all while maintaining the ability to determine | ||
CPM-side offsets with pointer subtraction. It is recommended that | ||
multiple range entries not be used. | ||
- A child address of zero must be translatable, even if no reg resources | ||
contain it. | ||
|
||
A child "data" node must exist, compatible with "fsl,cpm-muram-data", to | ||
indicate the portion of muram that is usable by the OS for arbitrary | ||
purposes. The data node may have an arbitrary number of reg resources, | ||
all of which contribute to the allocatable muram pool. | ||
|
||
Example, based on mpc8272: | ||
muram@0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0 0 10000>; | ||
|
||
data@0 { | ||
compatible = "fsl,cpm-muram-data"; | ||
reg = <0 2000 9800 800>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
* Baud Rate Generators | ||
|
||
Currently defined compatibles: | ||
fsl,cpm-brg | ||
fsl,cpm1-brg | ||
fsl,cpm2-brg | ||
|
||
Properties: | ||
- reg : There may be an arbitrary number of reg resources; BRG | ||
numbers are assigned to these in order. | ||
- clock-frequency : Specifies the base frequency driving | ||
the BRG. | ||
|
||
Example: | ||
brg@119f0 { | ||
compatible = "fsl,mpc8272-brg", | ||
"fsl,cpm2-brg", | ||
"fsl,cpm-brg"; | ||
reg = <119f0 10 115f0 10>; | ||
clock-frequency = <d#25000000>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
* I2C | ||
|
||
The I2C controller is expressed as a bus under the CPM node. | ||
|
||
Properties: | ||
- compatible : "fsl,cpm1-i2c", "fsl,cpm2-i2c" | ||
- reg : On CPM2 devices, the second resource doesn't specify the I2C | ||
Parameter RAM itself, but the I2C_BASE field of the CPM2 Parameter RAM | ||
(typically 0x8afc 0x2). | ||
- #address-cells : Should be one. The cell is the i2c device address with | ||
the r/w bit set to zero. | ||
- #size-cells : Should be zero. | ||
- clock-frequency : Can be used to set the i2c clock frequency. If | ||
unspecified, a default frequency of 60kHz is being used. | ||
The following two properties are deprecated. They are only used by legacy | ||
i2c drivers to find the bus to probe: | ||
- linux,i2c-index : Can be used to hard code an i2c bus number. By default, | ||
the bus number is dynamically assigned by the i2c core. | ||
- linux,i2c-class : Can be used to override the i2c class. The class is used | ||
by legacy i2c device drivers to find a bus in a specific context like | ||
system management, video or sound. By default, I2C_CLASS_HWMON (1) is | ||
being used. The definition of the classes can be found in | ||
include/i2c/i2c.h | ||
|
||
Example, based on mpc823: | ||
|
||
i2c@860 { | ||
compatible = "fsl,mpc823-i2c", | ||
"fsl,cpm1-i2c"; | ||
reg = <0x860 0x20 0x3c80 0x30>; | ||
interrupts = <16>; | ||
interrupt-parent = <&CPM_PIC>; | ||
fsl,cpm-command = <0x10>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
rtc@68 { | ||
compatible = "dallas,ds1307"; | ||
reg = <0x68>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
* Interrupt Controllers | ||
|
||
Currently defined compatibles: | ||
- fsl,cpm1-pic | ||
- only one interrupt cell | ||
- fsl,pq1-pic | ||
- fsl,cpm2-pic | ||
- second interrupt cell is level/sense: | ||
- 2 is falling edge | ||
- 8 is active low | ||
|
||
Example: | ||
interrupt-controller@10c00 { | ||
#interrupt-cells = <2>; | ||
interrupt-controller; | ||
reg = <10c00 80>; | ||
compatible = "mpc8272-pic", "fsl,cpm2-pic"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
* USB (Universal Serial Bus Controller) | ||
|
||
Properties: | ||
- compatible : "fsl,cpm1-usb", "fsl,cpm2-usb", "fsl,qe-usb" | ||
|
||
Example: | ||
usb@11bc0 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "fsl,cpm2-usb"; | ||
reg = <11b60 18 8b00 100>; | ||
interrupts = <b 8>; | ||
interrupt-parent = <&PIC>; | ||
fsl,cpm-command = <2e600000>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
* Network | ||
|
||
Currently defined compatibles: | ||
- fsl,cpm1-scc-enet | ||
- fsl,cpm2-scc-enet | ||
- fsl,cpm1-fec-enet | ||
- fsl,cpm2-fcc-enet (third resource is GFEMR) | ||
- fsl,qe-enet | ||
|
||
Example: | ||
|
||
ethernet@11300 { | ||
device_type = "network"; | ||
compatible = "fsl,mpc8272-fcc-enet", | ||
"fsl,cpm2-fcc-enet"; | ||
reg = <11300 20 8400 100 11390 1>; | ||
local-mac-address = [ 00 00 00 00 00 00 ]; | ||
interrupts = <20 8>; | ||
interrupt-parent = <&PIC>; | ||
phy-handle = <&PHY0>; | ||
fsl,cpm-command = <12000300>; | ||
}; | ||
|
||
* MDIO | ||
|
||
Currently defined compatibles: | ||
fsl,pq1-fec-mdio (reg is same as first resource of FEC device) | ||
fsl,cpm2-mdio-bitbang (reg is port C registers) | ||
|
||
Properties for fsl,cpm2-mdio-bitbang: | ||
fsl,mdio-pin : pin of port C controlling mdio data | ||
fsl,mdc-pin : pin of port C controlling mdio clock | ||
|
||
Example: | ||
mdio@10d40 { | ||
device_type = "mdio"; | ||
compatible = "fsl,mpc8272ads-mdio-bitbang", | ||
"fsl,mpc8272-mdio-bitbang", | ||
"fsl,cpm2-mdio-bitbang"; | ||
reg = <10d40 14>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
fsl,mdio-pin = <12>; | ||
fsl,mdc-pin = <13>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
* Freescale QUICC Engine module (QE) | ||
This represents qe module that is installed on PowerQUICC II Pro. | ||
|
||
NOTE: This is an interim binding; it should be updated to fit | ||
in with the CPM binding later in this document. | ||
|
||
Basically, it is a bus of devices, that could act more or less | ||
as a complete entity (UCC, USB etc ). All of them should be siblings on | ||
the "root" qe node, using the common properties from there. | ||
The description below applies to the qe of MPC8360 and | ||
more nodes and properties would be extended in the future. | ||
|
||
i) Root QE device | ||
|
||
Required properties: | ||
- compatible : should be "fsl,qe"; | ||
- model : precise model of the QE, Can be "QE", "CPM", or "CPM2" | ||
- reg : offset and length of the device registers. | ||
- bus-frequency : the clock frequency for QUICC Engine. | ||
|
||
Recommended properties | ||
- brg-frequency : the internal clock source frequency for baud-rate | ||
generators in Hz. | ||
|
||
Example: | ||
qe@e0100000 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
#interrupt-cells = <2>; | ||
compatible = "fsl,qe"; | ||
ranges = <0 e0100000 00100000>; | ||
reg = <e0100000 480>; | ||
brg-frequency = <0>; | ||
bus-frequency = <179A7B00>; | ||
} | ||
|
||
* Multi-User RAM (MURAM) | ||
|
||
Required properties: | ||
- compatible : should be "fsl,qe-muram", "fsl,cpm-muram". | ||
- mode : the could be "host" or "slave". | ||
- ranges : Should be defined as specified in 1) to describe the | ||
translation of MURAM addresses. | ||
- data-only : sub-node which defines the address area under MURAM | ||
bus that can be allocated as data/parameter | ||
|
||
Example: | ||
|
||
muram@10000 { | ||
compatible = "fsl,qe-muram", "fsl,cpm-muram"; | ||
ranges = <0 00010000 0000c000>; | ||
|
||
data-only@0{ | ||
compatible = "fsl,qe-muram-data", | ||
"fsl,cpm-muram-data"; | ||
reg = <0 c000>; | ||
}; | ||
}; |
24 changes: 24 additions & 0 deletions
24
Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/firmware.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
* Uploaded QE firmware | ||
|
||
If a new firwmare has been uploaded to the QE (usually by the | ||
boot loader), then a 'firmware' child node should be added to the QE | ||
node. This node provides information on the uploaded firmware that | ||
device drivers may need. | ||
|
||
Required properties: | ||
- id: The string name of the firmware. This is taken from the 'id' | ||
member of the qe_firmware structure of the uploaded firmware. | ||
Device drivers can search this string to determine if the | ||
firmware they want is already present. | ||
- extended-modes: The Extended Modes bitfield, taken from the | ||
firmware binary. It is a 64-bit number represented | ||
as an array of two 32-bit numbers. | ||
- virtual-traps: The virtual traps, taken from the firmware binary. | ||
It is an array of 8 32-bit numbers. | ||
|
||
Example: | ||
firmware { | ||
id = "Soft-UART"; | ||
extended-modes = <0 0>; | ||
virtual-traps = <0 0 0 0 0 0 0 0>; | ||
}; |
51 changes: 51 additions & 0 deletions
51
Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/par_io.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
* Parallel I/O Ports | ||
|
||
This node configures Parallel I/O ports for CPUs with QE support. | ||
The node should reside in the "soc" node of the tree. For each | ||
device that using parallel I/O ports, a child node should be created. | ||
See the definition of the Pin configuration nodes below for more | ||
information. | ||
|
||
Required properties: | ||
- device_type : should be "par_io". | ||
- reg : offset to the register set and its length. | ||
- num-ports : number of Parallel I/O ports | ||
|
||
Example: | ||
par_io@1400 { | ||
reg = <1400 100>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
device_type = "par_io"; | ||
num-ports = <7>; | ||
ucc_pin@01 { | ||
...... | ||
}; | ||
|
||
Note that "par_io" nodes are obsolete, and should not be used for | ||
the new device trees. Instead, each Par I/O bank should be represented | ||
via its own gpio-controller node: | ||
|
||
Required properties: | ||
- #gpio-cells : should be "2". | ||
- compatible : should be "fsl,<chip>-qe-pario-bank", | ||
"fsl,mpc8323-qe-pario-bank". | ||
- reg : offset to the register set and its length. | ||
- gpio-controller : node to identify gpio controllers. | ||
|
||
Example: | ||
qe_pio_a: gpio-controller@1400 { | ||
#gpio-cells = <2>; | ||
compatible = "fsl,mpc8360-qe-pario-bank", | ||
"fsl,mpc8323-qe-pario-bank"; | ||
reg = <0x1400 0x18>; | ||
gpio-controller; | ||
}; | ||
|
||
qe_pio_e: gpio-controller@1460 { | ||
#gpio-cells = <2>; | ||
compatible = "fsl,mpc8360-qe-pario-bank", | ||
"fsl,mpc8323-qe-pario-bank"; | ||
reg = <0x1460 0x18>; | ||
gpio-controller; | ||
}; |
Oops, something went wrong.