Add 'raspberrypi' connection type to HD44780 driver (by P. Corner).
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#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 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
|
||||
Reference in New Issue
Block a user