Commit e2c874f9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v6.6-1' of...

Merge tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver updates from Hans de Goede:

 - hp-bioscfg: New firmware-attributes driver for changing BIOS settings
   from within Linux

 - asus-wmi: Add charger mode, middle fan and eGPU settings support

 - ideapad: Support keyboard backlight control on more models

 - mellanox: Support for new models

 - sel-3350: New LED and power-supply driver for this industrial
   mainboard

 - simatic-ipc: Add RTC battery monitor and various new models support

 - miscellaneous other cleanups / fixes

* tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (101 commits)
  platform/x86: asus-wmi: corrections to egpu safety check
  platform/x86: mlx-platform: Add dependency on PCI to Kconfig
  platform/x86: ideapad-laptop: Add support for keyboard backlights using KBLC ACPI symbol
  platform/x86/amd/pmc: Fix build error with randconfig
  platform/x86/amd/pmf: Fix a missing cleanup path
  watchdog: simatic: Use idiomatic selection of P2SB
  platform/x86: p2sb: Make the Kconfig symbol hidden
  Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
  platform: mellanox: nvsw-sn2201: change fans i2c busses.
  platform: mellanox: mlxreg-hotplug: Extend condition for notification callback processing
  platform: mellanox: Add initial support for PCIe based programming logic device
  platform: mellanox: mlx-platform: Get interrupt line through ACPI
  platform: mellanox: mlx-platform: Introduce ACPI init flow
  platform: mellanox: mlx-platform: Prepare driver to allow probing through ACPI infrastructure
  platform: mellanox: mlx-platform: Add reset callback
  platform: mellanox: Cosmetic changes
  platform: mellanox: mlx-platform: Modify power off callback
  platform: mellanox: mlx-platform: add support for additional CPLD
  platform: mellanox: mlx-platform: Add reset cause attribute
  platform: mellanox: mlx-platform: Modify health and power hotplug action
  ...
parents e0152e74 acce85a7
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -662,3 +662,56 @@ Description: This file shows the system reset cause due to AC power failure.
		Value 1 in file means this is reset cause, 0 - otherwise.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_pn
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_version
What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld5_version_min
Date:		August 2023
KernelVersion:	6.6
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	These files show with which CPLD part numbers, version and minor
		versions have been burned the 5-th CPLD device equipped on a
		system.

		The files are read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_cap
Date:		August 2023
KernelVersion:	6.6
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file indicates the available method of CPLD/FPGA devices
		field update through the JTAG chain:

		b00 - field update through LPC bus register memory space.
		b01 - Reserved.
		b10 - Reserved.
		b11 - field update through CPU GPIOs bit-banging.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lid_open
Date:		August 2023
KernelVersion:	6.6
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	1 - indicates that system lid is opened, otherwise 0.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_long_pwr_pb
Date:		August 2023
KernelVersion:	6.6
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file if set 1 indicates that system has been reset by
		long press of power button.

		The file is read only.

What:		/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_swb_dc_dc_pwr_fail
Date:		August 2023
KernelVersion:	6.6
Contact:	Vadim Pasternak <vadimp@nvidia.com>
Description:	This file shows 1 in case the system reset happened due to the
		failure of any DC-DC power converter devices equipped on the
		switch board.

		The file is read only.
+31 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/tpmi-<n>/pfs_dump
Date:		November 2023
KernelVersion:	6.6
Contact:	srinivas.pandruvada@linux.intel.com
Description:
The PFS (PM Feature Structure) table, shows details of each power
management feature. This includes:
tpmi_id, number of entries, entry size, offset, vsec offset, lock status
and disabled status.
Users:		Debugging, any user space test suite

What:		/sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_dump
Date:		November 2023
KernelVersion:	6.6
Contact:	srinivas.pandruvada@linux.intel.com
Description:
Shows the memory dump of the MMIO region for a TPMI ID.
Users:		Debugging, any user space test suite

What:		/sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_write
Date:		November 2023
KernelVersion:	6.6
Contact:	srinivas.pandruvada@linux.intel.com
Description:
Allows to write at any offset. It doesn't check for Read/Write access
as hardware will not allow to write at read-only memory. This write is
at offset multiples of 4. The format is instance,offset,contents.
Example:
echo 0,0x20,0xff > mem_write
echo 1,64,64 > mem_write
Users:		Debugging, any user space test suite
+99 −2
Original line number Diff line number Diff line
@@ -22,6 +22,11 @@ Description:
			- integer: a range of numerical values
			- string

		HP specific types
		-----------------
			- ordered-list - a set of ordered list valid values


		All attribute types support the following values:

		current_value:
@@ -126,6 +131,21 @@ Description:
					value will not be effective through sysfs until this rule is
					met.

		HP specific class extensions
		------------------------------

		On HP systems the following additional attributes are available:

		"ordered-list"-type specific properties:

		elements:
					A file that can be read to obtain the possible
					list of values of the <attr>. Values are separated using
					semi-colon (``;``) and listed according to their priority.
					An element listed first has the highest priority. Writing
					the list in a different order to current_value alters
					the priority order for the particular attribute.

What:		/sys/class/firmware-attributes/*/authentication/
Date:		February 2021
KernelVersion:	5.11
@@ -206,7 +226,7 @@ Description:
		Drivers may emit a CHANGE uevent when a password is set or unset
		userspace may check it again.

		On Dell and Lenovo systems, if Admin password is set, then all BIOS attributes
		On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributes
		require password validation.
		On Lenovo systems if you change the Admin password the new password is not active until
		the next boot.
@@ -296,6 +316,15 @@ Description:
						echo "signature" > authentication/Admin/signature
						echo "password" > authentication/Admin/certificate_to_password

		HP specific class extensions
		--------------------------------

		On HP systems the following additional settings are available:

		role: enhanced-bios-auth:
					This role is specific to Secure Platform Management (SPM) attribute.
					It requires configuring an endorsement (kek) and signing certificate (sk).


What:		/sys/class/firmware-attributes/*/attributes/pending_reboot
Date:		February 2021
@@ -364,3 +393,71 @@ Description:
		use it to enable extra debug attributes or BIOS features for testing purposes.

		Note that any changes to this attribute requires a reboot for changes to take effect.


		HP specific class extensions - Secure Platform Manager (SPM)
		--------------------------------

What:		/sys/class/firmware-attributes/*/authentication/SPM/kek
Date:		March 2023
KernelVersion:	5.18
Contact:	"Jorge Lopez" <jorge.lopez2@hp.com>
Description:
		'kek' Key-Encryption-Key is a write-only file that can be used to configure the
		RSA public key that will be used by the BIOS to verify
		signatures when setting the signing key.  When written,
		the bytes should correspond to the KEK certificate
		(x509 .DER format containing an OU).  The size of the
		certificate must be less than or equal to 4095 bytes.

What:		/sys/class/firmware-attributes/*/authentication/SPM/sk
Date:		March 2023
KernelVersion:	5.18
Contact:	"Jorge Lopez" <jorge.lopez2@hp.com>
Description:
		'sk' Signature Key is a write-only file that can be used to configure the RSA
		public key that will be used by the BIOS to verify signatures
		when configuring BIOS settings and security features.  When
		written, the bytes should correspond to the modulus of the
		public key.  The exponent is assumed to be 0x10001.

