您尚未登录。

#1 Re: 全志 SOC » 自制T113-I 核心板一次成功开机 » 2024-04-11 17:03:10

vigour1000 说:

使用几层板

盘中孔,6层以上了。

#4 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2023-10-12 16:38:12

你看看隔壁全志,那个才叫资料少。搞个ddr都要遮遮掩掩

#5 Re: 全志 SOC » T113-S3使用主线为啥就这么难呢?SPL跑起来了死活进不去uboot » 2022-09-07 08:39:35

twzy 说:

问一下,对于TF卡, boot0 和Uboot 分别写到哪个地方啊?

貌似仅支持nand

#7 Re: 全志 SOC » T113-S3使用主线为啥就这么难呢?SPL跑起来了死活进不去uboot » 2022-08-18 19:25:30

Cadence 说:
[103]spinand UBOOT_START_BLK_NUM 1 UBOOT_LAST_BLK_NUM 1
[108]block from 1 to 1
[111]oob_buf[0] = 0
[112]spi nand block 1 is bad
[115]Can't find a good Boot1 copy in spi nand.

你把 U-boot 写到哪儿了?
这可是从第一个block开始读的


老哥,转换uboot 如何修改uart debug?

#9 Re: 全志 SOC » V3X的PD、PE区域的引脚能否当一个普通gpio使用? » 2022-02-23 17:44:21

cube 说:

可以的


比如说,PE20/CSI_FIELD、PD12/LVDS_VP0, 类似这些引脚都可以当普通GPIO?

#10 Re: 全志 SOC » V3X的PD、PE区域的引脚能否当一个普通gpio使用? » 2022-02-23 17:42:19

比如说,PE20/CSI_FIELD、PD12/LVDS_VP0, 类似这些引脚都可以当普通GPIO?

#11 全志 SOC » V3X的PD、PE区域的引脚能否当一个普通gpio使用? » 2022-02-23 17:21:57

as86455011
回复: 4

如题,外围芯片需要reset功能,PB、PG都用完了

比如说,PE20/CSI_FIELD、PD12/LVDS_VP0, 类似这些引脚都可以当普通GPIO?

#12 全志 SOC » 关于全志V3s能否跑QT界面 » 2022-02-22 08:53:51

as86455011
回复: 5

64M内存能否跑QT界面,不够是不是要开启交换分区?

如果不行,换个V3X,如何?

#15 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 25元的矿渣BeagleBone Black_NAND版AM335x » 2019-07-10 15:04:02

25元 是在闲鱼买的,加上邮费35元。BB_Black_V1.6

不要买1.5的,不要买1.5的,不要买1.5的

另外好像是发错版块了,晕哥帮忙操作一下,谢谢!

#16 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 25元的矿渣BeagleBone Black_NAND版AM335x » 2019-07-10 15:01:03

as86455011
回复: 27

前几天找了一下这款BeagleBone Black开发板,找着找着找到这玩意,买了2块回来,一块70元(带电源、原理图、补焊了USB),一块25元(缺usb外围原件)

CPU:AM3352
内存:256M
ROM: 256M NAND
百兆网口

跟中国版BeagleBone Black有什么区别?
1、阉割HDMI,保留RGB;
2、eMMC改为NAND,GPMC挂着NAND,GPMC挂并口设备爽啊!


我的用处:GPMC接口挂NAND和2片CH438 8串口芯片,一共16串口。
目标:
刷回原来的uboot以及内核,官方的SDK
挂上2片ch438,实现外挂16串口。

原理图
https://whycan.cn/files/members/1261/LS_BBB_SCH.pdf


实物图

BB1

BB2

TTL启动信息,启动内核后,省略了。

U-Boot SPL 2013.04-dirty (Aug 04 2014 - 11:06:44)
Control_status {00420313}
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
default->A335BNLT.
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
CONFIG_SYS_NAND_U_BOOT_OFFS:80000
CONFIG_SYS_NAND_PAGE_SIZE:800
spl_image.size:5cd2c
spl_image.load_addr:807fffc0
image entry point: 0x80800000


U-Boot 2013.04-dirty (Jan 04 2015 - 17:08:05)

I2C:   ready
DRAM:  256 MiB
WARNING: Caches not enabled
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
NAND:  256 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Press ESC to abort autoboot in 1 seconds
gpio: pin 53 (gpio 53) value is 1
Card did not respond to voltage select!
mmc0(part 0) is current device
Card did not respond to voltage select!
No micro SD card found, setting mmcdev to 1
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
mmc1(part 0) is current device
Card did not respond to voltage select!
Booting from nand ...

NAND read: device 0 offset 0x280000, size 0x500000
 5242880 bytes read: OK
gpio: pin 54 (gpio 54) value is 1

NAND read: device 0 offset 0x800000, size 0x1400000
 20971520 bytes read: OK
gpio: pin 55 (gpio 55) value is 1

NAND read: device 0 offset 0x260000, size 0x20000
 131072 bytes read: OK
gpio: pin 56 (gpio 56) value is 1
## Booting kernel from Legacy Image at 80200000 ...
   Image Name:   Linux-3.8.13
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4403504 Bytes = 4.2 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 81000000 ...
   Image Name:   Angstrom-antminer_mm-eglibc-ipk-
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    15146094 Bytes = 14.4 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000
   Booting using the fdt blob at 0x80f80000
   Loading Kernel Image ... OK
OK
   Loading Ramdisk to 8e3c5000, end 8f236c6e ... OK
   Using Device Tree in place at 80f80000, end 80f886ed

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.8.13 (xxl@armdev01) (gcc version 4.7.4 20130626 (prerelease) (Linaro GCC 4.7-2013.07) ) #22 SMP Tue Dec 2 15:26:11 CST 2014
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (neon )
[    0.000000] PERCPU: Embedded 8 pages/cpu @c0934000 s9408 r8192 d15168 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64768
[    0.000000] Kernel command line: console=ttyO0,115200n8 init=/sbin/init
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] __ex_table already sorted, skipping sort
[    0.000000] allocated 524288 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 255MB = 255MB total
[    0.000000] Memory: 236120k/236120k available, 26024k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf800000 - 0xbfe00000   (   6 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0612cf0   (6188 kB)
[    0.000000]       .init : 0xc0613000 - 0xc06554c0   ( 266 kB)
[    0.000000]       .data : 0xc0656000 - 0xc06cc020   ( 473 kB)
[    0.000000]        .bss : 0xc06cc020 - 0xc0725e3c   ( 360 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000354] Calibrating delay loop... 545.07 BogoMIPS (lpj=531968)
[    0.015410] pid_max: default: 32768 minimum: 301
[    0.015639] Security Framework initialized
[    0.015734] Mount-cache hash table entries: 512
[    0.025665] Initializing cgroup subsys cpuacct
[    0.025697] Initializing cgroup subsys memory
[    0.025761] Initializing cgroup subsys blkio
[    0.025907] CPU: Testing write buffer coherency: ok
[    0.026435] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.026510] Setting up static identity map for 0x8038c820 - 0x8038c86c
[    0.027897] Brought up 1 CPUs
[    0.027922] SMP: Total of 1 processors activated (545.07 BogoMIPS).
[    0.029221] devtmpfs: initialized
[    0.093751] pinctrl core: initialized pinctrl subsystem
[    0.093968] rstctl core: initialized rstctl subsystem
[    0.094459] regulator-dummy: no parameters
[    0.094968] NET: Registered protocol family 16
[    0.095734] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.105515] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.106286] platform 49000000.edma: alias fck already exists
[    0.106319] platform 49000000.edma: alias fck already exists
[    0.106347] platform 49000000.edma: alias fck already exists
[    0.107740] OMAP GPIO hardware version 0.1
[    0.112423] gpio-rctrl rstctl.3: loaded OK
[    0.117241] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    0.120488] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.122691] cpsw.0: No hwaddr in dt. Using 88:c2:55:85:c5:a7 from efuse
[    0.122723] cpsw.1: No hwaddr in dt. Using 88:c2:55:85:c5:a9 from efuse
[    0.138241] bio: create slab <bio-0> at 0
[    0.150432] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[    0.150886] vmmcsd_fixed: 3300 mV 
[    0.153952] SCSI subsystem initialized
[    0.154443] usbcore: registered new interface driver usbfs
[    0.154576] usbcore: registered new interface driver hub
[    0.154849] usbcore: registered new device driver usb
[    0.156910] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    0.158434] input: tps65217_pwr_but as /devices/ocp.2/44e0b000.i2c/i2c-0/0-0024/input/input0
[    0.160657] DCDC1: at 1500 mV 
[    0.161801] vdd_mpu: 925 <--> 1325 mV at 1100 mV 
[    0.162990] vdd_core: 925 <--> 1150 mV at 1100 mV 
[    0.164095] LDO1: at 1800 mV 
[    0.165170] LDO2: at 3300 mV 
[    0.167113] LDO3: 1800 mV 
[    0.168231] LDO4: at 3300 mV 
[    0.169220] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    0.169970] omap_i2c 44e0b000.i2c: unable to select pin group
[    0.170702] omap_i2c 4819c000.i2c: bus 1 rev0.11 at 100 kHz
[    0.173047] omap_i2c 4819c000.i2c: unable to select pin group
[    0.173289] media: Linux media interface: v0.10
[    0.173393] Linux video capture interface: v2.00
[    0.173516] pps_core: LinuxPPS API ver. 1 registered
[    0.173532] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.174364] Advanced Linux Sound Architecture Driver Initialized.
[    0.175513] Switching to clocksource gp_timer
[    0.193853] NET: Registered protocol family 2
[    0.194864] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.194954] TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
[    0.195045] TCP: Hash tables configured (established 2048 bind 2048)
[    0.195139] TCP: reno registered
[    0.195233] UDP hash table entries: 256 (order: 1, 12288 bytes)
[    0.195283] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[    0.195701] NET: Registered protocol family 1
[    0.196264] RPC: Registered named UNIX socket transport module.
[    0.196285] RPC: Registered udp transport module.
[    0.196299] RPC: Registered tcp transport module.
[    0.196312] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.196687] Trying to unpack rootfs image as initramfs...
[    2.123757] Freeing initrd memory: 14788K
[    2.124427] CPU PMU: probing PMU on CPU 0
[    2.124460] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[    2.125068] omap2_mbox_probe: platform not supported
[    2.128961] VFS: Disk quotas dquot_6.5.2
[    2.129197] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    2.130494] NFS: Registering the id_resolver key type
[    2.130588] Key type id_resolver registered
[    2.130606] Key type id_legacy registered
[    2.130674] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.131197] msgmni has been set to 490
[    2.133992] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    2.134017] io scheduler noop registered
[    2.134033] io scheduler deadline registered
[    2.134084] io scheduler cfq registered (default)
[    2.135885] tps65217-bl tps65217-bl: no platform data provided
[    2.135925] tps65217-bl: probe of tps65217-bl failed with error -22
[    2.136889] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.139518] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[    2.139808] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0
[    2.856985] console [ttyO0] enabled
[    2.861845] [drm] Initialized drm 1.1.0 20060810
[    2.880479] brd: module loaded
[    2.890794] loop: module loaded
[    2.894253] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    2.901541] at24 1-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    2.908811] at24 1-0055: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    2.916079] at24 1-0056: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    2.923348] at24 1-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    2.958895] bone-capemgr bone_capemgr.8: bone: scan failed (1 time)

#17 Re: 全志 SOC » 全志哪些soc有并口总线接口呢? » 2019-05-23 19:21:05

我发现,全志全部都没有类SRAM的接口,真是让人头大,imx6,三星贵的一逼啊?

#18 Re: 全志 SOC » F1C100S自定义MiniPcie-AD17 » 2019-05-17 11:36:31

Gentlepig 说:

按楼主的原理图也做了个板子,可惜立创商城没有F1C100S这个元件,只能手补了。
想请教下,像这种QFN封装的,有什么焊接技巧呢?没有热风枪,只有个电烙铁。


点焊对好位置,然后堆锡,最后清锡

#19 Re: 全志 SOC » 全志哪些soc有并口总线接口呢? » 2019-05-16 17:47:08

晕哥 说:

i80 LCD接口,但是不知道是不是双向,要确认一下。

想在全志上挂一片 ch438q 来玩玩,扩展一些串口

#21 Re: 全志 SOC » 感谢小智极客赠送的全志/索智S3开发板样品!小巧精致,漂亮大方! (多图预警) » 2019-05-15 10:58:55

晕哥 说:

https://whycan.cn/files/members/3/QQ20190311175226.jpg

焊上按键,烧录方便多了。




https://whycan.cn/files/members/3/QQ20190311164816.jpg

焊上排针, 串口输出正常。

用 sunxi-fel 测试烧录, 也正常。


请教一下,这个fel模式是通过哪个管脚进入的?

#22 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ns2009 跟 ts2007 有啥差别?? » 2018-12-14 16:28:18

晕哥 说:
as86455011 说:
晕哥 说:

寄存器是兼容的, 所以驱动可以共用.

ns2009 封装更小, 价格更便宜, 其他方面就不太确定了。


这几天才弄触摸屏驱动,真头痛。

别急,ns2009 tsc2007我都弄过, 不复杂,有什么问题跟帖就可以了。

# cat /proc/interrupts 
           CPU0       
 16:        964       GPC  55 Level     i.MX Timer Tick
 17:      15291       GPC  13 Level     mxs-dma
 18:       4952       GPC  15 Level     bch
 19:        118       GPC  26 Level     2020000.serial
 31:          0       GPC  80 Level     20bc000.wdog
 37:          0       GPC  19 Level     rtc alarm
 39:          0       GPC   4 Level     20cc000.snvs:snvs-powerkey
 44:          0       GPC   2 Level     sdma
 45:        253       GPC  36 Level     21a0000.i2c
 46:         47       GPC  37 Level     21a4000.i2c
 47:          0       GPC   5 Level     mxsfb-drm
 50:          0  gpio-mxc   2 Level     tsc2007
145:          0  gpio-mxc   1 Edge      0-0048

145:          0  gpio-mxc   1 Edge      0-0048
这个是sc16is752 i2c转tty,这个中断号改如何写?


另外,填写这个中断是不是要看芯片芯片手册?

#23 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ns2009 跟 ts2007 有啥差别?? » 2018-12-14 16:24:39

晕哥 说:
as86455011 说:
晕哥 说:

寄存器是兼容的, 所以驱动可以共用.

ns2009 封装更小, 价格更便宜, 其他方面就不太确定了。


这几天才弄触摸屏驱动,真头痛。

别急,ns2009 tsc2007我都弄过, 不复杂,有什么问题跟帖就可以了。

我对linux 中断号没什么概念,

	tsc2007@48 {
		compatible = "ti,tsc2007";
		reg = <0x48>;
		interrupt-parent = <&gpio1>;
		interrupts = <0x2 0x8>; 0x2 为什么要这样填?
		gpios = <&gpio1 2 0>;
		ti,x-plate-ohms = <660>;
	};

#24 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ns2009 跟 ts2007 有啥差别?? » 2018-12-14 16:23:00

晕哥 说:
as86455011 说:
晕哥 说:

寄存器是兼容的, 所以驱动可以共用.

ns2009 封装更小, 价格更便宜, 其他方面就不太确定了。


这几天才弄触摸屏驱动,真头痛。

别急,ns2009 tsc2007我都弄过, 不复杂,有什么问题跟帖就可以了。


算是弄好了。中断没配置好。。

#25 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ns2009 跟 ts2007 有啥差别?? » 2018-12-14 13:53:50

晕哥 说:

寄存器是兼容的, 所以驱动可以共用.

ns2009 封装更小, 价格更便宜, 其他方面就不太确定了。


这几天才弄触摸屏驱动,真头痛。

#26 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ns2009 跟 ts2007 有啥差别?? » 2018-12-14 11:23:49

as86455011
回复: 8

ns2009 跟 ts2007 有啥差别??

踩过坑的大神,可以来讨论一下。

#27 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » imx6ul 调试 tsc2007 ,内核出现异常 » 2018-12-12 17:50:43

晕哥 说:
as86455011 说:
晕哥 说:

我看了一下手册 的 参考原理图: http://www.ti.com/lit/ds/symlink/tsc2007.pdf

觉得很可能是你的 X-, X+, Y-, Y+ 接错了, 先把电阻屏取下,再用逻辑分析仪测量一下.


没有接错,貌似本来驱动就是这样子。。打开 evtest 后,一直循环发送命令。。

取下触摸屏,让 X-, X+, Y-, Y+ 全部悬空呢?

不接屏幕 ,evtest 重复打印

Event: time 238.529936, -------------- SYN_REPORT ------------
Event: time 238.549510, type 3 (EV_ABS), code 0 (ABS_X), value 2218
Event: time 238.549510, type 3 (EV_ABS), code 1 (ABS_Y), value 1609
Event: time 238.549510, -------------- SYN_REPORT ------------
Event: time 238.574793, type 3 (EV_ABS), code 0 (ABS_X), value 2224
Event: time 238.574793, type 3 (EV_ABS), code 1 (ABS_Y), value 1564
Event: time 238.574793, -------------- SYN_REPORT ------------
Event: time 238.599501, type 3 (EV_ABS), code 0 (ABS_X), value 2212
Event: time 238.599501, type 3 (EV_ABS), code 1 (ABS_Y), value 1590
Event: time 238.599501, -------------- SYN_REPORT ------------
Event: time 238.619524, type 3 (EV_ABS), code 0 (ABS_X), va^C_X), value 2214
Event: time 238.783022, type 3 (EV_ABS), code 1 (ABS_Y), value 1614
Event: time 238.783022, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3722
Event: time 238.783022, -------------- SYN_REPORT ------------
Event: time 238.806661, type 3 (EV_ABS), code 0 (ABS_X), value 2219
Event: time 238.806661, type 3 (EV_ABS), code 1 (ABS_Y), value 1618
Event: time 238.806661, -------------- SYN_REPORT ------------
Event: time 238.832342, type 3 (EV_ABS), code 0 (ABS_X), value 2212
Event: time 238.832342, type 3 (EV_ABS), code 1 (ABS_Y), value 1588
Event: time 238.832342, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3720
Event: time 238.832342, -------------- SYN_REPORT ------------

#28 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » imx6ul 调试 tsc2007 ,内核出现异常 » 2018-12-12 16:10:06

晕哥 说:

我看了一下手册 的 参考原理图: http://www.ti.com/lit/ds/symlink/tsc2007.pdf

觉得很可能是你的 X-, X+, Y-, Y+ 接错了, 先把电阻屏取下,再用逻辑分析仪测量一下.


没有接错,貌似本来驱动就是这样子。。打开 evtest 后,一直循环发送命令。。

#29 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » imx6ul 调试 tsc2007 ,内核出现异常 » 2018-12-12 13:05:11

晕哥 说:

看楼上的错误信息,应该是这里出错:

    interrupt-parent = <&gpio1>;
        interrupts = <3 8>;


那个信息问题不大。

我上了逻辑仪看到好奇怪的现象,我明明没有按下屏幕,中断引脚自动会拉低。。。

_2018-12-12_13-01-02.png

#30 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » imx6ul 调试 tsc2007 ,内核出现异常 » 2018-12-12 12:27:19

晕哥 说:

首先 PCF8563 工作正常吗? 用来确定硬件, I2C总线配置是否正确.

两个都已经注册了。

内核上显示

[    2.264915] input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[    2.283318] tsc2007 1-0048: GPIO not specified in DT (of_get_gpio returned -2)
[    2.295832] input: TSC2007 Touchscreen as /devices/soc0/soc/2100000.aips-bus/21a4000.i2c/i2c-1/1-0048/input/input1
[    2.316971] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
[    2.325783] rtc-pcf8563 1-0051: rtc core: registered rtc-pcf8563 as rtc0
[    2.338505] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-rtc-lp as rtc1

#31 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » imx6ul 调试 tsc2007 ,内核出现异常 » 2018-12-12 11:13:42

as86455011
回复: 9

贴出异常,运行ts_test,能运行那个tslib自带的画面,首次运行就出现这样的内核警告。


# ts_test
[   26.815685] 
[   26.817350] ======================================================
[   26.823636] WARNING: possible circular locking dependency detected
[   26.829937] 4.14.85-01139-g4bae6b9d2d1e-dirty #48 Not tainted
[   26.835784] ------------------------------------------------------
[   26.842073] irq/51-tsc2007/54 is trying to acquire lock:
[   26.847487]  (prepare_lock){+.+.}, at: [<c0496650>] clk_prepare_lock+0x80/0xf4
[   26.854999] 
[   26.854999] but task is already holding lock:
[   26.860944]  (i2c_register_adapter){+.+.}, at: [<c06959b0>] i2c_adapter_lock_bus+0x20/0x24
[   26.869480] 
[   26.869480] which lock already depends on the new lock.
[   26.869480] 
[   26.877791] 
[   26.877791] the existing dependency chain (in reverse order) is:
[   26.885388] 
[   26.885388] -> #1 (i2c_register_adapter){+.+.}:
[   26.891686]        rt_mutex_lock_nested+0x48/0x60
[   26.896533]        i2c_adapter_lock_bus+0x20/0x24
[   26.901377]        i2c_transfer+0xa8/0xbc
[   26.905525]        pcf8563_read_block_data+0x60/0x94
[   26.910634]        pcf8563_clkout_recalc_rate+0x24/0x4c
[   26.916004]        clk_register+0x31c/0x644
[   26.920328]        devm_clk_register+0x40/0x78
[   26.924906]        pcf8563_probe+0x170/0x244
[   26.929315]        i2c_device_probe+0x258/0x278
[   26.933984]        driver_probe_device+0x214/0x2e8
[   26.938907]        __driver_attach+0xb4/0xb8
[   26.943307]        bus_for_each_dev+0x54/0xa4
[   26.947793]        driver_attach+0x20/0x28
[   26.952020]        bus_add_driver+0x178/0x20c
[   26.956509]        driver_register+0x80/0xfc
[   26.960917]        i2c_register_driver+0x40/0x84
[   26.965684]        pcf8563_driver_init+0x18/0x20
[   26.970436]        do_one_initcall+0x44/0x174
[   26.974938]        kernel_init_freeable+0x120/0x1e0
[   26.979955]        kernel_init+0x10/0x11c
[   26.984104]        ret_from_fork+0x14/0x20
[   26.988301] 
[   26.988301] -> #0 (prepare_lock){+.+.}:
[   26.993914]        lock_acquire+0x70/0x90
[   26.998072]        __mutex_lock+0x58/0x960
[   27.002312]        mutex_lock_nested+0x24/0x2c
[   27.006892]        clk_prepare_lock+0x80/0xf4
[   27.011386]        clk_core_get_rate+0x14/0x78
[   27.015964]        clk_get_rate+0x1c/0x20
[   27.020106]        i2c_imx_start+0x20/0x1c8
[   27.024419]        i2c_imx_xfer+0x44/0xb24
[   27.028659]        __i2c_transfer+0x138/0x27c
[   27.033154]        i2c_transfer+0x6c/0xbc
[   27.037306]        i2c_smbus_xfer+0x220/0x5cc
[   27.041806]        i2c_smbus_read_word_data+0x38/0x48
[   27.046997]        tsc2007_xfer+0x18/0x54
[   27.051144]        tsc2007_soft_irq+0x80/0x268
[   27.055728]        irq_thread_fn+0x24/0x80
[   27.059963]        irq_thread+0x140/0x1f4
[   27.064111]        kthread+0x14c/0x164
[   27.068000]        ret_from_fork+0x14/0x20
[   27.072196] 
[   27.072196] other info that might help us debug this:
[   27.072196] 
[   27.080335]  Possible unsafe locking scenario:
[   27.080335] 
[   27.086366]        CPU0                    CPU1
[   27.090992]        ----                    ----
[   27.095612]   lock(i2c_register_adapter);
[   27.099792]                                lock(prepare_lock);
[   27.105791]                                lock(i2c_register_adapter);
[   27.112481]   lock(prepare_lock);
[   27.115962] 
[   27.115962]  *** DEADLOCK ***
[   27.115962] 
[   27.122029] 2 locks held by irq/51-tsc2007/54:
[   27.126569]  #0:  (&ts->mlock){+.+.}, at: [<c068a378>] tsc2007_soft_irq+0x54/0x268
[   27.134426]  #1:  (i2c_register_adapter){+.+.}, at: [<c06959b0>] i2c_adapter_lock_bus+0x20/0x24
[   27.143417] 
[   27.143417] stack backtrace:
[   27.147931] CPU: 0 PID: 54 Comm: irq/51-tsc2007 Not tainted 4.14.85-01139-g4bae6b9d2d1e-dirty #48
[   27.156914] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[   27.163190] Backtrace: 
[   27.165834] [<c010c31c>] (dump_backtrace) from [<c010c5e8>] (show_stack+0x18/0x1c)
[   27.173554]  r7:00000000 r6:60070093 r5:00000000 r4:c0e6c190
[   27.179374] [<c010c5d0>] (show_stack) from [<c098a9cc>] (dump_stack+0xb4/0xec)
[   27.186774] [<c098a918>] (dump_stack) from [<c016e26c>] (print_circular_bug.constprop.19+0x1c4/0x2f8)
[   27.196164]  r10:c15cd9e0 r9:ffffffff r8:d8351900 r7:d8351e48 r6:c12bb1e8 r5:c12cfbc8
[   27.204117]  r4:c12bb1e8 r3:00000001
[   27.207869] [<c016e0a8>] (print_circular_bug.constprop.19) from [<c0171464>] (__lock_acquire+0x18e0/0x1914)
[   27.217779]  r10:d8351900 r9:c12bb1e8 r8:c157a410 r7:00000002 r6:69912d26 r5:d8351e28
[   27.225731]  r4:d8351e48 r3:d8351e28
[   27.229478] [<c016fb84>] (__lock_acquire) from [<c0171c3c>] (lock_acquire+0x70/0x90)
[   27.237387]  r10:00000002 r9:c15db728 r8:00000001 r7:00000001 r6:60070013 r5:00000000
[   27.245329]  r4:ffffe000
[   27.248039] [<c0171bcc>] (lock_acquire) from [<c09a1548>] (__mutex_lock+0x58/0x960)
[   27.255852]  r8:ffff9548 r7:c0e04900 r6:00000000 r5:00000000 r4:c0e28d18
[   27.262740] [<c09a14f0>] (__mutex_lock) from [<c09a1e74>] (mutex_lock_nested+0x24/0x2c)
[   27.270911]  r10:00000002 r9:c15db728 r8:ffff9548 r7:c0e04900 r6:c0e47bcc r5:00000001
[   27.278854]  r4:c15d0924
[   27.281565] [<c09a1e50>] (mutex_lock_nested) from [<c0496650>] (clk_prepare_lock+0x80/0xf4)
[   27.290095] [<c04965d0>] (clk_prepare_lock) from [<c0498084>] (clk_core_get_rate+0x14/0x78)
[   27.298571]  r5:00000001 r4:d8016f80
[   27.302321] [<c0498070>] (clk_core_get_rate) from [<c0498c04>] (clk_get_rate+0x1c/0x20)
[   27.310452]  r5:00000001 r4:d80d5810
[   27.314201] [<c0498be8>] (clk_get_rate) from [<c069b518>] (i2c_imx_start+0x20/0x1c8)
[   27.322109] [<c069b4f8>] (i2c_imx_start) from [<c069ba80>] (i2c_imx_xfer+0x44/0xb24)
[   27.330018]  r9:c15db728 r8:ffff9548 r7:c0e04900 r6:d859fdd8 r5:00000001 r4:d80d5810
[   27.337933] [<c069ba3c>] (i2c_imx_xfer) from [<c06963e0>] (__i2c_transfer+0x138/0x27c)
[   27.346017]  r10:00000002 r9:c15db728 r8:ffff9548 r7:c0e04900 r6:d859fdd8 r5:00000000
[   27.353959]  r4:d80d5810
[   27.356670] [<c06962a8>] (__i2c_transfer) from [<c0696590>] (i2c_transfer+0x6c/0xbc)
[   27.364577]  r10:00000019 r9:00000048 r8:00000001 r7:00000000 r6:00000002 r5:d859fdd8
[   27.372531]  r4:d80d5810 r3:d8351900
[   27.376288] [<c0696524>] (i2c_transfer) from [<c06979c4>] (i2c_smbus_xfer+0x220/0x5cc)
[   27.384353]  r7:00000000 r6:00000000 r5:d844c410 r4:d80d5810
[   27.390198] [<c06977a4>] (i2c_smbus_xfer) from [<c0697ec0>] (i2c_smbus_read_word_data+0x38/0x48)
[   27.399150]  r10:00000019 r9:d8322800 r8:d844c48c r7:00000001 r6:00000000 r5:d844c410
[   27.407093]  r4:d844c410
[   27.409808] [<c0697e88>] (i2c_smbus_read_word_data) from [<c0689e10>] (tsc2007_xfer+0x18/0x54)
[   27.418598] [<c0689df8>] (tsc2007_xfer) from [<c068a3a4>] (tsc2007_soft_irq+0x80/0x268)
[   27.426729]  r5:d8125800 r4:d844c410
[   27.430483] [<c068a324>] (tsc2007_soft_irq) from [<c017eeec>] (irq_thread_fn+0x24/0x80)
[   27.438653]  r10:00000001 r9:d856a980 r8:d8125800 r7:00000001 r6:00000000 r5:d8125800
[   27.446593]  r4:d856a980
[   27.449301] [<c017eec8>] (irq_thread_fn) from [<c017f208>] (irq_thread+0x140/0x1f4)
[   27.457104]  r7:00000001 r6:00000000 r5:ffffe000 r4:d856a9a4
[   27.462940] [<c017f0c8>] (irq_thread) from [<c01475e8>] (kthread+0x14c/0x164)
[   27.470244]  r10:d8055c2c r9:c017f0c8 r8:d856a980 r7:d859e000 r6:d856a9c0 r5:d856cf80
[   27.478182]  r4:00000000
[   27.480889] [<c014749c>] (kthread) from [<c0107eb4>] (ret_from_fork+0x14/0x20)
[   27.488275]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014749c
[   27.496215]  r4:d856a9c0
下面这里触摸可以显示出坐标
30.142003:    515     11   3362
30.169044:    516     12   3420
30.187874:    514     12   3461
30.206580:    514     13   3480
触摸久了会出现
[   45.424447] tsc2007 1-0048: i2c io error: -6
# cat /proc/interrupts 
           CPU0       
 16:      37647       GPC  55 Level     i.MX Timer Tick
 17:      15772       GPC  13 Level     mxs-dma
 18:       5078       GPC  15 Level     bch
 19:        977       GPC  26 Level     2020000.serial
 31:          0       GPC  80 Level     20bc000.wdog
 37:          0       GPC  19 Level     rtc alarm
 39:          0       GPC   4 Level     20cc000.snvs:snvs-powerkey
 44:          0       GPC   2 Level     sdma
 45:          0       GPC  36 Level     21a0000.i2c
 46:     164887       GPC  37 Level     21a4000.i2c
 47:          0       GPC   5 Level     mxsfb-drm
 51:       6153  gpio-mxc   3 Level     tsc2007
