-
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.
- Loading branch information
Arnd Bergmann
committed
Mar 16, 2012
1 parent
b99676d
commit ec99ed8
Showing
602 changed files
with
7,722 additions
and
3,288 deletions.
There are no files selected for viewing
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 |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 62c5553ab7ecf23e7b5464a59d728ab94479adbb | ||
refs/heads/master: 2a9f23d82a79d2785429aba43b02683abf103c0b |
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
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,6 @@ | ||
Marvell Platforms Device Tree Bindings | ||
---------------------------------------------------- | ||
|
||
PXA168 Aspenite Board | ||
Required root node properties: | ||
- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; |
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,27 @@ | ||
* OMAP Interrupt Controller | ||
|
||
OMAP2/3 are using a TI interrupt controller that can support several | ||
configurable number of interrupts. | ||
|
||
Main node required properties: | ||
|
||
- compatible : should be: | ||
"ti,omap2-intc" | ||
- interrupt-controller : Identifies the node as an interrupt controller | ||
- #interrupt-cells : Specifies the number of cells needed to encode an | ||
interrupt source. The type shall be a <u32> and the value shall be 1. | ||
|
||
The cell contains the interrupt number in the range [0-128]. | ||
- ti,intc-size: Number of interrupts handled by the interrupt controller. | ||
- reg: physical base address and size of the intc registers map. | ||
|
||
Example: | ||
|
||
intc: interrupt-controller@1 { | ||
compatible = "ti,omap2-intc"; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
ti,intc-size = <96>; | ||
reg = <0x48200000 0x1000>; | ||
}; | ||
|
100 changes: 100 additions & 0 deletions
100
trunk/Documentation/devicetree/bindings/arm/tegra/emc.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,100 @@ | ||
Embedded Memory Controller | ||
|
||
Properties: | ||
- name : Should be emc | ||
- #address-cells : Should be 1 | ||
- #size-cells : Should be 0 | ||
- compatible : Should contain "nvidia,tegra20-emc". | ||
- reg : Offset and length of the register set for the device | ||
- nvidia,use-ram-code : If present, the sub-nodes will be addressed | ||
and chosen using the ramcode board selector. If omitted, only one | ||
set of tables can be present and said tables will be used | ||
irrespective of ram-code configuration. | ||
|
||
Child device nodes describe the memory settings for different configurations and clock rates. | ||
|
||
Example: | ||
|
||
emc@7000f400 { | ||
#address-cells = < 1 >; | ||
#size-cells = < 0 >; | ||
compatible = "nvidia,tegra20-emc"; | ||
reg = <0x7000f4000 0x200>; | ||
} | ||
|
||
|
||
Embedded Memory Controller ram-code table | ||
|
||
If the emc node has the nvidia,use-ram-code property present, then the | ||
next level of nodes below the emc table are used to specify which settings | ||
apply for which ram-code settings. | ||
|
||
If the emc node lacks the nvidia,use-ram-code property, this level is omitted | ||
and the tables are stored directly under the emc node (see below). | ||
|
||
Properties: | ||
|
||
- name : Should be emc-tables | ||
- nvidia,ram-code : the binary representation of the ram-code board strappings | ||
for which this node (and children) are valid. | ||
|
||
|
||
|
||
Embedded Memory Controller configuration table | ||
|
||
This is a table containing the EMC register settings for the various | ||
operating speeds of the memory controller. They are always located as | ||
subnodes of the emc controller node. | ||
|
||
There are two ways of specifying which tables to use: | ||
|
||
* The simplest is if there is just one set of tables in the device tree, | ||
and they will always be used (based on which frequency is used). | ||
This is the preferred method, especially when firmware can fill in | ||
this information based on the specific system information and just | ||
pass it on to the kernel. | ||
|
||
* The slightly more complex one is when more than one memory configuration | ||
might exist on the system. The Tegra20 platform handles this during | ||
early boot by selecting one out of possible 4 memory settings based | ||
on a 2-pin "ram code" bootstrap setting on the board. The values of | ||
these strappings can be read through a register in the SoC, and thus | ||
used to select which tables to use. | ||
|
||
Properties: | ||
- name : Should be emc-table | ||
- compatible : Should contain "nvidia,tegra20-emc-table". | ||
- reg : either an opaque enumerator to tell different tables apart, or | ||
the valid frequency for which the table should be used (in kHz). | ||
- clock-frequency : the clock frequency for the EMC at which this | ||
table should be used (in kHz). | ||
- nvidia,emc-registers : a 46 word array of EMC registers to be programmed | ||
for operation at the 'clock-frequency' setting. | ||
The order and contents of the registers are: | ||
RC, RFC, RAS, RP, R2W, W2R, R2P, W2P, RD_RCD, WR_RCD, RRD, REXT, | ||
WDV, QUSE, QRST, QSAFE, RDV, REFRESH, BURST_REFRESH_NUM, PDEX2WR, | ||
PDEX2RD, PCHG2PDEN, ACT2PDEN, AR2PDEN, RW2PDEN, TXSR, TCKE, TFAW, | ||
TRPAB, TCLKSTABLE, TCLKSTOP, TREFBW, QUSE_EXTRA, FBIO_CFG6, ODT_WRITE, | ||
ODT_READ, FBIO_CFG5, CFG_DIG_DLL, DLL_XFORM_DQS, DLL_XFORM_QUSE, | ||
ZCAL_REF_CNT, ZCAL_WAIT_CNT, AUTO_CAL_INTERVAL, CFG_CLKTRIM_0, | ||
CFG_CLKTRIM_1, CFG_CLKTRIM_2 | ||
|
||
emc-table@166000 { | ||
reg = <166000>; | ||
compatible = "nvidia,tegra20-emc-table"; | ||
clock-frequency = < 166000 >; | ||
nvidia,emc-registers = < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 >; | ||
}; | ||
|
||
emc-table@333000 { | ||
reg = <333000>; | ||
compatible = "nvidia,tegra20-emc-table"; | ||
clock-frequency = < 333000 >; | ||
nvidia,emc-registers = < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
0 0 0 0 >; | ||
}; |
19 changes: 19 additions & 0 deletions
19
trunk/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.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,19 @@ | ||
NVIDIA Tegra Power Management Controller (PMC) | ||
|
||
Properties: | ||
- name : Should be pmc | ||
- compatible : Should contain "nvidia,tegra<chip>-pmc". | ||
- reg : Offset and length of the register set for the device | ||
- nvidia,invert-interrupt : If present, inverts the PMU interrupt signal. | ||
The PMU is an external Power Management Unit, whose interrupt output | ||
signal is fed into the PMC. This signal is optionally inverted, and then | ||
fed into the ARM GIC. The PMC is not involved in the detection or | ||
handling of this interrupt signal, merely its inversion. | ||
|
||
Example: | ||
|
||
pmc@7000f400 { | ||
compatible = "nvidia,tegra20-pmc"; | ||
reg = <0x7000e400 0x400>; | ||
nvidia,invert-interrupt; | ||
}; |
146 changes: 146 additions & 0 deletions
146
trunk/Documentation/devicetree/bindings/arm/vexpress.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,146 @@ | ||
ARM Versatile Express boards family | ||
----------------------------------- | ||
|
||
ARM's Versatile Express platform consists of a motherboard and one | ||
or more daughterboards (tiles). The motherboard provides a set of | ||
peripherals. Processor and RAM "live" on the tiles. | ||
|
||
The motherboard and each core tile should be described by a separate | ||
Device Tree source file, with the tile's description including | ||
the motherboard file using a /include/ directive. As the motherboard | ||
can be initialized in one of two different configurations ("memory | ||
maps"), care must be taken to include the correct one. | ||
|
||
Required properties in the root node: | ||
- compatible value: | ||
compatible = "arm,vexpress,<model>", "arm,vexpress"; | ||
where <model> is the full tile model name (as used in the tile's | ||
Technical Reference Manual), eg.: | ||
- for Coretile Express A5x2 (V2P-CA5s): | ||
compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; | ||
- for Coretile Express A9x4 (V2P-CA9): | ||
compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; | ||
If a tile comes in several variants or can be used in more then one | ||
configuration, the compatible value should be: | ||
compatible = "arm,vexpress,<model>,<variant>", \ | ||
"arm,vexpress,<model>", "arm,vexpress"; | ||
eg: | ||
- Coretile Express A15x2 (V2P-CA15) with Tech Chip 1: | ||
compatible = "arm,vexpress,v2p-ca15,tc1", \ | ||
"arm,vexpress,v2p-ca15", "arm,vexpress"; | ||
- LogicTile Express 13MG (V2F-2XV6) running Cortex-A7 (3 cores) SMM: | ||
compatible = "arm,vexpress,v2f-2xv6,ca7x3", \ | ||
"arm,vexpress,v2f-2xv6", "arm,vexpress"; | ||
|
||
Optional properties in the root node: | ||
- tile model name (use name from the tile's Technical Reference | ||
Manual, eg. "V2P-CA5s") | ||
model = "<model>"; | ||
- tile's HBI number (unique ARM's board model ID, visible on the | ||
PCB's silkscreen) in hexadecimal transcription: | ||
arm,hbi = <0xhbi> | ||
eg: | ||
- for Coretile Express A5x2 (V2P-CA5s) HBI-0191: | ||
arm,hbi = <0x191>; | ||
- Coretile Express A9x4 (V2P-CA9) HBI-0225: | ||
arm,hbi = <0x225>; | ||
|
||
Top-level standard "cpus" node is required. It must contain a node | ||
with device_type = "cpu" property for every available core, eg.: | ||
|
||
cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
cpu@0 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a5"; | ||
reg = <0>; | ||
}; | ||
}; | ||
|
||
The motherboard description file provides a single "motherboard" node | ||
using 2 address cells corresponding to the Static Memory Bus used | ||
between the motherboard and the tile. The first cell defines the Chip | ||
Select (CS) line number, the second cell address offset within the CS. | ||
All interrupt lines between the motherboard and the tile are active | ||
high and are described using single cell. | ||
|
||
Optional properties of the "motherboard" node: | ||
- motherboard's memory map variant: | ||
arm,v2m-memory-map = "<name>"; | ||
where name is one of: | ||
- "rs1" - for RS1 map (i.a. peripherals on CS3); this map is also | ||
referred to as "ARM Cortex-A Series memory map": | ||
arm,v2m-memory-map = "rs1"; | ||
When this property is missing, the motherboard is using the original | ||
memory map (also known as the "Legacy memory map", primarily used | ||
with the original CoreTile Express A9x4) with peripherals on CS7. | ||
|
||
Motherboard .dtsi files provide a set of labelled peripherals that | ||
can be used to obtain required phandle in the tile's "aliases" node: | ||
- UARTs, note that the numbers correspond to the physical connectors | ||
on the motherboard's back panel: | ||
v2m_serial0, v2m_serial1, v2m_serial2 and v2m_serial3 | ||
- I2C controllers: | ||
v2m_i2c_dvi and v2m_i2c_pcie | ||
- SP804 timers: | ||
v2m_timer01 and v2m_timer23 | ||
|
||
Current Linux implementation requires a "arm,v2m_timer" alias | ||
pointing at one of the motherboard's SP804 timers, if it is to be | ||
used as the system timer. This alias should be defined in the | ||
motherboard files. | ||
|
||
The tile description must define "ranges", "interrupt-map-mask" and | ||
"interrupt-map" properties to translate the motherboard's address | ||
and interrupt space into one used by the tile's processor. | ||
|
||
Abbreviated example: | ||
|
||
/dts-v1/; | ||
|
||
/ { | ||
model = "V2P-CA5s"; | ||
arm,hbi = <0x225>; | ||
compatible = "arm,vexpress-v2p-ca5s", "arm,vexpress"; | ||
interrupt-parent = <&gic>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
chosen { }; | ||
|
||
aliases { | ||
serial0 = &v2m_serial0; | ||
}; | ||
|
||
cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
cpu@0 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a5"; | ||
reg = <0>; | ||
}; | ||
}; | ||
|
||
gic: interrupt-controller@2c001000 { | ||
compatible = "arm,cortex-a9-gic"; | ||
#interrupt-cells = <3>; | ||
#address-cells = <0>; | ||
interrupt-controller; | ||
reg = <0x2c001000 0x1000>, | ||
<0x2c000100 0x100>; | ||
}; | ||
|
||
motherboard { | ||
/* CS0 is visible at 0x08000000 */ | ||
ranges = <0 0 0x08000000 0x04000000>; | ||
interrupt-map-mask = <0 0 63>; | ||
/* Active high IRQ 0 is connected to GIC's SPI0 */ | ||
interrupt-map = <0 0 0 &gic 0 0 4>; | ||
}; | ||
}; | ||
|
||
/include/ "vexpress-v2m-rs1.dtsi" |
30 changes: 30 additions & 0 deletions
30
trunk/Documentation/devicetree/bindings/dma/tegra20-apbdma.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,30 @@ | ||
* NVIDIA Tegra APB DMA controller | ||
|
||
Required properties: | ||
- compatible: Should be "nvidia,<chip>-apbdma" | ||
- reg: Should contain DMA registers location and length. This shuld include | ||
all of the per-channel registers. | ||
- interrupts: Should contain all of the per-channel DMA interrupts. | ||
|
||
Examples: | ||
|
||
apbdma: dma@6000a000 { | ||
compatible = "nvidia,tegra20-apbdma"; | ||
reg = <0x6000a000 0x1200>; | ||
interrupts = < 0 136 0x04 | ||
0 137 0x04 | ||
0 138 0x04 | ||
0 139 0x04 | ||
0 140 0x04 | ||
0 141 0x04 | ||
0 142 0x04 | ||
0 143 0x04 | ||
0 144 0x04 | ||
0 145 0x04 | ||
0 146 0x04 | ||
0 147 0x04 | ||
0 148 0x04 | ||
0 149 0x04 | ||
0 150 0x04 | ||
0 151 0x04 >; | ||
}; |
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
Oops, something went wrong.