在博客http://blog.csdn.net/weixin_40109283/article/details/79399304中给出了基于DragonBoard 410c的彩灯设计的硬件介绍,驱动代码如下:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sysfs.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/device.h>
#include <linux/of_gpio.h>
#include <asm/uaccess.h>
#include <linux/kdev_t.h>
#include <linux/slab.h>
#define nws 16
unsigned long blue = 0x00ff00;
unsigned long red = 0xff0000;
unsigned long green = 0x0000ff;
unsigned long white = 0xffffff;
unsigned long orange= 0xff7f00;
unsigned long indigo= 0xff00ff;
unsigned long purple= 0x00ffff;
unsigned long black = 0x000000;
struct ws2801_data {
struct platform_device *pdev;
int ws2801_ck;
int ws2801_si;
};
static struct ws2801_data* data;
static void send0(void)
{
gpio_set_value(data->ws2801_si, 0);
gpio_set_value(data->ws2801_ck, 0);
ndelay(500);
gpio_set_value(data->ws2801_ck, 1);
ndelay(500);
}
static void send1(void)
{
gpio_set_value(data->ws2801_si, 1);
gpio_set_value(data->ws2801