WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-07-22 16:31:22

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

V3S的LRADC采样口  ,看内核里面有这个口的驱动 ,就是dtsi 和config里面要怎么去配置哦

离线

#2 2019-07-22 17:00:49

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/sun8i-v3s.dtsi

lradc: lradc@1c22800 {
            compatible = "allwinner,sun4i-a10-lradc-keys";
            reg = <0x01c22800 0x400>;
            interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
            status = "disabled";
        };

请问你有什么疑问?

离线

#3 2019-07-22 17:02:47

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

我就是dts中加了 因为我看到在dtsi中有lradc的配置
&lradc{
        status = "okay";
};

离线

#4 2019-07-22 17:08:29

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/sun8i-v3s.dtsi

lradc: lradc@1c22800 {
            compatible = "allwinner,sun4i-a10-lradc-keys";
            reg = <0x01c22800 0x400>;
            interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
            status = "disabled";
        };

请问你有什么疑问?


dts和.config 里面不要去配置吗  只要配置这个dtsi 就可以了是吧
我刚才在dts里面设置了状态为ok了

离线

#5 2019-07-22 17:12:09

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

荔枝派默认配好了,启动就生成 /dev/event* 设备

离线

#6 2019-07-22 17:29:26

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

荔枝派默认配好了,启动就生成 /dev/event* 设备


我也是在找这个event设备 没有找到

离线

#7 2019-07-22 18:00:08

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

全局搜了下  就下面几个event0 
有一个是在input下面但是这个不是这个lradc的
1_20190722-1758.png

离线

#8 2019-07-22 18:34:22

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

在打印中出现这两个错误
1] sun4i-a10-lradc-keys 1c22800.lradc: keymap is missing in device tree
[    2.179407] sun4i-a10-lradc-keys: probe of 1c22800.lradc failed with error -22

离线

#9 2019-07-22 18:50:12

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

无情一刀 说:

在打印中出现这两个错误
1] sun4i-a10-lradc-keys 1c22800.lradc: keymap is missing in device tree
[    2.179407] sun4i-a10-lradc-keys: probe of 1c22800.lradc failed with error -22

你应该烧 sun8i-v3s-licheepi-zero-dock.dtb: https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dts


