Skip to content

Commit 02e2af2

Browse files
committed
Merge tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc and other driver updates from Greg KH: "Here is the big set of char/misc and other small driver subsystem updates for 5.18-rc1. Included in here are merges from driver subsystems which contain: - iio driver updates and new drivers - fsi driver updates - fpga driver updates - habanalabs driver updates and support for new hardware - soundwire driver updates and new drivers - phy driver updates and new drivers - coresight driver updates - icc driver updates Individual changes include: - mei driver updates - interconnect driver updates - new PECI driver subsystem added - vmci driver updates - lots of tiny misc/char driver updates All of these have been in linux-next for a while with no reported problems" * tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (556 commits) firmware: google: Properly state IOMEM dependency kgdbts: fix return value of __setup handler firmware: sysfb: fix platform-device leak in error path firmware: stratix10-svc: add missing callback parameter on RSU arm64: dts: qcom: add non-secure domain property to fastrpc nodes misc: fastrpc: Add dma handle implementation misc: fastrpc: Add fdlist implementation misc: fastrpc: Add helper function to get list and page misc: fastrpc: Add support to secure memory map dt-bindings: misc: add fastrpc domain vmid property misc: fastrpc: check before loading process to the DSP misc: fastrpc: add secure domain support dt-bindings: misc: add property to support non-secure DSP misc: fastrpc: Add support to get DSP capabilities misc: fastrpc: add support for FASTRPC_IOCTL_MEM_MAP/UNMAP misc: fastrpc: separate fastrpc device from channel context dt-bindings: nvmem: brcm,nvram: add basic NVMEM cells dt-bindings: nvmem: make "reg" property optional nvmem: brcm_nvram: parse NVRAM content into NVMEM cells nvmem: dt-bindings: Fix the error of dt-bindings check ...
2 parents ff61bc8 + 37fd839 commit 02e2af2

File tree

567 files changed

+26988
-6664
lines changed

Some content is hidden

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

567 files changed

+26988
-6664
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ Boris Brezillon <[email protected]> <[email protected]>
7171
Brian Avery <[email protected]>
7272
Brian King <[email protected]>
7373
74+
7475
7576
7677

Documentation/ABI/stable/sysfs-driver-firmware-zynqmp

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,144 @@ Description:
113113
# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
114114

115115
Users: Xilinx
116+
117+
What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
118+
Date: Feb 2022
119+
KernelVersion: 5.18
120+
Contact: "Ronak Jain" <[email protected]>
121+
Description:
122+
This sysfs interface allows user to configure features at
123+
runtime. The user can enable or disable features running at
124+
firmware as well as the user can configure the parameters of
125+
the features at runtime. The supported features are over
126+
temperature and external watchdog. Here, the external watchdog
127+
is completely different than the /dev/watchdog as the external
128+
watchdog is running on the firmware and it is used to monitor
129+
the health of firmware not APU(Linux). Also, the external
130+
watchdog is interfaced outside of the zynqmp soc.
131+
132+
The supported config ids are for the feature configuration is,
133+
1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
134+
disable the over temperature feature.
135+
2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
136+
over temperature limit in Degree Celsius.
137+
3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
138+
the external watchdog feature.
139+
4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
140+
external watchdog feature.
141+
142+
Usage:
143+
144+
Select over temperature config ID to enable/disable feature
145+
# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
146+
147+
Check over temperature config ID is selected or not
148+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
149+
The expected result is 1.
150+
151+
Select over temperature config ID to configure OT limit
152+
# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
153+
154+
Check over temperature config ID is selected or not
155+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
156+
The expected result is 2.
157+
158+
Select external watchdog config ID to enable/disable feature
159+
# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
160+
161+
Check external watchdog config ID is selected or not
162+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
163+
The expected result is 3.
164+
165+
Select external watchdog config ID to configure time interval
166+
# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
167+
168+
Check external watchdog config ID is selected or not
169+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
170+
The expected result is 4.
171+
172+
Users: Xilinx
173+
174+
What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
175+
Date: Feb 2022
176+
KernelVersion: 5.18
177+
Contact: "Ronak Jain" <[email protected]>
178+
Description:
179+
This sysfs interface allows to configure features at runtime.
180+
The user can enable or disable features running at firmware.
181+
Also, the user can configure the parameters of the features
182+
at runtime. The supported features are over temperature and
183+
external watchdog. Here, the external watchdog is completely
184+
different than the /dev/watchdog as the external watchdog is
185+
running on the firmware and it is used to monitor the health
186+
of firmware not APU(Linux). Also, the external watchdog is
187+
interfaced outside of the zynqmp soc.
188+
189+
By default the features are disabled in the firmware. The user
190+
can enable features by querying appropriate config id of the
191+
features.
192+
193+
The default limit for the over temperature is 90 Degree Celsius.
194+
The default timer interval for the external watchdog is 570ms.
195+
196+
The supported config ids are for the feature configuration is,
197+
1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
198+
disable the over temperature feature.
199+
2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
200+
over temperature limit in Degree Celsius.
201+
3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
202+
the external watchdog feature.
203+
4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
204+
external watchdog feature.
205+
206+
Usage:
207+
208+
Enable over temperature feature
209+
# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
210+
# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
211+
212+
Check whether the over temperature feature is enabled or not
213+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
214+
The expected result is 1.
215+
216+
Disable over temperature feature
217+
# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
218+
# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
219+
220+
Check whether the over temperature feature is disabled or not
221+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
222+
The expected result is 0.
223+
224+
Configure over temperature limit to 50 Degree Celsius
225+
# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
226+
# echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
227+
228+
Check whether the over temperature limit is configured or not
229+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
230+
The expected result is 50.
231+
232+
Enable external watchdog feature
233+
# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
234+
# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
235+
236+
Check whether the external watchdog feature is enabled or not
237+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
238+
The expected result is 1.
239+
240+
Disable external watchdog feature
241+
# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
242+
# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
243+
244+
Check whether the external watchdog feature is disabled or not
245+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
246+
The expected result is 0.
247+
248+
Configure external watchdog timer interval to 500ms
249+
# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
250+
# echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
251+
252+
Check whether the external watchdog timer interval is configured or not
253+
# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
254+
The expected result is 500.
255+
256+
Users: Xilinx

