Skip to content

Commit eab3540

Browse files
committed
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC-related driver updates from Olof Johansson: "Various driver updates for platforms: - Nvidia: Fuse support for Tegra194, continued memory controller pieces for Tegra30 - NXP/FSL: Refactorings of QuickEngine drivers to support ARM/ARM64/PPC - NXP/FSL: i.MX8MP SoC driver pieces - TI Keystone: ring accelerator driver - Qualcomm: SCM driver cleanup/refactoring + support for new SoCs. - Xilinx ZynqMP: feature checking interface for firmware. Mailbox communication for power management - Overall support patch set for cpuidle on more complex hierarchies (PSCI-based) and misc cleanups, refactorings of Marvell, TI, other platforms" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (166 commits) drivers: soc: xilinx: Use mailbox IPI callback dt-bindings: power: reset: xilinx: Add bindings for ipi mailbox drivers: soc: ti: knav_qmss_queue: Pass lockdep expression to RCU lists MAINTAINERS: Add brcmstb PCIe controller entry soc/tegra: fuse: Unmap registers once they are not needed anymore soc/tegra: fuse: Correct straps' address for older Tegra124 device trees soc/tegra: fuse: Warn if straps are not ready soc/tegra: fuse: Cache values of straps and Chip ID registers memory: tegra30-emc: Correct error message for timed out auto calibration memory: tegra30-emc: Firm up hardware programming sequence memory: tegra30-emc: Firm up suspend/resume sequence soc/tegra: regulators: Do nothing if voltage is unchanged memory: tegra: Correct reset value of xusb_hostr soc/tegra: fuse: Add APB DMA dependency for Tegra20 bus: tegra-aconnect: Remove PM_CLK dependency dt-bindings: mediatek: add MT6765 power dt-bindings soc: mediatek: cmdq: delete not used define memory: tegra: Add support for the Tegra194 memory controller memory: tegra: Only include support for enabled SoCs memory: tegra: Support DVFS on Tegra186 and later ...
2 parents 1afa9c3 + 88b4750 commit eab3540

File tree

142 files changed

+6604
-3301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+6604
-3301
lines changed

Documentation/devicetree/bindings/arm/cpus.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,21 @@ properties:
242242

243243
where voltage is in V, frequency is in MHz.
244244

245+
power-domains:
246+
$ref: '/schemas/types.yaml#/definitions/phandle-array'
247+
description:
248+
List of phandles and PM domain specifiers, as defined by bindings of the
249+
PM domain provider (see also ../power_domain.txt).
250+
251+
power-domain-names:
252+
$ref: '/schemas/types.yaml#/definitions/string-array'
253+
description:
254+
A list of power domain name strings sorted in the same order as the
255+
power-domains property.
256+
257+
For PSCI based platforms, the name corresponding to the index of the PSCI
258+
PM domain provider, must be "psci".
259+
245260
qcom,saw:
246261
$ref: '/schemas/types.yaml#/definitions/phandle'
247262
description: |

