This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5708:无 MMC 运行时钟

Guru**** 2317430 points
Other Parts Discussed in Thread: AM5708
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/861857/am5708-mmc-free-running-clock

器件型号:AM5708

这与以下主题相关: https://e2e.ti.com/support/processors/f/791/t/639301

我们已从4.4 TI Linux 内核迁移到 AM57xx SoC 的最新 SDK 版本中支持的较新的4.19.79+内核。

在我们的平台上使用新的 U-blox 驱动程序来实现4.20以上的内核、我们看到该驱动程序无法启动。 根据 U-blox 支持、这可能是由 SDHCI 驱动程序处理中断和时钟引起的:
"问题很可能与模块中的 SDIO IRQ 丢失有关、因为主机在传输之间关闭 SDIO 时钟、而不是按照规范的要求保持运行或切换到1位模式。 我们在其他 TI AM57xx 平台上以及使用 sdhci 驱动程序而不是较旧的 hsmmc 的较新内核版本上都看到了此问题。"  

我们是否可以通过某种方式在传输之间使 SDIO 时钟保持活动状态?
在加载模块之前、我们将执行以下操作:

回波开启>/sys/class/mmc_host/mmc2/device/power/control
回波开启>/sys/class/mmc_host/mmc2/power/control
回波1 >/sys/devices/platform/44000000.ocp/480ad000.mmc/mmc_host/mmc2/rescan

但这还不够...

在完整引导日志下面:

提前感谢、  
Stef Boerrigter

引导日志(dmesg 输出)

root@target:~ü r# dmesg
[0.000000]在物理 CPU 上引导 Linux 0x0
[0.000000] Linux 版本4.19.73-00043-g58cd7d7-m脏(BEI\boerrs@ALN-lx911922)(gcc 版本7.3.0 (GCC)#254 preempt Mon Dec 2 13:35:42
= 2019年 CPU
版本[0.000000:v2]] CPU 修补代码[gcc:v3.0](gcc vccT)[gc 版本7.3.0 (GCC)#254 preemt cec:0.000000:v1.00in v2.cec:0.24000000)
PIPT / VIPT 非别名数据高速缓存、PIPT 指令高速缓存
[0.0000M](共页):FDT:机器型号:TI AM5708
[0.0000]内存策略:数据高速缓存写回
[0.0000]保留内存:在0x95800000处创建 CMA 内存池、大小56 MIB
[0.0000](共页):保留内存: 初始化节点 ipu2_CMA@95800000、兼容的 id shareda-dma-pool
[0.000000] OMAP4:将0x9fe00000映射到
节点0上的 DRAM 屏障[0.000000]的(ptrval) TotalPages:119552
[0.000000] memzone:1148 page used for

batch map [0.000000]正常区域:0 pages reserved [0.152]、正常
区域:0 pages reserved [0.152:00]、LIF0000]、正常区域:0.552[0.0000]、正常区域:正常 CPU: 所有 CPU 均在 SVC 模式下启动。
[0.000000] DRA722 ES2.1
[0.000000] random:从 start_kernel+0xa0/0x49c 调用 get_random_bytes、crng_init=0
[0.000000] pcpu-alloc:s0 r0 d32768 u32768 alloc=1*32768
[0.000000] pcpu-ists:[0] 0
[0.0000]基于区域移动性、构建1。 总页数:118404
[0.000000]内核命令行:console=ttyO1,115200n8 rootwait noinitrd loglevel=7 HDMI-A-1:1280x800@60 VT-global_curse_default=0 rw nfsroot=536.254:/srv/target/nfsroot root=/dev/nfs ip=144.1:192.168.0.01:192.168.0.02:000000


:192.168.0.01:1000.254:251:60:100bytes:100bytes:100bytes:100:100:32765:100bytes:表中的内存条目数:0.6564:100bytes:100:100:100:100:100:10000:10000:10000:100:10000:10000:100:100:10000:10000 390408K/478208K 可用(10240K 内核代码、791K rwdata、3080K rodata、1024K init、7454K BSS、 30456K 保留、57344K CMA 保留、0K HIGHMEM)
[0.000000]虚拟内核内存布局:
向量:0xff0000-0xff1000 (4KB)
Fixmap:0xc00000 - 0xc00000 (3072 KB)
vmalloc:0xe0000000 - 0x0x800000 (504 MB)
低内存:0xC0000000 - 0xDfe00000 (510 MB)
pkmap:bfe00000 - 0xC0000000 (2 MB)
模块:bbf000000 - bbfe00000 (14 MB)
.text:0x (ptrval)- 0x (ptrval)(11232 KB)
初始化:0x (ptrval)- 0x (ptrval)(1024KB)
.data:0x (ptrval)- 0x (ptrval)(792 KB)
.bss:0x (ptrval)- 0x (ptrval)(7455 KB)
[0.000000]正在运行 RCU 自检
[0.000000] RCU:可抢占的分层 RCU 实现。
[0.000000] RCU:已启用 RCU 锁定检查。
[0.000000]启用了 RCU 任务。
[0.000000] NR_IRQ:16、nr_IRQ:16、预分配的 IRQ:16
[0.000000] OMAP 时钟事件源:32786Hz 时的 Timer1
[0.000000] arch_timer:以6.14MHz (virt)运行的 cp15计时器。
[ 0.000000]时钟源:ARCH_SYS_COUNTER:MASK:0xffffffffffffffFFFF max_cycles:0x16af5adb9、max_idle_ns:440795202250 ns
[0.000005] sched_clock:56位、频率为6MHz、分辨率为162ns、每4398046511023ns 换行
一次[ 0.000023]、频率为0x99031295_FFFF
源:0x0002410ns:0x0002410FFFF:0x0002410_0002410ns:0x0002410_r_0002410[0.83ns、最大
循环源:0x0002410FFFF:0x990002410_0002410_000ns:0x000 32768 Hz
[0.001187]控制台:彩色虚拟设备80x30
[0.001221]锁定相关性验证器:版权所有(c) 2006 Red Hat, Inc., Ingo Molnar
[0.001235]... MAX_LOCKDEP_SUBCLASSES:8
[0.001250]... MAX_LOCK_DEPTH: 48[0.001264]...
MAX_LOCKDEP_KEY: 8191
[0.001277]... CLASSHASH_SIZE: 4096
[0.001291]... MAX_LOCKDEP_ENTERINES: 32768[0.001304]...
MAX_LOCKDEP_链: 65536[0.001317]...
CHAINHASH_SIZE: 由
锁依赖项信息使用的32768 [ 0.001331]存储器:每个
任务结构存储器占用量为4655 KB [ 0.001344]:1536字节
[ 0.001392]校准延迟循环(跳过)、使用计时器频率计算得出的值。 12.29 BogoMips (lpj=61475)
[ 0.001418] pid_max:默认值:32768最小值:301
[ 0.001641]安全框架已初始化
[ 0.001728]安装高速缓存散列表条目:1024 (顺序:0、4096字节)
[ 0.001748]安装点高速缓存
一致性表条目:1024 (顺序:0、4096字节)[
CP3933:UCP3945]编写高速缓存测试[0.0033] CPU 散列:0.0033] 使用 ICIALU 变通办法
[ 0.006421]为0x80100000 - 0x80100060
[ 0.006783]设置静态标识映射 RCU:分层 SRCU 实现。
[0.009952] devtmpfs:已初始
化[0.059014] VFP 支持 v0.3:Implementor 41体系结构4第30部分变体 f rev 0
[0.060337]时钟源:jiffies:mask:0xFFFFFFFF max_cycles:0x258 FFFF、max_idle_ns:19112604462750000 ns
[ 0.060381] futex:cycles:[0.062256 bytex:bytes (intrl
) 初始化的 pinctrl 子系统
[0.065351] NET:注册的协议系列16
[0.065971] DMA:为原子相干分配预先分配的256 KiB 池
[0.067743] OMAP_hwmod:L3_MAIN_2使用来自 OCP
的断开的 dt 数据[0.369518]审核:初始化 netlink 子系统(已禁用)
[0.371328]空闲:使用空闲梯
[0.371476]审核:使用空闲梯[0.371476 使用调节器菜单
[0.380867]审核:type=2000审核(0.360:1):STATE =已初始化审核_enabled=0 res=1
[0.392134] GPIO gpiochip0:(GPIO-0-31):添加了 GPIO chardev (254:0)
[0.392417] gpiochiptic_setup_dev:已注册的 GPIO gpio0:0.3931至 gpip31
(gpip32)[0.3931:gpip31)
添加了 GPIO chardev (254:1)
[0.393941] gpiochip_setup_dev:在器件上注册了 GPIO 32至63:gpiochip1 (GPIO-32-63)
[0.395142] gpiochip2:(GPIO-64-95):添加了 gpiochelip1 (GPIO-32-63)[0.395142] gpiochipchiptic 2:gpio_s64]
(gpio_s64_giptic
)[0.3995](gpio_gpio_s64_gipetev:giptic)[0.3995](gpio_gpetciret_gp64_gpet_gp3[64_gpet_gpet_gipet_g
器件上寄存的 GPIO 96至127:gpiochip3 (GPIO-96-127)
[0.397860] GPIO gpiochip4:(GPIO-128-159):添加了 GPIO chardev (254:4)
[0.398006] gpiochip_setup_dev:寄存器件上的 GPIO128至159:gochip4 (254:3160

) gpiochip4 (gpio_gpix5:gpio_gp2160)[gpio_gpio_gop1:0.191]器件上寄存器件上寄存器件上的 GPIO991285_gpio_gpio_gp2160 (gp2r_gp2r_gp2r gpiochip5 (GPIO-160-191)
[0.400523] GPIO gpiochip6:(GPIO-192-223):添加了 GPIO chardev (254:6)
[0.400675] gpiochip_setup_dev:寄存器件上的 GPIO 192至223:gpiochip6 (GPIO-192-223)
[0.40106] gpiochip_setup_dev_255
:gpio2255:gpio2255)[0.245]gpio2255:gpio_gpi2255:gpio_gpi2255](gpi2245_gpi_gpi_gpi_gpi_gpi_gpi2255)

[0.436014]硬件断点:无法在 CPU 0上启用监控模式。
[0.437949] OMAP DMA 硬件版本0.0
[0.465211] EDMA 43300000。EDMA:禁用 memcpy
[0.473880] EDMA 43300000。EDMA:TI EDMA 引擎驱动程序
[0.491232] OMAP-DMA-引擎4a056000。dma-controller:LinkedIn 43300000 v_gode_flags [0.49189]:
未支持的[sysgode_gpio_gpio_g0_gpio_g_gors/set_f_f_gpet_g0]0的[0.49189_gpet_gpet_gpet_fages'
无法解析节点'/fixedreguler-VDD_3V3V3[0]
的'GPIO'属性[0.493179] of _get_named_gpiod_flags:无法解析节点'/fixedreguler-VDD_1v8[0]的'GPIOMAP-iommu 40mu d01000.000mu 的'GPIOMAP-8040mu 属性[



已注册的04840mu.04840mu.mu.mu:2000]
将器件5502000.IPU 添加到组2
[0.499761]初始化
的 SCSI 子系统[0.500274] usbcore:注册的新接口驱动程序 usbfs
[0.500411] usbcore:注册的新接口驱动程序集线
器[0.500572] usbcore:注册的新器件驱动程序 USB
[0.503217] omap_i48070000.i2c i2c: bus 0 rev400kHz
在 i480400kHz OMAP 70.12c: 100kHz 时的总线1版本0.12
[0.505104] omap_i2c 48060000.i2c:400kHz 时的总线2版本0.12
[0.506399] omap_i2c 4807a000.i2c:400kHz 时的总线3版本0.12
[0.506815] pps_core:LinuxPPS API 版本。 1寄存
式[0.506832] pps_core:软件版本。 5.3.6 -版权所有2005-2007 Rodolfo Giometti 
[0.506875]已注册的 PTP 时钟支持
[0.507851] OMAP-mailbox 48842000. mailbox:OMAP mailbox rev 0x400
[0.508684] Advanced Linux Sound Architecture Driver initialized.
[0.511588]时钟源:切换到时钟源 arch_sys_counter
[0.691131]缺少 Cooling_device 属性
[0.691155]无法生成散热区 board_thermal:-2
[0.691463] NET:注册协议系列2[0.692949]
tcp_listen_portaddr_hash 表条目:256 (订单:1、691463] NET:
已建立的 TCP 记录[0.692949] tcp [0.6924]条目 2、16384字节)
[0.693101] TCP 绑定哈希表条目:4096 (顺序:5、147456字节)
[0.693847] TCP:配置哈希表(建立4096 BIND 4096)
[0.694082] UDP 哈希表条目:256 (顺序:2、20480字节)
[0.694206] UP-Lite 哈希表:256 (顺序:206927字节
)[0.6927] 注册协议系列1
[0.695747] RPC:注册后命名为 UNIX 套接字传输模块。
[0.69800] RPC:注册的 UDP 传输模块。
[0.695816] RPC:注册的 TCP 传输模块。
[0.695831] RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
[0.697784]正在解压缩 initramfs...
[1.247625]释放 initrd 内存:1648K
[1.248805]硬件性能事件:通过 armv7_cortex_a15 PMU 驱动程序启用,7个计数器可用
[1.251846]初始化系统受信任的密钥环
[1.252276]工作集:timestamp_bits=14 max_order=17 bucke_order=3 [1.253fs_ordings=3]2009
年
4月1日[1.253fs/nfs/nfs:[1.243fs/nfs/nfs 4.01.241]工作集[1.24 注册 id_resolver 密钥类型
[1.254779]注册的密钥类型 id_resolver
注册[1.254830]注册的密钥类型 id_legacy
注册[1.265618]注册的密钥类型非对称
[1.265703]注册的非对称密钥解析器"x509"
注册的 IO 调度器注册[1.265809]
注册的 IO 调度器注册[1.265828]注册的 IO 调度
程序注册[1.265908]注册的 IO 调度程序注册的[1.265908] IO
1.265926]已注册 IO 调度程序 MQ-duty [
1.265943]已注册 IO 调度程序 kyber
[ 1.272425] of _get_named_gpio_FLAGS:
已解析节点'/tca9617bdgk@@0[0]'的'device-enable'属性-状态(0)[1.272635] of _get_named_gpinceed_gped'属性、单个节点[1pintrles1[0]1
、pintrlese-status.trles[1.279320]单个节点[pintrl]引脚4128]、pintrles1pintrles1pintrl]、pintrles1.274128]
无中断初始
化[1.279374] pinctrl-single 4a002e8c.pinmux:1个引脚、大小为4
[1.287626] PWM 背光:GPIO 查找用于消费者背光-电源-使能
[1.287639] PWM 背光查找:使用器件树用于 GPIO

