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.

[参考译文] Linux/processor-SDK-AM335X:Linux 内核挂起、等待根设备/dev/mmcblk0p2...

Guru**** 2557590 points
Other Parts Discussed in Thread: DP83848C, AM3352, TPS65910

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/609875/linux-processor-sdk-am335x-linux-kernel-hangs-at-waiting-for-root-device-dev-mmcblk0p2

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:DP83848CAM3352TPS65910

工具/软件:Linux

您好!

我使用的是 Linux 版本 v4.4.41的 TI Sitara PSP。 我将在我的定制板上移植 Linux。 由于某些必需的驱动程序不可用、我已决定使用 Linux v4.4.41、因此我已成功地在它上移植了 Linux v3.2。

在我为定制板修改了 uboot 时、它会加载 Linux 内核。 目前、我面临一个从 SD 卡引导的问题、但 Linux 内核在挂起  

"正在等待根设备/dev/mmcblk0p2..."。 我还在 e2e 社区中搜索了同样的问题、但它无法解决问题。

因此、请指导我哪里出错了、

以下是我的内核日志

U-Boot SPL 2017.03 (2017年4月20日- 12:01:49)

WAIT_TO_EVENT 中超时:STATUS=0000
检查总线的 PADS /上拉电阻是否配置正确
尝试从 MMC1引导
正在读取 uboot.env

**无法从 mmc0:1读取"uboot.env"**
使用默认环境

正在读取 u-boot.img
正在读取 u-boot.img


U-Boot 2017.03 (2017年4月20日- 12:01:49 +0530)

CPU:AM335X-GP 修订版2.1
型号:TI AM335x EVM
DRAM:256 MIB
NAND:1024 MIB
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
正在读取 uboot.env

**无法从 mmc0:1读取"uboot.env"**
使用默认环境

错误:未找到 USB 设备

在 drivers/USB/gadget/ete.c:2709/USB_ether 初始化()
未设置。 验证第一个电子保险丝 MAC
NET:无法获取以太网的 PHY@4a100000:Addr 0
eth0:以太网@4a100000
按任意键停止自动引导:0
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
正在读取 BOOT.SCR
**无法读取文件 boot.scr **
正在阅读 uEnv.txt
在5ms (40KiB/s)内读取206个字节
从 uEnv.txt 加载了 env
正在从 mmc0导入环境...
正在运行 envcmd ...
正在读取 uImage
3466928字节在378 ms (8.7 MIB/s)内读取
读取 AM335x-EVM.dTB
在12ms (3.3 MIB/s)内读取42154字节
##从传统映像(位于80007fc0)引导内核...
映像名称:linux-4.4.4.41-gf9f6f0db2d
创建时间:2017-07-06 13:47:04 UTC
映像类型:ARM Linux 内核映像(未压缩)
数据大小:3466864字节= 3.3 MIB
加载地址:80008000
入口点:80008000
正在验证校验和... 好的
###展开的设备树状图、位于80f80000
使用0x80f80000处的 FDT blob 进行引导
XIP 内核镜像... 好的
正在将设备树加载到8df1e000,结束8df2b4a9... 好的

正在启动内核...

