You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
Staging: fbtft: Switch to the gpio descriptor interface
This switches the fbtft driver to use GPIO descriptors rather than numerical gpios: Utilize the GPIO library's intrinsic handling of OF GPIOs and polarity. If the line is flagged active low, gpiolib will deal with this. Remove gpios from platform device structure. Neither assign statically numbers to gpios in platform device nor allow gpios to be parsed as module parameters. Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
032ecb59aa
commit
c440eee1a7
@@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
@@ -79,14 +79,14 @@ static int init_display(struct fbtft_par *par)
|
||||
|
||||
static void reset(struct fbtft_par *par)
|
||||
{
|
||||
if (par->gpio.reset == -1)
|
||||
if (!par->gpio.reset)
|
||||
return;
|
||||
|
||||
dev_dbg(par->info->device, "%s()\n", __func__);
|
||||
|
||||
gpio_set_value(par->gpio.reset, 0);
|
||||
gpiod_set_value(par->gpio.reset, 0);
|
||||
udelay(20);
|
||||
gpio_set_value(par->gpio.reset, 1);
|
||||
gpiod_set_value(par->gpio.reset, 1);
|
||||
mdelay(120);
|
||||
}
|
||||
|
||||
@@ -98,30 +98,30 @@ static int verify_gpios(struct fbtft_par *par)
|
||||
dev_dbg(par->info->device,
|
||||
"%s()\n", __func__);
|
||||
|
||||
if (par->EPIN < 0) {
|
||||
if (!par->EPIN) {
|
||||
dev_err(par->info->device,
|
||||
"Missing info about 'wr' (aka E) gpio. Aborting.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
for (i = 0; i < 8; ++i) {
|
||||
if (par->gpio.db[i] < 0) {
|
||||
if (!par->gpio.db[i]) {
|
||||
dev_err(par->info->device,
|
||||
"Missing info about 'db[%i]' gpio. Aborting.\n",
|
||||
i);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
if (par->CS0 < 0) {
|
||||
if (!par->CS0) {
|
||||
dev_err(par->info->device,
|
||||
"Missing info about 'cs0' gpio. Aborting.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (par->CS1 < 0) {
|
||||
if (!par->CS1) {
|
||||
dev_err(par->info->device,
|
||||
"Missing info about 'cs1' gpio. Aborting.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (par->RW < 0) {
|
||||
if (!par->RW) {
|
||||
dev_err(par->info->device,
|
||||
"Missing info about 'rw' gpio. Aborting.\n");
|
||||
return -EINVAL;
|
||||
@@ -139,22 +139,22 @@ request_gpios_match(struct fbtft_par *par, const struct fbtft_gpio *gpio)
|
||||
if (strcasecmp(gpio->name, "wr") == 0) {
|
||||
/* left ks0108 E pin */
|
||||
par->EPIN = gpio->gpio;
|
||||
return GPIOF_OUT_INIT_LOW;
|
||||
return GPIOD_OUT_LOW;
|
||||
} else if (strcasecmp(gpio->name, "cs0") == 0) {
|
||||
/* left ks0108 controller pin */
|
||||
par->CS0 = gpio->gpio;
|
||||
return GPIOF_OUT_INIT_HIGH;
|
||||
return GPIOD_OUT_HIGH;
|
||||
} else if (strcasecmp(gpio->name, "cs1") == 0) {
|
||||
/* right ks0108 controller pin */
|
||||
par->CS1 = gpio->gpio;
|
||||
return GPIOF_OUT_INIT_HIGH;
|
||||
return GPIOD_OUT_HIGH;
|
||||
}
|
||||
|
||||
/* if write (rw = 0) e(1->0) perform write */
|
||||
/* if read (rw = 1) e(0->1) set data on D0-7*/
|
||||
else if (strcasecmp(gpio->name, "rw") == 0) {
|
||||
par->RW = gpio->gpio;
|
||||
return GPIOF_OUT_INIT_LOW;
|
||||
return GPIOD_OUT_LOW;
|
||||
}
|
||||
|
||||
return FBTFT_GPIO_NO_MATCH;
|
||||
@@ -194,15 +194,15 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
|
||||
/* select chip */
|
||||
if (*buf) {
|
||||
/* cs1 */
|
||||
gpio_set_value(par->CS0, 1);
|
||||
gpio_set_value(par->CS1, 0);
|
||||
gpiod_set_value(par->CS0, 1);
|
||||
gpiod_set_value(par->CS1, 0);
|
||||
} else {
|
||||
/* cs0 */
|
||||
gpio_set_value(par->CS0, 0);
|
||||
gpio_set_value(par->CS1, 1);
|
||||
gpiod_set_value(par->CS0, 0);
|
||||
gpiod_set_value(par->CS1, 1);
|
||||
}
|
||||
|
||||
gpio_set_value(par->RS, 0); /* RS->0 (command mode) */
|
||||
gpiod_set_value(par->RS, 0); /* RS->0 (command mode) */
|
||||
len--;
|
||||
|
||||
if (len) {
|
||||
@@ -364,7 +364,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
write_reg(par, 0x00, (0x17 << 3) | (u8)y);
|
||||
|
||||
/* write bitmap */
|
||||
gpio_set_value(par->RS, 1); /* RS->1 (data mode) */
|
||||
gpiod_set_value(par->RS, 1); /* RS->1 (data mode) */
|
||||
ret = par->fbtftops.write(par, buf, len);
|
||||
if (ret < 0)
|
||||
dev_err(par->info->device,
|
||||
@@ -387,7 +387,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
write_reg(par, 0x01, (0x17 << 3) | (u8)y);
|
||||
|
||||
/* write bitmap */
|
||||
gpio_set_value(par->RS, 1); /* RS->1 (data mode) */
|
||||
gpiod_set_value(par->RS, 1); /* RS->1 (data mode) */
|
||||
par->fbtftops.write(par, buf, len);
|
||||
if (ret < 0)
|
||||
dev_err(par->info->device,
|
||||
@@ -397,8 +397,8 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
kfree(convert_buf);
|
||||
|
||||
gpio_set_value(par->CS0, 1);
|
||||
gpio_set_value(par->CS1, 1);
|
||||
gpiod_set_value(par->CS0, 1);
|
||||
gpiod_set_value(par->CS1, 1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -408,7 +408,7 @@ static int write(struct fbtft_par *par, void *buf, size_t len)
|
||||
fbtft_par_dbg_hex(DEBUG_WRITE, par, par->info->device, u8, buf, len,
|
||||
"%s(len=%d): ", __func__, len);
|
||||
|
||||
gpio_set_value(par->RW, 0); /* set write mode */
|
||||
gpiod_set_value(par->RW, 0); /* set write mode */
|
||||
|
||||
while (len--) {
|
||||
u8 i, data;
|
||||
@@ -417,12 +417,12 @@ static int write(struct fbtft_par *par, void *buf, size_t len)
|
||||
|
||||
/* set data bus */
|
||||
for (i = 0; i < 8; ++i)
|
||||
gpio_set_value(par->gpio.db[i], data & (1 << i));
|
||||
gpiod_set_value(par->gpio.db[i], data & (1 << i));
|
||||
/* set E */
|
||||
gpio_set_value(par->EPIN, 1);
|
||||
gpiod_set_value(par->EPIN, 1);
|
||||
udelay(5);
|
||||
/* unset E - write */
|
||||
gpio_set_value(par->EPIN, 0);
|
||||
gpiod_set_value(par->EPIN, 0);
|
||||
udelay(1);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
#include <video/mipi_display.h>
|
||||
|
||||
@@ -77,8 +77,8 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
write_reg(par, MIPI_DCS_SOFT_RESET); /* software reset */
|
||||
mdelay(500);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -85,8 +85,8 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
bt &= 0x07;
|
||||
vc &= 0x07;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
#include <video/mipi_display.h>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
@@ -119,7 +119,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
|
||||
/* Write data */
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, 6 * 84);
|
||||
if (ret < 0)
|
||||
dev_err(par->info->device, "write failed and returned: %d\n",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include "fbtft.h"
|
||||
|
||||
#define DRVNAME "fb_ra8875"
|
||||
@@ -39,7 +39,7 @@ static int write_spi(struct fbtft_par *par, void *buf, size_t len)
|
||||
|
||||
static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
|
||||
fbtft_par_dbg(DEBUG_INIT_DISPLAY, par,
|
||||
"%s()\n", __func__);
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -29,8 +29,8 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
/* Initialization sequence from Lib_UTFT */
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
|
||||
@@ -28,8 +28,8 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
write_reg(par, 0x00, 0x0001);
|
||||
write_reg(par, 0x03, 0xA8A4);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -168,7 +168,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
|
||||
/* Write data */
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf,
|
||||
par->info->var.xres * par->info->var.yres /
|
||||
8);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -190,7 +190,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
|
||||
/* Write data */
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, xres * yres / 8);
|
||||
if (ret < 0)
|
||||
dev_err(par->info->device, "write failed and returned: %d\n",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -35,7 +35,7 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
gpio_set_value(par->gpio.cs, 0);
|
||||
gpiod_set_value(par->gpio.cs, 0);
|
||||
|
||||
write_reg(par, 0xb3);
|
||||
write_reg(par, 0xf0);
|
||||
@@ -155,7 +155,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
}
|
||||
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
|
||||
/* Write data */
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
@@ -80,8 +80,8 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
|
||||
va_start(args, len);
|
||||
|
||||
*buf = (u8)va_arg(args, unsigned int);
|
||||
if (par->gpio.dc != -1)
|
||||
gpio_set_value(par->gpio.dc, 0);
|
||||
if (!par->gpio.dc)
|
||||
gpiod_set_value(par->gpio.dc, 0);
|
||||
ret = par->fbtftops.write(par, par->buf, sizeof(u8));
|
||||
if (ret < 0) {
|
||||
va_end(args);
|
||||
@@ -103,8 +103,8 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (par->gpio.dc != -1)
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
if (!par->gpio.dc)
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
@@ -94,7 +94,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
/* The display is 102x68 but the LCD is 84x48.
|
||||
* Set the write pointer at the start of each row.
|
||||
*/
|
||||
gpio_set_value(par->gpio.dc, 0);
|
||||
gpiod_set_value(par->gpio.dc, 0);
|
||||
write_reg(par, 0x80 | 0);
|
||||
write_reg(par, 0x40 | y);
|
||||
|
||||
@@ -109,7 +109,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
*buf++ = ch;
|
||||
}
|
||||
/* Write the row */
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, WIDTH);
|
||||
if (ret < 0) {
|
||||
dev_err(par->info->device,
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
@@ -251,7 +251,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
}
|
||||
break;
|
||||
}
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
|
||||
/* Write data */
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, len / 2);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
@@ -136,9 +136,9 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
|
||||
write_reg(par, LCD_PAGE_ADDRESS | (u8)y);
|
||||
write_reg(par, 0x00);
|
||||
write_reg(par, LCD_COL_ADDRESS);
|
||||
gpio_set_value(par->gpio.dc, 1);
|
||||
gpiod_set_value(par->gpio.dc, 1);
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, WIDTH);
|
||||
gpio_set_value(par->gpio.dc, 0);
|
||||
gpiod_set_value(par->gpio.dc, 0);
|
||||
}
|
||||
|
||||
if (ret < 0)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include "fbtft.h"
|
||||
@@ -26,8 +26,8 @@ static int init_display(struct fbtft_par *par)
|
||||
{
|
||||
par->fbtftops.reset(par);
|
||||
|
||||
if (par->gpio.cs != -1)
|
||||
gpio_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
if (!par->gpio.cs)
|
||||
gpiod_set_value(par->gpio.cs, 0); /* Activate chip */
|
||||
|
||||
/* Initialization sequence from Lib_UTFT */
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user