背光[1.28785] of _get_named_gpio'属性-启用[1.28739] PWM 背光灯:gpio-ruded [1.2870] GPIO 18不支持持久性
[1.287727] PWM-backlight:用于耗电元件启用
[1.287737] PWM-backlight 背光的 GPIO 查找:使用器件树进行 GPIO 查找
[1.287779] of_get_named_gpiod_flags:解析了节点'/ochip[0]'的'ENABLE-GPIO'属性-状态(0)
[1.287844] gpio0:GPIO GPIO 23
[1.288234] PWM 背光背光不支持持久性:以使用者身份链接到电脑控制器.2
[1.290127] usbcore:注册的新接口驱动程序 udlfb
[1.290231] usbcore:注册的新接口驱动程序 smscifx
[1.305222]串行:8250/16550驱动程序、4个端口、启用的 IRQ 共享
[1.308982]启用的 OMAP [1.305222] 4806a000.serial: UART 对于 uart0
[1.309044] of _get_named_gpio_FLAGS、无 wakeirq:解析了节点'/ocp/serial@4806a000[0]的'RTS-GPIO'属性-状态(0)
[1.309138] serial_omap_probe_RS485:RSP RX 超时设置为244us
[1.309157] serial_sync_line_probe vs 1.3094us:
4806a000.serial: MMIO 0x4806a000 (IRQ = 43、base_baud = 3000000)上的 ttyO0是 OMAP UART0
[ 1.310261] OMAP-UART 4806c000.serial:对于 uart1
[ 1.310305] of_get_named_gpio_FLAGS:无法解析节点'/ocp/serial@4806c000'的'rts-gpio'属性[1.310400] 4806c000.serial:
MMIO 0x4806c000 (IRQ = 44、BASE_BAUD = 3000000)上的 ttyO1是 OMAP UART1
[ 2.192730]控制台启用
[ 2.197592]的 usbcore:注册的新接口驱动程序 udl
[ 2.204058] omapdss_DSS 58000000.52:作为消费类产品链接到
DSS 2.5824b] us_dss [2.5824b_dss dss_dss dss:
使用器件树进行 GPIO 查找
[2.211310] of_get_named_gpio_FLAGS:解析了节点'/ocp/dss@58000000[0]的'LCD-power-enable-GPIO'属性-状态(0)
[2.211331] GPIO gpiochip4:GPIO 19不支持持久性
[2.211903] omapds_580000.ms:将 DM248000.M 链接丢弃到 DM248000.M 稳压器
勘误表 i878使用
中的权变措施[2.230716] DMM 4e000000.DMM:已初始化所有 PAT 条目
[2.245976]面板-简单显示:作为使用者链接到 regulator .2
[2.252989]面板-简单显示:用于使用者启用的 GPIO 查找
[2.253001]面板-简单显示:使用器件树进行 GPIO 查找
[2.253049_god_gnamed god_gof_sgode_flags: 已解析节点'/display[0]的'ENABLE-GPIO'属性-状态(0)
[ 2.253071] GPIO gpiochip6:GPIO 24
不支持持久性[2.270526]循环:已加载模块
[2.274463] of _get_named_gpiod_flags:已解析节点'/2.270526]的'revision-gio'属性[2.2724_status'(修订
版)-[2.2724_status_gped_gpio] 节点'/board-revision[1]'的 re述 vision-GPIOs'属性-状态(0)
[2.274579] of _get_named_gpio_FLAGS:解析节点'/board-revision[2]的 re述 vision-GPIO'属性-状态(0)
[2.274638] of _get_named_gpio'[2.604]-board-res分析
后的[re述 vision-vision-vision-gio]属性[g_status'属性[gpio]- vision-status'(2.24604]-reged_status_status][2.24604]-status_status_status][gp[2.2460_status]
由 VDD_3V3
提供[2.308500] BUCK1:由 VDD_3V3
提供[2.314310] LDO0:由 VDD_5v0
提供[2.331001] LDO1:由 VDD_5v0
提供[2.325433] BUCK0:由 VDD_5v0提供
[2.331001]由
VDD_3V3

:由 VDD_31.8VDC0提供 用于耗电复位
的 GPIO 查找[ 2.352091] MDIO_BUS Fixed-0:使用查找表进行 GPIO 查找
[2.352152] MDIO_BUS fixed-0:找不到 GPIO 耗电复位
[2.352325] libphy:固定 MDIO 总线:探测
[2.361294] MDIO_BUS 48485000.MDIO:用于耗电复位
的 GPIO 查找[2.4807] MDIO:2.481307] MDIO: 使用器件树进行 GPIO 查找
[2.361336] of_get_named_gpio_FLAGS:无法解析节点'/ocp/ethernet@48484000/MDIO@
@@48485000[0]的'set-gpio'属性[2.361363] of_get_named_gpio_FLAGS:无法解析


节点'DMDIO_4864000[2.4864000]的'DMDIO 查找[2.4864000_mDIO [2.485000.486400][2.486400]、不能解析 DMDIO_64000.486400]的'DMDIO 查找[2.4864486400]引脚:/ocp/ethernet MDIO 2.4864486400]引脚:2.4864486400] 达芬奇 MDIO 修订版本1.6、bus freq 1000000
[ 2.419669] libphy:4848485000.MDIO:probed
[ 2.433507] of _get_named_gpio_flags:无法解析节点'/ocp/ethernet@4848484000/MDIO@48485000/ethernet-phy@1[0]的'2.48240001[2.48240001.48240.42]属性

[ DMUDIO:48240001]:4848240001.48240001[DMU240001.0001.48240001.0001.48240001.48240.42]从 DMU:48240001.48240001[DMU:48240001.48240001.48240001.48240001.48240001.48240001.0001.0001.0001.48240001.0001.
初始化的 cpsw ale 版本1.4
[2.458901] cpsw 48484000。以太网:ale 表大小1024
[2.464524] cpsw 48484000。以太网:CPT:溢出检查周期500 (jiffies)
[2.474174] usbcore:注册的新接口驱动程序 rtl8xxxu
[2.490615] EHCI_hci 控制
器:增强型 e2cu 平台[2.74291] EHCI 通用平台驱动
程序[ 2.50352] EHCI-OMAP:OMAP-EHCI 主机控制器驱动程序
[ 2.509534] ohci_hcd:USB 1.1 "开放"主机控制器(OHCI)驱动程序
[ 2.516069] ohci-platform:OHCI 通用平台驱动程序
[ 2.523749] xhci-hcd xhci-hcd.4.auto: xHCI 主机控制
器[ xhci-hcd.4.auto: 2.529611] hci-hmci 通用平台驱动程序[ 2.523749 已注册的新 USB 总线、分配的总线编号1
[2.538005] xhci-hcd xhci-hcd.4.auto: HCC params 0x0220f04c HCI 版本0x100 quirks 0x0000000002010010
[2.547910] xhci-hcd xhci-hcd.4.auto: IRQ 169、IO mem 0x48890000
[2.55572] USB USB1:找到新 USB 设备、Vendor=1d2b、
USB 设备:USB 设备:USB 设备:4.337b2b MFR=3、Product=2、SerialNumber=1
[ 2.571921] USB USB1:产品:xHCI 主机控制
器[2.577023] USB USB1:制造商:Linux 4.19.73-00043-g58cd7d7-m脏 兮兮的 xhci-hcd
[ 2.584705] USB USB1:SerialNumber:xhci-hcd.4.auto
[ 2.591815] USB
hub 2.591-hcd
xhci-hcd.4.auto:控制器:
xhci-hcd.4.auto: x601]1:hci-hcd [ 2.591-hci-hcd 1.0] USB hcub 1.0-hcd [2.601]x hcd [2.591.0-hcr [2.601]1:hci 控制器[2.591-hcd [2.601]1:hci- 已注册的新 USB 总线、分配的总线编号2
[2.615527] xhci-hcd xhci-hcd.4.auto:主机支持 USB 3.0 SuperSpeed
[ 2.622567] USB USB2:我们不知道该主机的 LPM 算法、禁用 LPM。
[2.63137] USB USB2:找到新的 USB 设备、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19
[2.640049] USB USB2:新的 USB 设备字符串:mfr=3、Product=2、SerialNumber=1
[2.647637] USB USB2:产品:xHCI 主机控制
器[2.652776] USB db2:grg2[2.66292-dx USB d1002-db2:
xhci-hcd.4.auto:rg2[2.66b2:rg2]USB dc2-rg2[2.6476b2]USB hb2:rb2[2.66b2:rg2]USB dc2[2.66b2
找到 USB 集线器
[2.670627]集线器2-0:1.0:1个端口检测
到[2.675944] xhci-hcd xhci-hcd.5.auto: xHCI 主机控制器
[2.681828] xhci-hcd xhci-hcd.5.auto:新注册的 USB 总线、分配的总线编号3
[2.690126] xhcd-hcd xhci-hcd.5.auto: hcc pams 0x0220f04c 0x20100100] xhcsi 版本0x0000.00010-hci xhci-hcd.5.auto:
IRQ 170、io mem 0x488d0000
[2.70834] USB USB3:找到新的 USB 器件、idVendor=1d6b、idProduct=0002、bcdDevice=4.19
[ 2.717034] USB USB3:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1
[ 2.724618] USB USB3:
USB USB2-dCC3b3:2.7293b3:USB CC3b3:USB USB-d37b3:USB USB-dCC3:USB 控制器:USB 2.537b3:USB 2dCC3b3:USB 2.537b3:USB 2rg3b3:USB 2dCC-d37b3
xhci-hcd.5.auto
[ 2.743526] hub 3-0:1.0:找到 USB hub
[ 2.747522] hub 3-0:1.0:检测到1个端口
[ 2.752482] xhci-hcd xhci-hcd.5.auto: xHCI 主机控制
器[ 2.758247] xhci-hcd xhci-hcd.5.auto:注册的新 USB 总线、分配的总线编号4
[ 2.766362] xhci-hc4:支持 USB SuperSpeed
USB [ 2.7747] USB 主机[ xhci-hcd.5.auto: SuperSpeed USB 3.0 ] 我们不知道该主机的 LPM 算法、禁用 LPM。
[2.782645] USB USB4:找到新的 USB 器
件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19 [2.791297] USB USB4:新的 USB 器件字符串:mFR=3、Product=2、cdNumber=1
[2.798887] USB USB4:xHCI 主机控制
器[2.8094] USB
串
行器:2.804-0004[2.783]USB 2.0:rg2r.0004[2.783[2.804]USB 64-0x804]USB 64[2.804]USB 64x804]USB 集线器:xhci-hcd.5.auto 找到 USB 集线器
[2.821860]集线器4-0:1.0:检测到1个端口
[2.82688] usbcore:注册的新接口驱动程序 CDC_ACM
[2.832905] CDC_ACM:用于 USB 调制解调器和 ISDN 适配器的 USB 抽象控制模型驱动
程序[2.841415] usbcore:注册的新接口驱动程序 USB-storage
[2.848465] mousedev: 所有鼠标的 PS/2鼠标设备通用
[2.855796] Atmel_mxt_ts 1-004A:GPIO 查找以进行消费者复位
[2.855808] Atmel_mxt_ts 1-004A:使用设备树进行 GPIO 查找
[2.8554A] of_get_named_gpiod_flags:无法解析'set-gpios_mx2000'/ocp/i2c
的'rg2rg0_ature_ature'[2.8554a]@@/ocp/i2c@@0_ature_ature_ature_g4a'属性[2.8554a]
使用查找表进行 GPIO 查找
[2.855891] Atmel_mxt_ts 1-004A:未找到 GPIO 使用者复位
[2.881793] Atmel_mxt_ts 1-004A:__mxt_read_reg:
I2C 传输失败(-121)[2.889252] Atmel_mxt_ts 1-004A:__mxt_read_rgor_rgot 2.904a]

I2C 恢复失败(-121)
[ 2.911249] Atmel_mxt_ts:1-004A 的探测失败,错误-121[2.917886]
usbcore:使用触摸屏注册的新接口驱动程序
[2.953442] RTC-pcf85063 3-0051:RTC 内核:将 RTC-p850cf866]注册为 rtc0 [2.953442] RTOMAP-p850dT

驱动程序[2.490003] 初始超时60秒
[2.985537] CPU CPU0:以使用者身份链接到电脑控制器.9[2.991357]
CPU CPU0:以使用者身份链接到电脑控制器.5[3.002884]
sdhci:安全数字主机控制器接口驱动程序
[3.009349] sdhci:版权所有(c) Pierre Osman
[3.015277] splci-dhci: SDHCI 平台和驱动程序助手
[3.022092] sdhci-OMAP 4809c000.MMC:消费类 CD
[3.022104] sdhci-OMAP 4809c000.MMC:使用器件树进行 GPIO 查找
[3.022153] of_get_named_gpiod_flags:解析了节点'3.022176'属性(/ocp/mmc@)[3.022176]
GPIO 27
不支持持久性[3.022195] OMAP-GPIO 4805d000.GPIO:无法将第27行去抖设置为200000微秒(-22)
[3.31391] sdhci-OMAP 4809c000.MMC:获取 CD GPIO
[OMAP 36320] sdhci-3.04809c000.MMC:使用
OMAP-36331_gpio_g331]的 GPIO 查找[3.09gcp_g331]
无法解析节点'/ocp/mmc@4809c000[0]
的'wP-GPIO'属性[3.036387] of _get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@4809c000[0]的'wP-GPIO'属性
[3.036400] sdhci-OMAP 4809c000.mmc:使用3.480-mc430.9mmc

作为消费类 GPIO 查找表[3.0400]
作为消费者链接到电脑控制器.2
[3.051210] sdhci-OMAP 4809c000。MMC:断开到电脑控制器.2
[3.058281] sdhci-OMAP 4809c000。MMC:作为消费者链接到电脑控制器.2
[3.066494] MMC_add_host:mmc0
[3.070100] mmc_add_host:
使用
OMAP 480c4000 [3.099430.9mc4000 mmc 控制器[3.080c.903mc4000 ] mmc:mmc4000 [3.0803c4000 [3.099438.000] mmc4000 mmc4000 [3.0] mmc 3mc4000 [3.080c4000 mc4000 mmc 消费类 CD
[3.110361] sdhci-OMAP 480b4000.MMC 的 GPIO 查找:使用器件树进行 GPIO 查找
[3.110420] of_get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@
/ocp/mmc@480b4000[0]的'CD-gpio'属性[3.1104000] of_get_named_gpiod_flags:3.110649[mmc]不能解析节点'3.3b480b@mmc@mmc@3.3b@mmc@3.3b@d@d@dmmc@3.3b643.110643.110643.mc@3.3b@mmc@3.3b@mc@mc.com.mmc@3.3b643.110643.110643.mc@@@

未找到 GPIO 使用方 CD
[3.110682] sdhci-OMAP 480b4000.MMC:GPIO 查找消费者 WP
[3.110703] sdhci-OMAP 480b4000.MMC:使用器件树查找 gpio_get_named_gpio_flags [3.110755]
of _get_named_gpio_gpio_flags:c'wP-480b806'/ocp/mmc@
/ocp/mmc@b4000.mm_g_g@g@g@g@3.1104b4000.mc@g@g@g@g@g@g@g@g@mc@g@g@g@g@mc@g@g@g@g@g@g@g@g@g@g@g@
使用查找表进行 GPIO 查找
[3.110854] sdhci-OMAP 480b4000.MMC:未找到 GPIO 消费类产品 WP
[3.113315] sdhci-OMAP 480b4000.MMC:作为消费类产品链接到电脑。3[3.120642]
sdhci-OMAP 480b4000.MMC:断开到电脑控制器的链接[3.127981]
sdhci-OMAP 480b4000.mmc:
作为消费类产品链接到 OMAP 3.733.35] smmc_mc_3c:作为主机链接到 OMAP 480b4000: mmc1
[ 3.140936] MMC_add_host:mmc1
[ 3.169782] mmc1:480b4000.MMC 上的 SDHCI 控制器[480b4000.MMC]使用 ADMA
[ 3.178559] sdhci-OMAP 480ad0.mmc:用于消费类 CD
的 GPIO 查找[ 3.178574] s86ci-OMAP 480adn_gods
的属性[3.8650]/ocp/mmc 不使用'gps_gps_god_mc_gap_mc_g_gps_gap_g][3.17000_gap_gap_mc_g_g_gap_gap_mc'@
无法解析节点'/ocp/mmc@480ad000[0]的'CD-GPIO'属性
[3.178668] sdhci-OMAP 480ad000.mmc:使用查找表进行 GPIO 查找
[3.178684] sdhci-OMAP 480ad000.omp:找不到 GPIO 消费类 CD
[3.178705] sdhci-OMAP 480ad000.mmc:
使用3.3188746_gmc 器
件名称的"gpic_god_g"查找"3.8846_g" 无法解析节点'/ocp/mmc@480ad000[0]
的'wP-GPIO'属性[3.178881] of _get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480ad000[0]的'wP-GPIO'属性
[3.480178898] sdci-OMAP 480ad000.mmc:使用表进行
MMC 3.480ad430.4mmc
连接到 mmc 3.000[3.dhci-OMAP 480394mmc:3.dhci-OMAP 480430.mmc
丢弃到 regulator .2
[3.194524] sdhci-OMAP 480ad000 MMC 的链接:作为消费类产品链接到 regulator .2
[3.204337] MMC_add_host:mmc2
[3.207793] random:快速初始化完成
[ 3.212143] MMC_add_host:mmc2
[ 3.215412] mmc0:主机不支持读操作、假设
主机仅支持读操作 地址为 AAAA
[3.236488] mmcblk0的新高速 SDHC 卡:mmc0:AAAA SA08G 7.40 GiB
[3.245874] mmcblk0:P1 P2
[3.248961] mmc2:480ad0.MMC 上的 SDHCI 控制器[480ad000.mmC]使用 PIO [3.26444](

在480ad1.948.4g CPU 上设置为0x484g:0x484g:0x244gC:1204gC: 0)、元件(C=0 F=8) 0x29008
[3.286393]三通:从 DT 探测导管方法。
[ 3.291878] ti-iodelay 4844a000.padconf:set reg 0x1ac delay (a:189 g:0)、Elements (C=0 F=5) 0x29005
[ 3.301342] ti-iodelay 4844a000.padconf:set reg 0x1b8 delay (a:0 g:120)、Elements (C=3.301342][3.3gpiodele_g_g_g@g322024_g_g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@g@3.3


@@/ocp/i2c
无法解析节点'/ocp/i2c@4807a000/tlv320aic3104@18[0]的'gpio-reset'属性
[3.325887] tlv320aic3x-codec 3-0018:作为使用者链接到 regulator。2
[3.333154] ti-iodelay 4844a000.padconf:set reg 0x1c4 =24=3cr
(pad3) v3001:v3001:v3001 = 3.24=24a regulator 3g:v3001 (v3001
) 360)、元素(C=1 F=12) 0x2902c
[ 3.366645] oprofile:使用计时器中断。
[ 3.371203] ti-iodelay 4844a000.padconf:设置寄存器0x1dc 延迟(a:0 g:0)、元素(C=0 F=0) 0x29000
[3.381353(2001)初始化 XFRM netlink 套接
字[3.385995] NET:注册协议系列17[3.390685]
NET:注册协议系列15[3.3948pad8
:设置延迟 0)、Elements (C=0 F=0) 0x29000
[ 3.405192]注册的 Key type DNS_resolver
[3.40989898] ti-iodelay 4844a000.padconf:设置寄存器0x1F4 delay (A:70 g:0)、Elements (C=0 F=2) 0x29002
[ 3.419517] ThumbEE CPU 扩展支持。
[3.424117]正在注册 SWP/SWPB 仿真处理程序
[3.429201] ti-iodelay 4844a000.padconf:设置寄存器0x200延迟(A:0 g:0)、Elements (C=0 F=0) 0x29000
[3.438561] OMAP_VOLTGE_LAY_INIT:未添加电压驱动器支持
[3.445439] TI OMAP4器电源管理器。
[ 3.450729] ti-iodelay 4844a000.padconf:设置寄存器0x368 delay (a:0 g:120)、Elements (C=0 F=2) 0x29002
[ 3.462383]加载已编译的 X.509证书
[ 3.467607] ti-iodelay 4844a000.padconf:设置寄存器0xti delay 190 (a:a:a:4824000=24000]
元素[ 3.4824000=24000]C:0x24000=24000=24000]
设置寄存器0x1b4延迟(A:39 g:0)、元素(C=0 F=1) 0x29001
[3.510822]密钥类型已加密注册
[3.515925] IMA:未找到 TPM 芯片、激活 TPM-BYPASS!
[ 3.522134] IMA:分配的哈希算法:SHA1
[ 3.526960] ti-iodelay 4844a000.padconf:设置寄存器0x1c0 delay (A:91 g:0)、Elements (C=0 F=2) 0x29002
[ 3.536811] EVM:初始化 EVM 扩展属性:
[ 3.542359] EVM:SECURITURITY =
0x455398]C delay [0x29388]C:0x5485485905[=455eVM=455eVM.ia-i45586] EVM:[3.455eVM=455eVM=455g]
security.capability
[ 3.559382] EVM:HMAC attrs:0x1
[ 3.563130] ti-iodelay 4844a000。padconf:set reg 0x1e4 delay (a:0 g:0)、Elements (C=0 F=0) 0x29000
[3.5832] ti-iodelay 4844a000:

ti conf:set reg 0x44a2:0 (pad0)、pad0 (c = 0x440000)、pad0 (pad0:0x44a0:3.0] elements [3.44a0:0x44a0:0x44a0:a elay (pad1) 设置寄存器0x364延迟(A:360 g:0)、元素(C=0 F=10) 0x2900a
[ 3.659583] mmc1:地址0001
[ 3.674020]的新 HS200 MMC 卡 mmcblk1:mmc1:0001 004G60 3.67 GiB
[ 3.680001] mmcblk1boot0:3.6724] mc1 mc1:
0001 mc241 mc1 mc1 mc1 mc1 mc1 mc1 mc1 mc2 mc1 mc1 mc1 mc1 mc1 mc1 mc2 mc1 mc1 mb 3.0001 mc2 mc1 mc1 m
mmc1:0001 004G60分区4 4.00 mib
[ 3.732894] mmcblk1gp1:mmc1:0001 004G60分区5 4.00 mib
[ 3.746612] mmcblk1rpmb:mmc1:0001 004G60分区3 512 kb、chardss (242:0)
[ 3.7565466466]] mmcblk1p1:dss_76prs dss.ap_dss.ap1:dss.prb 分区3 512 kb

消费类 LCD-power-enable
[3.769989] omapdss_DSS 58000000.dss 的 GPIO 查找:使用器件树查找
[3.770423] of _get_named_gpio_FLAGS:解析了节点'/ocp/dss@58000000[0]的'LCD-power-enable-gpio'属性-状态(0)
[3.770469]
对于 OMAP
DSS、不支持 gpip431.150.4[3.7150] Bound 58001000.dispc (ops dispc_component_ops)
[3.824181][DRM]支持 vblank 时间戳缓存版本2 (21.10.2013)。
[3.831311][DRM]不支持 vblank 时间戳查询的驱动程序。
[3.896641][DRM]启用 DMM 回绕滚动
[3.920759]控制台:切换到彩色帧缓冲器设备160x50
[4.199476] omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器设备
[4.212501][DRM]已初始化 omapdrm 1.0.0 20110917 (用于 omapdrm omapdrm.g0_minor
)[4.2240_g_g_gapdrfap_s [4.224306]标记[DR_gapdrg_g_g 已解析节点'/sound@0[0]的'AMPLP-SD-GPIO'属性- status (0)
[4.225017] of _get_named_gpioD_flags:不能解析节点'/sound@
@
@0[0]的'simple-audio-card、HP-det-pet-gpio'属性[4.225074] of _get_gpio_parature_gap_g0]_s[4.337_gpio_parature_s's's's's'se-pipuls's's's's'/gap_mic mapping natnature_gap_gap_mic nates'的[4.3280]属性
:4.337_gpicks's'/gap_gap_gap_gap_gap_ 已解析节点'/on-off-key/on-off-key [0]的'GPIO'属性-状态(0)
[4.247108] GPIO gpiochip4:GPIO 1不支持持久性
[4.247596]输入:ON - OFF - KEY AS /devices/platform/on-off-key/input/input0
[4.258745] RTC-pethcf85063 3-0051:将系统时钟设置为2019-09:00:804320:45[4.538049]
网络[4.258745](净视图) 初始化 cpsw 版本1.15 (0)
[4.301412] TI DP83822 48485000.MDIO:01:连接的 PHY 驱动
程序[TI DP83822](MII_BUS:phy_addr=4848485000.MDIO:01、IRQ=POLL)[4.491677]、等待网络长达2秒钟。
[4.671733]网络等待时间最多2秒。
[4.851676]网络等待长达1秒。
[5.031676]网络等待时间最多1秒。
[5.211677]网络等待长达1秒。
[5.391739]网络等待时间长达1秒。
[5.571677]网络等待长达1秒。
[5.751672]等待网络长达1秒。
[5.931670]网络等待时间长达0秒。
[6.111679]网络等待时间长达0秒。
[6.291783]等待网络再等待0秒。
[6.351678] IP-Config:完成:
[6.355119] device=eth0、hwaddr=74:e1:82:90:56:20、ipaddr=192.168.0.1、mask=255.255.255.0、gw=192.168.0.254
[6.366278] host=192.168.0.1、domain=、nis-domain=(none)
[6.373091] bootserver=192.168.0.254、rootserver=192.168.0.254、rootpath=[6.382941]
cfg80211:为监管数据库加载已编译的 X.509证书
[6.393220] cfg80211:加载 X.509证书'forshee:00b28ddf47aef9cdb 7'
[6.400960]平台监管0:针对监管
设备的直接固件加载错误[6.1487.]

目标音频
[6.425638]释放未使用的内核内存:1024K
[6.430635]运行/init 作为初始化进程
[6.436672] cpsw 48484000.ethernet eth0:链路启动- 100Mbps/full -流控制 Rx/TX
[7.254527] systemd[1]:系统模式下运行 systemd 234。 (-pam -audit -sLinux -ima -AppArmor -smack +sysvinit -utmp -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +blkid -ELFUTILS +KMOD -IDN2 -IDN default-archivel=混合)
[7.278760] systemd[1检测到的 ARM 架构。
[7.316553] systemd[1]:将主机名设置为 。
[7.946087] random:systemd:未初始化的 urandom 读取(16字节读取)
[7.953509] systemd[1]:侦听网络服务 Netlink 套接字。
[7.99335]随机:systemd:未初始化 urandom 读取(16字节读取)
[8.000707] systemd[1]:侦听 udev 内核套接字。
[8.031798] random:systemd:未初始化 urandom 读取(16字节读取)
[8.040008] systemd[1]:侦听日记账套接字(/dev/log)。
[8.072125] systemd[1]:已达到目标路径。
[8.114048 ] systemd[1]:创建的层系统层。
[8.148894] systemd[1]:正在安装内核调试文件系统...
[8.198046] systemd[1]:安装 POSIX 消息队列文件系统...
[8.830325] random:crng init done
[8.833947] random:7 urandom warning missing due to rating
[9.651515] systemd-journale[128]:已收到从 PID 1刷新运行时日志的请求
[12.973530] power_module:加载树外模块限制内核。
[13.045099] of _get_named_gpio_FLAGS:解析了节点'/power-module[0]的"wlan-enable-gpio"属性-状态(0)
[13.045164] of _get_named_gpio_FLAGS:解析了节点'/power-module[0]的"power-gpio"属性(
13.4560_gpio]属性)、[13.4560_gpode_status_gpegs[13.4560](gpio_gpeggpegode_gp[13.4560]:v_status_gp[13.4560_gp[13.576]-status_gp[13.4580]属性)
已解析节点'/power-module[1]'的'bsp-support-gio'属性-状态(0)
[13.156208] mmc2:地址0001
[14.112968] EXT4-FS (mmcblk1gp0)的新高速 SDIO 卡:已安装文件系统、具有有序数据模式。 opts:(null)
[14.150970] EXT4-FS (mmcblk1gp1):已安装文件系统、具有已订购数据模式。 opts:(null)
[24.371626] mlan:模块许可证'Martell Proprietary'提供内核。
[24.378496]禁用内核




固件调试[24.454788] WLAN:加载 mWLAN 驱动程序[24.465491]供应商=0x02DF device=0x9139 class=0 function=1 [24.473168] rx_work =0 cpu_num=1 [24.483761]请求固件:mrvl/sd8801_uapsta.bin [25.284818] wlan wfwn 25.498220]已通过 WLAN

固件下载[24.25498220] wfw:wn wn wn wn wn wn wfw: CMD=0xa9排队
[25.504999] Queue_CMD: CMD=0x3排队
[25.509124] dNDS_CMD (1568538062.750397):0xa9,操作0x0,操作0x8,seqno 0x1[25.518762]
dnld CMD:
[25.518773] A9 00 08 00 01 00
00 [30.561669]驱动程序版本= SD8801-0.0.0.p0-C4X14C635-GPL-(FP68)
[ 30.568216] MAIN_STALO = 1
[ 30.571081] ioctl_PEND= 0
[ 30.579071] TX_PEND= 0 [30.568216][30.58642][30.5malloc

rd = 30.5927]计数[30.58721][30.584227 = 30.5824][30.5rd = 30.5rd

= 30.5824]计数[30.5rd = 30.5824][30.5824][30.5824][30.5rd 0
[30.601519] hs_skip_count = 0
[30.607315] hs_force_count = 0
[30.610539]唤醒器件...
[30.616178] waal_request_FW failed - mrvl/sd8801_uapsta.bin
[30.623345] Firmware Init failed (wal_request_FW 失败- mrvl/[30.623345]固件初始化失败) 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    [引用 user="Stef boerrigter"]我们是否可以通过某种方式在传输之间保持 SDIO 时钟活动?

    如果问题确实与 SDIO 时钟关闭有关、则问题可能与 CON_CLKEXFREE 控制位有关(请参阅 器件 TRM 中寄存器 MMCHS_SYSTEST 的讨论)。

    尝试以下几种方法:

    1. 检测 MMC 驱动程序的 drivers/MMC/host/sdhci-omap.c:sdhci_omap_enable_SDIO_IRQ ()函数(链接)以执行调试打印、同时在函数进入时显示"enable"参数、例如通过添加:
      printk ("%s": enable=%d\n"、__func__、 enable);
      此函数是 访问 CON_CLKEXFREE 位的一个位置(以及打开/关闭中断的位置)、因此了解此函数的最后一个操作可能会提供一些线索、和
    2. 从    drivers/MMC/host/sdhci-omap.c 驱动程序中删除所有 reg &=~con_CLKEXFREE (和相关)访问、以查看这是否会产生任何可观察到的影响

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的回答、  
    我添加了 debug print 语句;可以确认 MMC 适配器 SDIO IRQ 确实已启用。

    [15.076015] sdhci_omap_enable_SDIO_IRQ - mmc2:enable=1

    我看不到它被禁用、但我确实删除了禁用时钟。

    在代码中搜索 CON_CLKEXFREE 时、我看到它用于两个函数:  
    - sdhci_omap_card_busy
    - sdhci_omap_enable_sdio_IRQ

    在两个函数中、我都删除了 μ~(CON_CLKEXFREE)、并且在使用示波器时、我可以确认时钟保持激活状态。 尽管漫威 U-blox 模块的负载仍然失败:

    [14.451335] mmc2:地址0001的新高速 SDIO 卡
    [14.953149] mlan:模块许可证'Mervell Proprietary'可用于内核。
    [14.960]由于内核中断禁用锁定调试
    [15.041613] WLAN:加载 mWLAN 驱动
    程序[15.048228]供应商=0x02DF device=0x9139 class=0 function=1
    [15.057559] rx_work =0 cpu_num=1
    [15.076015] sdci_omap_enable_sdio_irq = 15.072122]
    sd8801_uapsta.bin
    个文件系统请求[ 15.08gf2:1 mmc2:1 mvrf2)[已安装的 mmc2文件系统:[15.08t2:[15.08gf] opts:(null)
    [15.420725] EXT4-FS (mmcblk1gp1):已安装文件系统、具有已订购数据模式。 OPTS:(空)
    [16.324917] WLAN:固件下载完成、firmwarelen=256188下载256188
    [16.821193] WLAN 固件处于活动
    状态[16.824683] Queue_CMD:CM=0xa9
    排队[16.853693] Queue_CMD:CMD=0x3为
    [16.863805] dnld CMD (0x2608
    、0x60489_CMD:0x150008)
    [16.902756] A9 00 08 00 01 00
    00 [21.925440]驱动程序版本= SD8801-0.0.0.p0-C4X14C635-GPL-(FP68)
    [21.931978] MAIN_STU= 1
    [21.934846] ioctl_PEND=0
    [21.943654] TX_PEND=0 [21.9285]malloc
    =21.94846]计数[21.9285]n
    
    
    = 21.9426_PUT = 21.9285[21.9426]n = 21.9426]n malloc malloc 计数[21.9424][21.9424][21.9424][21.9424][21.9424]n = 21. 0
    [21.965116] hs_skip_count = 0
    [21.972025] hs_force_count = 0
    [21.975246]唤醒器件...
    [21.980891] waal_request_FW 失败- mrvl/sd8801_uapsta.bin
    [21.988070] Firmware Init 失败
    
    • 根据 U-blox、在启动期间需要执行以下操作:
      "问题很可能与模块中的 SDIO IRQ 丢失有关、因为主机在传输之间关闭 SDIO 时钟、而不是按照规范的要求保持运行或切换到1位模式。 我们在其他 TI AM57xx 平台上以及使用 sdhci 驱动程序而不是较旧的 hsmmc 的较新内核版本上都看到了此问题。"|

      在向 CARD_BUSY 函数添加冲印时、我看到这在 Lily 模块的初始化过程中被调用了很多。 此函数还禁用/启用中断。  

      启用这种基于 Marvel 的 U-blox Lily 模块的方法有哪些?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    在执行其他操作之前、我建议尝试以下两项、也是这两项的组合:

    1. 使用 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mrvl 上最新的 Marvell WiFi 固件 
    2.   通过移植 DTS 和内核配置、尝试 git.ti.com/gitweb 上提供的最新 TI 集成内核 v5.4。 虽然此内核树尚未准备好投入生产(它是明年 SDK 的一个分段区域)、但主要功能和电路板支持已经在运行、这可能会为我们提供一些额外的数据点、甚至可能解决了讨论中的问题(如果我们幸运的话)。 我确实快速浏览了承诺日志、但没有看到任何明显的事情、所以我不会将我的希望过高、尽管这是我们应该尝试的事情。

    让我知道您找到的内容、然后从那里开始。 请注意 、此处似乎存在相关的 E2E 主题:https://e2e.ti.com/support/processors/f/791/t/860178

    此致、
    Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    我尝试了选项1;新固件、但没有什么不同。

    在我看来、选项2是一个很长的选择、我将把它保留在我的待办事项中作为一个选项。  

    我提出了选项3:为 MMC3 (连接到 U-blox 模块)使用旧的 OMAP-hsmmc 驱动程序、并将 MMC1和2与 sdhci-OMAP 配合使用。)

    将 OMAP-hsmmc.c 驱动程序从4.4移植到4.19非常简单、但该模块似乎仍然没有响应(不过不同):

    我已经尝试使用 WAKE_IRQ (GPIO7-0)和不使用(返回到轮询)、但两者看起来都卡在:您可以在下面的引导日志中看到的 Reqeust 固件。 此外、几分钟后、没有会触发故障的回调/计时器过期。 它只是在这个部分挂起。  

    我看到4.4和4.19之间的差异:  
     -4.4在固件下载期间将 MMC 控制器切换到 PM 挂起,4.19不支持
     -您是否知道电源模式和暂挂的任何变化?  
       这是否相关?
       -您是否有任何其他提示来移植 OMAP-hsmmc 驱动程序并在4.19内核中启用它?

    引导日志:

    [0.000000]在物理 CPU 上引导 Linux 0x0
    [0.000000] Linux 版本4.19.73-00046-g088e111-DIY (BEI\boerrs@ALN-lx911922)(gcc 版本7.3.0 (GCC))#56 preempt
    
    修补 Wed Dec 4 15:57:24 CET 2019 [0.CR] CPU:ARMv7 (GCC) CPU 版本
    :1.5dec:[0.000000 CPU 代码[0.0000] CPU:c2000:c2:cr c 0:c 0:c 0:c 0:c 0:c 0:c 0:c 0:c) c 0:c 0:c 0:c 0:c 0:c PIPT / VIPT 非混叠数据高速缓存、PIPT 指令高速缓存
    [0.000000]、共页:FDT:机器模型:TI AM5708 Rational - WA55-HighSecure
    [0.000000]内存策略:数据高速缓存写回
    [0.000000]保留内存:在0x95800000创建 CMA 内存池、大小为56 MIB
    [0.000000]、共页:保留内存: 初始化节点 ipu2_CMA@95800000、兼容的 id shareda-dma-pool
    [0.000000] OMAP4:将0x9fe00000映射到
    节点0上的 DRAM 屏障[0.000000]的(ptrval) TotalPages:119552
    [0.000000] memzone:1148 page used for
    
    batch map [0.000000]正常区域:0 pages reserved [0.152]、正常
    区域:0 pages reserved [0.152:00]、LIF0000]、正常区域:0.552[0.0000]、正常区域:正常 CPU: 所有 CPU 均在 SVC 模式下启动。
    [0.000000] DRA722 ES2.1
    [0.000000] random:从 start_kernel+0xa0/0x49c 调用 get_random_bytes、crng_init=0
    [0.000000] pcpu-alloc:s0 r0 d32768 u32768 alloc=1*32768
    [0.000000] pcpu-ists:[0] 0
    [0.0000]基于区域移动性、构建1。 总页数:118404
    [0.000000]内核命令行:console=ttyO1,115200n8 rootwait noinitrd loglevel=7 HDMI-A-1:1280x800@60 VT-global_curse_default=0 rw nfsroot=536.254:/srv/wa55/nfsroot root=/dev/nfs ip=144.1:192.168.0.01:192.168.0.02:000000
    
    
    :192.168.0.01:1000.254:251:60:100bytes:100bytes:100bytes:100:100:32765:100bytes:表中的内存条目数:0.6564:100bytes:100:100:100:100:100:10000:10000:10000:100:10000:10000:100:100:10000:10000 390404K/478K 可用(10240K 内核代码、794K rwdata、3096K rodata、1024K init、7454K BSS、 30460K 保留、57344K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    向量:0xff0000-0xff1000 (4KB)
    Fixmap:0xc00000 - 0xc00000 (3072 KB)
    vmalloc:0xe0000000 - 0x0x800000 (504 MB)
    低内存:0xC0000000 - 0xDfe00000 (510 MB)
    pkmap:bfe00000 - 0xC0000000 (2 MB)
    模块:bbf000000 - bbfe00000 (14 MB)
    .text:0x (ptrval)- 0x (ptrval)(11232 KB)
    初始化:0x (ptrval)- 0x (ptrval)(1024KB)
    .data:0x (ptrval)- 0x (ptrval)(794KB)
    .bss:0x (ptrval)- 0x (ptrval)(7455 KB)
    [0.000000]正在运行 RCU 自检
    [0.000000] RCU:可抢占的分层 RCU 实现。
    [0.000000] RCU:已启用 RCU 锁定检查。
    [0.000000]启用了 RCU 任务。
    [0.000000] NR_IRQ:16、nr_IRQ:16、预分配的 IRQ:16
    [0.000000] OMAP 时钟事件源:32786Hz 时的 Timer1
    [0.000000] arch_timer:以6.14MHz (virt)运行的 cp15计时器。
    [ 0.0000]时钟源:ARCH_SYS_COUNTER:MASK:0xffffffffffffffffffffff max_cycles:0x16af5adb9、max_idle_ns:440795202250 ns
    [0.000005] sched_clock:56位、频率为6MHz、分辨率为162ns、每换一次43980465FFFFFFF23ns
    [ 0.000024]切换至
    IDLE 源:0x9900032ns、最大0x00032ns:0x83FFFF 源:0x000244ns:0x000244ns、频率为0.83FFFF 源:0x0006400024ns:0x0006400024]
    32768 Hz
    [0.001202]的32K_counter 控制台:彩色虚拟设备80x30
    [0.001236]锁定相关性验证器:版权所有(c) 2006 Red Hat, Inc., Ingo Molnar
    [0.001252]... MAX_LOCKDEP_SUBCLASSES:8
    [0.001266]... MAX_LOCK_DEPTH: 48[0.001280]...
    MAX_LOCKDEP_KEY: 8191[0.001295]...
    CLASSHASH_SIZE: 4096
    [0.001309]... MAX_LOCKDEP_ENTERINES: 32768[0.001323]...
    MAX_LOCKDEP_链: 65536[0.001336]...
    CHAINHASH_SIZE: 由
    锁依赖项信息使用的32768 [ 0.001350]存储器:每个
    任务结构存储器占用量为4655 KB [ 0.001365]:1536字节
    [ 0.001414]校准延迟循环(跳过)、使用计时器频率计算得出的值。 12.29 BogoMips (lpj=61475)
    [ 0.001414141] pid_max:默认值:32768最小值:301
    [ 0.001663]安全框架已初始化
    [ 0.001751]安装高速缓存散列表条目:1024 (订单:0、0.004096字节)
    [ 0.001771]安装点高速缓存
    一致性哈希表条目:1024 (订单:0、4096字节)[
    CP3962字节] CPU 虚拟磁盘:0.003949:写入测试[0.0049] 使用 ICIALU 变通办法
    [ 0.006438]为0x80100000 - 0x80100060
    [ 0.006804] RCU:分层 SRCU 实现设置静态标识映射。
    [0.009989] devtmpfs:已初始
    化[0.058448] VFP 支持 v0.3:Implementor 41体系结构4第30部分变体 f rev 0
    [0.059730]时钟源:jiffies:mask:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [ 0.0574] bytex:0.06256 bytes:核心条目[0.096]
    初始化的 pinctrl 子系统
    [0.064799] NET:注册的协议系列16
    [0.065414] DMA:为原子相干分配预分配的256 KiB 池
    [0.067157] OMAP_hwmod:L3_MAIN_2使用来自 OCP
    的断开的 dt 数据[0.365373]审核:初始化 netlink 子系统(已禁用)
    [0.367146] cpuidle:使用空
    闲梯[0.367296]审核:使用空闲梯[0.367296] 使用调速器菜单
    [0.370796]审核:type=2000审核(0.360:1):STATE =初始化审核_enabled=0 res=1
    [0.388074] GPIO gpiochip0:(GPIO-0-31):添加了 GPIO chardev (254:0)
    [0.388350] gochochip_setup_dev:寄存式 GPIO gpio0:0.3831 (
    在 gpip31上
    )[0.3831:gpip31:gpip31 (gpip31) 添加了 GPIO chardev (254:1)
    [0.389884] gpiochip_setup_dev:在器件上注册了 GPIO 32至63:gpiochip1 (GPIO-32-63)
    [0.391133] GPIO gpiochip2:(GPIO-64-95):添加了 GPIO charip1 (GPIO-32-63)[0.391133] gpiochipchiochet2:
    gpio
    
    设置[0.3995] gpio_gpio_giptic (gpio-64_gpio_gpio_gio)[0.3995](gpio_gpio-64_gpio_giptic)[243995](在器件上添加了 gpio_gpio-64_gpio_g 器件上寄存的 GPIO 96至127:gpiochip3 (GPIO-96-127)
    [0.393856] GPIO gpiochip4:(GPIO-128-159):添加了 GPIO chardev (254:4)
    [0.394014] gpiochip_setup_dev:寄存器件上的 GPIO128至159:gpiochip4 (254:gpip5
    
    )[0.39152] gpiochiptriggpix_5191](gpio_gpio_5[0.395191](gpio_gpio_gpio_5_gpio_gpio_gpio_gop1:0.521596]器件上寄存器件上寄存器件 gpiochip5 (GPIO-160-191)
    [0.396517] GPIO gpiochip6:(GPIO-192-223):添加了 GPIO chardev (254:6)
    [0.396668] gpiochip_setup_dev:在器件上注册了 GPIO 192至223:gpiochip6 (GPIO-192-223)[0.396668] gpio_setup_dev_gpio225-245[0.3925]
    
    (gpio225-gpi225-gpio_s245_s24]器件上注册了 GPIO 设置[0.397_gpio_s245]gpio_gip225-gpi225-gp_gpi225-gp[0.397_gp_gpi225-gp
    
    [0.432382]硬件断点:无法在 CPU 0上启用监视器模式。
    [0.434301] OMAP DMA 硬件修订版本0.0
    [0.46161] EDMA 43300000。EDMA:禁用 memcpy
    [0.469943] EDMA 43300000。EDMA:TI EDMA 引擎驱动程序
    [0.487707] OMAP-DMA 引擎4a056000。dma-controller:LinkedIn List1/pio_fam_gode_flags[0.48ates]0
    的"vat_gpirt_g_g_g0_gpio_fags"(已命名为"0.48pio_f_g_g_gpio_f_gor_f_g_g_g_gpet_parags"
    ) 无法解析节点'/fixedreguler-VDD_3V3V3[0]
    的'GPIO'属性[0.489663] of _get_named_gpiod_flags:无法解析节点'/fixedreguler-VDD_1v8[0.492676]的'GPIOMAP-iommu 40mu d040mu
    d1000 mu 的'GPIOMAP-VDD_1v848964[0]属性[
    
    已注册于2000 mu.04840mu.40mu.04840mu.04840mu.04840mu.mu:[04840mu.04840mu.04840mu.mu.484mu:已注册于2000年 MMU:804mu.40mu.04840mu.0484mu.0484mu.mu.
    
    将器件5502000.IPU 添加到组2
    [0.496316]初始化
    的 SCSI 子系统[0.496832] usbcore:注册的新接口驱动程序 usbfs
    [0.49699] usbcore:注册的新接口驱动程序集线
    器[0.497131] usbcore:注册的新设备驱动程序 USB
    [0.499745] omap_i2c 48070000.i2c 400kHz:i400kHz 在 OMAP_5000kHz [0.2c.0kHz 下
    100kHz 时的总线1版本0.12
    [0.501807] omap_i2c 48060000.i2c:400kHz 时的总线2版本0.12
    [0.503119] omap_i2c 4807a000.i2c:400kHz 时的总线3版本0.12
    [0.503547] pps_core:LinuxPPS API 版本。 1寄存
    式[0.503564] pps_core:软件版本。 5.3.6 -版权所有2005-2007 Rodolfo Giometti 
    [0.503613]已注册的 PTP 时钟支持
    [0.504587] OMAP-mailbox 48842000. mailbox:OMAP mailbox rev 0x400
    [0.505422]高级 Linux 声音架构驱动程序已初始化。
    [0.508199]时钟源:切换到时钟源 arch_sys_counter
    [0.688519]缺少 Cooling_device 属性
    [0.688544]无法生成散热区 board_thermal:-2
    [0.688851] NET:注册协议系列2
    [0.690286] tcp_listen_portaddr_hash 表条目:256 (订单:1、10409640字节
    ) 2、16384字节)
    [0.690440] TCP 绑定哈希表条目:4096 (顺序:5、147456字节)
    [0.691186] TCP:配置哈希表(建立了4096个绑定)
    [0.691422] UDP 哈希表条目:256 (顺序:2、20480字节)
    [0.691547] UDP-Lite 哈希表:256 (顺序:206972个字节
    )[0.691872个(顺序:20480字节) 注册协议系列1
    [0.693091] RPC:注册后命名为 UNIX 套接字传输模块。
    [0.693144] RPC:注册的 UDP 传输模块。
    [0.693160] RPC:注册的 TCP 传输模块。
    [0.693176] RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
    [0.695127]解压缩 initramfs...
    [1.244769]释放 initrd 内存:1648K
    [1.245998]硬件性能事件:通过 armv7_cortex_a15 PMU 驱动程序启用,7个计数器可用
    [1.249116]初始化系统受信任的密钥环
    [1.249539]工作集:timestamp_bits=14 max_order=17 bucke_order=3
    [1.25031](nfs/nfs 版本1.2419140])
    注册 id_resolver 密钥类型
    [1.252003]密钥类型 id_resolver 注册
    [1.252055]密钥类型 id_legacy 注册
    [1.262776]密钥类型非对称注册
    [1.262863]非对称密钥解析器注册[1.262968]
    已注册的 IO 调度程序节点
    [1.262988]已注册的 IO 最后期限
    [1.263065](默认注册的 IO 调度程序)[ 1.263065]
    1.263084]已注册 IO 调度程序 MQ-deadline
    [ 1.263102]已注册 IO 调度程序 kyber
    [ 1.269623] of_get_named_gpio_FLAGS:
    已解析节点'/tca9617bdgk@0[0]- status (0)[1.269837] of_get_named_status[tcare_g1pintrl]的'd 属性[1.2617bdgdg1k@1pintrl](tc1pintrl)[
    单个 pintrl]属性[1.26362pintrl]、tg1pintrl](1)
    无中断初始
    化[1.276571] pinctrl-single 4a002e8c.pinmux:1个引脚、大小为4
    [ 1.284837] PWM 背光:用于消费类背光电源使能的 GPIO 查找
    [1.284850] PWM 背光查找:使用器件树
    进行 GPIO 背光[ 1.284897] of _get_named_gpio]属性[1.28494] PWM 背光源属性[gpio-status-status]
    GPIO 18不支持持久性
    [1.284940] PWM 背光灯:GPIO 查找启用[
    1.284951] PWM 背光:使用器件树查找
    [1.284993] of _get_named_gpiod_flags:解析了节点'/ochip[0]的'ENABLE-GPIO'属性-状态(0)[1.285061]
    GPIO:背光 GPIO 23
    [1.28554] PWM 背光背光不支持持久性:作为消费类产品链接到电脑控制器.2
    [1.287339] usbcore:注册的新接口驱动程序 udlfb
    [1.287445] usbcore:注册的新接口驱动程序 smscifx
    [1.302490] Serial:8250/16550驱动程序、4个端口、启用了 IRQ 共享
    [1.306236] OMAP UART 4806a000.serial: uart0
    [1.306299] of _get_named_gpio_FLAGS:解析了节点'/ocp/serial@4806a000[0]的'RTS-GPIO'属性-状态(0)
    [1.306393] serial_omap_probe_RS485:RSP RX 超时设置为244us
    [1.306412] serial_probe vs
    1.6752] serial_probe_se_sync_line_probe:4806a000.serial: MMIO 0x4806a000 (IRQ = 43、base_baud = 3000000)上的 ttyO0是 OMAP UART0
    [ 1.307539] OMAP-UART 4806c000.serial:对于 uart1
    [ 1.307584] of _get_named_gpio_FLAGS:无法解析节点'/ocp/serial@1.3080]
    4806c000.serial:的'rts-gpio'属性[1.480c76000] MMIO 0x4806c000 (IRQ = 44、BASE_BAUD = 3000000)上的 ttyO1是 OMAP UART1
    [ 2.189736]控制台启用
    [ 2.194606] usbcore:注册的新接口驱动程序 udl
    [ 2.201072] omapdss_DSS 58000000.dss:链接为消费类产品到 dsb2.5820] usbcore [2.8320usbrom_dss
    dss dss:
    使用器件树进行 GPIO 查找
    [2.20834] of_get_named_gpio_FLAGS:解析了节点'/ocp/dss@58000000[0]的'LCD-power-enable-GPIO'属性-状态(0)
    [2.208391] GPIO gpiochip4:GPIO 19不支持持久性
    [2.208922] omapds_mdss
    链接到 DM580000.M:dss.ms 稳压器 勘误表 i878使用
    中的权变措施[2.227739] DMM 4e000000.DMM:已初始化所有 PAT 条目
    [2.242993]面板-简单显示:以使用者身份链接到 regulator。2[2.250016]
    面板-简单显示:以使用者身份进行 GPIO 查找
    [2.250028]面板-简单显示:使用器件树进行 GPIO 查找
    [2.250075] god_gnamed flags: 已解析节点'/display[0]的'ENABLE-GPIO'属性-状态(0)
    [2.250097] GPIO gpiochip6:GPIO 24不支持持久性
    [2.267622]循环:已加载模块
    [2.271554] of_get_named_gpiod_flags:已解析节点'/board_status'的'revision-gio'属性[2.271554](2.2713]-
    已解析[gpio_status_gpio]-status'修订版本[2.2713] 节点'/board-revision[1]的 revision-GPIO'属性-状态(0)
    [2.271669] of _get_named_gpio_FLAGS:解析节点'/board-revision[2]的 revision-GPIO'属性-状态(0)
    [2.271729] of _get_named_gpio'(
    已解析的[revision-gpio]属性-board-status')[2.904-board-status'(已解析的[revision-status][2.2960_status_status]
    由 VDD_3V3
    提供[2.305147] BUCK1:由 VDD_3V3
    提供[2.310974] LDO0:由 VDD_5v0
    提供[2.315927] LDO1:由 VDD_5v0提供
    [2.322095] BUCK0:由 VDD_5v0
    提供[2.818] VDD_3V3
    
    
    :由 VDD_3351]由 VDD_3v1提供[2.327] SPI-NAND 类型 mfr_id:2C、dev_id:14不在 id 表中。
    [2.360134] SPI_nand_base:SPI-NAND:可找到 MT29F1G01ABAFDSF。
    [2.3689]在第65472页找到错误的块表、版本0x01
    [2.377060]在第65408页找到错误的块表、版本0x01
    [2.395324] MDIO_bus 固定0:GPIO 查找用于消费者复位
    [2.395338] MDIO_BUS 固定0:使用查找表进行 GPIO 查找
    [2.395399] MDIO_bus 固定0: 未找到 GPIO 使用者复位
    [ 2.395579] libphy:固定 MDIO 总线:探测
    [ 2.404710] MDIO_bus 48485000.MDIO:用于使用者复位的 GPIO 查找
    [ 2.404723] MDIO_bus 485000.MDIO:使用器件树进行 GPIO 查找
    [2.404753] of_get_named_gpio_gode_flags[2.4864]不
    能将"g_g_gpio_ise_s'设置为"644048000"/ocp/ethernet@@"64000"的'g_natese_flags"属性[2.484864_g_g_g_ise_s'组[2.48 无法解析节点'/ocp/ethernet@48484000/MDIO@48485000[0]的'set-GPIO'属性
    [2.404796] MDIO_BUS 48485000.MDIO:使用查找表进行 GPIO 查找
    [2.404810] MDIO_BUS 485000.MDIO:未找到 GPIO 使用者复位
    [2.4582440] DaVinci_MD480001.1] MDIO 的修订
    
    版[2.48480001.1] MDIO_640001.160.mDIO: 无法解析节点'/ocp/ethernet@4848484000/MDIO@4848485000/ethernet-phy@1[0][2.479095]
    DaVinci_MDIO 48485000.MDIO 的'set-GPIO'属性:PHY[1]:器件484848485000.MDIO:01、驱动程序 TI DP83822
    [2.489040] sw
    
    :484000:484000:484000:484000:vs = 484000:484000:484000:484000:484000:vs = 484000:484000:484000:484000:vs:vs
    溢出检查周期500 (jiffies)
    [ 2.519326] usbcore:registered new interface driver rtl8xxxu
    [ 2.5358171] EHCI_hcd:USB 2.0 'Enhanced'主机控制器(EHCI)驱动程序
    [ 2.542698] EHCI 平台:EHCI 平台驱动程序
    [ 2.548786] EHCI-28:OMAP-EHCI 主机控制器
    2.5558]通用
    主机控制器[OHC123528] OHC_平台驱动程序[2.5529] OHCI 通用平台驱动
    程序[2.569104] xhci-hcd xhci-hcd.4.auto:
    
    
    xhci-hcd.4.auto: xHCI 主机控制器[2.574966] xhci-hcd xhci-hcd.4.auto:已注册新的 USB 总线、分配的总线编号1 [2.583361] xhci-hcd xhci-hcd.4.auto: params 0x0220f04c HCI 版本0x100 IRQ 0002010010 [2.593266] xhcb 0x48mcb pci 0x0220f04c hci 0x100c hcr 0x100c hcr 0x100cr inquirq 0x0000000002010010[2.593266] x
    找到新的 USB 设备、idVendor=1d6b、idProduct=0002、bcdDevice=4.19
    [ 2.609708] USB USB1:新的 USB 设备字符串:mfr=3、Product=2、SerialNumber=1
    [ 2.617261] USB USB1:产品:xHCI 主机控制
    器[ 2.622397] USB USB1:制造商:Linux 4.19.70-hb1:2.70x 1001-h801] USB USB1 [2.90x 100b1:
    xhci-hcd.4.auto
    找到 USB 集线器
    [ 2.641348]集线器1-0:1.0:检测到1个端口
    [2.646958] xhci-hcd xhci-hcd.4.auto: xHCI 主机控制
    器[2.652822] xhci-hcd xhci-hcd.4.auto:已注册的新 USB 总线、分配的总线编号2
    [2.660925] xhci-hcd xhci-hcd.4.auto:主机支持 USB 3.0 SuperSpeed
    [ 2.667940] USB USB2: 我们不知道该主机的 LPM 算法、禁用 LPM。
    [2.6799] USB USB2:找到新的 USB 设备、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19
    [2.685478] USB USB2:新的 USB 设备字符串:mFR=3、Product=2、SerialNumber=1
    [2.693068] USB USB2:产品:xHCI 主机控制
    器[2.698478] USB
    
    2.0 hb2[2.884-000b2] USB 2.0:xhci-hcd.4.auto 找到 USB 集线器
    [2.716044]集线器2-0:1.0:1个端口检测
    到[2.721294] xhci-hcd xhci-hcd.5.auto: xHCI 主机控制器
    [2.727062] xhci-hcd xhci-hcd.5.auto:已注册的新 USB 总线、分配的总线编号3
    [2.735464] xhcd-hcd xhci-hcd.5.auto: hcc pams 0x0220f04c 0x0000.hci version 0x750000010-hcd xhci-hcd.5.auto:
    IRQ 171、io mem 0x488d0000
    [2.753720] USB USB3:找到新的 USB 设备、idVendor=1d6b、idProduct=0002、bcdDevice= 4.19
    [ 2.762409] USB USB3:新的 USB 设备字符串:mfr=3、Product=2、SerialNumber=1
    [ 2.7686] USB USB2
    
    :x783b3:USB USB-USB USB2-USB USB3b3:2.5803b3:e100b3:USB 主机:2.5803b3:USB 控制器:USB 2.5802b3:e100b3:USB USB- USB USB- USB 2.5803b3:USB 100b3:e100b3:USB xhci-hcd.5.auto
    [2.788870] hub 3-0:1.0:找到 USB hub
    [2.792866] hub 3-0:1.0:检测到1个端口
    [2.797700] xhci-hcd xhci-hcd.5.auto: xHCI 主机控制
    器[2.803559] xhci-hcd xhci-hcd.5.auto:注册的新 USB 总线、分配的总线编号4[2.811678]
    xhci-hcd 支持 USB SuperSpeed
    [ xhci-hcd.5.auto: USB 3.0:USB SuperSpeed USB 3.0:USB 3.0 我们不知道该主机的 LPM 算法、禁用 LPM。
    [2.827995] USB USB4:找到新的 USB 器件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19
    [2.836620] USB USB4:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1
    [2.844212] USB USB4:xHCI 主机控制
    器[2.836620] USB USB4:g4[2.8482-rgx 100][2.832-r] USB 642-rgx USB 642-r] USB 642-rgx USB 642-r]
    xhci-hcd.5.auto
    找到 USB 集线器
    [2.867120]集线器4-0:1.0:检测到1个端口
    [2.872247] usbcore:注册的新接口驱动程序 CDC_ACM
    [2.878165] CDC_ACM:用于 USB 调制解调器和 ISDN 适配器的 USB 抽象控制模型驱动
    程序[2.886766] usbcore:注册的新接口驱动程序 USB-storage
    [2.893810] mousedev: 所有鼠标通用的 PS/2鼠标设备
    [2.901315] Atmel_mxt_ts 1-004A:GPIO 查找以进行消费者重置
    [2.901327] Atmel_mxt_ts 1-004A:使用设备树进行 GPIO 查找
    [2.901358] of_get_named_gpiod_flags:无法解析设置的"2.901386"/ocp/i2c
    属性[2.904a]@@/ocp/i2c@@gpio_g0_gpio_g1004a'属性[2.904a][2.904a] g_gp_gpio_g0_g1't_g1004a]
    使用查找表进行 GPIO 查找
    [2.901413] Atmel_mxt_ts 1-004A:未找到 GPIO 使用者复位
    [2.928401] Atmel_mxt_ts 1-004A:__mxt_read_reg:I2C 传输失败(-121)
    [2.935865] Atmel_mxt_ts 1-004A_bootx64_t_bootxloader:2.944a]
    
    I2C 恢复失败(-121)
    [ 2.957876] Atmel_mxt_ts:1-004A 的探测失败,错误-121[2.964501]
    usbcore:使用触摸屏注册的新接口驱动程序
    [3.000053] RTC-pcf85063 3-0051:RTC 内核:将 RTC-pcf8500263注册为 rtc0 [3.000053]
    RTUARTxT
    驱动程序[3.000053] RTOMAP-p8503c 0x40523] 初始超时60秒
    [3.032133] CPU CPU0:作为消费类产品链接到电脑控制器.9[3.037952]
    CPU CPU0:作为消费类产品链接到电脑控制器.5[3.049537]
    sdhci:安全数字主机控制器接口驱动程序
    [3.056007] sdhci:版权所有(c) Pierre Osfsman
    [3.061243] sdhci-pltm: SDHCI 平台和驱动程序助手
    [3.068017] sdhci-OMAP 4809c000.MMC:消费类 CD
    [3.068029] sdhci-OMAP 4809c000.MMC:使用器件树进行 GPIO 查找
    [3.0680] of_get_named_gpiod_flags:解析了节点'3.0805'的'CD-gpio'属性@[3.068000](/ocp/mmc)
    GPIO 27
    不支持持久性[3.068123] OMAP-GPIO 4805d000.GPIO:无法将第27行去抖设置为200000微秒(-22)
    [3.077353] sdhci-OMAP 4809c000.MMC:获取 CD GPIO
    [3.082270] sdhci-OMAP 4809c000.MMC:使用
    OMAP-4802312_gMC_g_gtrlags 的 GPIO 查找[3.08221]
    无法解析节点'/ocp/mmc@4809c000[0]
    的'wP-GPIO'属性[3.082337] of _get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@4809c000[0]的'wP-GPIO'属性
    [3.082352] sdhci OMAP-794809c000.mmc:无法解析节点'wP-gpio 的'wP-gpio'wpio'wpio'属性[3.089c4000.mmc
    
    :未找到3.3bc 3.3bc 3.3bc000]
    作为消费者链接到电脑控制器.2
    [3.097177] sdhci-OMAP 4809c000.mmc:断开到电脑控制器.2
    [3.104224] sdhci-OMAP 4809c000.mmc:作为消费者链接到电脑控制器.2
    [3.139130] mmc0:使用
    
    OMAP 4809c000.mmc [4809c436.mmc [4809c430.mmc 链接到消费类电子设备3.4b4000 [4803b3mmc6.4]] 3dhci-3b4000 [480b3mmc:gc 4b3b4000 [4803b3b3b4000:gmc6.4b3dmmc:gc: 使用器件树进行 GPIO 查找
    [3.148908] of _get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480b4000[0]
    的'CD-GPIO'属性[3.148964] of _get_named_gpio_flags:无法解析节点'/ocp/mmc@480b4000[0]
    
    mcc 3.14402mc]的'cd-gpio_gpio_flages'属性[3.14403.1440][mmc:未找到 OMAP 480b4002b4002c.mc]
    用于消费类产品 WP
    [3.149562] sdhci-OMAP 480b4000.MMC 的 GPIO 查找:使用器件树进行 GPIO 查找
    [3.149619] of_get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480b4000[0]的'wP-gpio'属性
    [3.149672] of_get_named_gpio_gpio_gpio_gpio]不能解析节点'__LW_AT__@480b4000[3.14mc'的'mmc'属性:/ocp/mmc dwmc-mc'属性
    :不能解析"3.14dwmc'属性4b4004b_mc'[3.14604b_mc'[3.3b_mc'属性:不能解析
    未找到 GPIO 消费类产品 WP
    [3.150839] sdhci-OMAP 480b4000.MMC:作为消费类产品链接至 reguler.3[3.159297]
    sdhci-OMAP 480b4000.mmc:断开与 regulator 的链接3[3.167997]
    sdhci-OMAP 480b4000.mmc:作为消费类产品链接至 regulator .3
    [3.2013.19mc4.3mmc:使用
    OMAP 480b4000 mc2mc2c.mmc [3.3][3.3mmc:mc2mc2mc4000 [3.16742.mc] 消费类 CD
    [3.211966] OMAP_hmc 480ad0.MMC 的 GPIO 查找:使用器件树进行 GPIO 查找
    [3.212027] of_get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@
    /ocp/mmc@480480ad000[0]的'CD-gpio'属性[3.212083] of_get_named_gpio_gpipod_mc]不能解析'3.3mc_mc'节点'3.3mad000[3.3mc_mc'的'gmc'属性[3.3mc_mc_mc_mc'属性:不能解析"3.3mc_mad000_mc_mc_gmc'属性[3.3mc_mc_mc_gmc_m
    
    未找到
    
    
    
    GPIO 消费类 CD [3.212169] omap_hmc 480ad0.mmc:用于消费类产品的 GPIO 查找 WP [3.212190] omap_hmc 480ad0.mmc:使用器件树查找[3.212244] of_get_named_gpio_flags:无法解析节点'wP-gio'的'wP-giOMAP-giOPS'属性、/ocp/mmc@/ocp/mmc@3.312293[g_ad000][3.3gmc_mc_gad000][3.212242][3.3g_mc_mc_mc_mc]
    使用查找表进行 GPIO 查找
    [3.212347] omap_hsmmc 480ad0.mmc:未找到 GPIO 使用者 wp
    [3.214252] omap_hsmmc 480ad0.mmc:以使用者身份链接到电脑控制器.2
    [3.222193] omap_hsmmc 480ad0.mmc:无 SDIO IRQ 支持、回轮询
    [3.982474
    :随机 CPU 初始化[3.22193] 已注册以指示 CPU
    [3.277809]选项板上的活动:从 DT 探测导管方法。
    [ 3.284341]
    
    
    /ocp/i2c@@
    /ocp/i2c@@:修订版3.2 (0dd915F1)[ 3.285350]选项:初始化的驱动程序[ 3.298028] ti-iodelay 4844a000.padconf:设置寄存器0x194延迟(A:285 g:0)、元素(C=0 F=9) 0x29009 [ 3.315124] of _get_get_gpirt_3_det_g3 '3.3rgpines'[3.318_gpet_gpines'属性[3.3104_gpines'[3.3r_gpet_got_gpino][3.3f_got_gpino][3.3f_got_gpinesignedor_got_gpinesigns[3.3f_got_gpino][3.3f_got_got_gpino][3.3f_got_got_
    作为耗电元件链接到电脑控制器.2
    [3.322684] ti-iodelay 4844a000.padconf:设置寄存器0x1ac 延迟(A:189 g:0)、元素(C=0 F=6) 0x29006
    [3.332496] tlv320aic3x-padcodec 3-0018:作为耗电元件链接到电脑控制器.3 [3.342=24000]
    、
    设置中断配置文件0x342=12452]C:0x24000=240001.442]C 延迟(i6002]C:0x342=24000=240001.pad2 (i6002]C)
    [3.359676] Initializing XFRM netlink socket
    [3.364215] NET: Registered protocol family 17[3.369017]
    ti-iodelay 4844a000.padconf: set reg 0x1c4 delay(a:0 g:70),Elements (C=0 F=1 )0x29001
    [3.378561] NET: registered protocol family
    0x276[3.48padr.000] 360)、Elements (C=1 F=15) 0x2902f
    [ 3.393255]注册的 Key type DNS_旋 变传感器
    [3.397971] ThumbEE CPU 扩展支持。
    [3.402579] ti-iodelay 4844a000.padconf:设置寄存器0x1dc 延迟(a:0 g:0)、元素(C=0 F=0) 0x29000
    [3.411981]注册 SWP/SWPB 仿真处理程序
    [3.416999] OMAP_VOLTGE_LAST_INIT:未添加电压驱动器支持
    [3.4237339]
    针对 TI-44000 (eap4)器件设置0x424000+0 (padf) edelay:[3.4249999]
    [ 3.438348] ti-iodelay 4844a000.padconf:设置寄存器0x1F4 delay (a:70 g:0)、元素(C=0 F=2) 0x29002
    [3.447724] ti-paddelay 4844a000.padconf:设置寄存器0x200 delay (a:0 g:0)、元素(C=0 = 0=24724]如果
    
    在主机中不支持读取3.48548553.4855][3.48525.000]、则不支持读取 ioconf 证书[ 3.4824]。
    设置寄存器0x368延迟(A:0 g:120)、元素(C=0 F=2) 0x29002
    [3.495540]密钥类型已加密注册
    [3.500287] IMA:未找到 TPM 芯片、激活 TPM-BYPASS!
    [ 3.506083] IMA:分配的哈希算法:SHA1
    [ 3.511072] ti-iodelay 4844a000。padconf:设置寄存器0x190延迟(A:0 g:0)、元素(C=0 F=0) 0x29000
    [ 3.520820] mmc0:新的高速 SDHC 卡位于地址 AAAA
    
    [ 3.534]、EVM:初始化扩展的属性0x3718EVM:3.52381EVM] 0)、元素(C=0 F=7) 0x29007
    [ 3.544735] mmcblk0:mmc0:AAAA SA08G 7.40 GiB
    [ 3.549608] EVM:security.ima
    [ 3.552718] EVM:security.capability
    [ 3.556465] EVM:HMAC atoms:0x1
    [ 3.562833] EVM:0x481padf
    
    [ 3.5527]设置为0x481pad1:0x481pad1:0x481f delay [ 3.4824000] delay 1:0x48c0001p1padf [ 1.48p1f ] 91 g:0)、Elements (C=0 F=2) 0x29002
    [ 3.597740] ti-iodelay 4844a000.padconf:set reg 0x1d8 delay (A:176 g:0)、Elements (C=0 F=5) 0x29005
    [3.628265] io-delay 4844a000.conf:set 1.443g (pad1000
    
    :0x437000=0)、i6002f delay [0x48245g=0 (padf:0=24585]F delay = 0x29000=12458g:0=2410355]F delay [3.4824a elay (ti:0=0]C:0=24394g:0=24394g:0=24394g (padf:0=24394g:0=24394g:0= 设置寄存器0x1fc 延迟(A:0 g:0)、元素(C = 0 F = 0) 0x29000
    [ 3.677587] ti-iodelay 4844a000.padconf:设置寄存器0x364延迟(A:360 g:0)、元素(C = 0 F = 11) 0x2900b
    [ 3.718712] mmc1:将 DSS 3.74832] mmc2 delay 连接到 dss_dss.862.00s [3.7200]
    mmap1:3.783mmdss_dss_dss_dss_dss.cc=3.7200]
    mmc1:0001 004G60 3.67 GiB
    [ 3.752628] mmcblk1boot0:mmc1:0001 004G60分区1 2.00 mib
    [ 3.759029] omapdss_dss dss 5860000.178:用于消费类 lcd-power-enable
    的 GPIO 查找[3.759048] omapds_dss_58132]
    属性[3.750000.g_dss:使用"gpio_g_gpio_g0_gpirt_g_g_g_g_g_g_g4dss 属性[3.750000.24]@/ocp/dss
    GPIO 19不支持持久性
    [3.756962] DSS:OMAP DSS 修订版本6.1
    [3.765932] omapdss_DSS 58000000.dss:bound 58001000.dispc (ops dispc_component_ops)
    [3.775463] mmcblk1boot1:mmc1:004G60分区2 4.00 mib [3.782400g1mc0001] mmcblk1mc0001
    :mc0001:mc0001 mc0001 mc0001 mc2400g1 mc1 mc1 mc1 mc1 mc1 mc1 mc1 mc1 mc1 mc
    mmc1:0001 004G60分区5 4.00 mib
    [ 3.799238] mmcblk1rpmb:mmc1:0001 004G60分区3 512 KiB、chardev (242:0)
    [ 3.808174] mmcblk1:P1 P2
    [ 3.819690][DRM]支持 vblank 时间戳版本2 (21.10.2013)缓存。
    [3.826685][DRM]不支持 vblank 时间戳查询的驱动程序。
    [3.867302][DRM]启用 DMM 回绕滚动
    [3.881891]控制台:切换到彩色帧缓冲器设备160x50
    [4.066059] omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器设备
    [4.075538][DRM]为 omapdrm 1.0.0 20110917初始化的 omapdrm omapdrm_g0
    :omapdrm_gpim_g0484[4.075538] 已解析节点'/sound@0[0]的'AMPLP-SD-GPIO'属性- status (0)
    [4.088414] of _get_named_gpioD_flags:不能解析节点'/sound@
    @
    @0[0]的'sule-audio-card、HP-det-gpio'属性[4.088472] of _get_named_gpio-campeld'属性[4.08077320]
    已解析节点'/on-off-key/on-off-key [0]的'GPIO'属性-状态(0)
    [4.110807] GPIO gpiochip4:GPIO 1
    不支持持久性[4.111310]输入:ON - OFF - KEY AS /devices/platform/on-off-key/input/input0
    [4.122435] RTC-pcf85063 3-0051:将系统时钟设置为2019-09-17 11:30:20
    :198481386][4.158] 初始化 cpsw 版本1.15 (0)
    [4.165209] TI DP83822 48485000.MDIO:01:连接的 PHY 驱动
    程序[TI DP83822](MII_bus:phy_addr=4848485000.MDIO:01、IRQ=POLL)[4.358287]、等待网络长达2秒。
    [4.538287]等待网络长达2秒。
    [4.718334]等待网络长达1秒。
    [4.898350]网络等待时间长达1秒。
    [5.078285]等待网络长达1秒。
    [5.258266]等待网络长达1秒。
    [5.438286]等待网络长达1秒。
    [5.618281]等待网络长达1秒。
    [5.798283]等待网络再等待0秒。
    [5.978337]网络等待时间长达0秒。
    [6.158287]网络等待时间长达0秒。
    [6.218291] IP-Config:完整:
    [6.221728] device=eth0、hwaddr=74:e1:82:90:56:20、ipaddr=192.168.0.1、mask=255.255.255.0、gw=192.168.0.254
    [6.233167] host=192.168.0.1、domain=、nis-domain=(none)
    [6.239701] bootserver=192.168.0.254、rootserver=192.168.0.254、rootpath=[6.249766]
    cfg80211:为法规数据库加载已编译的 X.509证书
    [6.260263] cfg80211:加载 X.509证书'forshee:00b28ddf47aef9ce7'
    [6.269275] cpsw 484000.etr/为完整的以太
    网控制平台[6.100Mbps: regulation.db 的直接固件加载失败,出现错误-2
    [6.289092] ALSA 设备列表:
    [6.292212]#0:WA55-音频
    [6.297431]释放未使用的内核内存:1024K
    [6.302441] cfg80211:无法加载 regulation.db
    [6.308411]在
    系统模式下运行/init 进程[7.125211]。 (-pam -audit -sLinux -ima -AppArmor -smack +sysvinit -utmp -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +blkid -ELFUTILS +KMOD -IDN2 -IDN default-archivel=混合)
    [7.148554]系统架构:检测到 ARM:
    [7.183213] systemd[1]:将主机名设置为 。
    [7.807726] random:systemd:未初始化 urandom 读取(16字节读取)
    [7.816514] systemd[1]:已达到目标远程文件系统。
    [7.849043] random:systemd:未初始化的 urandom 读取(16字节读取)
    [7.85757] systemd[1]:侦听 udev 控制套接字。
    [7.888667] random:systemd:未初始化的 urandom 读取(16字节读取)
    [7.897844] systemd[1]:侦听日记账套接字。
    [7.928764] systemd[1]:已达到目标路径。
    [7.959174] systemd[1]:侦听日志审计套接字。
    [7.990389] systemd[1]:侦听 Syslog 套接字。
    [8.018803] systemd[1]:侦听 udev 内核套接字。
    [8.759351] random:crng init done
    [8.765632] random:7 urandom warning missing due to rating
    [9.5713] systemd-journale[131]:received request to flush runtime journal from PID 1
    [12.913790] power_module:loading out-of -of -of -tree module taines kernel.
    [12.962704] of _get_named_gpio_FLAGS:解析了节点'/power-module[0]的'wlan-enable-gpio'属性-状态(0)
    [12.962770] of _get_named_gpio_FLAGS:解析了节点'/power-module[0]的'power-gpio-gode'属性(12.96189_gode'/gpio]-status'
    属性)[12.960]-status_gped_gpipode[12.189297]-status_[12.960]-status_[12.9_gp_gpips[12.189_gods[12.9_status_g_
    已解析节点"/power-module[1]"-状态(0)
    [14.026738] EXT4-FS (mmcblk1gp0)的'bsp-support-gIOs'属性:已安装文件系统、具有有序数据模式。 opts:(null)
    [ 14.060008] EXT4-FS (mmcblk1gp1):已安装文件系统、具有有序数据模式。 OPTS:(空)
    [15.389069] mmc2:地址0001
    [15.577131] mlan 的新高速 SDIO 卡:模块许可证'Mervell Proprietary'会对内核进行访问。
    [15.664634]由于内核中断禁用锁定调试
    [15.715264] WLAN:加载 mWLAN 驱动
    程序[15.731964]供应商=0x02DF device=0x9139 class=0 function=1
    [15.763038] rx_work =0 cpu_num=1
    [15.790892]请求固件:mrvl/sd8801_uapsta.bin
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    [引用 user="Stef boerrigter"]我尝试了选项1;新固件,但没有什么区别。

    好的、感谢您的检查。

    [引用 user="Stef boerrigter"]在我看来、选项2是一个很长的选择、我会将其保留在我的待办事项中作为一个选项。  [/报价]

    是的、这是一个长期的尝试。 我曾几次只是在稍后调试问题、以发现它们已经在上游修复、因此对于我来说、它已成为首先检查的项目之一(通常是上游)。

    [引用 user="Stef boerrigter"]我提出了一个选项3:为 MMC3 (连接到 U-blox 模块)使用旧的 OMAP-hsmmc 驱动程序,并将 MMC1和2与 sdhci-OMAP 保持一致。)

    其实我也会建议,但我不想在我之前的答覆中,因为这似乎是相当先进的。 尽管如此、很高兴您按照相同的思路进行了思考、并已对此进行了拍摄。

    [引用 user="Stef boerrigter"]我已经尝试使用 WAKE_IRQ (GPIO7-0)和不使用(返回到轮询)、但两者看起来都卡在:您可以在下面的引导日志中看到的 Reqeust 固件。 此外、几分钟后、没有会触发故障的回调/计时器过期。 它只是在这个部分挂起。  

    我看到4.4和4.19之间的差异:  
     -4.4在固件下载期间将 MMC 控制器切换到 PM 挂起,4.19不支持
     -您是否知道电源模式和暂挂的任何变化?  
       这是否相关?
       -您是否有任何其他提示来移植 OMAP_hsmmc 驱动程序并在4.19内核中启用它?[/quot]

    是的、PM 可能会在这里播放、因此其他实验可能不会受伤。 我知道您已经尝试通过 sysfs 来操作 PM 行为、但除此之外、以下内容是什么:

    1. 从 sdhci_omap_probe ()和/或中删除对 pm_runtime_enable (dev)的调用
    2. 在   sdhci_omap_probe ()中的 pm_runtime_get_sync (dev)调用之后立即插入对 pm_runtime_forbid (dev)的调用

    优点是您有一个使用内核4.4的工作系统、因此我们希望它最终能够工作。 如果我们可以找到一种方法来轻松地将内核历史记录与问题的确切引入时间相二、那将会很有帮助...

    此外、虽然我对通过 PCIe 使用 Marvell 无线电有相当多的经验、但我没有通过 SDIO I/F 使用 mwifiex 驱动程序 虽然您可以尝试上述操作、但请多给我一两天时间、以便更好地理解此处涉及的低层次内容、并与我的一些同事协商、了解哪些是可以尝试的后续步骤。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    感谢您的帮助,我已经尝试了您对两个驱动程序(omap_hsmmc.c 和 sdhci-omap.c)以及以下操作和结果的建议:

    答:删除 pm_runtime_enable():  
      -sddhci-omap.c: 探测失败

    [3.189925] sdhci-OMAP 480ad0.mmc:Pm_runtime_get_sync 失败
    [3.196484] sdhci-OMAP:480ad0.MMC 的探测失败,错误-13

      - omap-hsmmc.c:引导期间内核严重错误。  

    B:在 runrunime_get_sync 后立即添加 pm_runtime_forbd (dev):

      -sddhci-omap-c:没有发现差异,仍然无法加载 Marvell 驱动程序。

      -OMAP-Hsmmc:没有发现差异,仍然无法加载 Marvell 驱动程序。

    其他:  
    我可以确认从4.4内核移植到4.19的 OMAP-hsmmc.c 驱动程序适用于连接到 MMC1 (0)和 MMC2 (1)的 eMMC 和 SD 卡。 认为这些信息很有用

    此外:
    我认为此 Lily 模块的电源安全功能是另一种解决方法:

    1.模块使用 WAKE IRQ (SDIO IRQ 旁边的第二个 IRQ)来处理深度睡眠期间的唤醒:  

    mmc3_PIN_hs:pinmux_mmc3_PIN_hs{
    pinctrl-single、pines=<
    DRA7XX_core_IOPAD (0x377c、PIN_INPULLUM_PULLUP | MUX_MODE0)/* mmc3_MODE0 *
    
    0x37_PIN_MODE0
    
    (0x37_DCMO0_IN_MO3_MODE0)/DRA7XX_PIN_MO3_MO3_PULLUPULLUP */DRA7XX_MO3_MO3_MO3_MODIO0*/DRA8_PIN_MODIO0*/DRA_MO3_POLON_MO3_MO3_MO3_MODIO0*/DRA_MO3_PULLUPULLUPULLUP */DRA_MO3_MO3_MO3_MO3_MODE_PULLUPULLUP */DRA_MO3_MO3_MO3_MO3_POLON_MO0*/DRA_MO3_MO3_MODIO0*/
    
    
    
    
    mmc3_PINS_IDLE:pinmux_mmc3_PIN_IDLE{
    pinctrl-single、pins =<
    DRA7XX_CORE_IOPAD (0x3788、PIN_INPUT_PULLUP | WAKEUP_EN | MUX_MODE14)/* mmc3_dat1.GPIO7_0 *
    >;
    }; 

    因此、在睡眠/空闲模式期间、SDIO 总线的引脚 Data1 (数据0、1、2、3)被重新多路复用至 GPIO7_0、并且 GPIO7_0引脚被用作唤醒 IRQ;因此、它可以从 Lily U-blox 无线电模块向 MMC 接口发出信号、表明它应该从深度睡眠中再次唤醒。

    2. Linux 4.4 (有效)和4.19 (不工作)的区别;两者都具有(几乎)相同的 OMAP-hsmmc 驱动程序:  

    • 在4.4中启动驱动程序时、我看到(简化)引导顺序:
      1. 探测和配置 MMC 器件
      2. MMC 器件电源模式设置为 ON (始终启用)
      3. 已探测 WLAN 模块
      4. 禁用唤醒 IRQ、MMC 模块进入"omap_hsmmc_runtime_resume"
      5. 通信开始、驾驶员要求固件
      6. 唤醒 IRQ 被启用、MMC 模块进入"omap_hmc_runtime _suspend"
      7. 禁用唤醒 IRQ、MMC 模块进入"omap_hsmmc_runtime_resume"
      8. 驱动程序提到:固件下载、(完整)
    • 在4.19中启动驱动程序时、我看到以下(简化)引导顺序:
      1. 探测和配置 MMC 器件
      2. MMC 器件电源模式设置为 ON (始终启用)
      3. 已探测 WLAN 模块
      4. 禁用唤醒 IRQ、MMC 模块进入"omap_hsmmc_runtime_resume"
      5. 通信开始、驾驶员要求固件
      6. 驱动程序在 void MMC_WAIT_FOR_REQ_DONE (struct MMC_host * host、struct MMC_Request * MRQ)(drivers/MMC/core/core.c)-> wait_for_completion (&MRQ->completion)中"永久"挂起;
        1. 此调用从 lily 驱动程序触发;mlinux/Moal_SDIO_MMC.c -> Moal_write_data_sync ->[ Linux 内核中的条目此处:SDIO_writesb -> SDIO_RW_LV_helper->MMC_IO_RW_DELDED (剩余字节模式)-> MMC_WAIT_for_REG_REG_Q_REGND_MMC_REW_DONE -> 完成

    此致、
    步骤

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Stef、

    [引用 user="Stef boerrigter"]2. Linux 4.4 (有效)和4.19 (无效)的区别;两者都具有(几乎)相同的 OMAP-hsmmc 驱动程序: [/引用]

    根据您的分析、在初始固件设置阶段、似乎没有使用中断、我们正尝试通过、因此可能需要查看其他一些地方?

    那么、主机驱动程序也可能不是我们的问题吗? 然后、机密可能位于 MMC 内核(drivers/MMC/core/)或其他一些相关位置。

    话虽如此、我们在基于 AM57xx 的 BeagleBone-AI 的4.19内核上确实有一个基于 MMC 的 WiFi 解决方案。 WiFi 模块不同(Broadcom、而不是 Marvell)、 此外、它还使用专用中断线路、而不是 SD 数据线路的"有趣"多路复用方案、但是、如果常规"&MMC" DTS 设置(基本上忽略"brcmf"子节点)与基于 Marvell 的 U-blox 模块所使用的设置相匹配、您可以查看该设置:

    https://github.com/beagleboard/linux/blob/4.19/arch/arm/boot/dts/am5729-beagleboneai.dts#L934

    我还简要介绍了与基于 AM57xx 的 BB-AI WiFi 实施相关的开发人员之一、他说、他们在从带有旧 MMC 驱动程序的 v4.9.x 内核迁移到带有更新 MMC 驱动程序的较新的 v4.14/v4.19内核时真正看到的唯一问题是 需要更新 IRQ 的边沿/电平设置。  也许您也可以仔细检查这方面。

    https://github.com/beagleboard/BeagleBoard-DeviceTrees/commit/aad0907458a770408b5d4932968bc979ac24397f

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    我已经查看了补丁、并将 IRQ 类型从 LEVEL_Low 更改为 egde_Falling、从 LEVEL_HIGH 更改为 EDGE_RISING。 这没有什么不同。 此外、brcmf 变化看起来也不相关。

    我已要求 U-blox 团队帮助我们解决这个问题、并在这里预先分享信息、否则、我认为这可能会成为一个死胡同。 感谢您迄今的支持。

    此致、Stef

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    我与 U-blox 研发部门有着短暂的联系、他们告诉我一段时间前收到的一个不满意的主题回答: http://e2e.ti.com/support/processors/f/791/t/821970

    您是否也可以查看此主题并将此问题与我提出的问题对应? 如何在 TI MMC 总线上继续使用此器件?  

    提前感谢、
    Stef Boerrigter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    感谢再次与 U-blox 团队联系、但我看不出这条旧线程在这里有多大帮助。

    您之前提到过、您使用的是内核4.4、您能否共享工作方案的启动日志?

    我建议我们进一步研究两个方面:

    1. 中断-它们是否被触发? 为此,您可以使用 printk()语句来检测 drivers/MMC/host/sdhci.c:sdhci_thread_IRQ ()(可能需要在此处对调试打印进行速率限制)
    2. DMA 呢? 在基于内核4.19的设置中、DMA 不用于 MMC3硬件模块(在 Linux 中称为"mmc2")、您可以从日志打印"mmc2:480ad000.MMC 上的 SDHCI 控制器[480ad000.mmc]使用 PIO"(键为"PIO")中看到这一点。 我想知道您以前的工作场景是否显示"DMA"?

    具体来说、关于第二点、我发现以下有趣的承诺...

    ARM:DTS:dra7:使用 sdhci-OMAP 编程模型
    https://git.ti.com/cgit/processor-sdk/processor-sdk-linux/commit/?h=processor-sdk-linux-4.19.y&id=940293affa7ed7c0bdb1820ecf7a8f12e901d030

    将驱动程序从 omap_hsmmc.c 切换到 sdmci-omap.c、同时通过删除 DMA =<&sdma_Xbar 77>、<&sdma_Xbar 78>和 dma-names ="TX"、"Rx"、节点同时添加 sma-ma-cap 0x000= 0xSDma-cap、声明不支持。 现在、我不知道为什么这么做、但我将要了解。 器件文档中没有什么明显的原因(不再是?) 因此可能还有其他原因、所有这些都可能对我们解决手头的问题有帮助、但这是一个差异、值得进一步研究。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    请参阅下面的4.4工作中的 OMAP-hsmmc 启动日志、但对于所有 OMAP-hsmmc 器件、没有提及 PIO 或(a) DMA ...

    关于两个问题:

    1.我根据您的请求在 sdhci_thread_IRQ 中添加了 printk,但我没有看到任何调用,然后我还向 sdhci_IRQ 函数添加了 print:

    静态 int sdhci_irq_cr = 0;
    if (strncmp (mmc_hostname (host->MMC)、"mmc2"、4)==0)

    sdhci_IRQ_CTR++;
    printk ("SB:--- %s %s:%d [%d]\n"、__func__、MMC_hostname (host->MMC)、sdhci_IRQ_CTR、IRQ);

    中断持续触发、我已经用 mmc1进行了简要检查、在以相同的间隔加载 ily wifi 驱动程序后、它似乎是相同的量。

    [49.617316] mlan:模块许可证“Movell 专有”包含内核。
    [49.624376]由于内核原因禁用锁定调试
    [49.647311] WLAN:加载 mWLAN 驱动
    程序[49.656114] SB:--- sdhci_IRQ mmc2:1536 [72]
    [49.663168] SB:--- sdhci_IRQ mmc2:1537 [72]
    [49.668227] vendor=0x02DF device=0x9139 class=0 function=1
    [49.675907] sb:--- sdhci_IRQ mmc2:1538 [72]
    [49.682099] SB:--- sdhci_IRQ mmc2:1539 [72]
    [49.687283] SB:--- sdhci_IRQ mmc2:1540 [72]
    [49.693961] rx_work = 0 cpu_num=1
    [49.697461] sb:--- sdhci_IRQ mmc2:1541 [72]
    [49.704268] SB:--- sdhci_IRQ mmc2:1542 [72]
    [49.709465] SB:--- sdhci_IRQ mmc2:1543 [72]
    [49.716302] SB:--- sdhci_IRQ mmc2:1544 [72]
    [49.722400] SB:--- sdhci_IRQ mmc2:1545 [72]
    [49.727590] SB:--- sdhci_IRQ mmc2:1546 [72]
    [49.734268] SB:--- sdhci_IRQ mmc2:1547 [72]
    [49.739456] SB:--- sdhci_IRQ mmc2:1548 [72]
    [49.744918] SB:--- sdhci_IRQ mmc2:1549 [72]
    [49.750236] SB:--- sdhci_IRQ mmc2:1550 [72]
    [49.760641] SB:--- sdhci_IRQ mmc2:1551 [72]
    [49.765829] SB:--- sdhci_IRQ mmc2:1552 [72]
    [49.772591] SB:--- sdhci_IRQ mmc2:1553 [72]
    [49.777776] SB:--- sdhci_IRQ mmc2:1554 [72]
    [ 49.782976]请求固件:mrvl/sd8801_uapsta.bin
    [ 49.792942] wlan_SDIO mmc2:0001:1:mrvl/sd8801_uapsta.bin 的直接固件加载失败、错误2 [
    49.803002] wlan:request_firmware()失败、错误代码=-2
    [ 49.80601- vl
    
    - 49.8085]失败、错误请求- 49.80859924] sdhci_IRQ mmc2:1555 [72]
    [49.826463] SB:--- sdhci_IRQ mmc2:1556 [72]
    [49.832505] SB:--- sdhci_IRQ mmc2:1557 [72]
    [49.837690] SB:--- sdhci_IRQ mmc2:1558 [72]
    [49.844901] woal_add_card 故障
    [49.848439] SB:--- sdhci_IRQ mmc2:1559 [72]
    [49.855261] SB:--- sdhci_IRQ mmc2:1560 [72]
    [ 49.861235] wlan_SDIO:mmc2:0001:1的探测失败、错误-1
    [ 49.869117] wlan:驱动程序已成功加载
    根@wa55-hs:~[50.9981] sb:--- sdhci_IRQ mmc2:1561 [72]
    [51.049969] SB:--- sdhci_IRQ mmc2:1562 [72]
    

    2:工作示例我在 OMAP-hmc 驱动程序的探测函数中添加了额外的 printk、以显示 ADMA/ DMA 是否已初始化:  

    [3.959246] SB:- OMAP-Hsmmc_probe:使用 ADMA mmc0
    [4.017467] SB:- OMAP-Hsmmc_probe:使用 ADMA mmc1
    [4.071086] SB:- OMAP_hsmmc_probe:使用 DMA mmc2

    因此、MMC0和1使用的是 ADMA、而 MMC2没有这种功能、并且使用了"regular?" 4.4内核中的 DMA

    完整的 dmesg Bootlog 4.4工作(不包括步骤2中的 printk):

    [0.000000]在物理 CPU 上引导 Linux 0x0
    [0.000000]初始化 cgroup 子系统 cpuset
    [0.000000]初始化 cgroup 子系统 CPU
    [0.000000]初始化 cgroup 子系统 cpuacct
    [0.000000] Linux 版本4.4.41 (OE-USER@OE-HOST)(gcc 版本7.3.0 (UTC))#1 preempt WQp [0.46] 2019年10月24日[0.46]
    ARMv7处理器[412fc0f2]修订版2 (ARMv7)、CR=10c5387d
    [0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、PIPT 指令高速缓存
    [0.000000]机器型号:TI AM5708 Rational -WA55-CMA HighSecure
    [0.000000]保留内存:创建的0x5800000内存池、
    保留大小为0.000000 MIB [0.56] 已初始化节点 ipu2_cma@95800000、兼容 id shareda-dma-pool
    [0.000000]内存策略:数据高速缓存写回
    [0.000000] omap4:将0x9fe00000映射到 f600000用于
    节点0上的 DRAM 屏障[0.000000] dcmpage: 119552
    [0.000000] free_area_init_node 0、pgdcpdap8
    、dccat_degr [0.0000] 1152页用于 memmap
    [0.000000]正常区域:0页保留
    [0.000000]正常区域:119552页、LIFO 批处理:31
    [0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000] DRA722 ES2.1
    [0.000000] pcpu-alloc:s0 r0 d32768 u32768 alloc=1*32768
    [0.000000] pcpu-alloc:[0] 0
    [0.000000]在区域顺序中构建了1个区域列表,移动分组打开。 总页数:118400
    [0.000000]内核命令行:console=ttyO1,115200n8 rootwait noinitrd loglevel=7 HDMI-A-1:1280x800@60 VT-global_curse_default=0 rw nfsroot=536.254:/srv/wa55/nfsroot root=/dev/nfs ip=192.168.0.1:192.168.0.254:192.168.0.254:
    192:60个 vt.global_curs_default=0
    (
    以太网条目:0.2048) 5、131072字节)
    [0.000000]内存:392440K/478208K 可用(8194K 内核代码、690K rwdata、2812K rodata、1424K init、8202K BSS、 28424K 保留、57344K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    向量:0xff0000-0xff1000 (4KB)
    Fixmap:0xc00000 - 0xc00000 (3072 KB)
    vmalloc:0xe0800000 - 0x0x800000 (496MB)
    低内存:0xC0000000 - 0xe0000000 (512 MB)
    pkmap:bfe00000 - 0xC0000000 (2 MB)
    模块:bbf000000 - bbfe00000 (14 MB)
    .text:0xc0008000 - 0xc0ac7cd4 (11008 KB)
    init:0xc0ac8000 - 0xc0c2c000 (1424 KB)
    .data:0xc0c2c000 - 0xc0cd88d4 (691 KB)
    .bss:0xc0cda000 - 0xc14dc8f0 (8203 KB)
    [0.000000]正在运行 RCU 自检
    [0.000000]可抢占分层 RCU 实现。
    [0.000000]启用 RCU 锁定检查。
    [0.000000]叶扇出的生成时间调整为32。
    [0.000000] NR_IRQ:16 nr_IRQ:16
    16 [0.000000] OMAP 时钟事件源:32786Hz 时的 Timer1
    [0.000000]构建了以6.14MHz (virt)运行的 cp15计时器。
    [ 0.0000]时钟源:ARCH_SYS_COUNTER:MASK:0xffffffffffffffFFFF max_cycles:0x16af5adb9、max_idle_ns:440795202250 ns
    [0.000004] sched_clock:56位、频率为6MHz、分辨率为162ns、每43980465FFFFFF23ns 换行
    一次[0.000015]时
    钟源:0x9903FFFF:最大循环源:0x000297FFFF:0x0002410FFFF:0.0002410ns
    32768 Hz
    [0.001060]控制台的32K_COUNTER:彩色虚拟设备80x30
    [0.001092]锁定相关性验证器:版权所有(c) 2006 Red Hat, Inc., Ingo Molnar
    [0.001099]... MAX_LOCKDEP_SUBCLASSES:8
    [0.001104]... MAX_LOCK_DEPTH: 48[0.001109]...
    MAX_LOCKDEP_KEY: 8191[0.001115]...
    CLASSHASH_SIZE: 4096
    [0.001119]... MAX_LOCKDEP_ENTERINES: 32768[0.001125]...
    MAX_LOCKDEP_链: 65536[0.001129]...
    CHAINHASH_SIZE: 32768
    [ 0.001134]存储器、由锁定相关性信息使用:每个
    任务结构存储器占用量为5167 KB [ 0.001139]:1536字节
    [ 0.001151]校准延迟循环(跳过)、使用计时器频率计算得出的值。 12.29 BogoMips (lpj=61475)
    [ 0.001163] pid_max:default:32768 minimum:301
    [ 0.001268] Security Framework initialized
    [ 0.001323] mount-cache hash 表条目:1024 (顺序:0、4096字节)
    [0.001332] mountpoint-cache hash 表条目:1024 (顺序: 0、4096字节)
    [0.003163]初始化 cgroup 子系统 IO
    [0.003221]初始化 cgroup 子系统内存
    [0.003259]初始化 cgroup 子系统设备
    [0.003336]初始化 cgroup 子系统冰箱
    [0.0033387]
    一致性化 cgroup 子系统 PERF_EVENT [0.003426] CPU:测试写入缓冲区初始化: 确定
    [0.004247]为0x80008200 - 0x80008260
    [ 0.008179] devtmpfs 设置静态标识映射:已初始
    化[0.079049] EVM:security.IMA
    [0.079059] EVM:security.capability
    [0.0795] VFP 支持 v0.3:Implementor 41架构4第30部分变体 f rev 0
    [0.081241] OMAP-hwmod: L3_MAIN_2使用来自 OCP
    [0.354054]的断开 dt 数据时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.3556660] pinctrl 内核:初始化 pinctrl 子系统
    [0.358898] NET:注册协议系列[0.35385]
    静态池分配0.9256]
    使用调节器梯
    形[0.420730] cputidle:使用调节器菜单
    [0.434646] gpiochip_add:器件上的寄存 GPIO 0至31:GPIO
    [0.435674] OMAP GPIO 硬件版本0.1
    [0.436871] gpiochip_add:器件上的寄存 GPIO 32至63:GPIO
    [0.438524] gpiochip:添加寄存器件上的 GPIO 64: GPIO
    [0.440126] gpiochip_add:器件上注册的 GPIO 96至127:GPIO
    [0.442104] gpiochip_add:器件上注册的 GPIO 128至159:GPIO
    [0.443777] gpiochip_add:器件上注册的 GPIO 160至191:GPIO
    [0.445423] gochip_add:器件上注册的 GPIO [0.4223:gpiochip_add:器件上注册的 GPIO [0.4223:gpini4223:gpio_add:
    器件上已注册的 GPIO 224至255:GPIO
    [0.481613]无 ATAG?
    [0.481635]硬件断点:无法在 CPU 0上启用监控模式。
    [0.482286] OMAP4_SRAM_INIT:无法分配处理勘误表所需的 SRAM I688
    [0.482296] OMAP4_SRAM_INIT:无法获取处理勘误表所需的 SRAM 池 I688
    [0.483573] OMAP DMA 硬件版本0.0
    [0.557394] OMAP-DMA-engine 4a056000.LinkedIn DMA 控制器:OMAP 80292] DMA/4EDMA/4EDMA/4EDMA/4300001/2/3 DMA/DMA1/2/3 DMA/DMA[.ADR]支持的 DMA1/2/4EDMA1/290
    memcpy 被禁用
    [0.570543] EDMA 43300000。EDMA:TI EDMA 引擎驱动程序
    [0.571216] of _get_named_gpiod_flags:无法解析节点'/fixedreguler-v5v0[0]的'gpio'属性
    [0.571785] of _get_named_gpiod_gpio_flags[0.578_gmu_give'/regulator
    的'/reguls[0.572mu_give'/v2mu'属性[0.578_mu_give'/regulator 的[0.5780]'/reguls[0.572mu'属性:v2mu_g1mu_g1mu_pars'/v40]
    55082000.MMU 已注册
    [0.577367] SCSI 子系统已初始化
    [0.577941] usbcore:已注册的新接口驱动程序 usbfs
    [0.578058] usbcore:已注册的新接口驱动程序集线
    器[0.578215] usbcore:已注册的新设备驱动程序 USB
    [0.580673] OMAP-i2c 48070000.i2c.iBus 0 v0]uOMAP-48078400kHz [0.12c
    100kHz 时的总线1版本0.12
    [0.582497] omap_i2c 48060000.i2c:400kHz 时的总线2版本0.12
    [0.583840] omap_i2c 4807a000.i2c:400kHz 时的总线3版本0.12
    [0.584138] pps_core:LinuxPPS API 版本。 1寄存
    式[0.584146] pps_core:软件版本。 5.3.6 -版权所有2005-2007 Rodolfo Giometti 
    [0.584187] PTP 时钟支持已注册
    [0.585407] OMAP-MAP-MAP-MAP-MABOO邮 箱4883e000.mailbox:OMAP 邮箱版本0x400
    [0.585792] OMAP-MAP-MAP-MAP-MAP-MA邮 箱48842000.mailbox:OMAP 邮箱版本0x400
    [0.586440]已初始化高级 Linux 声音架构驱动
    [0.590063]时钟源:切换到时钟源 arch_sys_counter
    [0.727409]缺少 Cooling_device 属性
    [0.727422]无法生成散热区 board_thermal:-2
    [0.727857] NET: Registered protocol family 2[0.729102]
    TCP 建立的哈希表条目:4096 (订单:2、164096字节)[0.729171]
    TCP 哈希条目(订单:TCP:堆栈: 5、147456字节)
    [0.730340] TCP:配置的哈希表(建立4096 BIND 4096)
    [0.730453] UDP 哈希表条目:256 (顺序:2、20480字节)
    [0.730611] UP-Lite 哈希表条目:256 (顺序:2、20480字节)
    [0.731277] NET:注册协议系列1
    [0.732088] RPC: 注册的 UNIX 套接字传输模块。
    [0.732098] RPC:注册的 UDP 传输模块。
    [0.732106] RPC:注册的 TCP 传输模块。
    [0.732113] RPC:注册的 TCP NFSv4.1反向通道传输模块。
    [0.733286]正在解压缩 initramfs...
    [1.262848]释放 initrd 内存:1624K (c4200000 - c4396000)
    [1.263647]硬件性能事件:通过 armv7_cortex_a15 PMU 驱动程序启用,7个可用计数
    器[1.26853] futex hash 表条目:256 (顺序:1、11264字节)
    [1.268711]审计子
    类型:初始化[1.26843]审计:1.249](审核类型:1.249](审核:1:审核:审核:审核类型:审核) 已初始
    化的[1.269903]初始化系统受信任的密钥环
    [1.271787] squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [1.273186] NFS: 注册 id_resolver 密钥类型
    [1.273262]注册的密钥类型 id_resoler
    [1.273271]注册的密钥类型 id_legacy
    [1.281358]注册的密钥类型非对称
    [1.281419]注册的非对称密钥解析器"x509"注册
    的[1.281494]注册的 IO 调度
    程序 cfnoop [1.281509]注册的 IO 最后期限
    [1.281533](默认注册的 IO 调度程序)
    1.284668] of _get_named_gpiod_flags:解析了节点'/tca9617bdgk@
    @0[0]的'evice-enable'属性-状态(0)[1.284816] of _get_named_gpiod_flags:解析了节点'/tca9617bngpintrl 的'-enable'属性在
    单
    
    个引脚1004bc.1004pintrl 上[1.282] pintrl[1.0024] 1 pintrl[1.24] 1 pintrl[1.24]单个参考100pintrl[1.242p-024]引脚1:1 pintrl]单个参考100pina.0pintrl[1.242p-02482p-024]引脚1:100pintrl]单个参考100b 针对消费类背光-电源-使能
    [ 1.295443] PWM-背 光背光:使用器件树进行 GPIO 查找
    [1.295488] of_get_named_gpio_FLAGS:解析了节点'/backlight[0]的'backlight-power-enable-gio'属性-状态(0)
    [1.295508] PWM-lookup_gpio]使用 gl背 光
    灯[ 1.2955_gpio]的"gel_gelning]属性:针对消费类器件背光源
    :1.295543_gpirn_geln_gelning] 已解析节点'/backlight[0]的'ENABLE-GPIO'属性-状态(0)
    [1.297571] usbcore:已注册的新接口驱动程序 udlfb
    [1.297702] usbcore:已注册的新接口驱动程序 smscifx
    [1.303673]串行:8250/16550驱动程序、4个端口、已启用 IRQ 共享
    [ 1.307739] 4806a000.serial:
    对于 OMAP-uart_f_f_uart_f_une_flags[1.307739] 已解析节点'/ocp/serial@4806a000[0]的'RTS-GPIO'属性-状态(0)
    [1.307797] serial_omap_probe_RS485:RSP RX 超时设置为244us
    [1.307806] serial_omap_probe_omap48v:驱动程序与串行线路约束同步活动
    [1.308183]在 MMIO 处4806a000.serial: ttyO0 = 1.300000](UART0_OMAP = 1.309130)[1.299900_OMAP 基础[1.300a](
    4806c000.serial:) uart1
    [ 1.309143] of _get_named_gpio_FLAGS:无法解析节点'/ocp/serial@4806c000[0]'
    [ 1.309351] 4806c000.serial: ttyO1 at MMIO 0x4806c000 (IRQ = 300、base_baud = 3000000)的'RTS-GPIO'属性已
    
    启用[2.017601][2.01]核心控制台[2.0422][2.0422][2.0422][2.0422][2.037][2.0422]:2.0422]
    已注册的新接口驱动程序 udl
    [2.191778] OMAP DSS 修订版本6.1
    [2.195778] omapdss_DSS 58000000.dss:bound 58001000.dispc (ops dispc_component_ops)
    [2.207775] pan-dpi 显示:GPIO 查找消费者启用
    [2.207785] pan-dpi 显示:使用设备树作为 GPIO_pio_gapod_g19
    的标志[2.207819]: 2700"节点"/display[0]的'ENABLE-GPIO'属性-状态(0)
    [2.207870] panel-dpi 显示:消费类 LCD 电源启用[2.207879]
    panel-dpi 显示的 GPIO 查找:使用设备树进行 GPIO 查找
    [2.207907] of _get_named_gpio_FLAGS:"2.23-233] panel/dpi 显示的
    属性[2.23ICE-POWER-dpiO](2.20-0])解析后的"GPIOS[2.2700"属性: 通过 EDID 地址0x57
    [2.241994] DMM 4e000000.DMM 获得视频定时:已初始化所有 PAT 条目
    [2.266085][DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
    [2.273055][DRM]不支持 vblank 时间戳查询的驱动程序。
    [2.297280][DRM]启用 DMM 回绕滚动
    [2.522379]控制台:切换到彩色帧缓冲器设备160x50
    [2.711978] omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器设备
    [2.742365][DRM]已初始化 omapdrm 1.0.0 20110917 on minor 0
    [2.767124] god_loop
    :gloaded [2.742244]模块[2.77_flags_loaded [2.77244] 节点'/board-revision[0]的 revision-GPIO'属性-状态(0)
    [2.771183] of _get_named_gpio_FLAGS:解析节点'/board-revision[1]的 revision-GPIO'属性-状态(0)
    [2.771248] of _get_named_gpio_flags[已
    解析的 vision-gpio]属性-board-reged_status][2.77_status](gpio_status_status_reged][2.77_status_status_status]-已解析的[2.77_status_status_status][2.7724_gpio](gp_status_status_status_status_status_reged][2.7724_status_gp_status
    解析了节点'/board-revision[4]-状态(0)
    [2.807664] SPI_nand_BASE:SPI-NAND 类型 mfr_id: 2C、DEV_id:14的'revision-GPIOs'属性不在 id 表中。
    [2.816909] SPI_nand_base:SPI-NAND:找到 MT29F1G01ABAFED12。
    [2.825573]在第65472页找到错误的块表、版本0x01
    [2.833696]在第65408页找到错误的块表、版本0x01
    [2.841823] nand_Read_BBT:在0x00000000处找到错误的块
    [2.847187] nand_Read_BBT:在0x0000000857[2.8569] nbt 块
    
    和 bt 读取[2.40000BBT_bt:在0x00000004500] nblock 位于0x000001a00000
    [ 2.863312] nand_Read_BBT 的坏块:位于0x000001a20000
    [ 2.868672] nand_Read_BBT:位于0x000001a40000的坏块
    [2.874044] nand_Read_BBT:位于0x000001a60000
    的坏块[2.880001aBBT_20]和
    位于0x000001bt 块[2.880001bT
    
    和读取 BBT_bt [2.000001bt [2.9024]的坏块:bt 块:bt 24_bt [2.0001bt [2.0001bt 块[2.0001bt 24] 位于0x000001ae0000
    [2.900945] nand_Read_BBT 的坏块:位于0x000001b00000
    [2.906305] nand_Read_BBT:位于0x000001b20000 [2.911681]
    nand_Read_BBT:位于0x000001bT 的坏块:位于0x000001bT 和
    
    
    b00024000240002400024bT 的坏块[2.9bT
    和 bT:b0b:b0b:b24000143b_bb:bb:bb:bb 读取 bb2400024000240002400024000240002400024000240002400024bt 块[2.9bT 和 bt [2.9bbbbbbbt 块:bbbbbt 错误块位于0x000001bc0000
    [ 2.938503] nand_Read_BBT:错误块位于0x000001be0000
    [ 2.951032]在 MTD 器件上找到1个部件分区 MT29F1G01ABAFD12
    [2.957676]在"MT29F1G01ABAFD12"上创建1个 MTD 分区:
    0x000000
    MDIO 2.481000000:0x4810091009[DMD 641009100996]在"0xMDIO:0x0000.6410091009[2.000100910091009_641009]
    达芬奇 MDIO 修订版本1.6
    [ 3.036502] libphy:4848485000.MDIO:探测
    [ 3.048349]达芬奇_MDIO 48485000.MDIO:PHY[1]:器件4848485000.MDIO:01、驱动器 TI DP83822 10/100Mbps PHY
    [ 3.059519] CPsw 4840000.Ethernet:从寄存器读取 MACID = 3.0486486.04:b646.04
    :bt b:60746.bc:3.060746.bt [ 3.048636.b] b646.b]以太网
    :3.060746.bt 60746.ct ] 已注册的新接口驱动程序 rtl8xxxu
    [3.489781] EHCI_hcd:USB 2.0 '增强型'主机控制器(EHCI)驱动程序
    [3.496634] EHCI-平台:EHCI 通用平台驱动程序
    [3.502575] EHCI-OMAP:OMAP-EHCI 主机控制器驱动程序
    [3.508376] ohci_hci: USB 1.1通用平台[3.52x40] Ohci
    通用平台[3.52ci-OHCI 控制器
    [3.52c xhci-hcd.4.auto: xHCI 主机控制
    器[ 3.527209] xhci-hcd xhci-hcd.4.auto:注册的新 USB 总线、分配的总线编号1
    [3.535497] xhci-hcd HCC xhci-hcd.4.auto: params 0x0220f04c HCI 版本0x100 quirks 0x00210010
    [3.544670] xhci-hcd xhci-hcd.4.auto: IRQ 415、io mem 0x48890000
    [3.5572b1] USB 供应商:3.552b1b1、USB 设备 b1:uUSB 供应商
    :3.5446b1、USB CCb1 b1、USB 供应商:3.55000b1、USB 设备= 3.55b1、USB 设备 新 USB 设备字符串:mfr=3、product=2、SerialNumber=1
    [3.566335] USB USB1:产品:xHCI 主机控制
    器[3.571442] USB USB1:制造商:Linux 4.4.41 xhci-hci-hub
    [3.577076] USB USB1:
    
    检测到的串行 CD 数:xhci-hcd.4.auto [3.584311] hub 1-0:1.0
    :xhci-hcd.4.auto: xHCI 主机控制
    器[3.600166] xhci-hcd xhci-hcd.4.auto:注册的新 USB 总线、分配的总线编号2
    [3.608347] USB USB2:我们不知道此主机的 LPM 算法、禁用 LPM。
    [3.617151] USB USB2:找到新的 USB 器件、idVendor=1d6b、idProduct=0003
    [3.624259] USB USB2:新的 USB 器件字符串:MFR=3、Product=2、SerialNumber=1
    [3.631824] USB USB2:产品:XHCI 主机控制器
    [3.636917] USB US900b2:3.64xb2:
    xhci-hcd.4.auto USB DC2-1.0-USB DC2:3.64b2:3.64xb2:[3.64xb2:
    找到 USB 集线器
    [3.653029]集线器2-0:1.0:1个端口检测
    到[3.658154] xhci-hcd xhci-hcd.5.auto: xHCI 主机控制器
    [3.663977] xhci-hcd xhci-hcd.5.auto:已注册的新 USB 总线、分配的总线编号3
    [3.672234] xhcd-hcd xhci-hcd.5.auto: hcc pams 0x0220f04c hci 版本0x10013100xhc
    xhci-hcd.5.auto: IRQ
    
    
    
    
    编号、io mem 0x488d0000 [3.688039] USB USB3:找到新的 USB 设备、idVendor=1d6b、idProduct=0002 [3.696023] USB USB3:新的 USB 设备字符串:mfr=3、Product=2、Serialcd=1 [3.703621] USB USB3:产品:xHCI 主机控制器3.674[USB 3.3x18] USB USB3b3:USB 3.3x64] USB USB3:USB 3.3x18[USB 3.3b3:rx USB3:USB3:USB3:rb3 xhci-hcd.5.auto
    [ 3.720751]集线器3-0:1.0:找到 USB 集线器
    [ 3.724720]集线器3-0:1.0:检测到1个端口
    [ 3.729691] xhci-hB4 xhci-hcd.5.auto: xHCI 主机控制
    器[ 3.735497] xhci-hcd xhci-hcd.5.auto:新注册的 USB 总线、分配的总线编号4
    [ 3.743710] USB USB4:我们不知道如何为 LPM 禁用此主机算法。
    [3.753013] USB USB4:找到新的 USB 器件、idVendor=1d6b、idProduct=0003
    [3.760152] USB USB4:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1
    [3.767704] USB USB4:产品:xHCI 主机控制
    器[3.772843] USB USB4:3.7841:
    xhci-hcd.5.auto
    找到 USB 集线器
    [3.788872]集线器4-0:1.0:检测到1个端口
    [3.794068] usbcore:注册的新接口驱动程序 CDC_ACM
    [3.799981] CDC_ACM:用于 USB 调制解调器和 ISDN 适配器的 USB 抽象控制模型驱动
    程序[3.8081585] usbcore:注册的新接口驱动程序 USB-storage
    [3.36359]找不到可用的 Umou16DC
    驱动程序[3.85] 所有鼠标通用的 PS/2鼠标设备
    [3.823871] Atmel_mxt_ts 1-004A:__mxt_read_reg:I2C 传输失败(-121)
    [3.831364] Atmel_mxts 1-004A:MxT_bootloader_read:I2C recv 失败(-121)[3.831364] Atmel_mxt_boots 1-004a: mxt_read_r1_ts
    Atmx64xts [3.8121_t_bootxt_read_read_read_read_read_read_read_read_read_read_recon_attres]]
    
    1-004A 探头失败、出现错误-121[3.859666]
    usbcore:使用触摸屏
    注册的新接口驱动程序[3.866370] RTC-pcf85063 3-0051:找到芯片、驱动程序版本0.0.1
    [ 3.892335] RTC-pcf85063 3-0051:RTC 内核:将 RTC-pcf85063注册为 rtc3.9983]
    驱动程序条目[3.9983]/thermal-zones/board_thermal
    无法获取/ocp/i2c@4807a000/tmon@48
    [ 3.917516] LM75 3-0048的#thermon0:传感器'tmp75'
    [ 3.924514] OMA_WDT:看门狗计时器版本0x01:初始超时60秒
    [ 3.933850] OMAP-hsmmc 4809c43000] OMAP-mmc 3mc_mc_gmc3
    、以使用 gm934_mc_gm_gm9340.9_mc_gmc_gmc_gmb 进行 GPIO 查找[3.3m_m_gm_gm_gm_gm9340.94]
    解析了节点'/ocp/mmc@
    
    
    
    /ocp/mmc@4809c000[0]的'CD-GPIO'属性-状态(0)[ 3.933914] OMAP-hsmmc 4809c000.MMC:获取 CD GPIO [ 3.938735] OMAP-hsmmc 4809c000.MMC:使用"3.938000_mMC_3.3_g_g_g_gpio_n_g_g_g48093.3[g_g_g_g_g_g_g_g_g_g4380003.9_g_g_g_g_g_g_g_g_g4380003.9_g_g_g_g_g_g_g_g4_g_g4_g4_g4_g4_g4_mc5
    无法解析节点'/ocp/mmc@4809c000[0]的'wP-GPIO'属性
    [3.938778] omap_hsmmc 4809c000.mmc:使用查找表进行 GPIO 查找
    [3.938781] omap_hsmmc 4809c000.mmc:查找 GPIO WP 失败
    [3.990467] omap_hsmmc_mc_mc_mc_g480b3mc_mc480-mcr [3.99480-mc_gmc_gmcr:
    使用 gmtramp_g3mc_mc_mc_mc_mc_g3d_mc400004.d_mc_mc_
    无法解析节点'/ocp/mmc@480b4000[0]的'CD-GPIO'属性
    [3.990498] of _get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480b4000[0]的'CD-GPIO'属性
    [3.990506] OMAP-hsmmc 480b4000.mmc:使用 mmc_mc3.994000.mc
    for
    
    OMAP mc_mc3.99b4000.mmc 3[3.99mc_mc_mc_mc_mcr 查找失败的'mmp2mc_mc3.994000.mc_mc_mc_mc_mc_mc3.99340.mm_mc_mc_mc_mc_mc_mc_gpio_ 使用器件树进行 GPIO 查找
    [3.990545] of_get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480b4000[0]
    的'wP-GPIO'属性[3.990554] of_get_named_gpio_flags:无法解析节点'/ocp/mmc@480b4000[0] mc_mc_mc_mc4002[3.996072]
    的'wp 属性对于
    
    OMAP mc_mc_mc_mc_mc_lookup[3.994002]][3.9960724.mc_mc_mc_mc_mc_gpio_gpio_gelookup:无法解析节点'wp 480b4002mc_mc_mc][3.9960 hs 模式无 pinctrl 状态
    [ 3.997369] VDD_1v8:由 VDD_3V3提供
    [ 4.050448] OMAP-hsmmc 480ad0.mmc:消费类 CD 的 GPIO 查找
    [ 4.050458] OMAP-hsmmc 480ad0.mmc:为 GPIO 使用器件树
    [4.050468] of _get_gode_flags[4.050478] of 'god_god_gap_gapps_gapps_gap_gap_gapps_gap_g@gode_nation_from_gap_gap_gap_gap_gap_gap_gap_g@/ocp/mmc
    无法解析节点'/ocp/mmc@480ad000[0]的'CD-GPIO'属性
    [4.050486] OMAP_hmc 480ad0.mmc:使用查找表进行 GPIO 查找
    [4.050495]OMAP_hmc 480ad000.mmc:查找 GPIO CD 失败
    [4.05050505050505050507] OMAP_hsmmc 480ad0003.mmc:
    使用
    名为 omap_g_g_gmel_g_gad000514[4.050514]mmc 的 v_smm_gmwp 查找[4.050514_g_mwp.mmc:查找设备名称:g_g_g_g_g_g_gmwp 无法解析节点'/ocp/mmc@480ad000[0]
    的'wP-GPIO'属性[4.050532] of_get_named_gpio_FLAGS:无法解析节点'/ocp/mmc@480ad000[0]的'wP-GPIO'属性
    [4.050540] omap_hsmmc 480ad000.mmc:使用查找表查找
    
    已注册的 mcu
    CPU [4.050414][4.050429] mcu gpu:120mcr gpu:12042400] 探测 DT 中的导管方法。
    [4.140542] opee 固件:optee:已初始化的驱动程序
    [4.152275] of _get_named_gpiod_flags:无法解析节点'/ocp/i2c@4807a000/tlv320aic3104@18[0]'
    [4.169069] oprofile:使用计时器中断的'GPIO-reset'属性。
    [4.180584]初始化 XFRM netlink 套接字
    [4.185114] NET:注册协议系列17
    [4.189805] NET:注册协议系列15
    [4.210367]注册的密钥类型 DNS_旋 变传感器
    [4.215027] OMAP-VOLTGE_LON_INIT: 未添加电压驱动器支持
    [4.241277]为电源 VDD、CPU0 -> VDD、4a003b20.oppdm
    [4.247742]添加别名为电源 VBB、CPU0 -> VBB、4a003b20.oppdm
    [4.260195] lp8733-buck0: 由 VDD_3V3
    [4.271389]提供、为电源 VDD、CPU0 -> VDD、4a003b20.oppdm
    [4.277846]添加了别名、为电源 VBB、CPU0 -> VBB、4a003b20.oppdm
    [4.304803]为 TI OMAP4+器件添加了别名。
    [4.320258]支持 ThumbEE CPU 扩展。
    [4.324751]注册 SWP/SWPB 仿真处理程序
    [4.341079]加载已编译的 X.509证书
    [4.390619]密钥类型已加密注册
    [4.394841] IMA:未找到 TPM 芯片、激活 TPM-BYPASS!
    [4.410824] EVM:HMAC attrs:0x1
    [4.421283] of_get_named_gpiod_flags:无法解析节点'/sound@
    @
    @
    @0[0]的'sule-audio-card、HP-det-gpio'属性[4.42129696] of_get_named_gpitode_flags:无法解析'/gipule_de'/pio-status'属性4.42423's'/gpio's's's'/gpio-nategategature'属性4.42424423's's's's's's's's's's's's's's's's's's's's_gap_gap_gape's's's's's's's's's's's's's's's'/gap_gap_gape'的
    已解析节点'/on-off-key/on-off-key [0]的'GPIO'属性-状态(0)
    [4.456888]输入:ON - OFF - KEY AS /devices/platform/on-off-key/input/input0
    [4.471705] RTC-pcf85063 3-0051:将系统时钟设置为2019-1210:04:39 UTC (1576145079)
    [4.573570] Net 0:
    4.58w 初始化版本[4.1552]
    ALE 表大小1024
    [4.680117] dp83848_config_init --- 覆盖 DP83822 PHY 设置---
    [4.687959] dp83848_config_init PHY 地址:0x1
    [4.710091]软件复位设备
    [4.715293] dp83848_config_init RCSR:0x0241 (原始)-> 0x1241 (覆盖)
    [4.737138] net eth0:找到 PHY:id:0x2000a240
    [4.101]网络等待更多秒。
    [5.120099]网络等待时间长达2秒。
    [5.300112]网络等待长达1秒。
    [5.380181] mmc0:主机不支持读取只读开关、假设写入启用
    [5.392144] mmc0:位于地址 AAAA
    [5.399592]的新高速 SDHC 卡 mmcblk0:mmc0:AAAA SA08G 7.40 GiB
    [5.408253] mmcblk0:p1
    :p2_mmc129] mmc129_b1未设置[5.40492] mmc242]
    地址0001
    [5.470362] mmcblk1:mmc1:0001 008G30 7.27 GiB
    [5.475562] mmcblk1boot0:mmc1:0001 008G30分区1 8.00 MIB
    [5.481793]等待长达1秒的网络传输时间。
    [5.487566] mmcblk1boot1:mmc1:0001 008G30分区2 8.00 mib
    [5.494252] mmcblk1gp0:mmc1:0001 008G30分区4 4.00 mib
    [5.502023] mmcblk1gp1:mmc1:0001 008G30分区4 00244mb
    
    等待更多的时间[5.502023] mmcble1 gp1:mmc1:5.244mc1 mb] mbl 等待更多的时间。
    [5.840143]网络等待长达1秒。
    [6.020145]网络等待长达1秒。
    [6.200147]等待网络长达1秒。
    [6.380146]等待网络时间长达0秒。
    [6.560146]网络等待时间长达0秒。
    [6.735739] cpsw 484000.ethernet eth0:链路速率高达- 100Mbps/全速-流控制 Rx/TX
    [6.744225]等待网络的时间长达0秒。
    [6.760968] IP-Config:完成:
    [6.764385] device=eth0、hwaddr=04:79:b7:a0:9c:b6、ipaddr=192.168.0.1、mask=255.255.255.0、gw=192.168.0.254
    [6.775210] host=192.168.0.1、domain=、nis-domain=(none)
    [6.781365] bootserver=192.168.0.254、rootserver=192.168.0.254、rootpath=[6.790412]
    ALSA 设备列表:
    [6.793543]#0:WA55-Audio
    [6.801481]释放未使用的内核内存:1424K (c0ac8000 - c0c2c000)
    [6.808278]此架构没有内核内存保护。
    [7.513196]随机:非阻塞池已初始化
    [7.670024] systemd[1]:在系统模式下运行的 systemd 234。 (-pam -audit -sLinux -ima -AppArmor -smack +sysvinit -utmp -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +blkid -ELFUTILS +KMOD -IDN2 -IDN default-archivel=混合)
    [7.692849] systemd[1检测到的 ARM 架构。
    [7.722000] systemd[1]:将主机名设置为 。
    [7.732060] systemd[1]:正在从随机发生器初始化机器 ID。
    [8.640412] systemd[1]:侦听 Syslog 套接字。
    [8.60928] systemd[1]:侦听日志套接字。
    [8.682004] systemd[1]:侦听 udev 控制套接字。
    [8.700470] systemd[1]:已达到目标路径。
    [8.720873] systemd[1]:侦听网络服务 Netlink 套接字。
    [8.750826] systemd[1]:已创建切片系统切片。
    [8.784091] systemd[1]:正在安装内核配置文件系统...
    [8.820580] systemd[1]:已达到目标层面。
    [8.840882] systemd[1]:侦听 udev 内核套接字。
    [8.860918] systemd[1]:收听日志审计套接字。
    [8.887485] systemd[1]:正在开始应用内核变量...
    [8.92399] systemd[1]:创建的片系统-串行\x2dgetty.slice。
    [8.967668] systemd[1]:安装 POSIX 消息队列文件系统...
    [9.008328] systemd[1]:正在开始重新装载根和内核文件系统...
    [9.050535] systemd[1]:已达到目标交换。
    [9.114648] systemd[1]:正在安装临时目录(/tmp)...
    [9.170502] systemd[1]:已达到目标远程文件系统。
    [9.196389] systemd[1]:正在安装内核调试文件系统...
    [9.220864] systemd[1]:收听 Journal Socket (/dev/log)。
    [9.255780] systemd[1]:正在启动日志服务...
    [9.295013] systemd[1]:开始为当前内核创建所需的静态设备节点列表...
    [9.373882] systemd[1]:已安装内核调试文件系统。
    [9.410474] systemd[1]:已安装的内核配置文件系统。
    [9.450745] systemd[1]:已挂载 POSIX 消息队列文件系统。
    [9.490710] systemd[1]:挂载的临时目录(/tmp)。
    [9.540794] systemd[1]:已开始应用内核变量。
    [9.591367] systemd[1]:已开始重新装载根和内核文件系统。
    [9.634656] systemd[1]:已开始为当前内核创建所需的静态设备节点列表。
    [9.661317] systemd[1]:已启动日志服务。
    [9.964902] systemd-journale[135]:接收到从 PID 1刷新运行时日志的请求
    [13.086629][DRM]初始化了从次要1上的 PVR 1.14.3699939 20110701
    [13.130772] OMAP-rproc 5502000.IPU:分配的保留内存节点 ipu2_cA@95800000
    [ 13.1399001]可用于远程处理14_pru_pio_pruF:[13.6414]
    已解析节点'/PWM_battery_level[0]的'battere-level-GPIO'属性-状态(0)
    [13.176443] PWM-batry_level_probe done 0
    [13.226603] of _get_named_gpio_flags:已解
    析节点'/power-module_status-[13.26603]的'wlan-status_gpio'属性[13.26603]- gpio_gpio_gpio_gpio_gode_flags:已解析'/power-status'属性[13.26655](gpio_g_gpio_gpio_gpio-status_g[13.26905]-status_g[13.2690](
    已解析节点'/power-module[0]的 proc-support-gpio'属性- status (0)
    [13.226889] of _get_named_gpio_flags:已解析节点'/power-module[1]'的'bsp-support-gpio'属性- status (0)
    [13.232992]的过程0:注意:仍在进行实验中,并且正在进行远程处理。
    [13.258511] remoteproc0:二进制格式尚未最终确定、并且还不能保证向后兼容性。
    [13.295553] ti-pruss 4b280000.pruss:创建 PRU 内核和其他子平台器件
    [13.424319] IRQ:找不到/ocp/pruss@4b280000/INTC@4b2a0000的 IRQ 域!
    [13.547295] of _get_named_gpio_FLAGS:解析了节点'/USB-enable[0]的'ENABLE-GPIO'属性- status (0)
    [13.548665] of _get_named_gpio_FLAGS:解析了节点'/usb-enable[1]的'ENABLE_GPIO'属性(13.549387]-gods'[13.9_status_gpio]
    -[13.9387_gode]0的'ENABLE_STATUS_[13.546193]属性:
    已解析节点'/USB-ENABLE[1]'的'oc-detect-GPIOs'属性-状态(0)
    [13.558187] IRQ:找不到/ocp/pruss@4B280000/INTC@4b2a0000的 IRQ 域!
    [13.687792] remoteproc0:registered virtio0 (type 7)
    [13.827090] remoteproc1:4b2b4000.pru0可用
    [13.869075] remoteproc1:注意:remoteproc 仍在开发中并被视为实验。
    [13.947343] remoteproce1:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
    [14.035661] PRU-rproc 4b2b4000.pru0:手动启动 PRU 内核
    [14.078438] remoteproc1:启动4b2b4000.pru0
    [14.122551] remoteproc 1:启动固件映像 am57xx-pru2_0-fw、大小为27428 [14.6b4000.pru2
    
    @@rb4bpru4000.pru400 /ocp/pruss rb4b24bpru4000.pru400:rb4b4b24bpruprupru4000.pru400
    4b2b8000.pru1现已推出
    [14.229652] remoteproc2:注意:remoteproc 仍在开发中、并被视为实验。
    [14.246546] remoteproc0:加电5502000.IPU
    [14.252647] remoteproc2:二进制格式尚未最终确定、并且还无法保证向后兼容性。
    [14.286531] remoteproc2:加电4b2b8000.pru1
    [14.297943] remoteintr 0:启动 FW 映像 dra7-ipu2-fw.xem4、大小为3747236
    [14.307122]
    OMAP remotecus 2:启动 FW 映像 am57xx-pru2_1-fw、大小为93mu2-fw.x000242[0x0000.0001002.1]RAM:0x000000024504mu_mu_mu.000245.000245[0x0000_mu_mu.000245_mu_mu.000245[=14.000245_mu_mu_mu_mu.000241.0002]R
    
    远程处理器4b2b8000.pru1现已启动
    [14.353049] virtio_rpmsg_bus virtio1:rpmsg 主机处于联机状态
    [14.353240] virtio_rpmsg_bus virtio1:创建通道 PRU-Rotter-driver addr 0x21
    [14.377269] remote2:registered proprocutio1:rproc
    pru284b8000@@pru284b1 (/ocp/pruss) rproc r284u8000 rproc
    1:rprob28u1 rproc 1 rproc r24u1 rproc rproc r28u1 rproc 1 (14.37u1) 远程处理器5502000.IPU 现已启动
    [14.575764] virtio_rpmsg_bus virtio0:rpmsg 主机处于联机
    状态[14.581776] virtio_rpmsg_bus virtio0:创建通道 rpdc-RPC addr 0x65
    [14.608148] rpmsg_rpmsg_fus virtio0:创建通道 rpmsg1[rpmsg16] rpmsg1rmsg1[14.608141] rpmsg1[rpmsg1[rpmsg1]rpmsg1[rpmsg1[rpmsg1]rpmsg1[rmsg1[rmsg1]rpmsg
    
    已发布函数= 4
    [ 14.662455] rpmsg_RPC rpmsg2:使用 src 1025 dst 102
    [ 14.683431] rpmsg_RPC rpmsg2探测服务 rpmsg-DCE:已发布函
    数= 9 [ 14.855480] EXT4-FS (mmcblk1gp1):已安装文件系统、具有已订购数据模式。 opts:(null)
    [ 14.886159] EXT4-FS (mmcblk1gp0):已安装的文件系统、具有已订购数据模式。 OPTS:(空)
    [15.377782] PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
    [17.110905] RSP485:初始化...
    [17.142439] RSP 监听器:init
    [ 17.200755] RSP 监听器可供使用
    [17.213287] Rotate_enc rpmsg0:新通道:0x400 -> 0x21!
    [17.266586]输入:作为/devices/virtual/input/input1的 Rotter_Encoder_input
    [17.343559] GPIO Requested
    [17.346505] Rotter_enc rpmsg0:已注册的 PRU 旋转编码器键盘驱动
    程序[17.427619] RSP 线盘初始化-- IOCTL 版本
    [17.458448] RSP 线盘就绪可使用
    [17.741776]毫米波高速地址[17.8825]毫米波 IO:
    模块许可证'Martvell Proprietary'包含内核。
    [17.917593]正在因内核延迟禁用锁定调试
    [18.021511] WLAN:正在加载 mWLAN 驱动
    程序[18.042362] vendor=0x02DF device=0x9139 class=0 function=1
    [18.062178] rx_work =0 cpu_num=1
    [18.092636]请求固件:mrvl/sd8801_uapsta.bin
    [18.951827] WLAN: 固件下载、firmwarelen=234524下载234524[19.261902]
    WLAN 固件处于活动状态
    [19.288557] FW_CAP_INFO_0xba3、DEV_CAP_MASK_0xffffff[
    19.304617] WLAN:版本= SD8801-14.85.36.P101-C3X14C160-(F2685]
    WLAN 驱动程序已成功加载[19.3046172] WLAN 驱动程序
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    [引用 user="Stef boerrigter"]

    2:工作示例我在 OMAP-hmc 驱动程序的探测函数中添加了额外的 printk、以显示 ADMA/ DMA 是否已初始化:  

    [3.959246] SB:- OMAP-Hsmmc_probe:使用 ADMA mmc0
    [4.017467] SB:- OMAP-Hsmmc_probe:使用 ADMA mmc1
    [4.071086] SB:- OMAP_hsmmc_probe:使用 DMA mmc2

    因此、MMC0和1使用的是 ADMA、而 MMC2没有这种功能、并且使用了"regular?" 4.4内核中的 DMA

    [/报价]

    是的、根据器件技术参考手册、MMC1/MMC2硬件模块(在 Linux 中也称为 mmc0/mmc1)与 MMC3/MMC4硬件模块具有不同的 DMA 硬件功能、因此此处存在一些差异。

    此外、我还有幸与我们的驱动程序开发人员专门讨论了 DMA、他说 SDMA 节点在后来的内核中被去除、因为 sdhci 库不支持该节点、仅为 sdhci-OMAP 添加该节点毫无意义。 但现在情况有所变化(lkml.org/.../145)。 但即使没有 DMA,它也应该在 PIO 模式下工作,这就是我们让 WiFi 模块在“BeagleBone AI”上工作的方式。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas、TI 团队:

    我知道它也应该在没有 DMA 的情况下工作、尽管如此、不这样做当然会导致性能损失。  

    关于这个问题、我已经与 U-blox 团队联系、他们要求我捕获一些 SDIO 流量数据、结果如下:

    请参阅下图;这是使用4.4内核在 MMC3和 Lily 模块之间进行的 SDIO 捕获、其中使用 OMAP-HSMMC 驱动程序进行的数据传输按预期工作。 AM5708保持 SDIO 时钟运行、直到 DATA_1线路(作为中断)触发中断、在这之后、数据传输再次被拾取。  


    下图显示了4.19内核、在 TI SDK 的4.19内核中将 OMAP sdhci 变体作为默认值。 如图所示、主机停止时钟、因此缺少 DATA_1中断。  

    您能否解释一下这些驱动程序的行为为何如此不同? 更重要的是、我们如何在 SOC 上恢复此类行为? 由于我们在我们的平台上使用它、它只是一个软件配置。

    期待您的回复、

    此致、
    步骤

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有关于此主题的任何更新报告?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stef、

    [引用 user="Stef boerrigter"]由于我们在我们的平台上使用它,因此它只是一个软件配置。

    是:)

    更重要的是、让我再次深入探讨一下这一点、看看我们是否会错过一些东西。 我还将再次与我们的 MMC 驱动程序开发人员联系、以查看他是否有任何其他输入。 希望在1-2个工作日内收到反馈。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Andreas、

    此外、我们的 WiFi 模块供应商提到以下有关 SDHC-MMC 驱动程序的信息:

    NXP (Marvell)确认 SDIO 时钟应保持运行、以便能够将 FW 发送给主机的 IRQ 信号:

    这实际上可能导致 TT 中描述的问题。 如果主机在命令传输到 FW 后关闭 SDIO 时钟、则无法向主机指示该命令的 FW 响应。 这会导致 FW 和主机驱动程序之间的协议出现超时错误、因此与器件的通信失败。 同样、如果 SDIO 时钟关闭、则不能向主机指示由 FW 触发的任何其他事件。

    我认为最简单的方法是禁用 SDIO 时钟门控。 如果连接了 SD 存储器器件、此功能就很有意义、但对于需要有效中断的 SDIO 类型器件、它的作用就不太大。 SDIO 时钟选通通常应是 SDIO 总线驱动器中的配置选项。

    我们的固件实现不支持带外中断以解决此问题。"

    总结一下、我正在为以下两个问题寻找答案/解决方案:  

    1.从4.4内核到4.19的 OMAP-Hsmmc 驱动程序反向端口不工作、无法进行通信(请参阅2/3注释以了解逻辑分析仪捕获)

    4.19内核中的 OMAP-sdhci 驱动程序由于 SDIO-Clock-gating 无法看到 IRQ。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Stef、

    如果我们的驱动程序开发人员有其他建议、我已经再次向他咨询、下面是他的回答(未筛选)、供您参考:

    在 sdhci_omap_enable_SDIO_IRQ ()中设置 CON_CLKEXFREE 应该会使卡的时钟一直处于启用状态、而该状态已经存在。 必须添加什么 Hack?
    sdhci-OMAP 根本不支持电源管理、即 MMC 控制器的时钟不应关闭(这就是为什么您只在 PROBE 中看到 GET_SYNC、在 REMOVE 中看到 PGE_SYNC)。 当模块完全断电时、需要使用 omap_hmc_configure_wake IRQ ()进行配置。
    您是否检查了4.4和4.19之间是否存在任何引脚多路复用差异? IODELAY 值在两个内核之间当然会发生变化、但我不确定这是否会产生任何影响。

    接下来、我将尝试使用其中一个 Lily 模块来尝试不同的设置、并比较非工作场景与工作场景。

    例如、可以尝试查看 MMC 控制器配置(以及相关模块的配置)在工作(4.4)与非工作(4.19)场景之间的常见时间点是否存在差异(通过转储各种控制寄存器实现)、 例如、当出现"WLAN FW 处于活动状态"打印时或在该打印之后的某个时间。 有时、用户可以从寄存器设置差异中返回、并查看软件需要以不同方式执行的操作。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Andreas Dannenberg "]作为下一步,我将尝试使用其中一个 Lily 模块来尝试不同的设置,并比较非工作场景与工作场景。

    为了在这里结束这一过程、我能够将其中一个基于 Marvell 的 U-blox Wi-Fi 模块交给我、以便在本地进行调试、并且能够找到根本原因并修复使用内核4.19报告的该模块的 MMC/SDIO 通信问题。

    简而言之、事实证明、使用我们基于 TI 内核5.4的集成树、功能实际上适用于 AM57xx 器件(这将是即将推出的适用于 Linux 的7.xx 版 Processor SDK 的基础、可从 https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?h=ti-linux-5.4.y 获取)、 我能够识别 并支持从 drivers/MMC/host/sdhci.c 驱动程序从内核5.4到内核4.19的相关更改。

    首先、下面是在该 sdhci.c 文件的 TI 内核5.4.y 中、但在4.19.y 中没有的提交列表:

    adannenb@beast:~/git/linux
    $ git log --oneline --no-uniflifs ti-linux-5.4.y-SD-wifi-dev ^ti-linux-4.19.y-SD-devdrivers/MMC/host/sdhci.c
    10448fb57940 mmc:sddhci:为中断的命令添加一个 dsdhcr
    
    :mc4dsmcr 命令:mc7ddhc7gc 失败的 mc: ddhcr swrf mc: ddhc: ddhc7gc 5gc 5rgc 5rgc 5rgc 5rgc
    让驱动程序定义其 DMA 掩码
    d1c536e31773 mc: sdhci:改进 ADMA 错误报告
    0e62614b6c22 mc: sdhci: convert to use SDIO_IRQ_R alert()
    af5d2b7b0d24 mc: sdhc: ddhcq: drop redundant code for SDIO
    irc84ad3242emmc: sudc: sdhc24c: sq: sudc24c: sq: sudc24c: sq: sdc24c: sq: sdc24c: sdcc
    
    对 DMA 地址
    8784edc8fa93使用 lower/upper_32_bits()宏 MMC:sdhci:创建对_ sdhci_read_caps()
    7353788c6a63 MMC:sdhci:export sdhci_abort_tuning 函数符号
    1beabbdba708 MMC:sdhci_read_caps() 7353788c86cmc:sdhcc:sdhc5ddhcc:sdhc5cc:为
    内部时钟设置添加 sdhc5ddhc5ddhc5c5cc:sdhc5ddhcc 时钟:sdhc5ddhc5dc5d
    修复运行时恢复
    2874c5fd2842树范围时的错误软复位操作:将 GPLv2样板文件/参考替换为 SPDX -规则152
    89f3c365f3e1 MMC:sdhci:修复 SDIO IRQ 线程 dhc07a48c26519
    MMC:sdhci:删除 finish_tasklet 19d2f695f3e1 MMC:sdhc_deMMC
    :如果可能、请从 dMCL_de_de_de_de9_deMc 调用 mmc:
    dsc:dsc:ds_deqc7 dc72659mc:s_deq_deq 将一些处理移至__ssdhci_finish_MRQ()
    97a1abae46a6 MMC:sshci: Move timer and has_requests functions
    2e72ab9b2f56 MMC:sshci: cdssdhci_finish_mq() and __sserve_mcinese_mcq ()
    1d8dcd065dmmc:sdhc_deachi_mcumb:densore4df: sdhc_de2densore2df: s_de2densore2df: s_de2df:
    
    
    添加了对启用 V4的主机
    401059df9b62的 ADMA3 DMA 支持 MMC:sddhci:更正启用 CMDQ
    2b06e1597ac2时的最大超时时间 MMC:sdhci:添加上次调整命令
    750afb08ca71交叉树之后的延迟:逐步淘汰 dma_zalloc_cored()
    97207c12780dmmc:添加 dmmc:
    禁用 ds_de586c_decc:ds_de2986c_decci:添加 ds_decci 控制模式:ds_de496c4_decci:
    处理自动命令错误
    869f8a69bb3a MMC:sdhci:rename SDHCI_ACMD12_ERR 和 SDHCI_INT_ACMD12ERR
    4bf780996669 MMC:sdhci:fix data command crc error handling
    a68dd9a00871mmc:sdhci bouncion:convert scsrate_alloc_mc_dmc_dmcc:s557bce_mcc:sbcr a
    cr tcr:s_de4b407bcr:s_de4bcr
    
    SDMA 可以在 v4模式
    427b6514d095中使用 Auto-CMD23 MMC:sdhci:添加自动 CMD 自动选择支持
    e65953d4a117 MMC:sdhci:添加针对 v4模式
    685e444bbaa0的32位块计数支持 sdhci:添加针对 ADMA2 64位寻址支持 sdhc2
    :针对 sv4模式更改 sdc3b40b3v4地址:sdc2 64bf3mc:sdc2 mc:sdc2 64bf3v4 c72mc:更改 sdc3bc2bc2mc:sdc3bf3
    sdhci:添加 SD 主机 v4模式
    18da1990d2dd MMC:sdhci:添加版本 V4定义
    54552e4948cb MMC:sdhci:引入 adma_write_desc () hook to struct sdhci_ops
    e93be38af155 MMC:sbbci:将 adma_table_cnt 成员添加到 struct sdhcc:
    
    swing sdhcc:s_de46cc:s_dhcc 1d2d2ddhci:s46cc:s_de4ddhcc:s_de4d2ddhcc:s_detrgc d4d4d4d4d4d2 

    结果是应用(挑选)从 7d8bb1f46e13 ("mmc:sdhci:添加调优错误代码")到89f3c365f3e1 ("mmc:sdhci:修复 SDIO IRQ 线程死锁")列出的补丁将解决此问题。 请注意,目前我没有进一步优化“樱桃色”列表,因为您越偏离越多,您产生的冲突(以及潜在的不良副作用)就越多。 此外、其他一些更改、包括一些我没有选择樱桃的更改、也可能因其他原因而受益、因此我鼓励查看整个列表、以查找可能有益的其他补丁、 当然、还需要执行适当的系统测试、以确保相关功能(例如 eMMC/MMC/SD 卡访问)中不会引入回归。

    为了方便起见、已附加一个包含上述补丁的 tarball、用于修复要应用于基于内核4.19的 TI 树之上的问题(通过'git am')、因为它正在当前交付的基于内核4.19的 AM57xx 处理器 SDK Linux v6.xx 中使用。

    此外、我希望将来的处理器 SDK v7.xx 版本不需要这些补丁、如前所述、SDK 将基于 我们基于 TI 内核5.4的集成树。

    此致、Andreas

    e2e.ti.com/.../sdio_2D00_wifi_2D00_patches_2D00_for_2D00_ti_2D00_linux_2D00_4.19.y_2D00_22_2D00_Jan_2D00_2020.tar.gz

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    上述解决方案解决了我们的问题。 剩下的唯一问题是 MMC 总线上的性能问题。  
    恢复(部分)提交:  

    940293affa7ed7c0bdb1820ecf7a8f12e901d030 (“arm:dts:dra7:使用 sdhci-OMAP 编程模型”)

    将 MMC3接口恢复到 OMAP-hsmmc 驱动程序、并使用外部 DMA 来解决该问题。  

    我们在内部对此进行了测试和审查、并得出结论认为这对我们来说已经足够了。

    我们确实希望 SDK 7版本支持 MMC3和4接口上的高性能 SDHCI 驱动程序、并尽可能使用外部 DMA、以便在今年晚些时候发布 SDK 7后合并上游驱动程序。

    此致、
    步骤

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Stef、

    感谢您关闭环路并总结结果。

    [引用 user="Stef boerrigter"]我们希望 SDK 7版本支持 MMC3和4接口上的高性能 SDHCI 驱动程序,并尽可能使用外部 DMA,以便我们可以在今年晚些时候发布 SDK 7后合并上游。

    明白。 让我与我们的开发团队一起重复此过程。 我还与 BeagleBone 团队的 Jason Kridner 交谈、他提到基于 AM57xx 的 BB-AI 上的 WiFi TCP 吞吐量大约为100MBIT/s (我本人尚未验证过、但在我的列表中)。 假设这个数字可以很容易地重新创建、那么问题是它为什么与基于 Marvell 的 U-blox 模块有如此大的区别。 然后、为了真正进行改进、我们需要一个现成的平台、我们可以在我们的测试场中对其进行回归测试。 如果 BB-AI 真正不受此性能问题的影响、则会带来寻找合适平台的新挑战。

    此致、Andreas