[0.000000]在物理 CPU 0x0上引导 Linux
[0.000000]正在初始化 cgroup 子系统 CPU
[0.000000]正在初始化 cgroup Subsys cpuacct
[0.000000] Linux 版本4.4.4.41-gf9f6f0db2d (root@linuxadmin-admin)(gcc 版本4.9.2 20140904 (预发布版本)(crosstake-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09))#1 preempt Thu Jul 6 19:16:33 2017 IST
[0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
[0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
[0.000000]机器模型:TI AM335x EVM
[0.000000] CMA:保留0x8a800000处的48 MIB
[0.000000]内存策略:数据高速缓存写回
[0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
[0.000000] AM335X ES2.1 (SGX NEON )
[0.000000]在区域顺序和移动分组中构建了1个区域列表。 总页数:64960
[0.000000]内核命令行:console=ttyO0、115200n8 root=/dev/mmcblk0p2 mem=256M rootwait
[0.000000] PID 哈希表条目:1024 (顺序:0、4096字节)
[0.000000]条目高速缓存散列表条目:32768 (顺序:5、131072字节)
[0.000000] inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
[0.000000]内存:200348K/262144K 可用(6595K 内核代码、317K rwdata、2344K rodata、264K init、265K BSS、 12644K 保留、49152K CMA 保留、0K HIGHMEM)
[0.000000]虚拟内核内存布局:
[0.000000]矢量:0xff0000-0xff1000 (4KB)
[0.000000] fixmap:0xc00000 - 0xc00000 (3072 KB)
[0.000000] vmalloc:0xd0800000 - 0x0x800000 (752MB)
[0.000000]低内存:0xC0000000 - 0xd0000000 (256 MB)
[0.000000] pkmap:bbfe00000 - 0xC0000000 (2 MB)
[0.000000]模块:bbf000000 - bbbfe00000 (14 MB)
[0.000000].text:0xc0008000 - 0xc08c3034 (8941KB)
[0.000000].init:0xc08c4000 - 0xc0906000 (264 KB)
[0.000000].data:0xc0906000 - 0xc09554a0 (318KB)
[0.000000].bss:0xc09554a0-0xc0997c70 (266 KB)
[0.000000] slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
[0.000000]可抢占的分层 RCU 实现。
[0.000000]叶扇出的生成时间调整为32。
[0.000000] NR_IRQ:16 nr_IRQ:16 16.
[0.000000] IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
[0.000000] OMAP 时钟事件源:timer2为24000000 Hz
[0.000025] sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
[0.000066]时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
[0.000086] OMAP 时钟源:Timer1为24000000 Hz
[0.000432] clocksource_probe:未找到匹配的时钟源
[0.000748]控制台:彩色虚拟设备80x30
[0.000793]警告:您的'console=ttyO0'已被'ttyS0"替代
[0.000805]这样可以确保您仍然看到内核消息。 请
[0.000815]更新内核命令行。
[0.000846]校准延迟环路... 398.13茂物剪(lpj=1990656)
[0.048188] pid_max:默认值:32768最小值:301
[0.048412]安装高速缓存散列表条目:1024 (顺序:0、4096字节)
[0.048433] mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
[0.049662]正在初始化 cgroup Subsys IO
[0.049717]正在初始化 cgroup Subsys 内存
[0.049781]正在初始化 cgroup 子系统设备
[0.049809]正在初始化 cgroup Subsys 冷冻柜
[0.049837]正在初始化 cgroup 子系统 perf_event
[0.049859]正在初始化 cgroup 子系统 PID
[0.049912] CPU:测试写入缓冲器一致性:好
[0.050571]为0x80008200 - 0x80008260设置静态标识映射
[0.054632] devtmpfs:已初始化
[0.080308] VFP 支持 v0.3:实施者41架构3第30部分版本 c 修订版3
[0.106931] omap_hwmod:debugss:_wait_target_disable 失败
[0.167034]时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
[0.173916] pinctrl 内核:已初始化 pinctrl 子系统
[0.176299] NET:注册协议系列16.
[0.180693] DMA:为原子相干分配预先分配的256 KiB 池
[0.208193]空闲:使用调速器梯
[0.238178]空闲:使用调速器菜单
[0.246716] OMAP GPIO 硬件版本0.1
[0.258732] platform 44e3e000.rtc:无法查找 hwmod 'rtc'
[0.263344] OMAP-GPMC 50000000。GPMC:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/引脚多路复用@800/nandflash_pins_s0的 pctldev、延迟探针
[0.269026]硬件断点:不支持调试架构0x4。
[0.324500] EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
[0.333165] omap_i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c0000000-SCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针
[0.333270] OMAP-i2c 4802a000.i2c:找不到节点/ocp/l4_wkup@44c00000/SCM@210000/ pinmux@800/pinmux_i2c1_pins 的 pctldev、延迟探针
[0.333541]介质:Linux 介质接口:v0.10
[0.333667] Linux 视频采集接口:v2.00
[0.333759] pps_core:LinuxPPS API 版本。 1已注册
[0.333773] pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
[0.333844]已注册 PTP 时钟支持
[0.333956] EDAC MC:版本:3.0.0
[0.336134] OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
[0.336794]已初始化高级 Linux 声音架构驱动程序。
[0.339107]时钟源:切换到时钟源 Timer1
[0.360313] NET:注册协议系列2.
[0.36177] TCP 建立哈希表条目:2048 (顺序:1、8192字节)
[0.361813] TCP 绑定哈希表条目:2048 (顺序:1、8192字节)
[0.361867] TCP:已配置哈希表(建立2048 BIND 2048)
[0.362015] UDP 哈希表条目:256 (顺序:0、4096字节)
[0.362054] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
[0.36235] NET:注册协议系列1.
[0.363021] RPC:注册后命名的 UNIX 套接字传输模块。
[0.363048] RPC:注册的 UDP 传输模块。
[0.363060] RPC:注册的 TCP 传输模块。
[0.363071] RPC:注册的 TCP NFSv4.1反向通道传输模块。
[0.3646677]硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
[0.368470] futex 散列表条目:256 (顺序:-1、3072字节)
[0.384706] squashfs:版本4.0 (2009/01/31) Phillip Lougher
[0.386266] NFS:注册 id_resolver 密钥类型
[0.386380]注册了密钥类型 id_resolver
[0.386393]注册了密钥类型 id_legacy
[0.386525] NTFS:驱动程序2.1.32 [Flags:R/O]。
[0.393314]块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要247)
[0.393362]已注册 IO 调度程序 NOP
[0.393387]已登记 IO 调度程序的截止日期
[0.393722]已注册 IO 调度程序 cfq (默认值)
[0.396429] pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568
[0.402569]未找到使用虚拟稳压器的背光电源
[0.524722]串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
[0.532409] 44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 158、base_baud = 3000000)是8250
[1.168881]控制台[ttyS0]已启用
[1.174654] 48022000.serial: tmio 0x48022000处的 ttyS1 (IRQ = 159、base_baud = 3000000)是8250
[1.185794][DRM]已初始化 DRM 1.1.0 20060810
[1.192760]面板:找到背光
[1.199430][DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
[1.206104][DRM]不支持 vblank 时间戳查询的驱动程序。
[1.241440] tilcdc 4830e000。lcdc:tilcdc_crtc_IRQ (0x00000020):FIFO 欠流
[1.251150]控制台:切换到彩色帧缓冲器设备100x30
[1.255752] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):同步丢失
[1.256697] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):SYNC 丢失
[1.275826] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):SYNC 丢失
[1.289350] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000104):SYNC Lost
[1.302926] tilcdc 4830e000.lcdc:fb0:帧缓冲器件
[1.308554] tilcdc 4830e000.lcdc:tilcdc_CRTC_IRQ (0x00000104):同步丢失
[1.319972] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):SYNC 丢失
[1.326729] tilcdc 4830e000.lcdc:tilcdc_CRTC_IRQ (0x00000004):SYNC 丢失
[1.336126] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):SYNC Lost
[1.342904] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):SYNC 丢失
在次要0上[1.350031][DRM]初始化了 tilcdc 1.0.0 20121205
[1.355943] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000104):SYNC Lost
[1.376162]循环:模块已加载
[1.384378] libphy:固定 MDIO 总线:探测
[1.449162] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版1.6
[1.455373] DaVinci_MDIO 4a101000.MDIO:Detected phy mask fdfff7
[1.463702] libphy: 4a101000.mdio:探测
[1.467865] DaVinci_MDIO 4a101000.MDIO:PHY[3]:器件4a101000.MDIO:03、驱动程序 NS DP83848C 10/100Mbps PHY
[1.477807] DaVinci_MDIO 4a101000.MDIO:PHY[25]:器件4a101000.MDIO:19、驱动程序未知
[1.487374] cpsw 4a100000.以太网:检测到的 MACID = 1c:BA:8c:E6:4c:B8
[1.494505] cpsw 4a100000.以太网:CPT:溢出检查周期850
[1.504358] mousedev:PS/2鼠标设备,适用于所有鼠标
[1.511283] i2c /dev/entries 驱动程序
[1.517074] cputidle: enable-method 属性'ti、am3352'找到操作
[1.525496] OMAP_hsmmc 48060000.MMC:获得了 CD GPIO
[1.659283] tilcdc 4830e000.lcdc:tilcdc_CRC_IRQ (0x00000004):检测到 SYNC 信号丢失泛光、禁用中断
[1.700449] ledtrig-CPU:已注册以指示 CPU 上的活动
[1.724364] NET:注册协议系列10.
[1.741422] SIT:IPv6 over IPv4隧道驱动程序
[1.747627] NET:注册协议系列17.
[1.769757]注册了密钥类型 DNS_旋 变传感器
[1.774562] OMA_VOLTGE_LARD_INIT:未添加电压驱动器支持
[1.79983] OMAP-GPMC 50000000。GPMC:GPMC 版本6.0
[1.805425] GPMC_mem_init:禁用映射在0x0-0x1000000的 CS 0
[1.82007] nand:找不到有效的 ONFI 参数页;正在中止
[1.828414] nand:device found、Manufacturer ID:0x01、Chip ID:0xd3
[1.849118] nand:AMD/Spansion NAND 1GiB 3、3V 8位
[1.859126] nand:1024 MIB、SLC、擦除大小:128 KiB、页面大小:2048、OOB 大小:64
[1.866886] nand:Using OMAP-ECC_BCH8_CODE_HW ECC scheme
[1.885620]在 MTD 器件8000000.nand 上找到10个部件分区
[1.899119]在"8000000.nand"上创建10个 MTD 分区:
[1.909145] 0x0000000000000000 0x000000020000:“NAND.SPL”
[1.930433] 0x00000002000-0x000000040000:“NAND.SPL.Backup1”
[1.938545] 0x000000040000-0x000000060000:“NAND.SPL.Backup2”
[1.960331] 0x000000060000-0x000000080000:"NAND.SPL.backup3"
[1.968323] 0x000000080000-0x0000000c0000:“NAND.u-boot-spl-OS”
[1.984552] 0x0000000c0000-0x0000001c0000:“NAND.u-boot”
[2.000858] 0x0000001c0000-0x0000001e0000:“NAND.u-boot-env”
[2.016464] 0x0000001e0000-0x000000200000:“NAND.u-boot-env.Backup1”
[2.040291] 0x000000200000-0x000000a00000:“NAND.kernel”
[2.048177] 0x000000a00000-0x000010000000:“NAND.FILE-SYSTEM”
[2.109399] tps65910 0-002D:无中断支持、无内核 IRQ
[2.128001] tps65910 0-002D:配置外部控制 EN1时出错
[2.139128] tps65910 0-002D:初始化外部控制配置失败
[2.159643] vrtc:无法启用
[2.163351] tps65910 0-002D:注册 tps65910-PMIC 稳压器失败
[2.176322] tps65910-PMIC:tps65910-PMIC 的探头失败、错误-121
[2.189878] OMAP_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11
[2.211812] omap_i2c 4802a000.i2c:100kHz 时的总线1 rev0.11
[2.218656] OMAP_hsmmc 48060000.MMC:获得了 CD GPIO
[2.261961]输入:volume_keys@0 as /devices/platform/volume_keys@0/input/input0
[2.280991] OMAP_hsmmc 48060000.MMC:获得了 CD GPIO
[2.286664] hctosys:无法打开 RTC 设备(rtc0)
[2.310513] VBAT:正在禁用
[2.313378] lis3_reg:正在禁用
[2.316722] ALSA 器件列表:
[2.329130]未找到声卡。
[2.349441]正在等待根设备/dev/mmcblk0p2...

