Commit 08ebc9de authored by Thomas Richard's avatar Thomas Richard Committed by Guenter Roeck
Browse files

hwmon: Add Congatec Board Controller monitoring driver



Add support for the Congatec Board Controller. This controller exposes
temperature, voltage, current and fan sensors.

The available sensors list cannot be predicted. Some sensors can be
present or not, depending the system.
The driver has an internal list of all possible sensors, for all Congatec
boards. The Board Controller gives to the driver its sensors list, and
their status (active or not).

Signed-off-by: default avatarThomas Richard <thomas.richard@bootlin.com>
Link: https://lore.kernel.org/r/20250203-congatec-board-controller-hwmon-v4-1-ff6c76a4662c@bootlin.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent c1d6afdb
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0-or-later

Kernel driver cgbc-hwmon
========================

Supported chips:

 * Congatec Board Controller.

   Prefix: 'cgbc-hwmon'

Author: Thomas Richard <thomas.richard@bootlin.com>

Description
-----------

This driver enables monitoring support for the Congatec Board Controller.
This controller is embedded on the x86 SoMs of Congatec.

Sysfs entries
-------------

The following sysfs entries list contains all sensors defined in the Board
Controller. The available sensors in sysfs depend on the SoM and the
system.

============= ======================
Name          Description
============= ======================
temp1_input   CPU temperature
temp2_input   Box temperature
temp3_input   Ambient temperature
temp4_input   Board temperature
temp5_input   Carrier temperature
temp6_input   Chipset temperature
temp7_input   Video temperature
temp8_input   Other temperature
temp9_input   TOPDIM temperature
temp10_input  BOTTOMDIM temperature
in0_input     CPU voltage
in1_input     DC Runtime voltage
in2_input     DC Standby voltage
in3_input     CMOS Battery voltage
in4_input     Battery voltage
in5_input     AC voltage
in6_input     Other voltage
in7_input     5V voltage
in8_input     5V Standby voltage
in9_input     3V3 voltage
in10_input    3V3 Standby voltage
in11_input    VCore A voltage
in12_input    VCore B voltage
in13_input    12V voltage
curr1_input   DC current
curr2_input   5V current
curr3_input   12V current
fan1_input    CPU fan
fan2_input    Box fan
fan3_input    Ambient fan
fan4_input    Chiptset fan
fan5_input    Video fan
fan6_input    Other fan
============= ======================
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ Hardware Monitoring Kernel Drivers
   bel-pfe
   bpa-rs600
   bt1-pvt
   cgbc-hwmon
   chipcap2
   coretemp
   corsair-cpro
+1 −0
Original line number Diff line number Diff line
@@ -5874,6 +5874,7 @@ CONGATEC BOARD CONTROLLER MFD DRIVER
M:	Thomas Richard <thomas.richard@bootlin.com>
S:	Maintained
F:	drivers/gpio/gpio-cgbc.c
F:	drivers/hwmon/cgbc-hwmon.c
F:	drivers/i2c/busses/i2c-cgbc.c
F:	drivers/mfd/cgbc-core.c
F:	drivers/watchdog/cgbc_wdt.c
+10 −0
Original line number Diff line number Diff line
@@ -463,6 +463,16 @@ config SENSORS_BT1_PVT_ALARMS
	  the data conversion will be periodically performed and the data will be
	  saved in the internal driver cache.

config SENSORS_CGBC
	tristate "Congatec Board Controller Sensors"
	depends on MFD_CGBC
	help
	  Enable sensors support for the Congatec Board Controller. It has
	  temperature, voltage, current and fan sensors.

	  This driver can also be built as a module. If so, the module will be
	  called cgbc-hwmon.

config SENSORS_CHIPCAP2
	tristate "Amphenol ChipCap 2 relative humidity and temperature sensor"
	depends on I2C
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ obj-$(CONFIG_SENSORS_ASUS_ROG_RYUJIN) += asus_rog_ryujin.o
obj-$(CONFIG_SENSORS_ATXP1)	+= atxp1.o
obj-$(CONFIG_SENSORS_AXI_FAN_CONTROL) += axi-fan-control.o
obj-$(CONFIG_SENSORS_BT1_PVT)	+= bt1-pvt.o
obj-$(CONFIG_SENSORS_CGBC)	+= cgbc-hwmon.o
obj-$(CONFIG_SENSORS_CHIPCAP2) += chipcap2.o
obj-$(CONFIG_SENSORS_CORETEMP)	+= coretemp.o
obj-$(CONFIG_SENSORS_CORSAIR_CPRO) += corsair-cpro.o
Loading