MTK8362 9.0上調試 型號爲cht8305溫溼度傳感器

MTK8362 9.0上調試 型號爲cht8305溫溼度傳感器

1 查看原理圖以及gpio映射表可以知道 cht8305溫溼度傳感器 使用i2c1通道進行通訊,3.3v供電引腳爲gpio 8 ,中斷引腳爲gpio13,由此可以配置cht8305溫溼度傳感器的dts。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
根據上面的原理圖和gpio映射表ALERT—>AB15---->gpio13可以得知,cht8305溫溼度傳感器中斷引腳ALERT對應的引腳是gpio13

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
根據上面的原理圖和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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章