|
|
Log in / Subscribe / Register

Turris Omnia MCU driver

From:  Marek Behún <kabel-AT-kernel.org>
To:  Gregory CLEMENT <gregory.clement-AT-bootlin.com>, Arnd Bergmann <arnd-AT-arndb.de>, soc-AT-kernel.org, arm-AT-kernel.org, Andy Shevchenko <andy-AT-kernel.org>, Hans de Goede <hdegoede-AT-redhat.com>, Ilpo Järvinen <ilpo.jarvinen-AT-linux.intel.com>, Alessandro Zummo <a.zummo-AT-towertech.it>, Alexandre Belloni <alexandre.belloni-AT-bootlin.com>, Bartosz Golaszewski <brgl-AT-bgdev.pl>, Christophe JAILLET <christophe.jaillet-AT-wanadoo.fr>, Dan Carpenter <dan.carpenter-AT-linaro.org>, devicetree-AT-vger.kernel.org, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Guenter Roeck <linux-AT-roeck-us.net>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Linus Walleij <linus.walleij-AT-linaro.org>, linux-crypto-AT-vger.kernel.org, linux-gpio-AT-vger.kernel.org, linux-rtc-AT-vger.kernel.org, linux-watchdog-AT-vger.kernel.org, Olivia Mackall <olivia-AT-selenic.com>, Rob Herring <robh+dt-AT-kernel.org>, Wim Van Sebroeck <wim-AT-linux-watchdog.org>
Subject:  [PATCH v11 0/8] Turris Omnia MCU driver
Date:  Wed, 05 Jun 2024 18:18:43 +0200
Message-ID:  <20240605161851.13911-1-kabel@kernel.org>
Cc:  Marek Behún <kabel-AT-kernel.org>, Andrew Lunn <andrew-AT-lunn.ch>, Conor Dooley <conor+dt-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Sebastian Hesselbarth <sebastian.hesselbarth-AT-gmail.com>, Uwe Kleine-König <uwe-AT-kleine-koenig.org>
Archive-link:  Article

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

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

Changes since v10:
- dropped patch 7 from v10 ("Add support for digital message signing via
  debugfs"). This must be done via different kernel API (should be
  doable via keyctl), but this requires more work which I currently
  don't have, unfortunately
- in patch 3 where I introduce support for MCU connected GPIOs
  changed u32 types to unsigned long where it made sense, in order
  to be able to use __assign_bit(), __set_bit(), test_bit().
  This was suggested by Andy.
- in patch 3 deduplicated code in omnia_gpio_get_multiple()
- moved the "fixing" in patch 3 of functions introduced in patch 2
  to patch 2, this was a rebasing error in v10
- changed date to September 2024 and KernelVersion to 6.11 in
  Documentation/ABI/testing/sysfs-bus-i2c-devices-turris-omnia-mcu

Links to previous cover letters (v1 to v10):
  https://patchwork.kernel.org/project/linux-soc/cover/2023...
  https://patchwork.kernel.org/project/linux-soc/cover/2023...
  https://patchwork.kernel.org/project/linux-soc/cover/2023...
  https://patchwork.kernel.org/project/linux-soc/cover/2023...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...
  https://patchwork.kernel.org/project/linux-soc/cover/2024...

Marek Behún (8):
  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
  ARM: dts: turris-omnia: Add MCU system-controller node
  ARM: dts: turris-omnia: Add GPIO key node for front button

 .../sysfs-bus-i2c-devices-turris-omnia-mcu    |  113 ++
 .../firmware/cznic,turris-omnia-mcu.yaml      |   86 ++
 MAINTAINERS                                   |    4 +
 .../dts/marvell/armada-385-turris-omnia.dts   |   35 +-
 drivers/platform/Kconfig                      |    2 +
 drivers/platform/Makefile                     |    1 +
 drivers/platform/cznic/Kconfig                |   48 +
 drivers/platform/cznic/Makefile               |    8 +
 .../platform/cznic/turris-omnia-mcu-base.c    |  407 +++++++
 .../platform/cznic/turris-omnia-mcu-gpio.c    | 1071 +++++++++++++++++
 .../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     |  194 +++
 include/linux/turris-omnia-mcu-interface.h    |  249 ++++
 15 files changed, 2705 insertions(+), 1 deletion(-)
 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-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.44.2




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds