am335x修改sd卡cd管脚

任务:修改SD卡CD管脚,CD管脚是用来给系统通知SD卡的插入与拔出消息的,tq3358默认用的是         spi0_cs1(GPIO0_6),现在要改为GPIO1_16


1. 查看原理图核心板原理图

  

    MMC0的SDCD接的是GPIO0_6。


2. 查看 arch\arm\mach-omap2\mux33xx.c,这个文件是ti3358的管脚定义,不要修改。

    _AM33XX_MUXENTRY(SPI0_CS1, 0,
        "spi0_cs1", "uart3_rxd", NULL, "mmc0_pow",
        NULL, "mmc0_sdcd", NULL, "gpio0_6"),

    这部分就是sd卡cd管脚的定义和功能服用描述。

   然后找到GPIO1_16的管脚定义

   _AM33XX_MUXENTRY(GPMC_A0, 0,
        "gpmc_a0", "mii2_txen", "rgmii2_tctl", "rmii2_txen",
        NULL, NULL, NULL, "gpio1_16"),


3. 修改arch\arm\mach-omap2\board-am335xevm.c,这个文件是ti3358硬件管脚的配置。

    找到mmc初始化的位置

    static void mmc0_init(int evm_id, int profile)
    {
               setup_pin_mux(mmc0_pin_mux);
               omap2_hsmmc_init(am335x_mmc);
               return;
    }

    从初始化的函数可以看出,主要修改两个结构体。

   1) mmc0_pin_mux  与sd卡相关的管脚配置

       /* Module pin mux for mmc0 */
     static struct pinmux_config mmc0_pin_mux[] = {
             {"mmc0_dat3.mmc0_dat3",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"mmc0_dat2.mmc0_dat2",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"mmc0_dat1.mmc0_dat1",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"mmc0_dat0.mmc0_dat0",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"mmc0_clk.mmc0_clk",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"mmc0_cmd.mmc0_cmd",    OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
             {"ecap0_in_pwm0_out.mmc0_sdwp", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
             {"spi0_cs1.mmc0_sdcd",  OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},

             通过刚才查看核心板的原理图,显然是修改这一行,照猫话虎的改为:注意,前面的字符串只是起到

             一个标识的作用,后面的模式号才是正在起作用的。

             {"gpmc_a0.gpio1_16",OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},

             {NULL, 0},
     };

     2) am335x_mmc  sd卡的硬件配置信息

         static struct omap2_hsmmc_info am335x_mmc[] __initdata = {
               {
                    .mmc            = 1,
                    .caps           = MMC_CAP_4_BIT_DATA,
                    .gpio_cd        = GPIO_TO_PIN(0, 6),

                     修改这一行为

                    .gpio_cd        = GPIO_TO_PIN(1, 16),

                    .gpio_wp        = GPIO_TO_PIN(3, 18),
                    .ocr_mask       = MMC_VDD_32_33 | MMC_VDD_33_34, /* 3V3 */
               },
              {
                    .mmc            = 0,    /* will be set at runtime */
               },
              {
                    .mmc            = 0,    /* will be set at runtime */
               },
               {}      /* Terminator */
        };

4. 将board-am335xevm.c用到的有关gpio1_16的代码屏蔽掉,以免干扰。

    在此文件里搜索gpmc_a0,因为ti的管脚都是复用的,gpio1_16这个管脚的默认名称可以从刚才 mux33xx.c    这个文件里找到,就是gpmc_a0。删除掉以下两行即可。

        {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

        {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},




    

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cad插件_抖音最火CAD插件教程汇总

左下角阅读原文看CAD视频好课推荐:1、CAD2014:点击查看 2、室内CAD:点击查看 3、CAD2019:点击查看4、CAD2018:点击查看5、Bim教程:点击查看6、室内手绘:点击查看7、CAD三维:点击查看…

在内存中建立文件_磁盘与文件,搞懂它

说一说计算机中的非常重要的两个东西磁盘和文件。搞清楚这两个东西有利于我们理解高级语言中关于I/O流操作的设计。它就像一把大杀器一样,无往而不利。想一想,磁盘作为一个电脑中的硬件设备,操作系统是如何管理磁盘设备的?文件其实…

平板电脑应用_什么是机房巡检AI机器人?工业平板电脑的应用如何体现

机房巡检AI机器人,顾名思义,它的主要工作是在机房里做巡逻检查,是巡检机器人类别下的一个型号,类似的还有电站巡检AI机器人,铁路巡检AI机器人等,总之,它们的设计研发就是为了某个特定的工作环境…

二叉树的深度_十七:二叉树的最小深度

二叉树的最小深度:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最短路径的长度为树的最小深度。算法一/** * description 二叉树最小深度 * param {*} root 二叉树 */function binaryTreeMinDepth(root) { // 节点不存在时返回长度…

苹果怎么付费购买内存_【苹果手机多长时间清理一次内存,怎么清理?】

一、微信缓存微信作为每天使用频率最多的软件,是需要重点清理的对象。操作:我—设置—通用—清理微信存储空间—查看微信存储空间,选择联系人进行清理。二、短信现在很少有人会用短信联系,一般都是一些垃圾广告,我们可…

发票管理软件_财务人员都在用的这款发票管理软件,真的值得购买么?

(1)电子凭证和纸质会计凭证具有同等效力;(2)报销管理也需要经办、审核、审批流程,且能防止重复入账;(3)以电子凭证纸质版入账留档保存的,必须同时保存电子档。以及重复繁琐的发票查验工作,把最近处于风口浪尖的电子发票…

自动点击器如何设置最快_铁粉技巧 | iPhone如何设置自动开关机,iPhone更改字体...

大家好我是小雷没有废话直奔主题今天让我们看下iPhone如何设置自动开关机首先需要了解的是,iPhone设备是不能设置自动开机的。那么如何每天自动关机呢?1,打开时钟点击计时器。2,点击计时结束时启动3,滑动页面点击停止播…

python contains类似函数_五步教会你用python爬虫神器PyQuery!(内含详细步骤和代码)...

前言:今天为大家带来的内容,是五步教会你用python爬虫神器PyQuery!(内含详细步骤和代码),在这里还是要啰嗦下,为了有更好的观赏性,大部分代码用图片的方式呈现出来!喜欢的话不忘点赞关注不迷路哦…

uniapp开发实例github_跨端开发痛点?送你一款Vue最流行的跨端框架——uni-app

前言今天来聊一下前端必备技能——小程序开发。从最早发布的微信小程序,到后来的支付宝小程序、字节跳动小程序、百度小程序、QQ小程序,还有最近发布的360小程序,面对这么多套的代码,开发者该如何开发呢?当业务要求同时…

计算机怎么把单元格内容水平居中,win10系统下怎样让Word中的表格内容居中

Word是我们经常会使用到的一款文字处理软件,其具有非常强大的功能。那么,我们应该怎样使Word中的表格内容居中呢?接下来,小编就以 windows10正式版系统 为例,给大家分享具体操作方法。具体如下:1、首先在Word软件中准备…

双稳态电路的两个稳定状态是什么_从双稳态到双“更”稳态 ——叶芳伟课题组在拓扑光子学研究方向上取得新进展...

你拿起一个计算器,输入“26”,计算器会输出“8”;过了一会儿,你又在这个计算器上输入“26”,它依然会输出“8”。这种靠谱的计算器——对于同一个输入,它始终还给我们同一个输出——我们称之为线性计算器或…

【C++专题】static_cast, dynamic_cast, const_cast探讨

首先回顾一下C类型转换:C类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的 算术表达式中, 最宽的数据类型成为目标转换…

安卓工控主板运行时会自动重启_工控主板在工业自动化中的应用

原标题:工控主板在工业自动化中的应用大家都知道随着科技的发展对于工控主板的用途和应用大大超出了工业自动化的范围,而对于本文联智通达小编将仅坚持工业自动化范围内的应用。首先跟随联智通达小编看一下制造以及工业PC的应用以及如何使该领域的工业自…

海量小文件存储

海量小文件存储 [转自:http://www.fuchaoqun.com/2009/04/deal-with-tons-of-small-files/] Web2.0网站,数据内容以几何级数增长,尤其是那些小文件,几K~几百K不等,数量巨多,传统的文件系统处理起来很是吃力…

diff算法_vue源码解读 diff算法

导语 最近碰到部分业务场景,代码逻辑需要了解"数组变更后,具体变更了哪一些元素,以及变更的位置.."。于是仔细研究并覆写了一遍针对数组变化的diff算法,在这里做下diff算法的逻辑分享&&源码解读一.介绍前的准备…

Linux驱动模块编译进内核中

BQ27501驱动编译进内核 一、 驱动程序编译进内核的步骤 在 linux 内核中增加程序需要完成以下三项工作: 1. 将编写的源代码复制到 Linux 内核源代码的相应目录; 2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项; 3. 在…

黑群晖二合一安装不了套件_玩PT还是得安装transmission,星际蜗牛安装黑群晖制作家用NAS...

原文作者:pt老萌新To小白:黑群晖docker安装PT神器transmission——星际蜗牛安装黑群晖制作家用NAS的折腾日记写在前面:里面的技术方法不是我原创的,都是网上找的,侵删。折腾的过程记录是原创的(好像没啥原创的了)&…

spring boot web项目_阿里技术专家带你使用Spring框架快速搭建Web工程项目

点击上方 "程序员小乐"关注, 星标或置顶一起成长 第一时间与你相约 每日英文 We all have a past. It’s how you deal with it. 每个人都有过去,只是取决于你怎么去处理。 每日掏心话 人不都是这样吗,安慰别人的时候头头是道,自己…

git 代码回滚_能提交到远程的Git回滚

很多情况下我们需要回滚代码,最容易想到的就是git reset。但是git reset有个弱点,它是一个彻底的回滚,不能再提交给远程了,因为在提交记录里回滚点之后的记录都不见了。做一下试验,一个文件我们提交了三次之后回滚#往前…

Mysql数据库的几大优势

为什么开源社区买mysql的帐, MySQL数据库的吸引开源社区的几大特质: 客户为什么会考虑购买MySQL 企业版Enterprise Edition : 转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968208.html