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.

关于Am335x_boneblack.dts中MMC1pin脚的配置问题

Other Parts Discussed in Thread: UNIFLASH

各位好:

      希望看到的能指点我下,现在我想从eMMC启动修改标题中的dts文件时发现,关于MMC1的pin脚定义成了MMC0的。现在我想把MMC0 PIN 脚改成MMC1的pin 脚。
可是我 control mudole 找不到mmc1_dat之类(dat0~7,clk.cmd)的偏移位置。后来我在MMC寄存器配置里面也找不到mmc1_dat之类的位置,求解。怎么配置这个设备树文件。

现象是:系统可以正常启动起来,可是lcd驱动不调用,无法正常工作。

  • 建议你先了解一下AM335x上的pinmux设计,并了解一下pinmux工具:

    http://processors.wiki.ti.com/index.php/Pin_Mux_Utility_for_ARM_MPU_Processors?keyMatch=pinmux&tisearch=Search-EN

    Control module里面只有pin name,就是对应管脚的mode0的名字。根据pinmux tool的标识,mmc1的信号都是分布在mode1,2,4,5,6上,所以你在control module里面找不到mmc1。配置的时候,只要把对应的pin name配置成为mmc1的模式就可以了。

  • 你的现象描述中LCD驱动不调用是怎么个意思,打错了?mmc1的驱动? 如果调试的是LCD驱动的话,那要配置的不是mmc哦,是LCDC。

  • 您好,我现在也是一头雾水,现在纸面问题是可以从emmc启动,说明这个驱动可以了,但是通过log发现没有调用lcd驱动,但是我dts中关于lcd的pin全部定义好了,这也是在从t卡中启动得到验证了,在检查dts文件的时候发现mmc1的pin定义错了,所以怀疑这个了,现在可以知道没有关系,昨天发现了根本问题,竟是emmc中的版本竟不是我烧写进去的版本,一下两点可以看出。

    1.T卡中的版本(Linux version 3.12.10-ti2013.12.01 (zhouqun@zhouqun-Aspire-4750)),emmc中的版本( Linux version 3.12.10-ti2013.12.01 (jenkins@sdit-build02)),两个烧写的是同一个zImage.

    2.我在main.c中加了打印信息,T卡中可以看到[    0.000000] zhouqun :Kernel command line: console=ttyO0,115200n8 root=/dev/mm  ,emmc中[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait,所以看出不是我的版本,用的同一个zImage。

    请问这是怎么回事呢?

  • 请问您遇到过这种现象吗?能指点一下我吗?

  • 我重复一下,是不是这么两个问题:

    1. LCD显示有问题:在你目前使用的dts文件中,你配置了LCD,但是在实际的使用中却发现没有调用LCD的初始化,所以回过头去检查dts文件,发现MMC1的pin脚配置可能有问题,但其实你是想搞定LCD显示的问题。

    2. eMMC烧录问题:如你在http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/p/80684/201285.aspx#201285中提及的,你使用同样的image进行烧录,但是却发现,TF启动和eMMC启动后的信息不一样。你的eMMC烧录怎么烧的?Uniflash?还是用SD卡?

  • 非常感谢!

        就是这两个问题哦,我的emmc烧写是用uniflash烧写的,就是按照那个sdk6.0烧写的方法改了一下。

                                                --------------------新手问问题不清楚,多多包涵!

  • 1. 对于LCD的配置,因为看你使用的am335x_boneblack.dts文件,这个里面没有使能LCD的初始化的;这部分内容需要你参考am335x-evm.dts或者am335x-evmsk.dts文件增加这部分内容,其次要确保,在uboot中,修改EEPROM那段代码,确认导入的dts文件是正确的。

    2. 这个烧写的问题,我怀疑有两种可能:1没有正常烧写成功,2就是把image给弄错了。

       原来的eMMC里面有东西吗?现在运行出来的结果会不会是之前烧录的一个版本,而最近的烧录没有成功?建议你先格式化后,确保没东西了后再烧进去,以防1。

       再者确认你烧进去的image和你现在用的是一致的。

  • 不好意思又麻烦你了。

    1.关于lcd配置的那个我的确按照am335x_evm.dts这个文件改的,那个eeprom的代码,请问在哪个文件修改啊?

    2.那个烧写之前我已经擦处了,mmc erase 0 40000,用的就是这个代码并且是同一个image.

  • 您好,

         1.那个uboot阶段的代码我仔细看过了am335x_evm.h中dtb文件的读取是我用的dtb文件。

         2.iamge文件确保一样试验几次了还是一样,确保已经全部擦除。

  • 1. board/ti/am335x/board.c