Skip to content

Commit 3f656f2

Browse files
committed
Merge tag 'qcom-drivers-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers
Qualcomm driver updates for v5.19 This converts a wide range of Qualcomm-related DeviceTree bindings to YAML, in order to improve our ability to validate the DeviceTree source. The RPMh power-domain driver gains support for the modem platform SDX65, the compute platform SC8280XP and the automotive platform SA8540p. While LLCC gains support for SC8180X and SC8280XP and gains a MODULE_DEVICE_TABLE() to make it functional as a module. It adds a driver for configuring the SSC bus, providing Linux access to the hardware blocks in the sensor subsystem. The socinfo driver gets confusion related to MSM8974 Pro sorted out and adds new ids for SM8540 and SC7280. The SCM driver gains support for MSM8974. Add missing of_node_put() in smp2p and smsm drivers. Stop using iterator after list_for_each_entry() and define static definitions as such, in the PDR driver. * tag 'qcom-drivers-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (33 commits) soc: qcom: pdr: use static for servreg_* variables soc: qcom: llcc: Add sc8180x and sc8280xp configurations dt-bindings: arm: msm: Add sc8180x and sc8280xp LLCC compatibles soc: qcom: rpmhpd: add sc8280xp & sa8540p rpmh power-domains soc: qcom: rpmhpd: Don't warn about sparse rpmhpd arrays dt-bindings: power: rpmpd: Add sc8280xp RPMh power-domains spi: dt-bindings: qcom,spi-geni-qcom: convert to dtschema soc: qcom: socinfo: Sort out 8974PRO names dt-bindings: soc: qcom,smp2p: convert to dtschema dt-bindings: qcom: geni-se: Update UART schema reference dt-bindings: qcom: geni-se: Update I2C schema reference dt-bindings: soc: qcom,rpmh-rsc: convert to dtschema bus: add driver for initializing the SSC bus on (some) qcom SoCs dt-bindings: bus: add device tree bindings for qcom,ssc-block-bus dt-bindings: qcom: qcom,geni-se: refer to dtschema for SPI dt-bindings: soc: qcom,smd: convert to dtschema firmware: qcom_scm: Add compatible for MSM8976 SoC dt-bindings: firmware: qcom-scm: Document msm8976 bindings soc: qcom: smem: validate fields of shared structures soc: qcom: smem: map only partitions used by local HOST ... Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 6e6962f + 28e3dc8 commit 3f656f2

39 files changed

+2095
-917
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ properties:
2323
enum:
2424
- qcom,sc7180-llcc
2525
- qcom,sc7280-llcc
26+
- qcom,sc8180x-llcc
27+
- qcom,sc8280xp-llcc
2628
- qcom,sdm845-llcc
2729
- qcom,sm6350-llcc
2830
- qcom,sm8150-llcc

Documentation/devicetree/bindings/arm/qcom.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,11 @@ description: |
3939
msm8994
4040
msm8996
4141
sa8155p
42+
sa8540p
4243
sc7180
4344
sc7280
45+
sc8180x
46+
sc8280xp
4447
sdm630
4548
sdm632
4649
sdm660
@@ -225,6 +228,18 @@ properties:
225228
- google,senor
226229
- const: qcom,sc7280
227230

231+
- items:
232+
- enum:
233+
- lenovo,flex-5g
234+
- microsoft,surface-prox
235+
- qcom,sc8180x-primus
236+
- const: qcom,sc8180x
237+
238+
- items:
239+
- enum:
240+
- qcom,sc8280xp-qrd
241+
- const: qcom,sc8280xp
242+
228243
- items:
229244
- enum:
230245
- fairphone,fp3
@@ -258,6 +273,11 @@ properties:
258273
- qcom,sa8155p-adp
259274
- const: qcom,sa8155p
260275

