Skip to content

Commit 11c7052

Browse files
committed
Merge tag 'soc-drivers-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC driver updates from Arnd Bergmann: "As usual, there are lots of minor driver changes across SoC platforms from NXP, Amlogic, AMD Zynq, Mediatek, Qualcomm, Apple and Samsung. These usually add support for additional chip variations in existing drivers, but also add features or bugfixes. The SCMI firmware subsystem gains a unified raw userspace interface through debugfs, which can be used for validation purposes. Newly added drivers include: - New power management drivers for StarFive JH7110, Allwinner D1 and Renesas RZ/V2M - A driver for Qualcomm battery and power supply status - A SoC device driver for identifying Nuvoton WPCM450 chips - A regulator coupler driver for Mediatek MT81xxv" * tag 'soc-drivers-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (165 commits) power: supply: Introduce Qualcomm PMIC GLINK power supply soc: apple: rtkit: Do not copy the reg state structure to the stack soc: sunxi: SUN20I_PPU should depend on PM memory: renesas-rpc-if: Remove redundant division of dummy soc: qcom: socinfo: Add IDs for IPQ5332 and its variant dt-bindings: arm: qcom,ids: Add IDs for IPQ5332 and its variant dt-bindings: power: qcom,rpmpd: add RPMH_REGULATOR_LEVEL_LOW_SVS_L1 firmware: qcom_scm: Move qcom_scm.h to include/linux/firmware/qcom/ MAINTAINERS: Update qcom CPR maintainer entry dt-bindings: firmware: document Qualcomm SM8550 SCM dt-bindings: firmware: qcom,scm: add qcom,scm-sa8775p compatible soc: qcom: socinfo: Add Soc IDs for IPQ8064 and variants dt-bindings: arm: qcom,ids: Add Soc IDs for IPQ8064 and variants soc: qcom: socinfo: Add support for new field in revision 17 soc: qcom: smd-rpm: Add IPQ9574 compatible soc: qcom: pmic_glink: remove redundant calculation of svid soc: qcom: stats: Populate all subsystem debugfs files dt-bindings: soc: qcom,rpmh-rsc: Update to allow for generic nodes soc: qcom: pmic_glink: add CONFIG_NET/CONFIG_OF dependencies soc: qcom: pmic_glink: Introduce altmode support ...
2 parents d40b2f4 + 524af30 commit 11c7052

File tree

156 files changed

+10055
-1337
lines changed

Some content is hidden

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

156 files changed