&lradc {
	vref-supply = <&reg_vcc3v0>;
	status = "okay";

	button-200 {
		label = "Volume Up";
		linux,code = <KEY_VOLUMEUP>;
		channel = <0>;
		voltage = <200000>;
	};

	button-400 {
		label = "Volume Down";
		linux,code = <KEY_VOLUMEDOWN>;
		channel = <0>;
		voltage = <400000>;
	};

	button-600 {
		label = "Select";
		linux,code = <KEY_SELECT>;
		channel = <0>;
		voltage = <600000>;
	};

	button-800 {
		label = "Start";
		linux,code = <KEY_OK>;
		channel = <0>;
		voltage = <800000>;
	};

离线

#10 2019-07-22 19:44:23

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 这个button-XXX是不是通过按键去设置一个输出电压??
麻烦你帮我解释下这几个button的功能是什么了
现在我的内核里面的event出来,因为我只要从这个event1里面去读取读取数据就可以了

离线

#11 2019-07-22 20:05:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

https://github.com/torvalds/linux/blob/master/drivers/input/keyboard/sun4i-lradc-keys.c

看这个代码吧, 通过 dts 定义了几个按键: 按键名, 电压, 键值等

离线

#12 2019-07-22 20:19:21

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

这个代码我看过,主要是我只要从event1 读取数据就可以了,而且我不会通过按键去设置,是不是就是可以不用写用按键设置的啊

离线

#13 2019-07-22 20:57:28

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

不用了,  你读出按键值就可以了.

离线

#14 2019-07-22 21:11:47

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

不用了,  你读出按键值就可以了.

就是直接读取event1的就可以是吧,

离线

#15 2019-07-22 22:49:59

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

对的

离线

#16 2019-07-22 23:47:45

路漫漫
会员
注册时间: 2019-07-22
累计积分: 22

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

evtest 可以测试那四个按键:

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      1c22800.lradc
Select the device event number [0-0]: 0
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "1c22800.lradc"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 352 (KEY_OK)
    Event code 353 (KEY_SELECT)
Properties:
Testing ... (interrupt to exit)
Event: time 2663.260991, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 2663.260991, -------------- SYN_REPORT ------------
Event: time 2663.471909, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 2663.471909, -------------- SYN_REPORT ------------
Event: time 2666.354566, type 1 (EV_KEY), code 353 (KEY_SELECT), value 1
Event: time 2666.354566, -------------- SYN_REPORT ------------
Event: time 2666.565488, type 1 (EV_KEY), code 353 (KEY_SELECT), value 0
Event: time 2666.565488, -------------- SYN_REPORT ------------
Event: time 2667.424816, type 1 (EV_KEY), code 352 (KEY_OK), value 1
Event: time 2667.424816, -------------- SYN_REPORT ------------
Event: time 2667.620117, type 1 (EV_KEY), code 352 (KEY_OK), value 0
Event: time 2667.620117, -------------- SYN_REPORT ------------
Event: time 2668.139619, type 1 (EV_KEY), code 352 (KEY_OK), value 1
Event: time 2668.139619, -------------- SYN_REPORT ------------
Event: time 2668.311484, type 1 (EV_KEY), code 352 (KEY_OK), value 0
Event: time 2668.311484, -------------- SYN_REPORT ------------

离线

#17 2019-07-23 09:40:33

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

路漫漫 说:

evtest 可以测试那四个按键:

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      1c22800.lradc
Select the device event number [0-0]: 0
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "1c22800.lradc"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 352 (KEY_OK)
    Event code 353 (KEY_SELECT)
Properties:
Testing ... (interrupt to exit)
Event: time 2663.260991, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 2663.260991, -------------- SYN_REPORT ------------
Event: time 2663.471909, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 2663.471909, -------------- SYN_REPORT ------------
Event: time 2666.354566, type 1 (EV_KEY), code 353 (KEY_SELECT), value 1
Event: time 2666.354566, -------------- SYN_REPORT ------------
Event: time 2666.565488, type 1 (EV_KEY), code 353 (KEY_SELECT), value 0
Event: time 2666.565488, -------------- SYN_REPORT ------------
Event: time 2667.424816, type 1 (EV_KEY), code 352 (KEY_OK), value 1
Event: time 2667.424816, -------------- SYN_REPORT ------------
Event: time 2667.620117, type 1 (EV_KEY), code 352 (KEY_OK), value 0
Event: time 2667.620117, -------------- SYN_REPORT ------------
Event: time 2668.139619, type 1 (EV_KEY), code 352 (KEY_OK), value 1
Event: time 2668.139619, -------------- SYN_REPORT ------------
Event: time 2668.311484, type 1 (EV_KEY), code 352 (KEY_OK), value 0
Event: time 2668.311484, -------------- SYN_REPORT ------------

你这个evtest测试代码是内核里面吗

离线

#18 2019-07-23 09:59:36

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

对的

突然发现那个 ioctl这个函数无从下手啊

离线

#19 2019-07-23 10:19:48

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

离线

#20 2019-07-23 11:17:55

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

因为这个lradc是6位 所以最大不会超过31 但是从打印数据来看好像不对
2_20190723-1116.png

离线

#21 2019-07-23 11:27:28

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

你到荔枝派的板子上面测试吧, 我evtest试过键值和 dts一致。

离线

#22 2019-07-23 11:32:56

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

你到荔枝派的板子上面测试吧, 我evtest试过键值和 dts一致。

就这几个里面的if语句 那个if 才是我读取的确切值  就是看打印跳变很大  我没有用button去控制 那我是不是可以将那个dock里面那几个button 给去掉了
1_20190723-1131.png

最近编辑记录 无情一刀 (2019-07-23 11:34:00)

离线

#23 2019-07-23 12:26:14

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

怎样将那4个按键中断给去掉哦哦哦,我去掉了后报错,没有那个event 了

离线

#24 2019-07-23 13:39:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

去掉 dts 的 button, 这不问题又绕回到 6楼了吗?

离线

#25 2019-07-23 13:44:31

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

去掉 dts 的 button, 这不问题又绕回到 6楼了吗?


是的  因为我这里不要这几个按钮中断  我就是只要读取event1里面的数据 
然后读取出来那个code不一样 vaule,,   从文档里面看到 只有低6位才是数据
1_20190723-1344.png

离线

#26 2019-07-23 14:00:35

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

没有 button 配置, 不就会出8楼的错误信息,

	lradc->chan0_map_count = of_get_child_count(np);
	if (lradc->chan0_map_count == 0) {
		dev_err(dev, "keymap is missing in device tree\n");
		

然后不就退出初始化了吗?




只要读 ADC 值吗?
那可能要改驱动, 你看下杂项设备行不行?

离线

#27 2019-07-23 14:04:47

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

晕哥 说:

没有 button 配置, 不就会出8楼的错误信息,

	lradc->chan0_map_count = of_get_child_count(np);
	if (lradc->chan0_map_count == 0) {
		dev_err(dev, "keymap is missing in device tree\n");
		

然后不就退出初始化了吗?




只要读 ADC 值吗?
那可能要改驱动, 你看下杂项设备行不行?

你说的杂项设备是???

离线

#28 2019-07-23 14:08:00

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

6bit 是 64个值吧, 你添加 64个 button 也行, 或者把这个驱动改改,不要去dts这个 button列表,自己处理, 返回读到的 ADC值。

离线

#29 2019-07-23 14:49:02

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

我现在直接将代码里面
error = sun4i_lradc_load_dt_keymap(dev, lradc);
    if (error)
        return error;

这里给屏蔽了

为什么出来的类型不是一样的哦 就是这个type  和code
2_20190723-1448.png

离线

#30 2019-07-23 14:52:34

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

这个你加一些 printk 跟踪一下

离线

#31 2019-07-23 15:06:14

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

/dev下面有event1  我在驱动里面将那个读取中断按钮的给去掉了
error = sun4i_lradc_load_dt_keymap(dev, lradc);
    if (error)
        return error;

驱动能起来了  在/dev/input/event1 有这个文件。

就是读取的数据还是不对,不知道哪里还有问题

还有一个问题就是不知道为什么这里的code会不一致了  (这里是我引用层打印出来)
2222ev.type=  3 ev.code= 47 ev.value=  2
2222ev.type=  3 ev.code= 53 ev.value=  53
2222ev.type=  3 ev.code= 54 ev.value=  6
2222ev.type=  3 ev.code= 47 ev.value=  3

离线

#32 2019-07-23 15:20:33

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

是这个 LRADC 采集抖动这么大?

离线

#33 2019-07-23 15:28:05

无情一刀
会员
注册时间: 2018-09-04
累计积分: 604

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

这里是要进到中断里面才会去上报信息
如果我不借用按键的情况下 ,如何让1秒钟上报一次哦哦 通过定时器去上报这个信息

1_20190723-1527.png

离线

#34 2019-07-23 16:05:46

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,176

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

event 设备不确定能不能做到这种效果。


我查了一下, adc在linux下有专门的驱动子系统 iio


使用方法:
http://kcmetercec.top/2018/08/01/linux_driver_IIO_client/

驱动程序:
https://github.com/torvalds/linux/blob/master/drivers/iio/adc/sun4i-gpadc-iio.c

设备树配置:
https://patches.linaro.org/patch/96842/

ths: ths@01c25000 {
	compatible = "allwinner,sun8i-a33-ths";
	reg = <0x01c25000 0x100>;
	#thermal-sensor-cells = <0>;
	#io-channel-cells = <0>;
};

A33 手册:
https://www.olimex.com/Products/OLinuXino/A33/A33-OLinuXino/resources/A33-user-manual-release-1.1.pdf

上面是温度传感器的iio设备, 没有找到 lradc 的, 可能要改改才行

离线

#35 2019-07-23 19:19:30

chendong
会员
注册时间: 2019-07-22
累计积分: 34

Re: V3S的LRADC采样口 ,看内核里面有这个口的驱动 ,不清楚要怎么去配置哦

顶一个

离线

页脚