forked from torvalds/linux
-
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.
Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/gi…
…t/arm/arm-soc Pull ARM DT updates from Olof Johansson: "As always, this tends to be one of our bigger branches. There are lots of updates this release, but not that many jumps out as something that needs more detailed coverage. Some of the highlights are: - DTs for the new Annapurna Labs Alpine platform - more graphics DT pieces falling into place on Exynos, bridges, clocks. - plenty of DT updates for Qualcomm platforms for various IP blocks - some churn on Tegra due to switch-over to tool-generated pinctrl data - misc fixes and updates for Atmel at91 platforms - various DT updates to add IP block support on Broadcom's Cygnus platforms - more updates for Renesas platforms as DT support is added for various IP blocks (IPMMU, display, audio, etc)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (231 commits) ARM: dts: alpine: add internal pci Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135." ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB ARM: dts: qcom: Add idle state device nodes for 8064 ARM: dts: qcom: Add idle states device nodes for 8084 ARM: dts: qcom: Add idle states device nodes for 8974/8074 ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs devicetree: bindings: Document qcom,idle-states devicetree: bindings: Update qcom,saw2 node bindings dt-bindings: Add #defines for MSM8916 clocks and resets arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974 arm: dts: qcom: Add LCC nodes arm: dts: qcom: Add TCSR support for MSM8960 arm: dts: qcom: Add TCSR support for MSM8660 arm: dts: qcom: Add TCSR support for IPQ8064 ...
- Loading branch information
Showing
206 changed files
with
19,014 additions
and
1,946 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
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
84 changes: 84 additions & 0 deletions
84
Documentation/devicetree/bindings/arm/msm/qcom,idle-state.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,84 @@ | ||
QCOM Idle States for cpuidle driver | ||
|
||
ARM provides idle-state node to define the cpuidle states, as defined in [1]. | ||
cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle | ||
states. Idle states have different enter/exit latency and residency values. | ||
The idle states supported by the QCOM SoC are defined as - | ||
|
||
* Standby | ||
* Retention | ||
* Standalone Power Collapse (Standalone PC or SPC) | ||
* Power Collapse (PC) | ||
|
||
Standby: Standby does a little more in addition to architectural clock gating. | ||
When the WFI instruction is executed the ARM core would gate its internal | ||
clocks. In addition to gating the clocks, QCOM cpus use this instruction as a | ||
trigger to execute the SPM state machine. The SPM state machine waits for the | ||
interrupt to trigger the core back in to active. This triggers the cache | ||
hierarchy to enter standby states, when all cpus are idle. An interrupt brings | ||
the SPM state machine out of its wait, the next step is to ensure that the | ||
cache hierarchy is also out of standby, and then the cpu is allowed to resume | ||
execution. This state is defined as a generic ARM WFI state by the ARM cpuidle | ||
driver and is not defined in the DT. The SPM state machine should be | ||
configured to execute this state by default and after executing every other | ||
state below. | ||
|
||
Retention: Retention is a low power state where the core is clock gated and | ||
the memory and the registers associated with the core are retained. The | ||
voltage may be reduced to the minimum value needed to keep the processor | ||
registers active. The SPM should be configured to execute the retention | ||
sequence and would wait for interrupt, before restoring the cpu to execution | ||
state. Retention may have a slightly higher latency than Standby. | ||
|
||
Standalone PC: A cpu can power down and warmboot if there is a sufficient time | ||
between the time it enters idle and the next known wake up. SPC mode is used | ||
to indicate a core entering a power down state without consulting any other | ||
cpu or the system resources. This helps save power only on that core. The SPM | ||
sequence for this idle state is programmed to power down the supply to the | ||
core, wait for the interrupt, restore power to the core, and ensure the | ||
system state including cache hierarchy is ready before allowing core to | ||
resume. Applying power and resetting the core causes the core to warmboot | ||
back into Elevation Level (EL) which trampolines the control back to the | ||
kernel. Entering a power down state for the cpu, needs to be done by trapping | ||
into a EL. Failing to do so, would result in a crash enforced by the warm boot | ||
code in the EL for the SoC. On SoCs with write-back L1 cache, the cache has to | ||
be flushed in s/w, before powering down the core. | ||
|
||
Power Collapse: This state is similar to the SPC mode, but distinguishes | ||
itself in that the cpu acknowledges and permits the SoC to enter deeper sleep | ||
modes. In a hierarchical power domain SoC, this means L2 and other caches can | ||
be flushed, system bus, clocks - lowered, and SoC main XO clock gated and | ||
voltages reduced, provided all cpus enter this state. Since the span of low | ||
power modes possible at this state is vast, the exit latency and the residency | ||
of this low power mode would be considered high even though at a cpu level, | ||
this essentially is cpu power down. The SPM in this state also may handshake | ||
with the Resource power manager (RPM) processor in the SoC to indicate a | ||
complete application processor subsystem shut down. | ||
|
||
The idle-state for QCOM SoCs are distinguished by the compatible property of | ||
the idle-states device node. | ||
|
||
The devicetree representation of the idle state should be - | ||
|
||
Required properties: | ||
|
||
- compatible: Must be one of - | ||
"qcom,idle-state-ret", | ||
"qcom,idle-state-spc", | ||
"qcom,idle-state-pc", | ||
and "arm,idle-state". | ||
|
||
Other required and optional properties are specified in [1]. | ||
|
||
Example: | ||
|
||
idle-states { | ||
CPU_SPC: spc { | ||
compatible = "qcom,idle-state-spc", "arm,idle-state"; | ||
entry-latency-us = <150>; | ||
exit-latency-us = <200>; | ||
min-residency-us = <2000>; | ||
}; | ||
}; | ||
|
||
[1]. Documentation/devicetree/bindings/arm/idle-states.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
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
32 changes: 32 additions & 0 deletions
32
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.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,32 @@ | ||
NVIDIA Tegra Activity Monitor | ||
|
||
The activity monitor block collects statistics about the behaviour of other | ||
components in the system. This information can be used to derive the rate at | ||
which the external memory needs to be clocked in order to serve all requests | ||
from the monitored clients. | ||
|
||
Required properties: | ||
- compatible: should be "nvidia,tegra<chip>-actmon" | ||
- reg: offset and length of the register set for the device | ||
- interrupts: standard interrupt property | ||
- clocks: Must contain a phandle and clock specifier pair for each entry in | ||
clock-names. See ../../clock/clock-bindings.txt for details. | ||
- clock-names: Must include the following entries: | ||
- actmon | ||
- emc | ||
- resets: Must contain an entry for each entry in reset-names. See | ||
../../reset/reset.txt for details. | ||
- reset-names: Must include the following entries: | ||
- actmon | ||
|
||
Example: | ||
actmon@6000c800 { | ||
compatible = "nvidia,tegra124-actmon"; | ||
reg = <0x0 0x6000c800 0x0 0x400>; | ||
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&tegra_car TEGRA124_CLK_ACTMON>, | ||
<&tegra_car TEGRA124_CLK_EMC>; | ||
clock-names = "actmon", "emc"; | ||
resets = <&tegra_car 119>; | ||
reset-names = "actmon"; | ||
}; |
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,71 @@ | ||
OMAP 3 ISP Device Tree bindings | ||
=============================== | ||
|
||
The DT definitions can be found in include/dt-bindings/media/omap3-isp.h. | ||
|
||
Required properties | ||
=================== | ||
|
||
compatible : must contain "ti,omap3-isp" | ||
|
||
reg : the two registers sets (physical address and length) for the | ||
ISP. The first set contains the core ISP registers up to | ||
the end of the SBL block. The second set contains the | ||
CSI PHYs and receivers registers. | ||
interrupts : the ISP interrupt specifier | ||
iommus : phandle and IOMMU specifier for the IOMMU that serves the ISP | ||
syscon : the phandle and register offset to the Complex I/O or CSI-PHY | ||
register | ||
ti,phy-type : 0 -- OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. 3430) | ||
1 -- OMAP3ISP_PHY_TYPE_CSIPHY (e.g. 3630) | ||
#clock-cells : Must be 1 --- the ISP provides two external clocks, | ||
cam_xclka and cam_xclkb, at indices 0 and 1, | ||
respectively. Please find more information on common | ||
clock bindings in ../clock/clock-bindings.txt. | ||
|
||
Port nodes (optional) | ||
--------------------- | ||
|
||
More documentation on these bindings is available in | ||
video-interfaces.txt in the same directory. | ||
|
||
reg : The interface: | ||
0 - parallel (CCDC) | ||
1 - CSIPHY1 -- CSI2C / CCP2B on 3630; | ||
CSI1 -- CSIb on 3430 | ||
2 - CSIPHY2 -- CSI2A / CCP2B on 3630; | ||
CSI2 -- CSIa on 3430 | ||
|
||
Optional properties | ||
=================== | ||
|
||
vdd-csiphy1-supply : voltage supply of the CSI-2 PHY 1 | ||
vdd-csiphy2-supply : voltage supply of the CSI-2 PHY 2 | ||
|
||
Endpoint nodes | ||
-------------- | ||
|
||
lane-polarities : lane polarity (required on CSI-2) | ||
0 -- not inverted; 1 -- inverted | ||
data-lanes : an array of data lanes from 1 to 3. The length can | ||
be either 1 or 2. (required on CSI-2) | ||
clock-lanes : the clock lane (from 1 to 3). (required on CSI-2) | ||
|
||
|
||
Example | ||
======= | ||
|
||
isp@480bc000 { | ||
compatible = "ti,omap3-isp"; | ||
reg = <0x480bc000 0x12fc | ||
0x480bd800 0x0600>; | ||
interrupts = <24>; | ||
iommus = <&mmu_isp>; | ||
syscon = <&scm_conf 0x2f0>; | ||
ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>; | ||
#clock-cells = <1>; | ||
ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
}; | ||
}; |
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,22 @@ | ||
QCOM Top Control and Status Register | ||
|
||
Qualcomm devices have a set of registers that provide various control and status | ||
functions for their peripherals. This node is intended to allow access to these | ||
registers via syscon. | ||
|
||
Required properties: | ||
- compatible: Should contain: | ||
"qcom,tcsr-ipq8064", "syscon" for IPQ8064 | ||
"qcom,tcsr-apq8064", "syscon" for APQ8064 | ||
"qcom,tcsr-msm8660", "syscon" for MSM8660 | ||
"qcom,tcsr-msm8960", "syscon" for MSM8960 | ||
"qcom,tcsr-msm8974", "syscon" for MSM8974 | ||
"qcom,tcsr-apq8084", "syscon" for APQ8084 | ||
"qcom,tcsr-msm8916", "syscon" for MSM8916 | ||
- reg: Address range for TCSR registers | ||
|
||
Example: | ||
tcsr: syscon@1a400000 { | ||
compatible = "qcom,tcsr-msm8960", "syscon"; | ||
reg = <0x1a400000 0x100>; | ||
}; |
47 changes: 47 additions & 0 deletions
47
Documentation/devicetree/bindings/net/wireless/ti,wlcore.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,47 @@ | ||
TI Wilink 6/7/8 (wl12xx/wl18xx) SDIO devices | ||
|
||
This node provides properties for controlling the wilink wireless device. The | ||
node is expected to be specified as a child node to the SDIO controller that | ||
connects the device to the system. | ||
|
||
Required properties: | ||
- compatible: should be one of the following: | ||
* "ti,wl1271" | ||
* "ti,wl1273" | ||
* "ti,wl1281" | ||
* "ti,wl1283" | ||
* "ti,wl1801" | ||
* "ti,wl1805" | ||
* "ti,wl1807" | ||
* "ti,wl1831" | ||
* "ti,wl1835" | ||
* "ti,wl1837" | ||
- interrupts : specifies attributes for the out-of-band interrupt. | ||
|
||
Optional properties: | ||
- interrupt-parent : the phandle for the interrupt controller to which the | ||
device interrupts are connected. | ||
- ref-clock-frequency : ref clock frequency in Hz | ||
- tcxo-clock-frequency : tcxo clock frequency in Hz | ||
|
||
Note: the *-clock-frequency properties assume internal clocks. In case of external | ||
clock, new bindings (for parsing the clock nodes) have to be added. | ||
|
||
Example: | ||
|
||
&mmc3 { | ||
status = "okay"; | ||
vmmc-supply = <&wlan_en_reg>; | ||
bus-width = <4>; | ||
cap-power-off-card; | ||
keep-power-in-suspend; | ||
|
||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
wlcore: wlcore@2 { | ||
compatible = "ti,wl1835"; | ||
reg = <2>; | ||
interrupt-parent = <&gpio0>; | ||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
}; |
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.