[RK3399]电磁屏:优派viewsonic与扩展IO(PCA9534)
Platform: ROCKCHIP
Chip: RK3399
OS: Android7.1.2
Kernel: 4.4.126
调试步骤
1.增加驱动,Viewsonic_I2C_Driver.c
2.修改Kconfig与Makefile以及defconfig(程序所用的),扩展io芯片是PCA9534:放开 PCA953X的宏
--- a/kernel/arch/arm64/configs/rockchip_defconfig
+++ b/kernel/arch/arm64/configs/rockchip_defconfig
@@ -809,3 +809,6 @@ CONFIG_CRYPTO_GHASH_ARM64_CE=yCONFIG_CRYPTO_AES_ARM64_CE_CCM=yCONFIG_CRYPTO_AES_ARM64_CE_BLK=yCONFIG_CRYPTO_CRC32_ARM64=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_TOUCHSCREEN_VIEWSONIC=y
\ No newline at end of file
diff --git a/kernel/drivers/input/touchscreen/Kconfig b/kernel/drivers/input/touchscreen/Kconfig
old mode 100644
new mode 100755
index 4f569b3..3213bf2
--- a/kernel/drivers/input/touchscreen/Kconfig
+++ b/kernel/drivers/input/touchscreen/Kconfig
@@ -1160,4 +1160,11 @@ config TOUCHSCREEN_VTL_CT36Xconfig TOUCHSCREEN_GT1Xtristate "GT1X touchscreens support"+config TOUCHSCREEN_VIEWSONIC
+ bool "ViewSonic Electromagnetic Pen I2C Driver "
+ default n
+ help
+ ViewSonic Electromagnetic Pen I2C Driver Integration for Android
+
+endif
diff --git a/kernel/drivers/input/touchscreen/Makefile b/kernel/drivers/input/touchscreen/Makefile
old mode 100644
new mode 100755
index a56eba4..3c9e774
--- a/kernel/drivers/input/touchscreen/Makefile
+++ b/kernel/drivers/input/touchscreen/Makefile
@@ -99,5 +99,6 @@ obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.oobj-$(CONFIG_TOUCHSCREEN_ZFORCE) += zforce_ts.oobj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.oobj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o
+obj-$(CONFIG_TOUCHSCREEN_VIEWSONIC) += Viewsonic_I2C_Driver.oobj-$(CONFIG_TOUCHSCREEN_VTL_CT36X) += vtl_ts/
3.在板级dts上根据原理图找在哪个i2c下以及IRQ RST对应的管脚
1)多了一个电源管脚,故在源码Viewsonic_I2C_Driver.c里添加配置:看源码里并没有对电源脚进行操作,故需要把电源脚拉高
2)可以看出电磁屏以及PCA9534芯片都挂在i2c4上
3)RST脚与POWER脚是pca 9534扩展出来的IO脚;
PCA9534 i2c地址是linux代码里面的是实际的除以2故为0X20
4.故板级dts上添加如下
设备树里添加扩展IO的节点pca9534_gpio以及电磁屏的节点viewsonic
&i2c4{status = "okay";/*扩展IO配置*/pca9534_gpio:pca9534_gpio@20 {compatible = "nxp,pca9534";reg = <0x20>;#gpio-cells = <0x2>;pinctrl-names = "default";//interrupt-parent = <&gpio3>;//interrupts = <23 IRQ_TYPE_LEVEL_LOW>;status = "okay";};//viewsonic 电磁屏viewsonic:viewsonic@37{compatible = "viewsonic_i2c";reg = <0x37>;power_gpio = <&pca9534_gpio 2 GPIO_ACTIVE_HIGH>;irq_gpio = <&gpio1 23 IRQ_TYPE_LEVEL_LOW>;//gpio1_c7reset_gpio = <&pca9534_gpio 1 GPIO_ACTIVE_LOW>;//cfg_gpio = <&gpio7 10 IRQ_TYPE_LEVEL_LOW>;//<&touch_cfg_gpio>;//status = "okay";};
};
[RK3399]电磁屏:优派viewsonic与扩展IO(PCA9534)相关推荐
- 51单片机8255扩展c语言,51单片机8255A扩展IO口
<51单片机8255A扩展IO口>由会员分享,可在线阅读,更多相关<51单片机8255A扩展IO口(23页珍藏版)>请在人人文库网上搜索. 1.一个芯片可扩展多个并行I/O口 ...
- 74HC595扩展IO芯片的使用以及例程(74HC595A和75HC595D的区别)
这次来详细介绍74HC595这个扩展IO芯片的使用方法,虽然这个IC使用简单,但对于初学者理解还是较为困难,所以这次来拿例程解释助理解. 一.芯片介绍: 简单的理解74HC595芯片,是个扩展输出IO ...
- 电容屏和电磁屏 一:电阻式触摸屏 二:电容式触摸屏以及原理 三:电磁感应触摸屏 PDF电磁屏签名: 签名完成后,点坐转化文件: android 开发 实现网页跳转
目录 电容屏和电磁屏 一:电阻式触摸屏 二:电容式触摸屏以及原理 三:电磁感应触摸屏
- 51单片机8255扩展c语言,参阅:基于51单片机的实时时钟的设计与开发8255扩展io口1V0.1...
<基于51单片机的实时时钟的设计与开发(8255扩展io口) (1).doc>由会员分享,可免费在线阅读全文,更多与<基于51单片机的实时时钟的设计与开发(8255扩展io口) (1 ...
- 高通设备树架构电磁屏调试
电磁触摸屏和电容触摸屏原理虽然不同,但对驱动来讲,没有什么区别,都是input设备. 一,移植 kernel/drivers/input/touchscreen/ 添加驱动文件,修改Makefile, ...
- [已解决]显示器分屏只能复制无法扩展
前情提要: 主机箱上一个VGA接口,一个HDMI接口,分别接了两个显示器.其中VGA接口的显示器最高分辨率只有1600X1200,而该显示器实际最高分辨率有1920X1080. 一通操作后初步判断是显 ...
- Rk3399全接口板 高性能高扩展全能型介绍
RK3399主控 RK3399是Rockchip产品线中性能最高的芯片,在应用中具有高性能和可扩展性.芯片的硬件规格在行业中处于领先地位. RK3399的CPU采用big.LITTLE核心架构,采用双 ...
- Mac双屏时程序坞(任务栏)跑到副屏的解决办法 - 扩展屏
步骤 按下option+command+D,开启程序坞"自动隐藏",副屏程序坞消失 鼠标回到主屏,放在主屏正下方中间的边缘不要动,主屏能看到扩展坞出现了 按下option+comm ...
- DEEPIN/UOS双屏显示及分辨率设置(主屏、复制、扩展、副屏)
背景 前段时间通过Ventoy(U盘系统启动盘引导制作工具)给笔记本装上了DEEPIN/UOS操作系统,体验起来是丝丝顺滑,除了软件有小部分不适应或者难crack之外,其它甚好.但是对于投屏,是真的不 ...
最新文章
- Chemistry.AI | 基于线性回归预测分子特性
- Altium Designer铺铜时抠铜
- CRMEBv3.0版本更新了什么?
- YOLOv4改进版重磅问世!Yolov4扩展版!Yolov4原班人马重磅推出Scaled-YOLOv4: Scaling Cross Stage Partial Network
- android学习笔记---52_发送状态栏通知
- 利用jquery的ajax获取后台返回的json数据为空
- 播放量子计算机的声音,首次实现:用声音纠缠了两个量子比特!
- 阿里云的背后故事(希望别被关了)
- selenium自动化看网课
- 怎么用计算机直接截图,电脑截图快捷键怎么使用,电脑怎么快捷键截图
- 宝塔面板+小鸟云服务器安全设置
- php主机卫士,Bypass 360主机卫士SQL注入防御(多姿势)
- JavaEE - 正则表达式、日期时间类、Math、Random、System、Runtime、大数值运算类
- QLExpress入门学习
- 苦涩又难理解的IO<1>
- react插件,树状图(可自由定义子节点结构,大小,样式)
- 电脑W ndoWs未能启动怎么办,电脑出现windows未能启动怎么办
- Python实现对电脑的全程监控
- 1.一条SQL语句如何执行
- k8s集群ClusterIP不能使用