Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32890b98 authored by Marc Dietrich's avatar Marc Dietrich Committed by Greg Kroah-Hartman
Browse files

Staging: initial version of the nvec driver



This is an implementation of a NVidia compliant embedded controller
protocol driver. It is used on some ARM-Tegra boards for device
communication.

Signed-off-by: default avatarMarc Dietrich <marvin24@gmx.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 23a42311
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -175,5 +175,7 @@ source "drivers/staging/altera-stapl/Kconfig"

source "drivers/staging/mei/Kconfig"

source "drivers/staging/nvec/Kconfig"

endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
+1 −0
Original line number Diff line number Diff line
@@ -70,3 +70,4 @@ obj-$(CONFIG_TOUCHSCREEN_CLEARPAD_TM1217) += cptm1217/
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4)	+= ste_rmi4/
obj-$(CONFIG_DRM_PSB)		+= gma500/
obj-$(CONFIG_INTEL_MEI)		+= mei/
obj-$(CONFIG_MFD_NVEC)		+= nvec/
+27 −0
Original line number Diff line number Diff line
config MFD_NVEC
	bool "NV Tegra Embedded Controller SMBus Interface"
	depends on I2C && GPIOLIB && ARCH_TEGRA
	help
	    Say Y here to enable support for a nVidia compliant embedded
	    controller.

config KEYBOARD_NVEC
	bool "Keyboard on nVidia compliant EC"
	depends on MFD_NVEC
	help
	  Say Y here to enable support for a keyboard connected to 
	  a nVidia compliant embedded controller.

config SERIO_NVEC_PS2
	bool "PS2 on nVidia EC"
	depends on MFD_NVEC
	help
	  Say Y here to enable support for a Touchpad / Mouse connected
	  to a nVidia compliant embedded controller.

config NVEC_POWER
	bool "NVEC charger and battery"
	depends on MFD_NVEC
	help
	  Say Y to enable support for battery and charger interface for
	  nVidia compliant embedded controllers.
+4 −0
Original line number Diff line number Diff line
obj-$(CONFIG_SERIO_NVEC_PS2)	+= nvec_ps2.o
obj-$(CONFIG_MFD_NVEC)		+= nvec.o
obj-$(CONFIG_NVEC_POWER) 	+= nvec_power.o
obj-$(CONFIG_KEYBOARD_NVEC) 	+= nvec_kbd.o
+14 −0
Original line number Diff line number Diff line
NVEC: An NVidia compliant Embedded Controller Protocol Implemenation

This is an implementation of the NVEC protocol used to communicate with an
embedded controller (EC) via I2C bus. The EC is an I2C master while the host
processor is the I2C slave. Requests from the host processor to the EC are
started by triggering a gpio line.

There is no written documentation of the protocol available to the public,
but the source code[1] of the published nvec reference drivers can be a guide.
This driver is currently only used by the AC100 project[2], but it is likely,
that other Tegra boards (not yet mainlined, if ever) also use it.

[1] e.g. http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=android-tegra-2.6.32
[2] http://gitorious.org/ac100, http://launchpad.net/ac100
Loading