276+
- items:
277+
- enum:
278+
- qcom,sa8295p-adp
279+
- const: qcom,sa8540p
280+
261281
- items:
262282
- enum:
263283
- fairphone,fp4
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/bus/qcom,ssc-block-bus.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: The AHB Bus Providing a Global View of the SSC Block on (some) qcom SoCs
8+
9+
maintainers:
10+
- Michael Srba <[email protected]>
11+
12+
description: |
13+
This binding describes the dependencies (clocks, resets, power domains) which
14+
need to be turned on in a sequence before communication over the AHB bus
15+
becomes possible.
16+
17+
Additionally, the reg property is used to pass to the driver the location of
18+
two sadly undocumented registers which need to be poked as part of the sequence.
19+
20+
The SSC (Snapdragon Sensor Core) block contains a gpio controller, i2c/spi/uart
21+
controllers, a hexagon core, and a clock controller which provides clocks for
22+
the above.
23+
24+
properties:
25+
compatible:
26+
items:
27+
- const: qcom,msm8998-ssc-block-bus
28+
- const: qcom,ssc-block-bus
29+
30+
reg:
31+
description: |
32+
Shall contain the addresses of the SSCAON_CONFIG0 and SSCAON_CONFIG1
33+
registers
34+
minItems: 2
35+
maxItems: 2
36+
37+
reg-names:
38+
items:
39+
- const: mpm_sscaon_config0
40+
- const: mpm_sscaon_config1
41+
42+
'#address-cells':
43+
enum: [ 1, 2 ]
44+
45+
'#size-cells':
46+
enum: [ 1, 2 ]
47+
48+
ranges: true
49+
50+
clocks:
51+
minItems: 6
52+
maxItems: 6
53+
54+
clock-names:
55+
items:
56+
- const: xo
57+
- const: aggre2
58+
- const: gcc_im_sleep
59+
- const: aggre2_north
60+
- const: ssc_xo
61+
- const: ssc_ahbs
62+
63+
power-domains:
64+
description: Power domain phandles for the ssc_cx and ssc_mx power domains
65+
minItems: 2
66+
maxItems: 2
67+
68+
power-domain-names:
69+
items:
70+
- const: ssc_cx
71+
- const: ssc_mx
72+
73+
resets:
74+
description: |
75+
Reset phandles for the ssc_reset and ssc_bcr resets (note: ssc_bcr is the
76+
branch control register associated with the ssc_xo and ssc_ahbs clocks)
77+
minItems: 2
78+
maxItems: 2
79+
80+
reset-names:
81+
items:
82+
- const: ssc_reset
83+
- const: ssc_bcr
84+
85+
qcom,halt-regs:
86+
$ref: /schemas/types.yaml#/definitions/phandle-array
87+
description: describes how to locate the ssc AXI halt register
88+
items:
89+
- items:
90+
- description: Phandle reference to a syscon representing TCSR
91+
- description: offset for the ssc AXI halt register
92+
93+
required:
94+
- compatible
95+
- reg
96+
- reg-names
97+
- '#address-cells'
98+
- '#size-cells'
99+
- ranges
100+
- clocks
101+
- clock-names
102+
- power-domains
103+
- power-domain-names
104+
- resets
105+
- reset-names
106+
- qcom,halt-regs
107+
108+
additionalProperties:
109+
type: object
110+
111+
examples:
112+
- |
113+
#include <dt-bindings/clock/qcom,gcc-msm8998.h>
114+
#include <dt-bindings/clock/qcom,rpmcc.h>
115+
#include <dt-bindings/power/qcom-rpmpd.h>
116+
117+
soc {
118+
#address-cells = <1>;
119+
#size-cells = <1>;
120+
121+
// devices under this node are physically located in the SSC block, connected to an ssc-internal bus;
122+
ssc_ahb_slave: bus@10ac008 {
123+
#address-cells = <1>;
124+
#size-cells = <1>;
125+
ranges;
126+
127+
compatible = "qcom,msm8998-ssc-block-bus", "qcom,ssc-block-bus";
128+
reg = <0x10ac008 0x4>, <0x10ac010 0x4>;
129+
reg-names = "mpm_sscaon_config0", "mpm_sscaon_config1";
130+
131+
clocks = <&xo>,
132+
<&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
133+
<&gcc GCC_IM_SLEEP>,
134+
<&gcc AGGRE2_SNOC_NORTH_AXI>,
135+
<&gcc SSC_XO>,
136+
<&gcc SSC_CNOC_AHBS_CLK>;
137+
clock-names = "xo", "aggre2", "gcc_im_sleep", "aggre2_north", "ssc_xo", "ssc_ahbs";
138+
139+
resets = <&gcc GCC_SSC_RESET>, <&gcc GCC_SSC_BCR>;
140+
reset-names = "ssc_reset", "ssc_bcr";
141+
142+
power-domains = <&rpmpd MSM8998_SSCCX>, <&rpmpd MSM8998_SSCMX>;
143+
power-domain-names = "ssc_cx", "ssc_mx";
144+
145+
qcom,halt-regs = <&tcsr_mutex_regs 0x26000>;
146+
};
147+
};

