Files
lcdproc/server/drivers/hd44780-rpi.h
T
mmdolze c23077b722 Raspberry Pi driver:
- Correct check for mmap errors (closes #3604495).
- Add 40x4 support (for displays with two controllers).
- Update the documentation.
2013-02-22 15:20:16 +00:00

38 lines
929 B
C

#ifndef HD_LCDRPI_H
#define HD_LCDRPI_H
#include "lcd.h" /* for Driver */
/* initialize this particular driver */
int hd_init_rpi(Driver *drvthis);
/**
* rpi_gpio_map is addressed through the hd44780_private_data struct. Data
* stored here is used for mapping physical GPIO pins to BCM2835 gpio. */
struct rpi_gpio_map {
int en;
int en2;
int rs;
int d7;
int d6;
int d5;
int d4;
};
/** Peripheral base address of the BCM2835 */
#define BCM2835_PERI_BASE 0x20000000
/** GPIO register start address */
#define GPIO_BASE BCM2835_PERI_BASE + 0x200000
/** Length of register space */
#define GPIO_BLOCK_SIZE 180
/** The Pi has 32 GPIO pins */
#define GPIO_PINS 32
/** Setup a GPIO pin as input */
#define INP_GPIO(g) *(gpio_map+((g)/10)) &= ~(7<<(((g)%10)*3))
/** Sets or clears a GPIO pin */
#define SET_GPIO(g,a) *(gpio_map+((a)?7:10))=1<<((g)%32);
#endif // HD_LCDRPI_H