BeaglePlay - First experiments with hwmon, lm-sensors, i2c, and MikroBus

Does anyone know what the thermal_zone0 and thermal_zone1 stand for?

debian@BeaglePlay:~$ ls /sys/class/thermal/thermal_zone
thermal_zone0/ thermal_zone1/ 

When idle, the temperatures, 39.45°C and 38.05°C, are still ok, but they seem to rise quite quickly under load.

debian@BeaglePlay:~$ cat /sys/class/thermal/thermal_zone0/temp 
debian@BeaglePlay:~$ cat /sys/class/thermal/thermal_zone1/temp 

A plugged-in Fan Click MIKROE-2004 is not recognised.

debian@BeaglePlay:~$ sudo sensors-detect
[sudo] password for debian: 
# sensors-detect version 3.6.0
# Kernel: 5.10.162-ti-arm64-r96 aarch64
# Cannot show processor info on aarch64 architecture.

Next adapter: OMAP I2C adapter (i2c-3)
Do you want to scan it? (YES/no/selectively): 
Adapter doesn't support all probing functions.
Some addresses won't be probed.
debian@BeaglePlay:~$ i2cdetect -y 3 
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
30: -- -- -- -- -- -- -- --                         
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

However, I can both read out the EMC2301 on the Click Board and write data to it.
Here I have read out the “duty cycle” from register 0x30, which is set to 0xFF at system start, which corresponds to a duty cycle of 100%. Because the small fan was too loud for me, I then tried two lower values.

debian@BeaglePlay:~$ i2cget -y 3 0x2f 0x30
debian@BeaglePlay:~$ i2cset -y 3 0x2f 0x30 0x68
debian@BeaglePlay:~$ i2cget -y 3 0x2f 0x30
debian@BeaglePlay:~$ i2cset -y 3 0x2f 0x30 0x80
debian@BeaglePlay:~$ i2cget -y 3 0x2f 0x30

Unfortunately, I can’t find the driver for the EMC2301. I think the driver is only integrated in the 6.2.6 kernel version.

debian@BeaglePlay:~$ ls /lib/modules/5.10.162-ti-arm64-r96/kernel/drivers/hwmon/emc*

EMC2301/2/3/5 Data Sheet - Microchip Technology
Fan click (EMC2301) user manual
NF-A4x10 5V PWM Fan
hwmon: add Microchip EMC230X fan controller driver

1 Like mentions:

The device supports a single VTM module, VTM0, which is located in the WKUP domain. VTM0 has two associated temperature monitors, Temp_Sensor_Main_0, and Temp_Sensor_Main_1, each of which are located near hotspots in the device die.

1 Like