Skip to content

Commit ca262a7

Browse files
committed
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
# Conflicts: # Documentation/devicetree/bindings/connector/usb-connector.yaml
2 parents b7f8176 + 2726b01 commit ca262a7

39 files changed

+661
-317
lines changed

Documentation/devicetree/bindings/arm/calxeda/l2ecc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ maintainers:
1616

1717
properties:
1818
compatible:
19-
const: "calxeda,hb-sregs-l2-ecc"
19+
const: calxeda,hb-sregs-l2-ecc
2020

2121
reg:
2222
maxItems: 1

Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt

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

Documentation/devicetree/bindings/auxdisplay/hit,hd44780.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ examples:
113113
hd44780 {
114114
compatible = "hit,hd44780";
115115
display-height-chars = <2>;
116-
display-width-chars = <16>;
116+
display-width-chars = <16>;
117117
data-gpios = <&pcf8574 4 0>,
118118
<&pcf8574 5 0>,
119119
<&pcf8574 6 0>,

Documentation/devicetree/bindings/cache/qcom,llcc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ allOf:
6666
compatible:
6767
contains:
6868
enum:
69+
- qcom,qdu1000-llcc
6970
- qcom,sc7180-llcc
7071
- qcom,sm6350-llcc
7172
then:
@@ -103,7 +104,6 @@ allOf:
103104
compatible:
104105
contains:
105106
enum:
106-
- qcom,qdu1000-llcc
107107
- qcom,sc8180x-llcc
108108
- qcom,sc8280xp-llcc
109109
- qcom,x1e80100-llcc

Documentation/devicetree/bindings/clock/baikal,bt1-ccu-pll.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ examples:
125125
clk25m: clock-oscillator-25m {
126126
compatible = "fixed-clock";
127127
#clock-cells = <0>;
128-
clock-frequency = <25000000>;
128+
clock-frequency = <25000000>;
129129
clock-output-names = "clk25m";
130130
};
131131
...

Documentation/devicetree/bindings/connector/usb-connector.yaml

Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ properties:
6666
Particularly, if use an output GPIO to control a VBUS regulator, should
6767
model it as a regulator. See bindings/regulator/fixed-regulator.yaml
6868

69-
# The following are optional properties for "usb-c-connector".
7069
power-role:
7170
description: Determines the power role that the Type C connector will
7271
support. "dual" refers to Dual Role Port (DRP).
@@ -119,30 +118,6 @@ properties:
119118

120119
# The following are optional properties for "usb-c-connector" with power
121120
# delivery support.
122-
source-pdos:
123-
description: An array of u32 with each entry providing supported power
124-
source data object(PDO), the detailed bit definitions of PDO can be found
125-
in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
126-
Source_Capabilities Message, the order of each entry(PDO) should follow
127-
the PD spec chapter 6.4.1. Required for power source and power dual role.
128-
User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()
129-
defined in dt-bindings/usb/pd.h.
130-
minItems: 1
131-
maxItems: 7
132-
$ref: /schemas/types.yaml#/definitions/uint32-array
133-
134-
sink-pdos:
135-
description: An array of u32 with each entry providing supported power sink
136-
data object(PDO), the detailed bit definitions of PDO can be found in
137-
"Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
138-
Sink Capabilities Message, the order of each entry(PDO) should follow the
139-
PD spec chapter 6.4.1. Required for power sink and power dual role. User
140-
can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
141-
in dt-bindings/usb/pd.h.
142-
minItems: 1
143-
maxItems: 7
144-
$ref: /schemas/types.yaml#/definitions/uint32-array
145-
146121
sink-vdos:
147122
description: An array of u32 with each entry, a Vendor Defined Message Object (VDO),
148123
providing additional information corresponding to the product, the detailed bit
@@ -166,11 +141,6 @@ properties:
166141
maxItems: 6
167142
$ref: /schemas/types.yaml#/definitions/uint32-array
168143

169-
op-sink-microwatt:
170-
description: Sink required operating power in microwatt, if source can't
171-
offer the power, Capability Mismatch is set. Required for power sink and
172-
power dual role.
173-
174144
accessory-mode-audio:
175145
type: boolean
176146
description: Whether the device supports Audio Adapter Accessory Mode. This
@@ -269,14 +239,63 @@ properties:
269239
SNK_READY for non-pd link.
270240
type: boolean
271241

242+
capabilities:
243+
description: A child node to contain all the selectable USB Power Delivery capabilities.
244+
type: object
245+
246+
patternProperties:
247+
"^caps-[0-9]+$":
248+
description: Child nodes under "capabilities" node. Each node contains a selectable USB
249+
Power Delivery capability.
250+
type: object
251+
$ref: "#/$defs/capabilities"
252+
unevaluatedProperties: false
253+
254+
additionalProperties: false
255+
272256
dependencies:
273257
sink-vdos-v1: [ sink-vdos ]
274258
sink-vdos: [ sink-vdos-v1 ]
275259

276260
required:
277261
- compatible
278262

263+
$defs:
264+
capabilities:
265+
type: object
266+
267+
properties:
268+
source-pdos:
269+
description: An array of u32 with each entry providing supported power
270+
source data object(PDO), the detailed bit definitions of PDO can be found
271+
in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
272+
Source_Capabilities Message, the order of each entry(PDO) should follow
273+
the PD spec chapter 6.4.1. Required for power source and power dual role.
274+
User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()
275+
defined in dt-bindings/usb/pd.h.
276+
minItems: 1
277+
maxItems: 7
278+
$ref: /schemas/types.yaml#/definitions/uint32-array
279+
280+
sink-pdos:
281+
description: An array of u32 with each entry providing supported power sink
282+
data object(PDO), the detailed bit definitions of PDO can be found in
283+
"Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
284+
Sink Capabilities Message, the order of each entry(PDO) should follow the
285+
PD spec chapter 6.4.1. Required for power sink and power dual role. User
286+
can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
287+
in dt-bindings/usb/pd.h.
288+
minItems: 1
289+
maxItems: 7
290+
$ref: /schemas/types.yaml#/definitions/uint32-array
291+
292+
op-sink-microwatt:
293+
description: Sink required operating power in microwatt, if source can't
294+
offer the power, Capability Mismatch is set. Required for power sink and
295+
power dual role.
296+
279297
allOf:
298+
- $ref: "#/$defs/capabilities"
280299
- if:
281300
properties:
282301
compatible:
@@ -305,7 +324,7 @@ anyOf:
305324
- typec-power-opmode
306325
- new-source-frs-typec-current
307326

308-
additionalProperties: false
327+
unevaluatedProperties: false
309328

310329
examples:
311330
# Micro-USB connector with HS lines routed via controller (MUIC).

Documentation/devicetree/bindings/cpu/idle-states.yaml

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,64 @@ description: |+
243243
just supports idle_standby, an idle-states node is not required.
244244
245245
===========================================
246-
6 - References
246+
6 - Qualcomm specific STATES
247+
===========================================
248+
249+
Idle states have different enter/exit latency and residency values.
250+
The idle states supported by the QCOM SoC are defined as -
251+
252+
* Standby
253+
* Retention
254+
* Standalone Power Collapse (Standalone PC or SPC)
255+
* Power Collapse (PC)
256+
257+
Standby: Standby does a little more in addition to architectural clock gating.
258+
When the WFI instruction is executed the ARM core would gate its internal
259+
clocks. In addition to gating the clocks, QCOM cpus use this instruction as a
260+
trigger to execute the SPM state machine. The SPM state machine waits for the
261+
interrupt to trigger the core back in to active. This triggers the cache
262+
hierarchy to enter standby states, when all cpus are idle. An interrupt brings
263+
the SPM state machine out of its wait, the next step is to ensure that the
264+
cache hierarchy is also out of standby, and then the cpu is allowed to resume
265+
execution. This state is defined as a generic ARM WFI state by the ARM cpuidle
266+
driver and is not defined in the DT. The SPM state machine should be
267+
configured to execute this state by default and after executing every other
268+
state below.
269+
270+
Retention: Retention is a low power state where the core is clock gated and
271+
the memory and the registers associated with the core are retained. The
272+
voltage may be reduced to the minimum value needed to keep the processor
273+
registers active. The SPM should be configured to execute the retention
274+
sequence and would wait for interrupt, before restoring the cpu to execution
275+
state. Retention may have a slightly higher latency than Standby.
276+
277+
Standalone PC: A cpu can power down and warmboot if there is a sufficient time
278+
between the time it enters idle and the next known wake up. SPC mode is used
279+
to indicate a core entering a power down state without consulting any other
280+
cpu or the system resources. This helps save power only on that core. The SPM
281+
sequence for this idle state is programmed to power down the supply to the
282+
core, wait for the interrupt, restore power to the core, and ensure the
283+
system state including cache hierarchy is ready before allowing core to
284+
resume. Applying power and resetting the core causes the core to warmboot
285+
back into Elevation Level (EL) which trampolines the control back to the
286+
kernel. Entering a power down state for the cpu, needs to be done by trapping
287+
into a EL. Failing to do so, would result in a crash enforced by the warm boot
288+
code in the EL for the SoC. On SoCs with write-back L1 cache, the cache has to
289+
be flushed in s/w, before powering down the core.
290+
291+
Power Collapse: This state is similar to the SPC mode, but distinguishes
292+
itself in that the cpu acknowledges and permits the SoC to enter deeper sleep
293+
modes. In a hierarchical power domain SoC, this means L2 and other caches can
294+
be flushed, system bus, clocks - lowered, and SoC main XO clock gated and
295+
voltages reduced, provided all cpus enter this state. Since the span of low
296+
power modes possible at this state is vast, the exit latency and the residency
297+
of this low power mode would be considered high even though at a cpu level,
298+
this essentially is cpu power down. The SPM in this state also may handshake
299+
with the Resource power manager (RPM) processor in the SoC to indicate a
300+
complete application processor subsystem shut down.
301+
302+
===========================================
303+
7 - References
247304
===========================================
248305
249306
[1] ARM Linux Kernel documentation - CPUs bindings
@@ -301,9 +358,16 @@ patternProperties:
301358
302359
properties:
303360
compatible:
304-
enum:
305-
- arm,idle-state
306-
- riscv,idle-state
361+
oneOf:
362+
- items:
363+
- enum:
364+
- qcom,idle-state-ret
365+
- qcom,idle-state-spc
366+
- qcom,idle-state-pc
367+
- const: arm,idle-state
368+
- enum:
369+
- arm,idle-state
370+
- riscv,idle-state
307371

308372
arm,psci-suspend-param:
309373
$ref: /schemas/types.yaml#/definitions/uint32
@@ -852,4 +916,13 @@ examples:
852916
};
853917
};
854918
919+
// Example 4 - Qualcomm SPC
920+
idle-states {
921+
cpu_spc: cpu-spc {
922+
compatible = "qcom,idle-state-spc", "arm,idle-state";
923+
entry-latency-us = <150>;
924+
exit-latency-us = <200>;
925+
min-residency-us = <2000>;
926+
};
927+
};
855928
...

0 commit comments

Comments
 (0)