Documentation/ABI/testing/debugfs-driver-habanalabs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,7 @@ What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
1212
Date: May 2020
1313
KernelVersion: 5.8
1414
15-
Description: Allow the root user to disable/enable in runtime the clock
16-
gating mechanism in Gaudi. Due to how Gaudi is built, the
17-
clock gating needs to be disabled in order to access the
18-
registers of the TPC and MME engines. This is sometimes needed
19-
during debug by the user and hence the user needs this option.
20-
The user can supply a bitmask value, each bit represents
21-
a different engine to disable/enable its clock gating feature.
22-
The bitmask is composed of 20 bits:
23-
24-
======= ============
25-
0 - 7 DMA channels
26-
8 - 11 MME engines
27-
12 - 19 TPC engines
28-
======= ============
29-
30-
The bit's location of a specific engine can be determined
31-
using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values
32-
are defined in uapi habanalabs.h file in enum gaudi_engine_id
15+
Description: This setting is now deprecated as clock gating is handled solely by the f/w
3316

3417
What: /sys/kernel/debug/habanalabs/hl<n>/command_buffers
3518
Date: Jan 2019
@@ -239,6 +222,7 @@ KernelVersion: 5.6
239222
240223
Description: Sets the stop-on_error option for the device engines. Value of
241224
"0" is for disable, otherwise enable.
225+
Relevant only for GOYA and GAUDI.
242226

243227
What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
244228
Date: Sep 2021

Documentation/ABI/testing/sysfs-bus-iio

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_calibscale
476476
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_q_calibscale
477477
What: /sys/bus/iio/devices/iio:deviceX/in_voltage_i_calibscale
478478
What: /sys/bus/iio/devices/iio:deviceX/in_voltage_q_calibscale
479+
What: /sys/bus/iio/devices/iio:deviceX/in_altvoltage_calibscale
479480
What: /sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale
480481
What: /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale
481482
What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale
@@ -1213,6 +1214,32 @@ Description:
12131214
number or direction is not specified, applies to all channels of
12141215
this type.
12151216

1217+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_en
1218+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_en
1219+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_en
1220+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_en
1221+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_en
1222+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_en
1223+
KernelVersion: 5.18
1224+
1225+
Description:
1226+
Similar to in_accel_mag[_y][_rising|_falling]_en, but the event
1227+
value is relative to a reference magnitude. The reference magnitude
1228+
includes the graviational acceleration.
1229+
1230+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_value
1231+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_value
1232+
What: /sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_value
1233+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_value
1234+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_value
1235+
What: /sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_value
1236+
KernelVersion: 5.18
1237+
1238+
Description:
1239+
The value to which the reference magnitude of the channel is
1240+
compared. If the axis is not specified, it applies to all channels
1241+
of this type.
1242+
12161243
What: /sys/.../events/in_steps_change_en
12171244
KernelVersion: 4.0
12181245
@@ -1252,6 +1279,10 @@ Description:
12521279
Actually start the buffer capture up. Will start trigger
12531280
if first device and appropriate.
12541281

