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/AM5718:MMC 驱动程序

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668722/linux-am5718-mmc-driver

器件型号:AM5718

工具/软件:Linux

尊敬的团队:

我正在努力在 AM571x IDK 平台上实施与 OMAP-hsmmc.c 驱动程序相关的 hsmmc 控制器驱动程序。 我对控制 MMC1控制器有特殊要求、无需使用 MMC 子系统。

在模块探针中、我正在执行 initstream、在正确配置控制器寄存器后、当我在 IDK 上的 R405探测信号时、我看到没有80脉冲的时钟。

1) 1)我正在执行以下操作来启动 initstream

HSMMC_WRITE (MMC->base、con、(HSMMC_read (MMC->base、con)| init_stream);
HSMMC_WRITE (MMC->base、CMD、init_stream_CMD);


通过读取 STAT 寄存器等待命令完成、命令从未完成

2) 2)我手动编程的 PRCM 块、用于启用 MMC1模块的时钟。

//使用值配置 PRCM
   _raW_writel (0x1040002、(0x4a009328 + bbb2000000));

3) 3)将 CAPA 和 HCTL 配置为支持3.3伏、当使用 DMM 探测时、我会在 u-SD 连接器上看到这些电压

4) 4)以下是我的用于虚拟地址0xfa09c100的 MMC1 @ 0x4809C000寄存器

Con = 0x600

CAPA = 0x23e90080

SYSCTL = 0xe7807

hctl = 0xf00

请告诉我是否缺少任何内容以及 initstream 为何不生成时钟。

提前感谢、

Vamshi G.

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

    抱歉、此论坛不支持驱动程序开发。 AM57x 处理器 SDK 包括用于 Linux 和 RTOS 的 MMC 驱动程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    Heart Broken Response:)用于调试此内容的任何指针。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瓦姆希

    我们还提供适用于 RTOS 的 Processor SDK、其中包含 MMC/SD 示例、这些示例可能更直接地应用于您尝试执行的操作。 我会查看这些内容。 在提供 RTOS 和 Linux 验证的驱动程序之间、这是我们为帮助您完成任务提供的最佳选择。

    适用于 AM57x 的 Processor SDK RTOS:
    software-dl.ti.com/.../index_FDS.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 RonB:

    感谢您的意见、这对我有所帮助。 我缺少 mmc1的 PBIAS 设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瓦姆希

    我很高兴它能为您提供帮助、并感谢您告知我们。