From 504140268104e26d91e26ab0aca94aec63a4495a Mon Sep 17 00:00:00 2001 From: Serge Vakulenko Date: Sat, 26 Sep 2015 16:23:42 -0700 Subject: [PATCH] Add a few experimental ioctls to the hxtft driver. --- sys/pic32/hx8357.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/pic32/hx8357.c b/sys/pic32/hx8357.c index 2aa1a0d..45a28ef 100644 --- a/sys/pic32/hx8357.c +++ b/sys/pic32/hx8357.c @@ -750,6 +750,7 @@ int hx8357_ioctl(dev_t dev, register u_int cmd, caddr_t addr, int flag) int unit = minor(dev); if (unit == 0) { +#if 0 struct tty *tp = &hx8357_ttys[unit]; int error; @@ -757,6 +758,27 @@ int hx8357_ioctl(dev_t dev, register u_int cmd, caddr_t addr, int flag) if (error < 0) error = ENOTTY; return (error); +#else + switch (cmd) { + case 0xC0C0: { + unsigned short* wndcoo = (unsigned short*)addr; + setAddrWindow(wndcoo[0], wndcoo[1], wndcoo[2], wndcoo[3]); + break; + } + case 0xDADA: { + unsigned short* data = (unsigned short*)addr; + unsigned short cnt = *data++; + while (PMMODE & PIC32_PMMODE_BUSY); + PMADDR = 0x0001; + while (cnt--) { + while (PMMODE & PIC32_PMMODE_BUSY); + PMDIN = *data++; + } + break; + } + } + return 0; +#endif } if (unit == 1) { return EIO;