[PATCH v10 0/9] Turris Omnia MCU driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Andy, Hans, Ilpo, Arnd, Gregory, and others,

this is v10 of the series adding Turris Omnia MCU driver.

This series still depends on the immutable branch between LEDs and
locking, introducing devm_mutex_init(), see the PR
  https://lore.kernel.org/linux-leds/20240412084616.GR2399047@xxxxxxxxxx/

See also cover letters for v1 to v9:
  https://patchwork.kernel.org/project/linux-soc/cover/20230823161012.6986-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20230919103815.16818-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20231023143130.11602-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20231026161803.16750-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20240323164359.21642-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20240418121116.22184-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20240424173809.7214-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20240430115111.3453-1-kabel@xxxxxxxxxx/
  https://patchwork.kernel.org/project/linux-soc/cover/20240508103118.23345-1-kabel@xxxxxxxxxx/

Changes since v9:
- in functions where mcu->client is referred to multiple times added
  a helper variable client = mcu->client, suggested by Andy
- changed instances of
    if (!err)
      do_something;
    return err;
  patterns to the more traditional pattern
    if (err)
      return err;
    do_something;
    return 0;
  as suggested by Andy
- fixed some typos reported by Andy
- changed crc32_be(0xffffffff, ...) to crc32_be(~0, ...), as suggested
  by Andy
- changed to use the DECI unit macro from units.h instead of hardcoded
  10, as suggested by Andy
- changed -EINTR to -ERESTARTSYS in trng read and signature read
- changed the mutex lock in signature read to interruptible mutex lock,
  as pointed out by Andy

Marek Behún (9):
  dt-bindings: firmware: add cznic,turris-omnia-mcu binding
  platform: cznic: Add preliminary support for Turris Omnia MCU
  platform: cznic: turris-omnia-mcu: Add support for MCU connected GPIOs
  platform: cznic: turris-omnia-mcu: Add support for poweroff and wakeup
  platform: cznic: turris-omnia-mcu: Add support for MCU watchdog
  platform: cznic: turris-omnia-mcu: Add support for MCU provided TRNG
  platform: cznic: turris-omnia-mcu: Add support for digital message
    signing via debugfs
  ARM: dts: turris-omnia: Add MCU system-controller node
  ARM: dts: turris-omnia: Add GPIO key node for front button

 .../ABI/testing/debugfs-turris-omnia-mcu      |   13 +
 .../sysfs-bus-i2c-devices-turris-omnia-mcu    |  126 ++
 .../firmware/cznic,turris-omnia-mcu.yaml      |   86 ++
 MAINTAINERS                                   |    5 +
 .../dts/marvell/armada-385-turris-omnia.dts   |   35 +-
 drivers/platform/Kconfig                      |    2 +
 drivers/platform/Makefile                     |    1 +
 drivers/platform/cznic/Kconfig                |   50 +
 drivers/platform/cznic/Makefile               |    9 +
 .../platform/cznic/turris-omnia-mcu-base.c    |  450 +++++++
 .../platform/cznic/turris-omnia-mcu-debugfs.c |  208 ++++
 .../platform/cznic/turris-omnia-mcu-gpio.c    | 1039 +++++++++++++++++
 .../cznic/turris-omnia-mcu-sys-off-wakeup.c   |  257 ++++
 .../platform/cznic/turris-omnia-mcu-trng.c    |  103 ++
 .../cznic/turris-omnia-mcu-watchdog.c         |  128 ++
 drivers/platform/cznic/turris-omnia-mcu.h     |  216 ++++
 include/linux/turris-omnia-mcu-interface.h    |  249 ++++
 17 files changed, 2976 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/ABI/testing/debugfs-turris-omnia-mcu
 create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-turris-omnia-mcu
 create mode 100644 Documentation/devicetree/bindings/firmware/cznic,turris-omnia-mcu.yaml
 create mode 100644 drivers/platform/cznic/Kconfig
 create mode 100644 drivers/platform/cznic/Makefile
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-base.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-debugfs.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-gpio.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-sys-off-wakeup.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-trng.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-watchdog.c
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu.h
 create mode 100644 include/linux/turris-omnia-mcu-interface.h

-- 
2.43.2





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux