Commit cf2e8c54 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Drivers:
   - Add STMPE ADC Input driver
   - Add STMicroelectronics STPMIC1 Parent driver
   - Add STMicroelectronics STPMIC1 OnKey Misc driver
   - Add STMicroelectronics STPMIC1 Watchdog driver
   - Add Cirrus Logic Lochnagar Parent driver
   - Add TQ-Systems TQMX86 Parent driver

  New Device Support:
   - Add support for ADC to STMPE

  New (or moved) Functionality:
   - Move Lightbar functionality to its own driver; cros_ec_lightbar
   - Move VBC functionality to its own driver; cros_ec_vbc
   - Move VBC functionality to its own driver; cros_ec_vbc
   - Move DebugFS functionality to its own driver; cros_ec_debugfs
   - Move SYSFS functionality to its own driver; cros_ec_sysfs
   - Add support for input voltage options; tps65218

  Fixes:
   - Use devm_* managed resources; cros_ec
   - Device Tree documentation; stmpe, aspeed-lpc, lochnagar
   - Trivial Clean-ups; stmpe
   - Rip out broken modular code; aat2870-core, adp5520, as3711,
         db8500-prcmu, htc-i2cpld, max8925-core, rc5t583, sta2x11-mfd,
	 syscon, tps65090, tps65910, tps68470 tps80031, wm831x-spi,
	 wm831x-i2c, wm831x-core, wm8350-i2c, wm8350-core, wm8400-core
   - Kconfig fixups; INTEL_SOC_PMIC
   - Improve error path; sm501, sec-core
   - Use struct_size() helper; sm501
   - Constify; at91-usart
   - Use pointers instead of copying data; at91-usart
   - Deliver proper return value; cros_ec_dev
   - Trivial formatting/whitespace; sec-core"

* tag 'mfd-next-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (53 commits)
  mfd: mxs-lradc: Mark expected switch fall-through
  mfd: sec-core: Cleanup formatting to a consistent style
  mfd: tqmx86: IO controller with I2C, Wachdog and GPIO
  mfd: intel-lpss: Move linux/pm.h to the local header
  mfd: cros_ec_dev: Return number of bytes read with CROS_EC_DEV_IOCRDMEM
  mfd: tps68470: Drop unused MODULE_DEVICE_TABLE
  mfd: at91-usart: No need to copy mfd_cell in probe
  mfd: at91-usart: Constify at91_usart_spi_subdev and at91_usart_serial_subdev
  mfd: lochnagar: Add support for the Cirrus Logic Lochnagar
  mfd: lochnagar: Add initial binding documentation
  dt-bindings: mfd: aspeed-lpc: Make parameter optional
  mfd: sec-core: Return gracefully instead of BUG() if device cannot match
  mfd: sm501: Use struct_size() in devm_kzalloc()
  mfd: sm501: Fix potential NULL pointer dereference
  mfd: Kconfig: Fix I2C_DESIGNWARE_PLATFORM dependencies
  mfd: tps65218.c: Add input voltage options
  mfd: wm8400-core: Make it explicitly non-modular
  mfd: wm8350-core: Drop unused module infrastructure from non-modular code
  mfd: wm8350-i2c: Make it explicitly non-modular
  mfd: wm831x-core: Drop unused module infrastructure from non-modular code
  ...
parents 04e03618 d2d833e0
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
What:		/sys/class/chromeos/<ec-device-name>/flashinfo
Date:		August 2015
KernelVersion:	4.2
Description:
		Show the EC flash information.

What:		/sys/class/chromeos/<ec-device-name>/kb_wake_angle
Date:		March 2018
KernelVersion:	4.17
Description:
		Control the keyboard wake lid angle. Values are between
		0 and 360. This file will also show the keyboard wake lid
		angle by querying the hardware.

What:		/sys/class/chromeos/<ec-device-name>/reboot
Date:		August 2015
KernelVersion:	4.2
Description:
		Tell the EC to reboot in various ways. Options are:
		"cancel": Cancel a pending reboot.
		"ro": Jump to RO without rebooting.
		"rw": Jump to RW without rebooting.
		"cold": Cold reboot.
		"disable-jump": Disable jump until next reboot.
		"hibernate": Hibernate the EC.
		"at-shutdown": Reboot after an AP shutdown.

What:		/sys/class/chromeos/<ec-device-name>/version
Date:		August 2015
KernelVersion:	4.2
Description:
		Show the information about the EC software and hardware.
