lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240503-congatec-board-controller-v1-0-fec5236270e7@bootlin.com>
Date: Fri, 09 Aug 2024 16:52:04 +0200
From: Thomas Richard <thomas.richard@...tlin.com>
To: Lee Jones <lee@...nel.org>, Linus Walleij <linus.walleij@...aro.org>, 
 Bartosz Golaszewski <brgl@...ev.pl>, Andi Shyti <andi.shyti@...nel.org>, 
 Wim Van Sebroeck <wim@...ux-watchdog.org>, 
 Guenter Roeck <linux@...ck-us.net>
Cc: linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org, 
 linux-i2c@...r.kernel.org, linux-watchdog@...r.kernel.org, 
 thomas.petazzoni@...tlin.com, blake.vermeer@...sight.com, 
 Thomas Richard <thomas.richard@...tlin.com>
Subject: [PATCH 0/5] Congatec Board Controller drivers

The Congatec Board Controller is a microcontroller embedded on the x86 SoM
of Congatec. It's able to manage lots of features, such as a watchdog, some
GPIOs, I2C busses ...

There is no datasheet or specific documentation for this Board Controller.
The only sources of information are the driver, library and tools provided
by Congatec in their yocto metalayer [1].

The Congatec implementation (available in [1]) doesn't follow the good
practice (a unique driver, and all accesses are done using custom ioctls).

This series implements an mfd driver, a gpio driver, a watchdog driver and
an I2C bus driver, to use the standard API from userspace.

For now, only the conga-SA7 module [2] is supported. For this board, the
Board Controller has:
- Two I2C busses
- 14 GPIOs
- A wathdog (with pretimeout support)

It also has temperature, voltage and fan sensors. They will be supported
later.

For the development, the conga-SEVAL board [3] was used.
With this board you have access to the 14 GPIOs, and the two I2C busses.
On each I2C bus, a 24c16 EEPROM is present by default.

To be able to drive GPIO 4, 5 and 6, a specific BIOS configuration is
needed: HD audio shall be disabled, and they shall be set in GPIO mode.

[1] https://git.congatec.com/x86/meta-congatec-x86/
[2] https://www.congatec.com/fileadmin/user_upload/Documents/Manual/SA70.pdf
[3] https://www.congatec.com/fileadmin/user_upload/Documents/Manual/SEVAL.pdf

Signed-off-by: Thomas Richard <thomas.richard@...tlin.com>
---
Thomas Richard (5):
      mfd: add Congatec Board Controller mfd driver
      gpio: Congatec Board Controller gpio driver
      i2c: Congatec Board Controller i2c bus driver
      watchdog: Congatec Board Controller watchdog timer driver
      MAINTAINERS: Add entry for Congatec Board Controller

 MAINTAINERS                   |   9 +
 drivers/gpio/Kconfig          |  10 +
 drivers/gpio/Makefile         |   1 +
 drivers/gpio/gpio-cgbc.c      | 203 +++++++++++++++++++
 drivers/i2c/busses/Kconfig    |  10 +
 drivers/i2c/busses/Makefile   |   1 +
 drivers/i2c/busses/i2c-cgbc.c | 407 +++++++++++++++++++++++++++++++++++++
 drivers/mfd/Kconfig           |  12 ++
 drivers/mfd/Makefile          |   1 +
 drivers/mfd/cgbc-core.c       | 453 ++++++++++++++++++++++++++++++++++++++++++
 drivers/watchdog/Kconfig      |  10 +
 drivers/watchdog/Makefile     |   1 +
 drivers/watchdog/cgbc_wdt.c   | 217 ++++++++++++++++++++
 include/linux/mfd/cgbc.h      |  44 ++++
 14 files changed, 1379 insertions(+)
---
base-commit: d31d4ea2a5e337e60f6da9a90e41d4061bdcec91
change-id: 20240503-congatec-board-controller-82c6b84cd4ea

Best regards,
-- 
Thomas Richard <thomas.richard@...tlin.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