|
@@ -27,6 +27,18 @@ static int ce4100_i8042_detect(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * The CE4100 platform has an internal 8051 Microcontroller which is
|
|
|
+ * responsible for signaling to the external Power Management Unit the
|
|
|
+ * intention to reset, reboot or power off the system. This 8051 device has
|
|
|
+ * its command register mapped at I/O port 0xcf9 and the value 0x4 is used
|
|
|
+ * to power off the system.
|
|
|
+ */
|
|
|
+static void ce4100_power_off(void)
|
|
|
+{
|
|
|
+ outb(0x4, 0xcf9);
|
|
|
+}
|
|
|
+
|
|
|
#ifdef CONFIG_SERIAL_8250
|
|
|
|
|
|
static unsigned int mem_serial_in(struct uart_port *p, int offset)
|
|
@@ -143,4 +155,6 @@ void __init x86_ce4100_early_setup(void)
|
|
|
x86_init.pci.init_irq = sdv_pci_init;
|
|
|
x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc_nocheck;
|
|
|
#endif
|
|
|
+
|
|
|
+ pm_power_off = ce4100_power_off;
|
|
|
}
|