+74 −0
Original line number Diff line number Diff line
What:		/sys/class/chromeos/<ec-device-name>/lightbar/brightness
Date:		August 2015
KernelVersion:	4.2
Description:
		Writing to this file adjusts the overall brightness of
		the lightbar, separate from any color intensity. The
		valid range is 0 (off) to 255 (maximum brightness).

What:		/sys/class/chromeos/<ec-device-name>/lightbar/interval_msec
Date:		August 2015
KernelVersion:	4.2
Description:
		The lightbar is controlled by an embedded controller (EC),
		which also manages the keyboard, battery charging, fans,
		and other system hardware. To prevent unprivileged users
		from interfering with the other EC functions, the rate at
		which the lightbar control files can be read or written is
		limited.

		Reading this file will return the number of milliseconds
		that must elapse between accessing any of the lightbar
		functions through this interface. Going faster will simply
		block until the necessary interval has lapsed. The interval
		applies uniformly to all accesses of any kind by any user.

What:		/sys/class/chromeos/<ec-device-name>/lightbar/led_rgb
Date:		August 2015
KernelVersion:	4.2
Description:
		This allows you to control each LED segment. If the
		lightbar is already running one of the automatic
		sequences, you probably won’t see anything change because
		your color setting will be almost immediately replaced.
		To get useful results, you should stop the lightbar
		sequence first.

		The values written to this file are sets of four integers,
		indicating LED, RED, GREEN, BLUE. The LED number is 0 to 3
		to select a single segment, or 4 to set all four segments
		to the same value at once. The RED, GREEN, and BLUE
		numbers should be in the range 0 (off) to 255 (maximum).
		You can update more than one segment at a time by writing
		more than one set of four integers.

What:		/sys/class/chromeos/<ec-device-name>/lightbar/program
Date:		August 2015
KernelVersion:	4.2
Description:
		This allows you to upload and run custom lightbar sequences.

What:		/sys/class/chromeos/<ec-device-name>/lightbar/sequence
Date:		August 2015
KernelVersion:	4.2
Description:
		The Pixel lightbar has a number of built-in sequences
		that it displays under various conditions, such as at
		power on, shut down, or while running. Reading from this
		file displays the current sequence that the lightbar is
		displaying. Writing to this file allows you to change the
		sequence.

What:		/sys/class/chromeos/<ec-device-name>/lightbar/userspace_control
Date:		August 2015
KernelVersion:	4.2
Description:
		This allows you to take the control of the lightbar. This
		prevents the kernel from going through its normal
		sequences.

What:		/sys/class/chromeos/<ec-device-name>/lightbar/version
Date:		August 2015
KernelVersion:	4.2
Description:
		Show the information about the lightbar version.
+6 −0
Original line number Diff line number Diff line
What:		/sys/class/chromeos/<ec-device-name>/vbc/vboot_context
Date:		October 2015
KernelVersion:	4.4
Description:
		Read/write the verified boot context data included on a
		small nvram space on some EC implementations.
+21 −0
Original line number Diff line number Diff line
STMPE ADC driver
----------------

Required properties:
 - compatible: "st,stmpe-adc"

Optional properties:
Note that the ADC is shared with the STMPE touchscreen. ADC related settings
have to be done in the mfd.
- st,norequest-mask: bitmask specifying which ADC channels should _not_ be
  requestable due to different usage (e.g. touch)

Node name must be stmpe_adc and should be child node of stmpe node to
which it belongs.

Example:

	stmpe_adc {
		compatible = "st,stmpe-adc";
		st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */
	};
+28 −0
Original line number Diff line number Diff line
STMicroelectronics STPMIC1 Onkey

Required properties:

- compatible = "st,stpmic1-onkey";
- interrupts: interrupt line to use
- interrupt-names = "onkey-falling", "onkey-rising"
	onkey-falling: happens when onkey is pressed; IT_PONKEY_F of pmic
	onkey-rising: happens when onkey is released; IT_PONKEY_R of pmic

Optional properties:

- st,onkey-clear-cc-flag: onkey is able power on after an
  over-current shutdown event.
- st,onkey-pu-inactive: onkey pull up is not active
- power-off-time-sec: Duration in seconds which the key should be kept
        pressed for device to power off automatically (from 1 to 16 seconds).
        see See Documentation/devicetree/bindings/input/keys.txt

Example:

onkey {
	compatible = "st,stpmic1-onkey";
	interrupt-parent = <&pmic>;
	interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>;
	interrupt-names = "onkey-falling", "onkey-rising";
	power-off-time-sec = <10>;
};
Loading