Commit 02e2af20 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
  ...
parents ff61bc81 37fd8391
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ Boris Brezillon <bbrezillon@kernel.org> <boris.brezillon@free-electrons.com>
Brian Avery <b.avery@hp.com>
Brian King <brking@us.ibm.com>
Brian Silverman <bsilver16384@gmail.com> <brian.silverman@bluerivertech.com>
Cai Huoqing <cai.huoqing@linux.dev> <caihuoqing@baidu.com>
Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com>
Changbin Du <changbin.du@intel.com> <changbin.du@intel.com>
Chao Yu <chao@kernel.org> <chao2.yu@samsung.com>
+141 −0
Original line number Diff line number Diff line
@@ -113,3 +113,144 @@ Description:
		    # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status

Users:		Xilinx

What:		/sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"Ronak Jain" <ronak.jain@xilinx.com>
Description:
		This sysfs interface allows user to configure features at
		runtime. The user can enable or disable features running at
		firmware as well as the user can configure the parameters of
		the features at runtime. The supported features are over
		temperature and external watchdog. Here, the external watchdog
		is completely different than the /dev/watchdog as the external
		watchdog is running on the firmware and it is used to monitor
		the health of firmware not APU(Linux). Also, the external
		watchdog is interfaced outside of the zynqmp soc.

		The supported config ids are for the feature configuration is,
		1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
		disable the over temperature feature.
		2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
		over temperature limit in Degree Celsius.
		3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
		the external watchdog feature.
		4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
		external watchdog feature.

		Usage:

		Select over temperature config ID to enable/disable feature
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id

		Check over temperature config ID is selected or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		The expected result is 1.

		Select over temperature config ID to configure OT limit
		# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id

		Check over temperature config ID is selected or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		The expected result is 2.

		Select external watchdog config ID to enable/disable feature
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id

		Check external watchdog config ID is selected or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		The expected result is 3.

		Select external watchdog config ID to configure time interval
		# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id

		Check external watchdog config ID is selected or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		The expected result is 4.

Users:		Xilinx

What:		/sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"Ronak Jain" <ronak.jain@xilinx.com>
Description:
		This sysfs interface allows to configure features at runtime.
		The user can enable or disable features running at firmware.
		Also, the user can configure the parameters of the features
		at runtime. The supported features are over temperature and
		external watchdog. Here, the external watchdog is completely
		different than the /dev/watchdog as the external watchdog is
		running on the firmware and it is used to monitor the health
		of firmware not APU(Linux). Also, the external watchdog is
		interfaced outside of the zynqmp soc.

		By default the features are disabled in the firmware. The user
		can enable features by querying appropriate config id of the
		features.

		The default limit for the over temperature is 90 Degree Celsius.
		The default timer interval for the external watchdog is 570ms.

		The supported config ids are for the feature configuration is,
		1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
		disable the over temperature feature.
		2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
		over temperature limit in Degree Celsius.
		3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
		the external watchdog feature.
		4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
		external watchdog feature.

		Usage:

		Enable over temperature feature
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the over temperature feature is enabled or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 1.

		Disable over temperature feature
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the over temperature feature is disabled or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 0.

		Configure over temperature limit to 50 Degree Celsius
		# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the over temperature limit is configured or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 50.

		Enable external watchdog feature
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the external watchdog feature is enabled or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 1.

		Disable external watchdog feature
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the external watchdog feature is disabled or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 0.

		Configure external watchdog timer interval to 500ms
		# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
		# echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value

		Check whether the external watchdog timer interval is configured or not
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
		The expected result is 500.

Users:		Xilinx
+2 −18
Original line number Diff line number Diff line
@@ -12,24 +12,7 @@ What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
Date:           May 2020
KernelVersion:  5.8
Contact:        ogabbay@kernel.org
Description:    Allow the root user to disable/enable in runtime the clock
                gating mechanism in Gaudi. Due to how Gaudi is built, the
                clock gating needs to be disabled in order to access the
                registers of the TPC and MME engines. This is sometimes needed
                during debug by the user and hence the user needs this option.
                The user can supply a bitmask value, each bit represents
                a different engine to disable/enable its clock gating feature.
                The bitmask is composed of 20 bits:

                =======   ============
                0  -  7   DMA channels
                8  - 11   MME engines
                12 - 19   TPC engines
                =======   ============

                The bit's location of a specific engine can be determined
                using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values
                are defined in uapi habanalabs.h file in enum gaudi_engine_id
Description:    This setting is now deprecated as clock gating is handled solely by the f/w

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

What:           /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
Date:           Sep 2021
+31 −0
Original line number Diff line number Diff line
@@ -476,6 +476,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_i_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_q_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltage_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale
@@ -1213,6 +1214,32 @@ Description:
		number or direction is not specified, applies to all channels of
		this type.

What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_en
What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_en
What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_en
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_en
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_en
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_en
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		Similar to in_accel_mag[_y][_rising|_falling]_en, but the event
		value is relative to a reference magnitude. The reference magnitude
		includes the graviational acceleration.

What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_value
What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_rising_value
What:		/sys/.../iio:deviceX/events/in_accel_mag_referenced_falling_value
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_value
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_rising_value
What:		/sys/.../iio:deviceX/events/in_accel_y_mag_referenced_falling_value
KernelVersion:	5.18
Contact:	linux-iio@vger.kernel.org
Description:
		The value to which the reference magnitude of the channel is
		compared. If the axis is not specified, it applies to all channels
		of this type.

What:		/sys/.../events/in_steps_change_en
KernelVersion:	4.0
Contact:	linux-iio@vger.kernel.org
@@ -1252,6 +1279,10 @@ Description:
		Actually start the buffer capture up.  Will start trigger
		if first device and appropriate.

		Note that it might be impossible to configure other attributes,
		(e.g.: events, scale, sampling rate) if they impact the currently
		active buffer capture session.

What:		/sys/bus/iio/devices/iio:deviceX/bufferY
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
+13 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_en
KernelVersion:	5.14
Contact:	linux-iio@vger.kernel.org
Description:
		Used to enable an output for balancing cells for time
		controlled via in_voltage_Y-voltageZ_balance_switch_timer.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_balance_switch_timer
KernelVersion:	5.14
Contact:	linux-iio@vger.kernel.org
Description:
		Time in seconds for which balance switch will be turned on.
		Multiple of 71.5 seconds.
Loading