Appendix a, Programming watchdog timer – Lanner LEC-7105 User Manual

Page 24

Advertising
background image

24

Programming Watchdog Timer

Embedded and Industrial Computing

Appendix A

*---------------------------------------------------------------------------

---

*---------------------------------------------------------------------------

---
*/
/*
* Device Depend Definition : Winbond 83627UHG
*/

#define INDEX_PORT

0x2E

#define DATA_PORT

0x2F

#define SIO_GPIO_22_BIT 0x04
#define SIO_GPIO_23_BIT 0x08
#define SIO_GPIO_24_BIT 0x10
#define SIO_GPIO_27_BIT 0x80
#define SIO_GPIO_30_BIT 0x01
#define SIO_GPIO_31_BIT 0x02
#define SIO_GPIO_60_BIT 0x01

void enter_w83627_config(void)
{
outportb(INDEX_PORT, 0x87); // Must Do It Twice
outportb(INDEX_PORT, 0x87);
return;
}

void exit_w83627_config(void)
{
outportb(INDEX_PORT, 0xAA);
return;
}

unsigned char read_w83627_reg(int LDN, int reg)

{
unsigned char tmp = 0;

enter_w83627_config();
outportb(INDEX_PORT, 0x07); // LDN Register
outportb(DATA_PORT, LDN); // Select LDNx
outportb(INDEX_PORT, reg); // Select Register
tmp = inportb( DATA_PORT ); // Read Register
exit_w83627_config();
return tmp;
}

void write_w83627_reg(int LDN, int reg, int value)
{
enter_w83627_config();
outportb(INDEX_PORT, 0x07); // LDN Register
outportb(DATA_PORT, LDN); // Select LDNx
outportb(INDEX_PORT, reg); // Select Register
outportb(DATA_PORT, value); // Write Register
exit_w83627_config();
return;
}

/*Runtime bypass definitions */
#define RUNTIME_BYPASS_PAIR1_LDN

(9)

#define RUNTIME_BYPASS_PAIR1_REG

(0xe5)

#define RUNTIME_BYPASS_PAIR1_BIT

( S I O _

GPIO_24_BIT)
#define RUNTIME_BYPASS_PAIR1_ENABLE (0)
#define RUNTIME_BYPASS_PAIR1_DISABLE ( S I O _

GPIO_24_BIT)

#define RUNTIME_BYPASS_PAIR2_LDN

(8)

#define RUNTIME_BYPASS_PAIR2_REG

(0xe5)

#define RUNTIME_BYPASS_PAIR2_BIT

( S I O _

GPIO_60_BIT)

Advertising