Documentation/devicetree/bindings/firmware/qcom,scm.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Required properties:
1919
* "qcom,scm-msm8953"
2020
* "qcom,scm-msm8960"
2121
* "qcom,scm-msm8974"
22+
* "qcom,scm-msm8976"
2223
* "qcom,scm-msm8994"
2324
* "qcom,scm-msm8996"
2425
* "qcom,scm-msm8998"
@@ -37,7 +38,7 @@ Required properties:
3738
* core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and
3839
"qcom,scm-msm8960"
3940
* core, iface and bus clocks required for "qcom,scm-apq8084",
40-
"qcom,scm-msm8916", "qcom,scm-msm8953" and "qcom,scm-msm8974"
41+
"qcom,scm-msm8916", "qcom,scm-msm8953", "qcom,scm-msm8974" and "qcom,scm-msm8976"
4142
- clock-names: Must contain "core" for the core clock, "iface" for the interface
4243
clock and "bus" for the bus clock per the requirements of the compatible.
4344
- qcom,dload-mode: phandle to the TCSR hardware block and offset of the

Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,20 @@ additionalProperties: false
4545

4646
examples:
4747
# Example 1: apps bcm_voter on SDM845 SoC should be defined inside &apps_rsc node
48-
# as defined in Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt
48+
# as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
4949
- |
5050
51-
apps_bcm_voter: bcm_voter {
51+
apps_bcm_voter: bcm-voter {
5252
compatible = "qcom,bcm-voter";
5353
};
5454
5555
# Example 2: disp bcm_voter on SDM845 should be defined inside &disp_rsc node
56-
# as defined in Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt
56+
# as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
5757
- |
5858
5959
#include <dt-bindings/interconnect/qcom,icc.h>
6060
61-
disp_bcm_voter: bcm_voter {
61+
disp_bcm_voter: bcm-voter {
6262
compatible = "qcom,bcm-voter";
6363
qcom,tcs-wait = <QCOM_ICC_TAG_AMC>;
6464
};

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,15 @@ properties:
2727
- qcom,msm8998-rpmpd
2828
- qcom,qcm2290-rpmpd
2929
- qcom,qcs404-rpmpd
30+
- qcom,sa8540p-rpmhpd
3031
- qcom,sdm660-rpmpd
3132
- qcom,sc7180-rpmhpd
3233
- qcom,sc7280-rpmhpd
3334
- qcom,sc8180x-rpmhpd
35+
- qcom,sc8280xp-rpmhpd
3436
- qcom,sdm845-rpmhpd
3537
- qcom,sdx55-rpmhpd
38+
- qcom,sdx65-rpmhpd
3639
- qcom,sm6115-rpmpd
3740
- qcom,sm6125-rpmpd
3841
- qcom,sm6350-rpmhpd

Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ description:
1212
resides as a subnode of the SMD. As such, the SMD-RPM regulator requires
1313
that the SMD and RPM nodes be present.
1414

15-
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for
15+
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml for
1616
information pertaining to the SMD node.
1717

1818
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
@@ -69,7 +69,8 @@ description:
6969
l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22
7070

7171
maintainers:
72-
- Kathiravan T <[email protected]>
72+
- Andy Gross <[email protected]>
73+
- Bjorn Andersson <[email protected]>
7374

7475
properties:
7576
compatible:

Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ the memory regions used by the Hexagon firmware. Each sub-node must contain:
250250

251251
The Hexagon node may also have an subnode named either "smd-edge" or
252252
"glink-edge" that describes the communication edge, channels and devices
253-
related to the Hexagon. See ../soc/qcom/qcom,smd.txt and
253+
related to the Hexagon. See ../soc/qcom/qcom,smd.yaml and
254254
../soc/qcom/qcom,glink.txt for details on how to describe these.
255255

256256
= EXAMPLE

Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ and its resource dependencies. It is described by the following properties:
111111

112112
The wcnss node can also have an subnode named "smd-edge" that describes the SMD
113113
edge, channels and devices related to the WCNSS.
114-
See ../soc/qcom/qcom,smd.txt for details on how to describe the SMD edge.
114+
See ../soc/qcom/qcom,smd.yaml for details on how to describe the SMD edge.
115115

116116
= EXAMPLE
117117
The following example describes the resources needed to boot control the WCNSS,

0 commit comments

Comments
 (0)