IPI0:          0  CPU wakeup interrupts
IPI1:          0  Timer broadcast interrupts
IPI2:          0  Rescheduling interrupts
IPI3:          0  Function call interrupts
IPI4:          0  CPU stop interrupts
IPI5:       2973  IRQ work interrupts
IPI6:          0  completion interrupts
Err:          0

这是dts的配置

i2c2: i2c@021a4000 {
     #address-cells = <1>;
     #size-cells = <0>;
     compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
     reg = <0x021a4000 0x4000>;
     interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
     clocks = <&clks IMX6UL_CLK_I2C2>;
     status = "disabled";
};

&i2c2 {
	clock_frequency = <400000>;//ckk
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	pcf8563@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};

	touchscreen: touchscreen@48 {
		compatible = "ti,tsc2007";
		reg = <0x48>;
		interrupt-parent = <&gpio1>;
		interrupts = <3 8>;
		ti,x-plate-ohms = <660>;
	};

};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX6UL_PAD_CSI_VSYNC__I2C2_SDA    0x4001b8b0
			MX6UL_PAD_CSI_HSYNC__I2C2_SCL    0x4001b8b0
			MX6UL_PAD_GPIO1_IO02__GPIO1_IO02	0x1b0b0 /* Interrupt */
			>;
		};

另外我对这个中断的概念完全不懂,希望各位大神可以指点指点..

#32 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 话说这里没有NXP imx的坑。。。 » 2018-12-11 09:42:13

as86455011
回复: 2

如题,最近公司用imx6ul做产品,我也是第一次搞嵌入式,linux内核完全不懂。

顺便在这里找人有偿帮忙写驱动。联系方式QQ 371904461

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn