#include <uart8250.h>
#include <pc80/keyboard.h>
#include <arch/io.h>
+#include <stdlib.h>
#include "chip.h"
#include "it8716f.h"
/* Base address 0x4e: 0x87 0x01 0x55 0xaa. */
static void pnp_enter_ext_func_mode(device_t dev)
{
- outb(0x87, dev->path.u.pnp.port);
- outb(0x01, dev->path.u.pnp.port);
- outb(0x55, dev->path.u.pnp.port);
+ outb(0x87, dev->path.pnp.port);
+ outb(0x01, dev->path.pnp.port);
+ outb(0x55, dev->path.pnp.port);
- if (dev->path.u.pnp.port == 0x4e) {
- outb(0xaa, dev->path.u.pnp.port);
+ if (dev->path.pnp.port == 0x4e) {
+ outb(0xaa, dev->path.pnp.port);
} else {
- outb(0x55, dev->path.u.pnp.port);
+ outb(0x55, dev->path.pnp.port);
}
}
pnp_write_config(dev, 0x02, 0x02);
}
+#if CONFIG_SUPERIO_ITE_IT8716F_OVERRIDE_FANCTL
+extern void init_ec(uint16_t base);
+#else
static void pnp_write_index(uint16_t port_base, uint8_t reg, uint8_t value)
{
outb(reg, port_base);
return inb(port_base + 1);
}
-/* #ifdef HAVE_FANCTL
-extern void init_ec(uint16_t base);
-#else */
static void init_ec(uint16_t base)
{
uint8_t value;
/* Read out current value of FAN_CTL control register (0x14). */
value = pnp_read_index(base, 0x14);
- printk_debug("FAN_CTL: reg = 0x%04x, read value = 0x%02x\r\n",
+ printk(BIOS_DEBUG, "FAN_CTL: reg = 0x%04x, read value = 0x%02x\r\n",
base + 0x14, value);
/* Set FAN_CTL control register (0x14) polarity to high, and
activate fans 1, 2 and 3. */
pnp_write_index(base, 0x14, value | 0x87);
- printk_debug("FAN_CTL: reg = 0x%04x, writing value = 0x%02x\r\n",
+ printk(BIOS_DEBUG, "FAN_CTL: reg = 0x%04x, writing value = 0x%02x\r\n",
base + 0x14, value | 0x87);
}
-//#endif
+#endif
static void it8716f_init(device_t dev)
{
conf = dev->chip_info;
/* TODO: FDC, PP, KBCM, MIDI, GAME, IR. */
- switch (dev->path.u.pnp.device) {
+ switch (dev->path.pnp.device) {
case IT8716F_SP1:
res0 = find_resource(dev, PNP_IDX_IO0);
init_uart8250(res0->base, &conf->com1);
case IT8716F_KBCK:
res0 = find_resource(dev, PNP_IDX_IO0);
res1 = find_resource(dev, PNP_IDX_IO1);
- init_pc_keyboard(res0->base, res1->base, &conf->keyboard);
+ pc_keyboard_init(&conf->keyboard);
break;
}
}
static void enable_dev(struct device *dev)
{
pnp_enable_devices(dev, &ops,
- sizeof(pnp_dev_info) / sizeof(pnp_dev_info[0]), pnp_dev_info);
+ ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
}
struct chip_operations superio_ite_it8716f_ops = {