1282+
Note that it might be impossible to configure other attributes,
1283+
(e.g.: events, scale, sampling rate) if they impact the currently
1284+
active buffer capture session.
1285+
12551286
What: /sys/bus/iio/devices/iio:deviceX/bufferY
12561287
KernelVersion: 5.11
12571288
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_en
2+
KernelVersion: 5.14
3+
4+
Description:
5+
Used to enable an output for balancing cells for time
6+
controlled via in_voltage_Y-voltageZ_balance_switch_timer.
7+
8+
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_timer
9+
KernelVersion: 5.14
10+
11+
Description:
12+
Time in seconds for which balance switch will be turned on.
13+
Multiple of 71.5 seconds.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_en
2+
KernelVersion: 5.18
3+
4+
Description:
5+
Dither enable. Write 1 to enable dither or 0 to disable it. This is useful
6+
for changing the dither parameters. They way it should be done is:
7+
8+
- disable dither operation;
9+
- change dither parameters (eg: frequency, phase...);
10+
- enabled dither operation
11+
12+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw
13+
KernelVersion: 5.18
14+
15+
Description:
16+
This raw, unscaled value refers to the dither signal amplitude.
17+
The same scale as in out_voltageY_raw applies. However, the
18+
offset might be different as it's always 0 for this attribute.
19+
20+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw_available
21+
KernelVersion: 5.18
22+
23+
Description:
24+
Available range for dither raw amplitude values.
25+
26+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_offset
27+
KernelVersion: 5.18
28+
29+
Description:
30+
Offset applied to out_voltageY_dither_raw. Read only attribute
31+
always set to 0.
32+
33+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency
34+
KernelVersion: 5.18
35+
36+
Description:
37+
Sets the dither signal frequency. Units are in Hz.
38+
39+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency_available
40+
KernelVersion: 5.18
41+
42+
Description:
43+
Returns the available values for the dither frequency.
44+
45+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase
46+
KernelVersion: 5.18
47+
48+
Description:
49+
Sets the dither signal phase. Units are in Radians.
50+
51+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase_available
52+
KernelVersion: 5.18
53+
54+
Description:
55+
Returns the available values for the dither phase.
56+
57+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en
58+
KernelVersion: 5.18
59+
60+
Description:
61+
Toggle enable. Write 1 to enable toggle or 0 to disable it. This is
62+
useful when one wants to change the DAC output codes. The way it should
63+
be done is:
64+
65+
- disable toggle operation;
66+
- change out_voltageY_raw0 and out_voltageY_raw1;
67+
- enable toggle operation.
68+
69+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw0
70+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw1
71+
KernelVersion: 5.18
72+
73+
Description:
74+
It has the same meaning as out_voltageY_raw. This attribute is
75+
specific to toggle enabled channels and refers to the DAC output
76+
code in INPUT_A (_raw0) and INPUT_B (_raw1). The same scale and offset
77+
as in out_voltageY_raw applies.
78+
79+
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_symbol
80+
KernelVersion: 5.18
81+
82+
Description:
83+
Performs a SW toggle. This attribute is specific to toggle
84+
enabled channels and allows to toggle between out_voltageY_raw0
85+
and out_voltageY_raw1 through software. Writing 0 will select
86+
out_voltageY_raw0 while 1 selects out_voltageY_raw1.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
What: /sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_coarse
2+
KernelVersion: 5.18
3+
4+
Description:
5+
Read/write value for the digital attenuator gain (IF_I) with coarse steps.
6+
7+
What: /sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_coarse
8+
KernelVersion: 5.18
9+
10+
Description:
11+
Read/write value for the digital attenuator gain (IF_Q) with coarse steps.
12+
13+
What: /sys/bus/iio/devices/iio:deviceX/in_altvoltage0_i_calibscale_fine
14+
KernelVersion: 5.18
15+
16+
Description:
17+
Read/write value for the digital attenuator gain (IF_I) with fine steps.
18+
19+
What: /sys/bus/iio/devices/iio:deviceX/in_altvoltage0_q_calibscale_fine
20+
KernelVersion: 5.18
21+
22+
Description:
23+
Read/write value for the digital attenuator gain (IF_Q) with fine steps.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
What: /sys/bus/iio/devices/iio:deviceX/in_proximity<id>_setup
2+
Date: November 2021
3+
KernelVersion: 5.17
4+
Contact: Gwendal Grignou <[email protected]>
5+
Description:
6+
SX9324 has 3 inputs, CS0, CS1 and CS2. Hardware layout
7+
defines if the input is
8+
+ not connected (HZ),
9+
+ grounded (GD),
10+
+ connected to an antenna where it can act as a base
11+
(DS - data shield), or measured input (MI).
12+
13+
The sensor rotates measurement across 4 phases
14+
(PH0, PH1, PH2, PH3), where the inputs are configured
15+
and then measured.
16+
17+
By default, during the first phase, [PH0], CS0 is measured,
18+
while CS1 and CS2 are used as shields.
19+
`cat in_proximity0_setup` returns "MI,DS,DS".
20+
[PH1], CS1 is measured, CS0 and CS2 are shield:
21+
`cat in_proximity1_setup` returns "DS,MI,DS".
22+
[PH2], CS2 is measured, CS0 and CS1 are shield:
23+
`cat in_proximity1_setup` returns "DS,DS,MI".
24+
[PH3], CS1 and CS2 are measured (combo mode):
25+
`cat in_proximity1_setup` returns "DS,MI,MI".
26+
27+
Note, these are the chip default. Hardware layout will most
28+
likely dictate different output. The entry is read-only.

0 commit comments

Comments
 (0)