RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

CPU:RK3288

Kernel:4.4

Systerm:linux(buidroot)

IC:TCN75A

 

 

下面我们来看这款芯片的介绍:

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

 

引脚介绍,一共八个引脚:

 

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

引脚描述:

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

我选择的是9位,0.5度的分辨率。

 

 

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

默认极限温度是80度

 

打印出来的温度值,换算公式是:

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

 

 

 

下面我们来看看驱动程序的介绍:

Linux驱动程序支持LM75兼容的温度传感器。Linux驱动程序支持通过I2C总线进行通信以及与硬件监视子系统的接口。

 

 

Linux Source Files

The files associated with this device are:

  1. drivers/hwmon/lm75.c
  2. Documentation/devicetree/bindings/i2c/trivial-devices.txt
  3. drivers/hwmon/lm75.h
  4. Documentation/hwmon/lm75

 

Menuconfig Location

Symbol: SENSORS_LM75 [=y]
Type  : tristate
Prompt: National Semiconductor LM75 and compatibles
  Location:
    -> Device Drivers
      -> Hardware Monitoring support (HWMON [=y])
  Defined at drivers/hwmon/Kconfig:923
  Depends on: HWMON [=y] && I2C [=y] && (THERMAL [=y] || !THERMAL_OF [=y])

 

在设备树配置好I2C的设备名称,地址之类,就可以编译烧录进去啦

 

开机后,运行下面命令:

[[email protected]:/]# /sys/devices/platform/ff160000.i2c/i2c-4/4-0048/hwmon/hwmon0]# cat  temp1_input 
32500

这个就表示32.5度。

 

驱动程序如下: