s3c2410 专有数据结构

  1. s3c2410_nand_set

struct s3c2410_nand_set {

int                    nr_chips;     /* 芯片的数目 */

int                    nr_partitions; /* 分区的数目 */

char                   *name;          /* 集合名称   */

int                   nr_map;       /* 可选, 底层逻辑到物理的芯片数目 */ struct mtd_partition                      partitions;   /* 分区列表   */

};

  1. s3c2410_platform_and

struct s3c2410_platform_nand {

/* timing information for controller, all times in nanoseconds */

int     tacls; /* 从 CLE/ALE 有效到 nWE/nOE 的时间 */ int   twrph0; /* nWE/nOE 的有效时间 */

int     twrph1; /* 从释放 CLE/ALE 到 nWE/nOE 不活动的时间 */

int     nr_sets; /* 集合数目 */

struct s3c2410_nand_set sets; /* 集合列表 */

/* 根据芯片编号选择有效集合 */

void (*select_chip)(struct s3c2410_nand_set , int chip);

};

  1. s3c2410_nand_mtd               在 drivers/mtd/nand/s3c2410.c 中, struct s3c2410_nand_mtd {

struct mtd_info               mtd;    /* MTD 信息 */

struct nand_chip              chip;   /* nand flash 芯片信息 */ struct s3c2410_nand_set   set;    /* nand flash 集合    */ struct s3c2410_nand_info     *info;  /* nand flash 信息    */  int    scan_res;

};

  1. s3c2410_nand_info

struct s3c2410_nand_info {

/* mtd info */

struct nand_hw_control        controller; /* 硬件控制器 */ struct s3c2410_nand_mtd                              *mtds;     /* MTD 设备表 */ struct s3c2410_platform_nand         platform;  /* Nand 设备的平台 */

/* device info */

struct device

*device;

/* 设备指针 */

struct resource

*area;

/* 资源指针 */

struct clk

*clk;

/*
Nand Flash 时钟 */

void  iomem

int

*regs;

mtd_count;

/* 寄存器基地址(map 后的逻辑地址) */

/*
MTD 的数目 */

unsigned char

is_s3c2440;

};

  1. struct                                       clk 在 arch/arm/mach­s3c2410/clock.h
    中 struct clk
    {

struct
list_head  list;   /* clock 列表结点 */ struct module    *owner;    /* 所属模块     */ struct
clk    *parent;   /* 父结点        */

const char          *name;     /* 名称          */

int                  id;       /* 编号           */

atomic_t             used;     /* 使用者计数  
 */ unsigned long   rate;    /*
时钟速率     */ unsigned long        
ctrlbit;  /* 控制位        */

int                (*enable)(struct clk *, int enable);
/* Clock 打开方法 */

};

Linux 下 Nand Flash 驱动主要数据结构说明的更多相关文章

  1. 如何编写linux下nand flash驱动-4

    2.       软件方面 如果想要在Linux下编写Nand Flash驱动,那么就先要搞清楚Linux下,关于此部分的整个框架.弄明白,系统是如何管理你的nand flash的,以及,系统都帮你做 ...

  2. 如何编写linux下nand flash驱动-2

    [Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ ...

  3. Linux 下 Nand Flash 驱动说明

    注册 driver_register 通过 module_init(s3c2410_nand_init);注册 Nand Flash 驱动. 在 s3c2410_nand_init ()中通过 dri ...

  4. 如何编写linux下nand flash驱动-1

    1.       硬件特性: [Flash的硬件实现机制] Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失 ...

  5. 如何编写linux下nand flash驱动-3

    [读(read)操作过程详解] 以最简单的read操作为例,解释如何理解时序图,以及将时序图 中的要求,转化为代码. 解释时序图之前,让我们先要搞清楚,我们要做的事情:那就是,要从nand flash ...

  6. 15.1 linux操作系统下nand flash驱动框架2

    当我们需要在操作系统上读写普通文件的时候,总是需要一层层往下,最终到达硬件相关操作,当然底层设备大多数都是块设备 NAND FLASH就作为一个最底层的块设备. 而写驱动,就是要构建硬件与操作系统之间 ...

  7. Linux 下 Nand Flash 调用关系

    Nand Flash 设备添加时数据结构包含关系 struct mtd_partition        partition_info[] --> struct s3c2410_nand_set ...

  8. Smart210学习记录----nand flash驱动

    [详解]如何编写Linux下Nand Flash驱动  :http://www.cnblogs.com/linux-rookie/articles/3016990.html 当读写文件请求到来的时候, ...

  9. 【驱动】linux系统下nand flash驱动程序框架

    linux操作系统下nand flash驱动框架 当我们需要在操作系统上读写普通文件的时候,总是需要一层层往下,最终到达硬件相关操作,当然底层设备大多数都是块设备 NAND FLASH就作为一个最底层 ...

随机推荐

  1. Impala的安装和使用

    通过本地yum源进行安装impala 所有cloudera软件下载地址 http://archive.cloudera.com/cdh5/cdh/5/ http://archive.cloudera. ...

  2. NX二次开发-UFUN修剪体UF_MODL_trim_body

    1 NX11+VS2013 2 3 4 #include <uf.h> 5 #include <uf_modl.h> 6 7 8 UF_initialize(); 9 10 / ...

  3. NX二次开发-UFUN创建倒圆UF_MODL_create_blend

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN S ...

  4. NX二次开发-创建图纸尺寸表达式抑制UF_DRF_add_controlling_exp

    #include <uf.h> #include <uf_modl.h> #include <uf_drf.h> #include <uf_obj.h> ...

  5. VS开发工具的常用插件【转载】

    文章转载自https://www.cnblogs.com/huntergu/p/8337266.html

  6. Qt无边框窗口的移动、拉伸边框、鼠标滚轮缩放大小

    主要是处理窗口上鼠标的几个事件,具体代码请看下面的截图, 完整代码的下载链接在此:http://download.csdn.net/detail/beyond0824/9657110, 本示例代码中, ...

  7. Jsoup 学习笔记

    这里写自定义目录标题 Jsoup 学习笔记 解析 HTML 的字符串解析 URL 解析 本地文件解析 解析数据 DOM 解析 使用选择器解析 选择器概述 选择器组合用法 过滤用法 修改数据 HTML ...

  8. 【模板篇】A* 寻路算法

    上次在做k短路的时候说到了A*, 但是并没有仔细的研究A*寻路, 毕竟k短路中的A*也不怎么标准… A*寻路的过程网上还是有很多的, 讲得也很清楚, 不妨跟着里面的图示自己动手操作一下, 基本一遍就能 ...

  9. MongoDB4.0及以上的版本安装时无法启动服务。

    问题描述:MongoDB安装过程中启动服务失败,点击忽略之后,可以安装完成.安装完成之后提示重启电脑,出现电脑蓝屏. 并且修复好电脑之后无法启动MongoDB服务. 暂时不知道原因(怀疑是MongoD ...

  10. Bugs Integrated, Inc.

    Bugs Integrated, Inc. 给出一个\(n\times m\)的矩形网格图,给出其中K个障碍物的位置,求其中最多能摆的\(2\times 3\)的矩形的个数,\(n\leq 150,m ...