MTK8362 9.0上调试 型号为cht8305温湿度传感器

MTK8362 9.0上调试 型号为cht8305温湿度传感器

1 查看原理图以及gpio映射表可以知道 cht8305温湿度传感器 使用i2c1通道进行通讯,3.3v供电引脚为gpio 8 ,中断引脚为gpio13,由此可以配置cht8305温湿度传感器的dts。
MTK8362 9.0上调试 型号为cht8305温湿度传感器_第1张图片
MTK8362 9.0上调试 型号为cht8305温湿度传感器_第2张图片
MTK8362 9.0上调试 型号为cht8305温湿度传感器_第3张图片
根据上面的原理图和gpio映射表ALERT—>AB15---->gpio13可以得知,cht8305温湿度传感器中断引脚ALERT对应的引脚是gpio13

MTK8362 9.0上调试 型号为cht8305温湿度传感器_第4张图片
MTK8362 9.0上调试 型号为cht8305温湿度传感器_第5张图片
MTK8362 9.0上调试 型号为cht8305温湿度传感器_第6张图片
根据上面的原理图和gpio映射表VCC_3.3v------>3.3v_AUDIO_EN------->AA15---->gipo8可以得知,cht8305温湿度传感器3.3v供电引脚为gpio 8对应的引脚是gpio8

dts文件配置如下:
dts文件路径为:\kernel-4.4\arch\arm\boot\dts\aiot8362am3_bsp.dts

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins_a>;
	status = "okay";
	clock-frequency = <100000>;

	cht8305@40 { 
		compatible = "mediatek,cht8305";
		reg = <0x40>;
		i2c_num = <1>;	
		cht8305_alert_gpio = <&pio 13 0>;
		vcc_3v3_power_gpio = <&pio 8 0>;

		status = "okay";
	};
};

2 配置aiot8362am3_bsp_defconfig和aiot8362am3_bsp_debug_defconfig文件以及配置相关的Makefile和Kconfig
2.1 配置aiot8362am3_bsp_defconfig和aiot8362am3_bsp_debug_defconfig文件
文件路径为:\kernel-4.4\arch\arm\configs\aiot8362am3_bsp_debug_defconfig和\kernel-4.4\arch\arm\configs\aiot8362am3_bsp_defconfig

#humidity
CONFIG_CUSTOM_KERNEL_HUMIDITY=y

**2.2 配置相关的Makefile和Kconfig **
\kernel-4.4\drivers\misc\mediatek\sensors-1.0\Makefile

#added by donghsiyi for humidity start 
obj-$(CONFIG_CUSTOM_KERNEL_HUMIDITY) += humidity/
#added by donghsiyi for humidity end

\kernel-4.4\drivers\misc\mediatek\sensors-1.0\Kconfig

#added by donghsiyi for humidity start 
source "drivers/misc/mediatek/sensors-1.0/humidity/Kconfig"
#added by donghsiyi for humidity end

\kernel-4.4\drivers\misc\mediatek\sensors-1.0\humidity\Makefile

obj-y   +=  cht8305.o

\kernel-4.4\drivers\misc\mediatek\sensors-1.0\humidity\Kconfig

config CUSTOM_KERNEL_HUMIDITY
	bool "CUSTOM_KERNEL_HUMIDITY Config"
	default n
	help
	  CUSTOM_KERNEL_HUMIDITY for cht8305

3 把 cht8305.c放进去编译查看log发现 cht8305温湿度传感器i2c是能够通讯成功的,同时相关节点也产生了,由此可以验证cht8305温湿度传感器移植成功, log如下:

  F:\20200522\putty13.log (13 hits)
	Line 3585: [    0.412169] stk3x3x_init OutCHT8305_init 
	Line 4095: [    0.711881] <3>.(3)[1:swapper/0]-------cht8305_probe 248 client->addr = 0x40 start-----
	Line 4097: [    0.712889] <3>.(3)[1:swapper/0]-------cht8305_probe 250 client->addr = 0x40 start-----
	Line 4099: [    0.713949] <3>.(3)[1:swapper/0]cht8305_probe find mediatek,cht8305 node successed!!
	Line 4099: [    0.713949] <3>.(3)[1:swapper/0]cht8305_probe find mediatek,cht8305 node successed!!
	Line 4103: [    0.715562] <3>.(3)[1:swapper/0]cht8305_alert_gpio 400
	Line 4105: [    0.716226] <3>.(3)[1:swapper/0]-------cht8305_probe 277 vcc_3v3_power_gpio = 1 cht8305_alert_gpio = 1------
	Line 4105: [    0.716226] <3>.(3)[1:swapper/0]-------cht8305_probe 277 vcc_3v3_power_gpio = 1 cht8305_alert_gpio = 1------
	Line 4107: [    0.717540] <3>.(3)[1:swapper/0]cht8305_i2c_read: ret == 1
	Line 4109: [    0.738891] <3>.(3)[1:swapper/0]cht8305_i2c_read: read_buf == 0x83 5
	Line 4111: [    0.739678] <3>.(3)[1:swapper/0]cht8305_probe Read ID value is :0x8305
	Line 4113: [    0.740502] <3>.(3)[1:swapper/0]cht8305: probe end
	Line 4115: [    0.741101] <3>.(3)[1:swapper/0]BOOTPROF:       741.100539:probe: probe=i2c_device_probe drv=cht8305(c0e43c90)    29.213231ms

备注:cht8305温湿度传感器产生的相关节点如下:
温度读取节点 /sys/bus/i2c/devices/1-0040/temp1_input
湿度读取节点 /sys/bus/i2c/devices/1-0040/humidity1_input

你可能感兴趣的:(MTK调试笔记)