![Portwell NANO-6060 User Manual Download Page 26](http://html1.mh-extra.com/html/portwell/nano-6060/nano-6060_user-manual_1581827026.webp)
System Installation
NANO-6060 User’s Manual
3-6
3.6 GPIO
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#define EC_DATA
0x62
#define EC_CMD
0x66
#define EC_CMD_READ 0x80
#define EC_CMD_WRITE 0x81
#define GPIO_DIR 0x2B // GPIO Direction (Input/Output) Reg.
#define GPIO_DATA 0x2C // GPIO High/Low Reg.
// Use port 62 and port 66 to access EC command / data.
static int IBF_Check()
{
unsigned char IBF_status;
do
{
pw_udelay (20); // delay 20 us
outportb
(EC_CMD,
&IBF_status);
} while (IBF_status & 0x02);
return
1;
}
static int OBF_Check ()
{
unsigned char OBF_status;
do
{
pw_udelay (20); // delay 20 us
OBP_status = inportb (EC_CMD);
} while (!(OBF_status & 0x01));
return
1;
}
static void Write_EC (unsigned char index, unsigned char data)
{
IBF_Check
();
outportb (EC_CMD, EC_CMD_WRITE);
IBF_Check
();
outportb (EC_DATA, index);