为BeagleBone 添加SPI支持
Linux下的SPI驱动总的来说分成两大部分,一部分与SPI控制器相关,这种东西一般是不需要我们这种芯片使用者来编写的; 而另一部分与使用SPI总线接入的设备相关,这些东西就要我们自己动手了。时间有限,今天就先简单说说怎样为BeagleBone平台添加SPI支持。 首先,我是用的是BuildRoot搭建的整个开发环境,而BuildRoot中使用的TI提供的LinuxPSP(板级支持包啦)。像挂接在SPI总线上的东西,都可以算是Hard-wired的,是故在系统初始化的时候一并弄好,并且不再变动就显得很合理了……好吧,至少TI与写SPI驱动的认识这么认为的,所以这里我们如果想要添加新的SPI设备只能 修改内核代码 !其实不是很难…… 根据PSP文档,修改"board-am335xevm.c"文件。首先,当然要找到板子的初始化代码,恩,根据系统启动时的打印信息发现会调用"setup_beaglebone"函数,其中很重要的配置项就是beaglebone_dev_cfg 数组,其是类型为struct evm_dev_cfg 的数据结构,定义了一系列初始化函数。恩,好吧,我们就把SPI相关的部分加上。修改 beaglebone_dev_cfg为: /* Beaglebone Rev A3 and after */ static struct evm_dev_cfg beaglebone