What:		/sys/class/firmware-attributes/*/authentication/SPM/status
Date:		March 2023
KernelVersion:	5.18
Contact:	"Jorge Lopez" <jorge.lopez2@hp.com>
Description:
		'status' is a read-only file that returns ASCII text in JSON format reporting
		the status information.

		  "State": "not provisioned | provisioned | provisioning in progress",
		  "Version": "Major.Minor",
		  "Nonce": <16-bit unsigned number display in base 10>,
		  "FeaturesInUse": <16-bit unsigned number display in base 10>,
		  "EndorsementKeyMod": "<256 bytes in base64>",
		  "SigningKeyMod": "<256 bytes in base64>"

What:		/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries
Date:		March 2023
KernelVersion:	5.18
Contact:	"Jorge Lopez" <jorge.lopez2@hp.com>
Description:
		'audit_log_entries' is a read-only file that returns the events in the log.

			Audit log entry format

			Byte 0-15:   Requested Audit Log entry  (Each Audit log is 16 bytes)
			Byte 16-127: Unused

What:		/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count
Date:		March 2023
KernelVersion:	5.18
Contact:	"Jorge Lopez" <jorge.lopez2@hp.com>
Description:
		'audit_log_entry_count' is a read-only file that returns the number of existing
		audit log events available to be read. Values are separated using comma. (``,``)

			[No of entries],[log entry size],[Max number of entries supported]

		log entry size identifies audit log size for the current BIOS version.
		The current size is 16 bytes but it can be up to 128 bytes long in future BIOS
		versions.
+88 −0
Original line number Diff line number Diff line
@@ -98,3 +98,91 @@ Description:
		Enable an LCD response-time boost to reduce or remove ghosting:
			* 0 - Disable,
			* 1 - Enable

What:		/sys/devices/platform/<platform>/charge_mode
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Get the current charging mode being used:
			* 1 - Barrel connected charger,
			* 2 - USB-C charging
			* 3 - Both connected, barrel used for charging

What:		/sys/devices/platform/<platform>/egpu_connected
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Show if the egpu (XG Mobile) is correctly connected:
			* 0 - False,
			* 1 - True

What:		/sys/devices/platform/<platform>/mini_led_mode
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Change the mini-LED mode:
			* 0 - Single-zone,
			* 1 - Multi-zone

What:		/sys/devices/platform/<platform>/ppt_pl1_spl
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the Package Power Target total of CPU: PL1 on Intel, SPL on AMD.
		Shown on Intel+Nvidia or AMD+Nvidia based systems:

			* min=5, max=250

What:		/sys/devices/platform/<platform>/ppt_pl2_sppt
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the Slow Package Power Tracking Limit of CPU: PL2 on Intel, SPPT,
		on AMD. Shown on Intel+Nvidia or AMD+Nvidia based systems:

			* min=5, max=250

What:		/sys/devices/platform/<platform>/ppt_fppt
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the Fast Package Power Tracking Limit of CPU. AMD+Nvidia only:
			* min=5, max=250

What:		/sys/devices/platform/<platform>/ppt_apu_sppt
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the APU SPPT limit. Shown on full AMD systems only:
			* min=5, max=130

What:		/sys/devices/platform/<platform>/ppt_platform_sppt
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the platform SPPT limit. Shown on full AMD systems only:
			* min=5, max=130

What:		/sys/devices/platform/<platform>/nv_dynamic_boost
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the dynamic boost limit of the Nvidia dGPU:
			* min=5, max=25

What:		/sys/devices/platform/<platform>/nv_temp_target
Date:		Jun 2023
KernelVersion:	6.5
Contact:	"Luke Jones" <luke@ljones.dev>
Description:
		Set the target temperature limit of the Nvidia dGPU:
			* min=75, max=87
+66 −0
Original line number Diff line number Diff line
@@ -84,3 +84,69 @@ Description:
		The file used to write BlueField boot log with the format
                "[INFO|WARN|ERR|ASSERT ]<msg>". Log level 'INFO' is used by
                default if not specified.

What:		/sys/bus/platform/devices/MLNXBF04:00/oob_mac
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "oob_mac" sysfs attribute holds the MAC address for
                the out-of-band 1Gbps Ethernet port.  This MAC address is
                provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/opn
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "opn" sysfs attribute holds the board's part number.
                This value is provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/sku
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "sku" sysfs attribute holds the board's SKU number.
                This value is provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/modl
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "modl" sysfs attribute holds the board's model number.
                This value is provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/sn
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "sn" sysfs attribute holds the board's serial number.
                This value is provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/uuid
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "uuid" sysfs attribute holds the board's UUID.
                This value is provided by the manufacturing team.

What:		/sys/bus/platform/devices/MLNXBF04:00/rev
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "rev" sysfs attribute holds the board's revision.
                This value is provided on a board-level label.

What:		/sys/bus/platform/devices/MLNXBF04:00/mfg_lock
Date:		August 2023
KernelVersion:	6.5
Contact:	"David Thompson <davthompson@nvidia.com>"
Description:
		The "mfg_lock" sysfs attribute is write-only.
                A successful write to this attribute will latch the
                board-level attributes into EEPROM, making them read-only.
Loading