ich7中spi总线flash rom的读写
=========================
1. 说明
x86主板上南桥芯片采用ich7,在ich7的spi总线上有一块eeprom,这块就是bios。
2. ich7 spi控制寄存器地址
ich7上的设备作为pci设备挂载在系统中,其中device 31、function 0是lpc。
也就是bus = 0, device = 0x1f, function = 0
其配置空间F0h存放RCBA。
spi控制寄存器对应的地址段为 0x3020 - 0x308f
用ioremap()映射这段空间到linux虚存空间,就可以控制spi控制寄存器了。
3. spi的控制寄存器
具体的请看ich7的datasheet
1> spis - spi status register
2> spic - spi control register
3> spia - spi address register
4> spid - spi data register
5> bbar - bios base address register
6> preop - prefix opcode configurationregister
7> optype - opcode type configuration register
8> opmenu - opcode menu configuration register
9> pbr[N] - protected bios range[N]
spi总线是如何收发数据,这里不需要了解,只需要控制以上寄存器,它们会完成spi数据的收

本文介绍了如何在Ich7南桥芯片的SPI总线上进行Eeprom的读写操作。通过映射配置空间到内存,控制SPI控制寄存器,如SPI Status、Control、Address和Data寄存器来执行读写操作。文章详细阐述了初始化过程,包括Opcode的选择和操作类型设置,并提供了一种伪代码来描述完整的读写流程,强调在操作BIOS芯片时需谨慎处理。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



