风雨兼程8023
这个作者很懒,什么都没留下…
展开
-
Linux内核4.14版本——mmc框架——mmc硬件总线扫描流程(以sd card为例)
emmc原创 2022-02-12 18:58:57 · 2768 阅读 · 0 评论 -
SD/eMMC初始化流程、读写流程(dwc mshc)
dwc mshc原创 2022-02-08 14:02:22 · 14354 阅读 · 1 评论 -
MMC/SD/SDIO介绍
目录1. 前言2. 基本概念3. 规范简介3.1 卡的规范3.2 总线规范3.3 控制器规范4. 总结1. 前言 熟悉Linux kernel的人都知道,kernel使用MMC subsystem统一管理MMC、SD、SDIO等设备,为什么呢?到底什么是MMC?SD和SDIO又是什么?为什么可以用MMC统称呢? 在分析Linux kernel的MMC subsystem之前,有必要先介绍一些概念,以便对MMC/SD/SDIO有一个大致的了解,这就是...原创 2022-01-23 11:23:56 · 3822 阅读 · 0 评论 -
Linux内核4.14版本——mmc框架——总线设置
emmc框架分析原创 2022-02-12 18:58:33 · 2861 阅读 · 0 评论 -
Linux内核4.14版本——mmc框架——参考文章
emmc框架分析原创 2022-02-12 18:59:19 · 525 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(10)——mmc core主模块(6)mmc请求相关
emmc框架分析原创 2022-01-22 14:26:46 · 2106 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(9)——mmc core主模块(5)host的mmc总线相关
emmc框架分析原创 2022-01-22 14:26:24 · 388 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(8)——mmc core主模块(4)mmc host的管理和维护相关
emmc框架分析原创 2022-01-22 14:26:08 · 1063 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(7)——mmc core主模块(3)总线io setting相关(struct mmc_ios)
框架分析,emmc原创 2022-01-22 14:25:45 · 1334 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(6)——mmc core主模块(2)card检测
emmc框架分析原创 2022-01-19 17:03:03 · 2046 阅读 · 1 评论 -
Linux内核4.14版本——mmc core(3)——host模块
1. 前言 本文是Linux MMC framework的第二篇,将从驱动工程师的角度,介绍MMC host controller driver有关的知识,学习并掌握如何在MMC framework的框架下,编写MMC控制器的驱动程序。同时,通过本篇文章,我们会进一步的理解MMC、SD、SDIO等有关的基础知识。2. MMC host驱动介绍 MMC的host driver,是用于驱动MMC host控制器的程序,位于“drivers/mmc/host”目录。从大的流...原创 2022-01-19 15:40:24 · 1628 阅读 · 0 评论 -
Linux内核4.14版本——mmc_blk层为sd card等创建、读写块设备流程
1. 块设备框架参考文章: 块设备描述1 块设备描述2原创 2022-02-12 18:59:34 · 3978 阅读 · 0 评论 -
Linux内核4.14版本——mmc host(4)——host实例(sdhci-msm说明)
emmc框架分析原创 2022-01-23 11:40:16 · 1497 阅读 · 0 评论 -
Linux内核4.14版本——mmc host(3)——sdhci-pltfm说明
emmc框架原创 2022-01-23 11:39:53 · 972 阅读 · 0 评论 -
Linux内核4.14版本——mmc host(2)——sdhci
1. sdhci core说明1.1 sdhci说明 SDHC:Secure Digital(SD) Host Controller,是指一套sd host控制器的设计标准,其寄存器偏移以及意义都有一定的规范,并且提供了对应的驱动程序,方便vendor进行host controller的开发。 vendor按照这套标准设计host controller之后,可以直接使用sdhci driver来实现host controller的使用,(qcom和samsung都使用了这套标...原创 2022-01-23 11:39:24 · 4843 阅读 · 0 评论 -
Linux内核4.14版本——mmc host(1)——概述
emmc host原创 2022-01-23 11:38:30 · 687 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(5)——mmc core主模块(1)简介
emmc空间分析原创 2022-01-19 16:40:49 · 912 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(1)——概述
mmc框架分析原创 2022-01-19 15:17:49 · 1746 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(4)——card相关模块(mmc type card)
emmc框架分析原创 2022-01-19 16:00:25 · 2003 阅读 · 0 评论 -
Linux内核4.14版本——mmc core(2)——bus模块
EMMC框架分析,bus模块原创 2022-01-19 15:22:02 · 1215 阅读 · 0 评论 -
Linux内核4.14版本——mmc框架_软件总体架构
1. 前言 由[1]中MMC、SD、SDIO的介绍可知,这三种技术都是起源于MMC技术,有很多共性,因此Linux kernel统一使用MMC framework管理所有和这三种技术有关的设备。 本文将基于[1]对MMC技术的介绍,学习Linux kernel MMC framework的软件架构。2. 软件架构 Linux kernel的驱动框架有两个要点(尽管本站前面的文章已经多次强调,本文还是要再说明一下,因为这样的设计思想,说一千遍都不会烦): ...原创 2022-01-19 15:09:48 · 1568 阅读 · 0 评论 -
eMMC(七)——SD/eMMC寄存器介绍
熟悉SD/MMC的相关寄存器对协议的理解有一定的辅助作用,所以这篇文章来介绍一下SD/MMC相关的寄存器有哪些呢?1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示:2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一、OCR,CID,CSD和SCR寄存器保存卡的配置信息; 二、RCA寄存器保存着通信过程中卡当前暂时分配的地址(只适合...原创 2021-01-26 20:54:07 · 6422 阅读 · 0 评论 -
eMMC(五)——总线数据流
参考资料:Embedded Multi-Media Card (e•MMC) Electrical Standard (5.1)[PDF] SD/MMC Controller, Hard Processor System (HPS) Technical Reference Manual (TRM)[PDF] CRC wiki[WEB]1. 总线接口各个信号的描述如下:CLK CLK 信号用于从 Host 端输出时钟信号,进行数据传输的同步和设备运作的驱动。 ...原创 2020-12-22 19:59:48 · 3452 阅读 · 0 评论 -
eMMC(三)——工作模式
Overview eMMC Device 在 Power On、HW Reset 或者 SW Reset 时,Host 可以触发 eMMC Boot,让 eMMC 进入Boot Mode。在此模式下,eMMC Device 会将 Boot Data 发送给 Host,这部分内容通常为系统的启动代码,如 BootLoader。 如果 Host 没有触发 Boot 流程或者 Boot 流程完成后,eMMC Device 会进入Device Identification Mode。...原创 2020-12-20 19:09:50 · 4018 阅读 · 0 评论 -
eMMC(二)——分区管理
参考:Embedded Multi-Media Card (e•MMC) Electrical Standard (5.1)[PDF] Disk partitioning[Web] Master Boot Record[Web] GUID Partition Table[Web] Linux Kernel internals[Web]0. 概述FLASH分区类型 eMMC 标准中,可将内部的 Flash Memory 划分为 4 类区域,最多可以支持 8 个硬件分区,...原创 2020-12-13 16:30:09 · 8556 阅读 · 2 评论 -
eMMC(四)——基本命令
1. Basic commands (class 0 and class 1)CMD0Abbr. Type Argument Resp Description GO_IDLE_STATE bc [31:0] 00000000 None Resets the Device to idle state GO_PRE_IDLE_STATE bc [31:0] F0F0F0F0 None Resets the Device to原创 2020-12-22 19:50:25 · 5014 阅读 · 0 评论 -
eMMC(六)——总线上电
1 通讯线e•MMC 总线有 10 条通讯线: CMD: 命令线,双向信号。主机和设备驱动器以两种模式工作,开漏和推挽。 DAT0-7: 数据线,双向信号。主机和设备工作在推挽模式下。 CLK: 时钟,是主机发往设备的信号。 CLK 工作在推挽模式下。2 上电上电(包括热插入,即总线工作时插入设备)后,设备进入pre-idle状态。供电电压的上电时间应小于为总线主机电源电压规定的tPRU。 如果设备不支持引导模式,或 BOOT...原创 2021-01-10 14:33:22 · 3524 阅读 · 0 评论 -
eMMC(一)——基本架构
1. eMMC是什么 eMMC(Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备及主控制器。所有都在一个小型的BGA 封装。接口速度高达每秒52MBytes,eMMC具有快速、可升级的性能。同时其接口电压可以是1.8V或者是3.3V。它是在NAND闪存芯片的基础上,额外集成了控制器,并将二者“打包”封装封成一颗BGA芯片,从而减少了对PCB主板的空...原创 2020-12-13 16:28:47 · 18543 阅读 · 1 评论
分享