Documentation/devicetree/bindings/arm/msm/qcom,llcc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ examples:
4747
- |
4848
#include <dt-bindings/interrupt-controller/arm-gic.h>
4949
50-
cache-controller@1100000 {
50+
system-cache-controller@1100000 {
5151
compatible = "qcom,sdm845-llcc";
5252
reg = <0x1100000 0x200000>, <0x1300000 0x50000> ;
5353
reg-names = "llcc_base", "llcc_broadcast_base";

Documentation/devicetree/bindings/arm/psci.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,34 @@ properties:
102102
[1] Kernel documentation - ARM idle states bindings
103103
Documentation/devicetree/bindings/arm/idle-states.txt
104104
105+
"#power-domain-cells":
106+
description:
107+
The number of cells in a PM domain specifier as per binding in [3].
108+
Must be 0 as to represent a single PM domain.
109+
110+
ARM systems can have multiple cores, sometimes in an hierarchical
111+
arrangement. This often, but not always, maps directly to the processor
112+
power topology of the system. Individual nodes in a topology have their
113+
own specific power states and can be better represented hierarchically.
114+
115+
For these cases, the definitions of the idle states for the CPUs and the
116+
CPU topology, must conform to the binding in [3]. The idle states
117+
themselves must conform to the binding in [4] and must specify the
118+
arm,psci-suspend-param property.
119+
120+
It should also be noted that, in PSCI firmware v1.0 the OS-Initiated
121+
(OSI) CPU suspend mode is introduced. Using a hierarchical representation
122+
helps to implement support for OSI mode and OS implementations may choose
123+
to mandate it.
124+
125+
[3] Documentation/devicetree/bindings/power/power_domain.txt
126+
[4] Documentation/devicetree/bindings/power/domain-idle-state.txt
127+
128+
power-domains:
129+
$ref: '/schemas/types.yaml#/definitions/phandle-array'
130+
description:
131+
List of phandles and PM domain specifiers, as defined by bindings of the
132+
PM domain provider.
105133

106134
required:
107135
- compatible
@@ -160,4 +188,80 @@ examples:
160188
cpu_on = <0x95c10002>;
161189
cpu_off = <0x95c10001>;
162190
};
191+
192+
- |+
193+
194+
// Case 4: CPUs and CPU idle states described using the hierarchical model.
195+
196+
cpus {
197+
#size-cells = <0>;
198+
#address-cells = <1>;
199+
200+
CPU0: cpu@0 {
201+
device_type = "cpu";
202+
compatible = "arm,cortex-a53", "arm,armv8";
203+
reg = <0x0>;
204+
enable-method = "psci";
205+
power-domains = <&CPU_PD0>;
206+
power-domain-names = "psci";
207+
};
208+
209+
CPU1: cpu@1 {
210+
device_type = "cpu";
211+
compatible = "arm,cortex-a57", "arm,armv8";
212+
reg = <0x100>;
213+
enable-method = "psci";
214+
power-domains = <&CPU_PD1>;
215+
power-domain-names = "psci";
216+
};
217+
218+
idle-states {
219+
220+
CPU_PWRDN: cpu-power-down {
221+
compatible = "arm,idle-state";
222+
arm,psci-suspend-param = <0x0000001>;
223+
entry-latency-us = <10>;
224+
exit-latency-us = <10>;
225+
min-residency-us = <100>;
226+
};
227+
228+
CLUSTER_RET: cluster-retention {
229+
compatible = "domain-idle-state";
230+
arm,psci-suspend-param = <0x1000011>;
231+
entry-latency-us = <500>;
232+
exit-latency-us = <500>;
233+
min-residency-us = <2000>;
234+
};
235+
236+
CLUSTER_PWRDN: cluster-power-down {
237+
compatible = "domain-idle-state";
238+
arm,psci-suspend-param = <0x1000031>;
239+
entry-latency-us = <2000>;
240+
exit-latency-us = <2000>;
241+
min-residency-us = <6000>;
242+
};
243+
};
244+
};
245+
246+
psci {
247+
compatible = "arm,psci-1.0";
248+
method = "smc";
249+
250+
CPU_PD0: cpu-pd0 {
251+
#power-domain-cells = <0>;
252+
domain-idle-states = <&CPU_PWRDN>;
253+
power-domains = <&CLUSTER_PD>;
254+
};
255+
256+
CPU_PD1: cpu-pd1 {
257+
#power-domain-cells = <0>;
258+
domain-idle-states = <&CPU_PWRDN>;
259+
power-domains = <&CLUSTER_PD>;
260+
};
261+
262+
CLUSTER_PD: cluster-pd {
263+
#power-domain-cells = <0>;
264+
domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
265+
};
266+
};
163267
...

Documentation/devicetree/bindings/power/qcom,rpmpd.txt

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)