+10055
-1337
lines changed
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
What: /sys/kernel/debug/dcc/.../ready
2+
Date: December 2022
3+
Contact: Souradeep Chowdhury <[email protected]>
4+
Description:
5+
This file is used to check the status of the dcc
6+
hardware if it's ready to receive user configurations.
7+
A 'Y' here indicates dcc is ready.
8+
9+
What: /sys/kernel/debug/dcc/.../trigger
10+
Date: December 2022
11+
Contact: Souradeep Chowdhury <[email protected]>
12+
Description:
13+
This is the debugfs interface for manual software
14+
triggers. The trigger can be invoked by writing '1'
15+
to the file.
16+
17+
What: /sys/kernel/debug/dcc/.../config_reset
18+
Date: December 2022
19+
Contact: Souradeep Chowdhury <[email protected]>
20+
Description:
21+
This file is used to reset the configuration of
22+
a dcc driver to the default configuration. When '1'
23+
is written to the file, all the previous addresses
24+
stored in the driver gets removed and users need to
25+
reconfigure addresses again.
26+
27+
What: /sys/kernel/debug/dcc/.../[list-number]/config
28+
Date: December 2022
29+
Contact: Souradeep Chowdhury <[email protected]>
30+
Description:
31+
This stores the addresses of the registers which
32+
can be read in case of a hardware crash or manual
33+
software triggers. The input addresses type
34+
can be one of following dcc instructions: read,
35+
write, read-write, and loop type. The lists need to
36+
be configured sequentially and not in a overlapping
37+
manner; e.g. users can jump to list x only after
38+
list y is configured and enabled. The input format for
39+
each type is as follows:
40+
41+
i) Read instruction
42+
43+
::
44+
45+
echo R <addr> <n> <bus> >/sys/kernel/debug/dcc/../[list-number]/config
46+
47+
where:
48+
49+
<addr>
50+
The address to be read.
51+
52+
<n>
53+
The addresses word count, starting from address <1>.
54+
Each word is 32 bits (4 bytes). If omitted, defaulted
55+
to 1.
56+
57+
<bus type>
58+
The bus type, which can be either 'apb' or 'ahb'.
59+
The default is 'ahb' if leaved out.
60+
61+
ii) Write instruction
62+
63+
::
64+
65+
echo W <addr> <n> <bus type> > /sys/kernel/debug/dcc/../[list-number]/config
66+
67+
where:
68+
69+
<addr>
70+
The address to be written.
71+
72+
<n>
73+
The value to be written at <addr>.
74+
75+
<bus type>
76+
The bus type, which can be either 'apb' or 'ahb'.
77+
78+
iii) Read-write instruction
79+
80+
::
81+
82+
echo RW <addr> <n> <mask> > /sys/kernel/debug/dcc/../[list-number]/config
83+
84+
where:
85+
86+
<addr>
87+
The address to be read and written.
88+
89+
<n>
90+
The value to be written at <addr>.
91+
92+
<mask>
93+
The value mask.
94+
95+
iv) Loop instruction
96+
97+
::
98+
99+
echo L <loop count> <address count> <address>... > /sys/kernel/debug/dcc/../[list-number]/config
100+
101+
where:
102+
103+
<loop count>
104+
Number of iterations
105+
106+
<address count>
107+
total number of addresses to be written
108+
109+
<address>
110+
Space-separated list of addresses.
111+
112+
What: /sys/kernel/debug/dcc/.../[list-number]/enable
113+
Date: December 2022
114+
Contact: Souradeep Chowdhury <[email protected]>
115+
Description:
116+
This debugfs interface is used for enabling the
117+
the dcc hardware. A file named "enable" is in the
118+
directory list number where users can enable/disable
119+
the specific list by writing boolean (1 or 0) to the
120+
file.
121+
122+
On enabling the dcc, all the addresses specified
123+
by the user for the corresponding list is written
124+
into dcc sram which is read by the dcc hardware
125+
on manual or crash induced triggers. Lists must
126+
be configured and enabled sequentially, e.g. list
127+
2 can only be enabled when list 1 have so.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
What: /sys/kernel/debug/scmi/<n>/instance_name
2+
Date: March 2023
3+
KernelVersion: 6.3
4+
5+
Description: The name of the underlying SCMI instance <n> described by
6+
all the debugfs accessors rooted at /sys/kernel/debug/scmi/<n>,
7+
expressed as the full name of the top DT SCMI node under which
8+
this SCMI instance is rooted.
9+
Users: Debugging, any userspace test suite
10+
11+
What: /sys/kernel/debug/scmi/<n>/atomic_threshold_us
12+
Date: March 2023
13+
KernelVersion: 6.3
14+
15+
Description: An optional time value, expressed in microseconds, representing,
16+
on this SCMI instance <n>, the threshold above which any SCMI
17+
command, advertised to have an higher-than-threshold execution
18+
latency, should not be considered for atomic mode of operation,
19+
even if requested.
20+
Users: Debugging, any userspace test suite
21+
22+
What: /sys/kernel/debug/scmi/<n>/transport/type
23+
Date: March 2023
24+
KernelVersion: 6.3
25+
26+
Description: A string representing the type of transport configured for this
27+
SCMI instance <n>.
28+
Users: Debugging, any userspace test suite
29+
30+
What: /sys/kernel/debug/scmi/<n>/transport/is_atomic
31+
Date: March 2023
32+
KernelVersion: 6.3
33+
34+
Description: A boolean stating if the transport configured on the underlying
35+
SCMI instance <n> is capable of atomic mode of operation.
36+
Users: Debugging, any userspace test suite
37+
38+
What: /sys/kernel/debug/scmi/<n>/transport/max_rx_timeout_ms
39+
Date: March 2023
40+
KernelVersion: 6.3
41+
42+
Description: Timeout in milliseconds allowed for SCMI synchronous replies
43+
for the currently configured SCMI transport for instance <n>.
44+
Users: Debugging, any userspace test suite
45+
46+
What: /sys/kernel/debug/scmi/<n>/transport/max_msg_size
47+
Date: March 2023
48+
KernelVersion: 6.3
49+
50+
Description: Max message size of allowed SCMI messages for the currently
51+
configured SCMI transport for instance <n>.
52+
Users: Debugging, any userspace test suite
53+
54+
What: /sys/kernel/debug/scmi/<n>/transport/tx_max_msg
55+
Date: March 2023
56+
KernelVersion: 6.3
57+
58+
Description: Max number of concurrently allowed in-flight SCMI messages for
59+
the currently configured SCMI transport for instance <n> on the
60+
TX channels.
61+
Users: Debugging, any userspace test suite
62+
63+
What: /sys/kernel/debug/scmi/<n>/transport/rx_max_msg
64+
Date: March 2023
65+
KernelVersion: 6.3
66+
67+
Description: Max number of concurrently allowed in-flight SCMI messages for
68+
the currently configured SCMI transport for instance <n> on the
69+
RX channels.
70+
Users: Debugging, any userspace test suite
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
What: /sys/kernel/debug/scmi/<n>/raw/message
2+
Date: March 2023
3+
KernelVersion: 6.3
4+
5+
Description: SCMI Raw synchronous message injection/snooping facility; write
6+
a complete SCMI synchronous command message (header included)
7+
in little-endian binary format to have it sent to the configured
8+
backend SCMI server for instance <n>.
9+
Any subsequently received response can be read from this same
10+
entry if it arrived within the configured timeout.
11+
Each write to the entry causes one command request to be built
12+
and sent while the replies are read back one message at time
13+
(receiving an EOF at each message boundary).
14+
Users: Debugging, any userspace test suite
15+
16+
What: /sys/kernel/debug/scmi/<n>/raw/message_async
17+
Date: March 2023
18+
KernelVersion: 6.3
19+
20+
Description: SCMI Raw asynchronous message injection/snooping facility; write
21+
a complete SCMI asynchronous command message (header included)
22+
in little-endian binary format to have it sent to the configured
23+
backend SCMI server for instance <n>.
24+
Any subsequently received response can be read from this same
25+
entry if it arrived within the configured timeout.
26+
Any additional delayed response received afterwards can be read
27+
from this same entry too if it arrived within the configured
28+
timeout.
29+
Each write to the entry causes one command request to be built
30+
and sent while the replies are read back one message at time
31+
(receiving an EOF at each message boundary).
32+
Users: Debugging, any userspace test suite
33+
34+
What: /sys/kernel/debug/scmi/<n>/raw/errors
35+
Date: March 2023
36+
KernelVersion: 6.3
37+
38+
Description: SCMI Raw message errors facility; any kind of timed-out or
39+
generally unexpectedly received SCMI message, for instance <n>,
40+
can be read from this entry.
41+
Each read gives back one message at time (receiving an EOF at
42+
each message boundary).
43+
Users: Debugging, any userspace test suite
44+
45+
What: /sys/kernel/debug/scmi/<n>/raw/notification
46+
Date: March 2023
47+
KernelVersion: 6.3
48+
49+
Description: SCMI Raw notification snooping facility; any notification
50+
emitted by the backend SCMI server, for instance <n>, can be
51+
read from this entry.
52+
Each read gives back one message at time (receiving an EOF at
53+
each message boundary).
54+
Users: Debugging, any userspace test suite
55+
56+
What: /sys/kernel/debug/scmi/<n>/raw/reset
57+
Date: March 2023
58+
KernelVersion: 6.3
59+
60+
Description: SCMI Raw stack reset facility; writing a value to this entry
61+
causes the internal queues of any kind of received message,
62+
still pending to be read out for instance <n>, to be immediately
63+
flushed.
64+
Can be used to reset and clean the SCMI Raw stack between to
65+
different test-run.
66+
Users: Debugging, any userspace test suite
67+
68+
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message
69+
Date: March 2023
70+
KernelVersion: 6.3
71+
72+
Description: SCMI Raw synchronous message injection/snooping facility; write
73+
a complete SCMI synchronous command message (header included)
74+
in little-endian binary format to have it sent to the configured
75+
backend SCMI server for instance <n> through the <m> transport
76+
channel.
77+
Any subsequently received response can be read from this same
78+
entry if it arrived on channel <m> within the configured
79+
timeout.
80+
Each write to the entry causes one command request to be built
81+
and sent while the replies are read back one message at time
82+
(receiving an EOF at each message boundary).
83+
Channel identifier <m> matches the SCMI protocol number which
84+
has been associated with this transport channel in the DT
85+
description, with base protocol number 0x10 being the default
86+
channel for this instance.
87+
Note that these per-channel entries rooted at <..>/channels
88+
exist only if the transport is configured to have more than
89+
one default channel.
90+
Users: Debugging, any userspace test suite
91+
92+
What: /sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_async
93+
Date: March 2023
94+
KernelVersion: 6.3
95+
96+
Description: SCMI Raw asynchronous message injection/snooping facility; write
97+
a complete SCMI asynchronous command message (header included)
98+
in little-endian binary format to have it sent to the configured
99+
backend SCMI server for instance <n> through the <m> transport
100+
channel.
101+
Any subsequently received response can be read from this same
102+
entry if it arrived on channel <m> within the configured
103+
timeout.
104+
Any additional delayed response received afterwards can be read
105+
from this same entry too if it arrived within the configured
106+
timeout.
107+
Each write to the entry causes one command request to be built
108+
and sent while the replies are read back one message at time
109+
(receiving an EOF at each message boundary).
110+
Channel identifier <m> matches the SCMI protocol number which
111+
has been associated with this transport channel in the DT
112+
description, with base protocol number 0x10 being the default
113+
channel for this instance.
114+
Note that these per-channel entries rooted at <..>/channels
115+
exist only if the transport is configured to have more than
116+
one default channel.
117+
Users: Debugging, any userspace test suite

Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ properties:
3131
- mediatek,mt8173-mmsys
3232
- mediatek,mt8183-mmsys
3333
- mediatek,mt8186-mmsys
34+
- mediatek,mt8188-vdosys0
3435
- mediatek,mt8192-mmsys
36+
- mediatek,mt8195-vdosys1
37+
- mediatek,mt8195-vppsys0
38+
- mediatek,mt8195-vppsys1
3539
- mediatek,mt8365-mmsys
3640
- const: syscon
3741

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/firmware/amlogic,meson-gxbb-sm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic Secure Monitor (SM)
8+
9+
description:
10+
In the Amlogic SoCs the Secure Monitor code is used to provide access to the
11+
NVMEM, enable JTAG, set USB boot, etc...
12+
13+
maintainers:
14+
- Neil Armstrong <[email protected]>
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- const: amlogic,meson-gxbb-sm
20+
- items:
21+
- const: amlogic,meson-gx-sm
22+
- const: amlogic,meson-gxbb-sm
23+
24+
power-controller:
25+
type: object
26+
$ref: /schemas/power/amlogic,meson-sec-pwrc.yaml#
27+
28+
required:
29+
- compatible
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
firmware {
36+
secure-monitor {
37+
compatible = "amlogic,meson-gxbb-sm";
38+
};
39+
};

Documentation/devicetree/bindings/firmware/meson/meson_sm.txt

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

0 commit comments

Comments
 (0)