正在等待您的回复。

此致、

Vishvajeet。

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

    您好、Vishvajeet、

    [引用 user="Vishvajeet Godse">我使用的是 Linux 版本 v4.4.41的 TI Sitara PSP。 我将在我的定制板上移植 Linux。 由于某些必需的驱动程序不可用、我已决定使用 Linux v4.4.4.41、因此我已成功移植 Linux v3.2。

    您是否使用 AM335x PROCESSOR-SDK-LINUX-03.03.00? 请注意、我们有较新的版本4、它随内核 v4.9.28一起提供

    [引用 user="Vishvajeet Godse"]

    在我为定制板修改了 uboot 时、它会加载 Linux 内核。 目前、我面临一个从 SD 卡引导的问题、但 Linux 内核在挂起  

    "正在等待根设备/dev/mmcblk0p2...

    [/报价]

    您是否使用 create-sdcard.sh 脚本创建 SD 卡? 从该日志中,我觉得 SD 卡的 rootfs ext3分区有问题。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    感谢您的回复、实际上我从 TI Link 下载了最新的 SDK、其版本为 Linux-4.41。此外、我还使用 EVM 板检查了此内核的启动情况良好、但在定制板上、它会在上述点挂起。 我还使用 create-sd-card.sh 创建可引导 SD 卡。

    实际上、我将 Linux 移植到与 AM335x EVM 板密切相关的定制板上。 因此、通过对卡检测进行一些修改(EVM 和 Cutom 板 CD 是 DIFF)来使用相同的内核、因此我仅对该 GPIO 进行了更改。 但根据日志、它显示"gOT CD GPIO"
    其余引脚与 EVM 相同。 请告诉我哪里出错了

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

    Vishvajeet、

    [引用 user="Vishvajeet Godse"]感谢您的回复,实际上我从 TI 链接下载了最新的 SDK,其版本为 Linux-4.4.4.41

    这是内核 v4.9.28的最新 SDK  

    [引用 user="Vishvajeet Godse"]此外,我还使用 EVM 板检查了此内核,它的引导工作良好,但在定制板上,它在上述点挂起

    在这两种情况下、您使用的 SD 引导具有相同的 SD 卡、这是正确的吗? EVM 和定制板之间的 MMC/SD、UART 控制台或 rootfs 是否有差异?

    [引用 user="Vishvajeet Godse"]实际上、我要在与 AM335x EVM 板密切相关的定制板上移植 Linux。 因此、通过对卡检测进行一些修改(EVM 和 Cutom 板 CD 是 DIFF)来使用相同的内核、因此我仅对该 GPIO 进行了更改。 但根据日志、它显示"gOT CD GPIO"
    其余引脚与 EVM 相同。 请指导我出错的地方[/报价]

    EVM 和定制板之间的 CD (卡检测)不同? 请提供有关这一点的更多信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    感谢您的回复、根据您的请求、我将使用最新的 SDK 并告诉您发生了什么。除卡检测引脚外、rootfs、UART 和 SD 卡之间没有区别。 在 EVM 中、CD 引脚分配给 GPIO0_6、而不是在我们使用 GPIO1_28的定制板中分配。 这是唯一的变化。
    我在 AM335x-EVM.dts 文件中对此 GPIO 进行了更改

    mmc1{(&M)
    状态="正常";
    VMMC-SUPPLY =<&VMMC_REG>;
    总线宽度=<4>;
    pinctrl-names ="default";
    pinctrl-0 =<&mmc1_PINs>;
    /* CD-GPIO =<&GPIO0 6 GPIO_ACTIVE_LOW>;*/*EVM 板的原始版本*/
    CD-GPIO =<&GPIO1 28 GPIO_ACTIVE_LOW>;//定制板的 GPIO1_28 CD
    };

    mmc1_pins:pinmux_mmc1_pins{
    pinctrl-single、pins =<
    /*0x160 (PIN_INPUT | MUX_MODE7)*/* spi0_CS1.GPIO0_6 */
    0x78 (PIN_INPUT | MUX_MODE7)/* GPMC_BEN1.GPIO1_28 */
    >;
    };
    mmc3_pins:pinmux_mmc3_pins{
    pinctrl-single、pins =<
    0x44 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A1.mmc2_DAT0、INPUT_PULLUP | MODE3 */
    0x48 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A2.mmc2_DAT1、INPUT_PULLUP | MODE3 */
    0x4C (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A3.mmc2_DAT2、INPUT_PULLUP | MODE3 */
    /* 0x78 (PIN_INPUT_PULLUP | MUX_MODE3)*//* GPMC_BEN1.mmc2_DAT3、INPUT_PULLUP | MODE3 */
    0x88 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_csn3.mmc2_cmd、INPUT_PULLUP | MODE3 */
    0x8C (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_clk.mmc2_clk、INPUT_PULLUP | MODE3 */
    >;
    };

    在 EVM 中、GPIO1_28之前用于 mmc3_PINS_data3、因此我对其进行了注释并将其作为 GPIO 在 mmc1中使用。
    这些更改在 DTS 文件中进行。
    如果我错了、请告诉我。

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

    AM335x TI EVM 将 MMC0 (Linux/DTS 中的 mmc1)用于基板上的 SD 卡、将 MMC1 (Linux/DTS 中的 mmc2)用于子板上的 SD 卡、将 MMC3 (Linux/DTS 中的 mmc2)用于 WLAN。

    MMC0 (Linux/DTS 中的 mmc1)基址为0x48060000
    MMC1 (Linux/DTS 中的 mmc2)基址为0x481D8000
    MMC2 (Linux/DTS 中的 mmc3)基址为0x47810000

    您在定制板(MMC0、MMC1或 MMC2)上使用的是哪种 MMC?

    您还可以共享 AM335x TI EVM 上的成功引导日志吗? 我对定制板中的 MMC/SD 卡未初始化、而使用 NAND 有一些疑问(查看日志)。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    感谢您的回复、即使我对 SD 卡未初始化有疑问、也是如此。 我在定制板中使用 MMC0。 我正在共享 EVM 板的成功引导日志。 请检查一下。

    以下是 EVM 板的 MMC 引导日志。

    U-Boot 2017.03 (2017年6月29日- 17:14:32 +0530)

    CPU:AM335X-GP 修订版2.1
    型号:TI AM335x EVM
    DRAM:1 GiB
    NAND:256 MIB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
    正在读取 uboot.env

    **无法从 mmc0:1读取"uboot.env"**
    使用默认环境

    错误:未找到 USB 设备

    在 drivers/USB/gadget/ete.c:2709/USB_ether 初始化()
    未设置。 验证第一个电子保险丝 MAC
    NET:eth0:以太网@4a100000
    按任意键停止自动引导:0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在读取 BOOT.SCR
    **无法读取文件 boot.scr **
    正在阅读 uEnv.txt
    在3ms (66.4 KiB/s)内读取206个字节
    从 uEnv.txt 加载了 env
    正在从 mmc0导入环境...
    正在运行 envcmd ...
    正在读取 uImage
    2466928字节的读取时间为246 ms (13.4 MIB/s)
    读取 AM335x-EVM.dTB
    在8ms 内读取42154字节(5 MiB/s)
    ##从传统映像(位于80007fc0)引导内核...
    映像名称:linux-4.4.4.41-gf9f6f0db2d
    创建日期: 世界协调时、2017年7月6日13:47:04
    映像类型:ARM Linux 内核映像(未压缩)
    数据大小:3466864字节= 3.3 MIB
    加载地址:80008000
    入口点:80008000
    正在验证校验和... 好的
    ###展开的设备树状图、位于80f80000
    使用0x80f80000处的 FDT blob 进行引导
    XIP 内核镜像... 好的
    正在将设备树加载到8fff2000,结束8ff4a9... 好的

    正在启动内核...

    [0.000000]在物理 CPU 0x0上引导 Linux
    [0.000000]正在初始化 cgroup 子系统 CPU
    [0.000000]正在初始化 cgroup Subsys cpuacct
    [0.000000] Linux 版本4.4.4.41-gf9f6f0db2d (root@linuxadmin-admin)(gcc 版本4.9.2 20140904 (预发布版本)(crosstake-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09))#1 preempt Thu Jul 6 19:16:33 2017 IST
    [0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
    [0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
    [0.000000]机器模型:TI AM335x EVM
    [0.000000] CMA:在0x8c800000处保留48 MIB
    [0.000000]内存策略:数据高速缓存写回
    [0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000] AM335X ES2.1 (SGX NEON )
    [0.000000]在区域顺序和移动分组中构建了1个区域列表。 总页数:64960
    [0.000000]内核命令行:console=ttyO0、115200n8 root=/dev/mmcblk0p2 mem=256M rootwait
    [0.000000] PID 哈希表条目:1024 (顺序:0、4096字节)
    [0.000000]条目高速缓存散列表条目:32768 (顺序:5、131072字节)
    [0.000000] inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
    [0.000000]内存:200348K/262144K 可用(6595K 内核代码、317K rwdata、2344K rodata、264K init、265K BSS、 12644K 保留、49152K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    [0.000000] 向量:0xff0000-0xff1000 (4KB)
    [0.000000] Fixmap:0xc00000 - 0xc00000 (3072 KB)
    [0.000000] vmalloc:0xd0800000 - 0x0x800000 (752MB)
    [0.000000] 低内存:0xC0000000 - 0xd0000000 (256 MB)
    [0.000000] pkmap:bfe00000 - 0xC0000000 (2 MB)
    [0.000000] 模块:bbf000000 - bbfe00000 (14 MB)
    [0.000000] .text:0xc0008000 - 0xc08c3034 (8941KB)
    [0.000000] init:0xc08c4000 - 0xc0906000 (264 KB)
    [0.000000] .data:0xc0906000 - 0xc09554a0 (318KB)
    [0.000000] .bss:0xc09554a0-0xc0997c70 (266 KB)
    [0.000000] slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000]可抢占的分层 RCU 实现。
    [0.000000]叶扇出的生成时间调整为32。
    [0.000000] NR_IRQ:16 nr_IRQ:16 16.
    [0.000000] IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
    [0.000000] OMAP 时钟事件源:timer2为24000000 Hz
    [0.000013] sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
    [0.000034]时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
    [0.000044] OMAP 时钟源:Timer1为24000000 Hz
    [0.000198] clocksource_probe:未找到匹配的时钟源
    [0.000370]控制台:彩色虚拟设备80x30
    [0.000394]警告:您的'console=ttyO0'已被'ttyS0'替代
    [0.000400]这可确保您仍能看到内核消息。 请
    [0.000404]更新您的内核命令行。
    [0.000422]校准延迟环路... 996.14茂物剪(lpj=4980736)
    [0.089215] pid_max:默认值:32768最小值:301
    [0.089332]挂载高速缓存散列表条目:1024 (顺序:0、4096字节)
    [0.089342] mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
    [0.0898]初始化 cgroup Subsys IO
    [0.090020]正在初始化 cgroup Subsys 内存
    [0.090055]正在初始化 cgroup 子系统设备
    [0.090069]正在初始化 cgroup Subsys 冷冻柜
    [0.090083]正在初始化 cgroup Subsys perf_event
    [0.090093]正在初始化 cgroup 子系统 PID
    [0.090121] CPU:测试写入缓冲器一致性:好的
    [0.090511]为0x80008200 - 0x80008260设置静态标识映射
    [0.092373] devtmpfs:已初始化
    [0.103575] VFP 支持 v0.3:实施者41架构3第30部分版本 c 修订版3
    [0.116509] omap_hwmod:debugss:_wait_target_disable 失败
    [0.170991]时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.174708] pinctrl 内核:已初始化 pinctrl 子系统
    [0.175974] NET:注册协议系列16.
    [0.177980] DMA:为原子相干分配预分配256 K2B 池
    [0.199207]空闲:使用调速器梯
    [0.229197]空闲:使用调速器菜单
    [0.233132] OMAP GPIO 硬件版本0.1
    [0.238433] platform 44e3e000.rtc:无法查找 hwmod 'rtc'
    [0.240753] OMAP-GPMC 50000000。GPMC:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/引脚多路复用@800/nandflash_pins_s0的 pctldev、延迟探针
    [0.2436]硬件断点:不支持调试架构0x4。
    [0.276516] EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
    [0.280725] omap_i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针
    [0.280783] OMAP-i2c 4802a000.i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c1_pins 的 pctldev、延迟探针
    [0.280908]介质:Linux 介质接口:v0.10
    [0.280965] Linux 视频捕捉接口:v2.00
    [0.281007] pps_core:LinuxPPS API 版本。 1已注册
    [0.281014] pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.281047]已注册 PTP 时钟支持
    [0.281098] EDAC MC:版本:3.0.0
    [0.282182] OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
    [0.282522]已初始化高级 Linux 声音架构驱动程序。
    [0.283610]时钟源:切换到时钟源 Timer1
    [0.293074] NET:注册协议系列2.
    [0.293889] TCP 建立哈希表条目:2048 (顺序:1、8192字节)
    [0.293922] TCP 绑定哈希表条目:2048 (顺序:1、8192字节)
    [0.293946] TCP:已配置哈希表(建立2048 BIND 2048)
    [0.294036] UDP 哈希表条目:256 (顺序:0、4096字节)
    [0.294053] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    [0.294197] NET:注册协议系列1.
    [0.294594] RPC:注册后命名的 UNIX 套接字传输模块。
    [0.294608] RPC:注册的 UDP 传输模块。
    [0.294613] RPC:注册的 TCP 传输模块。
    [0.294618] RPC:注册的 TCP NFSv4.1反向通道传输模块。
    [0.295519]硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
    [0.297337] futex 散列表条目:256 (顺序:-1、3072字节)
    [0.304463] squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [0.305189] NFS:注册 id_resolver 密钥类型
    [0.305258]注册密钥类型 id_resolver
    [0.305264]注册了密钥类型 id_legacy
    [0.305325] NTFS:驱动程序2.1.32 [Flags:R/O]。
    [0.308726]块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要247)
    [0.308750]已注册 IO 调度程序 NOP
    [0.308762]已登记 IO 调度程序的截止日期
    [0.308907]已注册 IO 调度程序 cfq (默认值)
    [0.310211] pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568
    [0.313133]未找到使用虚拟稳压器的背光电源
    [0.365961]串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
    [0.369674] 44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 158、base_baud = 3000000)是8250
    [1.004671]控制台[ttyS0]已启用
    [1.009388] 48022000.serial: tmio 0x48022000 (IRQ = 159、base_baud = 3000000)处的 ttyS1是8250
    [1.019345][DRM]已初始化 DRM 1.1.0 20060810
    [1.025100]面板:找到背光
    [1.030368][DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
    [1.037137][DRM]不支持 vblank 时间戳查询的驱动程序。
    [1.069785]控制台:切换到彩色帧缓冲器设备100x30
    [1.080645] tilcdc 4830e000。lcdc:fb0:帧缓冲器件
    [1.113781][DRM]初始化了次要0上的 tilcdc 1.0.0 20121205
    [1.126108]循环:模块已加载
    [1.131740] libphy:固定 MDIO 总线:探测
    [1.193647] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6
    [1.199810] DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 FFFFFFFE
    [1.206883] libphy: 4a101000.mdio:探测
    [1.210966] DaVinci_MDIO 4a101000.MDIO:PHY[0]:器件4a101000.MDIO:00、驱动程序 Atheros 8031以太网
    [1.221006] cpsw 4a100000.以太网:检测到的 MACID = d0:39:72:29:f2:7a
    [1.227845] cpsw 4a100000.以太网:CPT:溢出检查周期850
    [1.235965] mousedev:PS/2鼠标设备,适用于所有鼠标
    [1.242160] i2c /dev/entries 驱动程序
    [1.246883] cputidle: enable-method 属性'ti、am3352'找到操作
    [1.254502] OMAP_hsmmc 48060000.MMC:获得了 CD GPIO
    [1.407758] ledtrig-CPU:已注册以指示 CPU 上的活动
    [1.418171] NET:注册协议系列10.
    [1.425252] SIT:IPv6 over IPv4隧道驱动程序
    [1.430664] NET:注册协议系列17.
    [1.435595]注册的密钥类型 DNS_旋 变传感器
    [1.440180] OMAP-VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.449997] OMAP-GPMC 50000000。GPMC:GPMC 版本6.0
    [1.455386] GPMC_mem_init:禁用映射在0x0-0x1000000的 CS 0
    [1.462853] nand:device found、Manufacturer ID:0x2C、Chip ID:0xda
    [1.469385] nand:Micron MT29F2G08ABAEAWP
    [1.473415] Nand:256 MIB、SLC、擦除大小:128 KiB、页大小:2048、OOB 大小:64
    [1.481085] nand:Using OMAP-ECC_BCH8_CODE_HW ECC scheme
    [1.486550]在 MTD 器件8000000.nand 上找到10个部件分区
    [1.492670]在"8000000.nand"上创建10个 MTD 分区:
    [1.498117] 0x000000000000 0x000000020000:“NAND.SPL”
    [1.504635] 0x00000002000-0x000000040000:“NAND.SPL.Backup1”
    [1.511542] 0x000000040000-0x000000060000:"NAND.SPL.Backup2"
    [1.518475] 0x000000060000-0x000000080000:"NAND.SPL.backup3"
    [1.525466] 0x000000080000-0x0000000c0000:“NAND.u-boot-spl-OS”
    [1.532560] 0x0000000c0000-0x0000001c0000:“NAND.u-boot”
    [1.539460] 0x0000001c0000-0x0000001e0000:“NAND.u-boot-env”
    [1.546334] 0x0000001e0000-0x000000200000:“NAND.u-boot-env.Backup1”
    [1.553912]0x000000200000-0x000000a00000:“NAND.kernel”
    [1.563051] 0x000000a00000-0x000010000000:“NAND.FILE-SYSTEM”
    [1.673859] tps65910 0-002D:无中断支持、无内核 IRQ
    [1.702374] OMAP_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11
    [1.709753] omap_i2c 4802a000.i2c:100kHz 时的总线1 rev0.11
    [1.716201] omap_hsmmc 48060000.mmc:获得 CD GPIO
    [1.721260] VMMC:由 VBAT 供电
    [1.764303] VDD_MPU:由 VBAT 供电
    [1.773388]输入:volume_keys@0 as /devices/platform/volume_keys@0/input/input0
    [1.781821] hctosys:无法打开 RTC 设备(rtc0)
    [1.794110] lis3_reg:正在禁用
    [1.797295] WLAN-en-regulator:正在禁用
    [1.801563] ALSA 器件列表:
    [1.804629]未找到声卡。
    [1.809372]等待根设备/dev/mmcblk0p2...
    [1.832739] mmc1:主机不支持只读开关、假设启用了写功能
    [1.843807] mmc1:地址 AAAA 处的新型高速 SDHC 卡
    [1.850033] mmcblk0:mmc1:AAAA SU04G 3.69 GiB
    [1.856095] mmcblk0:P1 P2
    [1.924676] EXT4-FS (mmcblk0p2):使用 ext4子系统安装 ext3文件系统
    [1.944731] EXT4-FS (mmcblk0p2):已安装文件系统、具有有序数据模式。 OPTS:(空)
    [1.952948] VFS:在设备179:2上安装了 root (ext3文件系统)只读。
    [1.96140] devtmpfs:已安装
    [1.969498]释放未使用的内核内存:264K (c08c4000 - c0906000)
    [1.976123]此架构没有内核内存保护。

    请按 Enter 键激活此控制台。
    /#
    /# ls
    二进制文件 等等 库 处理器 系统
    差 主页 linuxrc sbin USR
    /# cd home/
    /home # ls
    TestLED.out

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

    [引用 user="Vishvajeet Godse"]我正在共享 EVM 板的成功引导日志。 请检查它。

    [引用 user="Vishvajeet Godse"[1.721260] VMMC:由 VBAT[/引用]提供

    我在您的自定义电路板启动日志中看不到上述消息。 EVM 和定制板之间的 MMC 电源是否有任何差异? 否则、这可能是定制电路板电源的硬件故障。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    EVM 板和定制板之间的电源存在差异。 对于定制电路板、我们提供了使用直流/直流稳压器的直接电源。 我签入了 EVM、它是通过 PMIC 电路提供的。我将打印件放入了 OMAP-hsmmc_reg_get ()中的错误代码中;该文件位于 drivers/MMC/host/omap_hsmmc.c 文件中。 在此 devm_reguler_get_optional ()中,总是返回错误。 我检查了该函数、它检查电源、因此我想知道该函数是什么 does.in 定制板、它总是返回错误。 因此、我想知道如何克服这个问题。我检查了电路板的 VMMC 电源、它与 EVM (3.3V)相同。
    请指导我。

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

    在 AM335x EVM 上、PMIC (TPS65910)为 AM335x 器件提供 VMMC 电源。 DTS 文件中对此进行了说明、请参阅以下文件:

    Linux-kernel/Documentation/devicetree/bindingsMMC/ti-omap-hsmmc.txt
    linux-kernel/arch/arm/boot/dts/am335x-evm.dts

    mmc1{(&M)
    VMMC-SUPPLY =<&VMMC_REG>;


    TPS{
    调节器{
    VMMC_reg:电脑控制器@12{
    稳压器最小微伏=<1800000>;
    稳压器最大值微伏=<3300000>;
    稳压器常开;
    };

    devm_reguler_get_optional ()正在尝试访问 TPS65910 PMIC,由于您没有访问权限,因此会返回错误。 检查以下文件:

    linux-kernel/drivers/reguler/DevRes.c
    linux-kernel/drivers/reguler/core.c

    我建议您启用调试模式(DEV_dbg)、并比较 AM335x TI EVM 与定制板之间的消息。 您还应根据定制板调整 DTS 文件。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    感谢您的回复、我想知道我是否不在电路板上使用 PMIC 电路(我已经通过固定电压稳压器为 MMC 卡提供了电源)、所以请告诉我如何在不使用 PMIC 驱动器的情况下启用/加电 MMC 驱动器。 我是否需要更改任何 VMMC 稳压器设置、即 AM335x-evm.dts 文件中的 VMMC 电源。

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

    您可以参阅 BeagleBoneBlack 开发板原理图和 DTS 文件(/arch/arm/boot/dts/am335x-boneblack.dts、AM335x-bone-common.dtsi)

    在中、BBB MMC 由固定3.3V LDO 稳压器供电、而不是由 PMIC 供电。

    mmc1{(&M)
    VMMC-SUPPLY =<&vmmcsd_fixed>;
    };

    vmmcsd_fixed:fixedregulator@0{
    兼容="稳压器固定";
    reguler-name ="vmmcsd_fixed";
    稳压器最小微伏=<3300000>;
    稳压器最大值微伏=<3300000>;
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    它正在使用上述解决方案、感谢您的支持。


    此致、
    Vishvajeet