1
0
mirror of https://github.com/mist-devel/mist-firmware.git synced 2026-05-05 15:54:34 +00:00
Files
mist-devel.mist-firmware/spi.c
2014-10-29 13:41:52 +00:00

83 lines
1.4 KiB
C

#include "spi.h"
#include "hardware.h"
/* generic helper */
void spi8(unsigned char parm) {
SPI(parm);
}
void spi16(unsigned short parm) {
SPI(parm >> 8);
SPI(parm >> 0);
}
void spi24(unsigned long parm) {
SPI(parm >> 16);
SPI(parm >> 8);
SPI(parm >> 0);
}
void spi32(unsigned long parm) {
SPI(parm >> 24);
SPI(parm >> 16);
SPI(parm >> 8);
SPI(parm >> 0);
}
// little endian: lsb first
void spi32le(unsigned long parm) {
SPI(parm >> 0);
SPI(parm >> 8);
SPI(parm >> 16);
SPI(parm >> 24);
}
void spi_n(unsigned char value, unsigned short cnt) {
while(cnt--)
SPI(value);
}
/* OSD related SPI functions */
void spi_osd_cmd_cont(unsigned char cmd) {
EnableOsd();
SPI(cmd);
}
void spi_osd_cmd(unsigned char cmd) {
spi_osd_cmd_cont(cmd);
DisableOsd();
}
void spi_osd_cmd8_cont(unsigned char cmd, unsigned char parm) {
EnableOsd();
SPI(cmd);
SPI(parm);
}
void spi_osd_cmd8(unsigned char cmd, unsigned char parm) {
spi_osd_cmd8_cont(cmd, parm);
DisableOsd();
}
void spi_osd_cmd32_cont(unsigned char cmd, unsigned long parm) {
EnableOsd();
SPI(cmd);
spi32(parm);
}
void spi_osd_cmd32(unsigned char cmd, unsigned long parm) {
spi_osd_cmd32_cont(cmd, parm);
DisableOsd();
}
void spi_osd_cmd32le_cont(unsigned char cmd, unsigned long parm) {
EnableOsd();
SPI(cmd);
spi32le(parm);
}
void spi_osd_cmd32le(unsigned char cmd, unsigned long parm) {
spi_osd_cmd32le_cont(cmd, parm);
DisableOsd();
}