Commit 0f920277 authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Greg Kroah-Hartman

misc: gehc-achc: new driver

General Electric Healthcare's PPD has a secondary processor from
NXP's Kinetis K20 series. That device has two SPI chip selects:

The main interface's behaviour depends on the loaded firmware
and is currently unused.

The secondary interface can be used to update the firmware using
EzPort protocol. This is implemented by this driver using the
kernel's firmware API. The firmware is being flashed into
non-volatile flash memory, so it is enough to flash it once
and not on every boot. Flashing will wear the flash memory
(it has a life time of at least 10k programming cycles). At
the same time only occasional FW updates are expected (like e.g.
a BIOS update). Thus the firmware update is triggered via sysfs
instead of doing it in the driver's probe routine like many
other drivers.
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20210802172309.164365-4-sebastian.reichel@collabora.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cd7cd5b7
What: /sys/bus/spi/<dev>/update_firmware
Date: Jul 2021
Contact: sebastian.reichel@collabora.com
Description: Write 1 to this file to update the ACHC microcontroller
firmware via the EzPort interface. For this the kernel
will load "achc.bin" via the firmware API (so usually
from /lib/firmware). The write will block until the FW
has either been flashed successfully or an error occured.
What: /sys/bus/spi/<dev>/reset
Date: Jul 2021
Contact: sebastian.reichel@collabora.com
Description: This file represents the microcontroller's reset line.
1 means the reset line is asserted, 0 means it's not
asserted. The file is read and writable.
......@@ -208,6 +208,18 @@ config CS5535_CLOCK_EVENT_SRC
MFGPTs have a better resolution and max interval than the
generic PIT, and are suitable for use as high-res timers.
config GEHC_ACHC
tristate "GEHC ACHC support"
depends on SPI && SYSFS
depends on SOC_IMX53 || COMPILE_TEST
select FW_LOADER
help
Support for GE ACHC microcontroller, that is part of the GE
PPD device.
To compile this driver as a module, choose M here: the
module will be called gehc-achc.
config HP_ILO
tristate "Channel interface driver for the HP iLO processor"
depends on PCI
......
......@@ -24,6 +24,7 @@ obj-$(CONFIG_KGDB_TESTS) += kgdbts.o
obj-$(CONFIG_SGI_XP) += sgi-xp/
obj-$(CONFIG_SGI_GRU) += sgi-gru/
obj-$(CONFIG_CS5535_MFGPT) += cs5535-mfgpt.o
obj-$(CONFIG_GEHC_ACHC) += gehc-achc.o
obj-$(CONFIG_HP_ILO) += hpilo.o
obj-$(CONFIG_APDS9802ALS) += apds9802als.o
obj-$(CONFIG_ISL29003) += isl29003.o
......
This diff is collapsed.
......@@ -677,7 +677,6 @@ static struct class *spidev_class;
static const struct of_device_id spidev_dt_ids[] = {
{ .compatible = "rohm,dh2228fv" },
{ .compatible = "lineartechnology,ltc2488" },
{ .compatible = "ge,achc" },
{ .compatible = "semtech,sx1301" },
{ .compatible = "lwn,bk4" },
{ .compatible = "dh,dhcom-board" },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment