diff options
Diffstat (limited to 'src/mainboard/roda/rk886ex')
-rw-r--r-- | src/mainboard/roda/rk886ex/Makefile.inc | 1 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/devicetree.cb | 2 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/ec.c | 114 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/ec.h | 49 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/m3885.c | 2 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/mainboard.c | 2 |
6 files changed, 4 insertions, 166 deletions
diff --git a/src/mainboard/roda/rk886ex/Makefile.inc b/src/mainboard/roda/rk886ex/Makefile.inc index e36824cce1..549654ad8e 100644 --- a/src/mainboard/roda/rk886ex/Makefile.inc +++ b/src/mainboard/roda/rk886ex/Makefile.inc @@ -18,7 +18,6 @@ ## ramstage-y += m3885.c -ramstage-y += ec.c driver-y += rtl8168.c smm-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.c diff --git a/src/mainboard/roda/rk886ex/devicetree.cb b/src/mainboard/roda/rk886ex/devicetree.cb index a139e25966..a713331172 100644 --- a/src/mainboard/roda/rk886ex/devicetree.cb +++ b/src/mainboard/roda/rk886ex/devicetree.cb @@ -106,6 +106,8 @@ chip northbridge/intel/i945 device pnp ff.1 on # dummy address end end + chip ec/acpi + end end #device pci 1f.1 off end # IDE diff --git a/src/mainboard/roda/rk886ex/ec.c b/src/mainboard/roda/rk886ex/ec.c deleted file mode 100644 index 4c39a8419e..0000000000 --- a/src/mainboard/roda/rk886ex/ec.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2008-2009 coresystems GmbH - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; version 2 of - * the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - * MA 02110-1301 USA - */ - -#include <console/console.h> -#include <arch/io.h> -#include <delay.h> -#include "ec.h" - -int send_ec_command(u8 command) -{ - int timeout; - - timeout = 0x7ff; - while ((inb(EC_SC) & EC_IBF) && --timeout) { - udelay(10); - if ((timeout & 0xff) == 0) - printk(BIOS_SPEW, "."); - } - if (!timeout) { - printk(BIOS_DEBUG, "Timeout while sending command 0x%02x to EC!\n", - command); - // return -1; - } - - outb(command, EC_SC); - return 0; -} - -int send_ec_data(u8 data) -{ - int timeout; - - timeout = 0x7ff; - while ((inb(EC_SC) & EC_IBF) && --timeout) { // wait for IBF = 0 - udelay(10); - if ((timeout & 0xff) == 0) - printk(BIOS_SPEW, "."); - } - if (!timeout) { - printk(BIOS_DEBUG, "Timeout while sending data 0x%02x to EC!\n", - data); - // return -1; - } - - outb(data, EC_DATA); - - return 0; -} - -int send_ec_data_nowait(u8 data) -{ - outb(data, EC_DATA); - - return 0; -} - -u8 recv_ec_data(void) -{ - int timeout; - u8 data; - - timeout = 0x7fff; - while (--timeout) { // Wait for OBF = 1 - if (inb(EC_SC) & EC_OBF) { - break; - } - udelay(10); - if ((timeout & 0xff) == 0) - printk(BIOS_SPEW, "."); - } - if (!timeout) { - printk(BIOS_DEBUG, "\nTimeout while receiving data from EC!\n"); - // return -1; - } - - data = inb(EC_DATA); - printk(BIOS_DEBUG, "recv_ec_data: 0x%02x\n", data); - - return data; -} - -u8 ec_read(u8 addr) -{ - send_ec_command(0x80); - send_ec_data(addr); - - return recv_ec_data(); -} - -int ec_write(u8 addr, u8 data) -{ - send_ec_command(0x81); - send_ec_data(addr); - return send_ec_data(data); -} - diff --git a/src/mainboard/roda/rk886ex/ec.h b/src/mainboard/roda/rk886ex/ec.h deleted file mode 100644 index 49b7491696..0000000000 --- a/src/mainboard/roda/rk886ex/ec.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2008-2009 coresystems GmbH - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef _MAINBOARD_EC_H -#define _MAINBOARD_EC_H - -#define EC_DATA 0x62 -#define EC_SC 0x66 - -/* EC_SC input */ -#define EC_SMI_EVT (1 << 6) // 1: SMI event pending -#define EC_SCI_EVT (1 << 5) // 1: SCI event pending -#define EC_BURST (1 << 4) // controller is in burst mode -#define EC_CMD (1 << 3) // 1: byte in data register is command - // 0: byte in data register is data -#define EC_IBF (1 << 1) // 1: input buffer full (data ready for ec) -#define EC_OBF (1 << 0) // 1: output buffer full (data ready for host) -/* EC_SC output */ -#define RD_EC 0x80 // Read Embedded Controller -#define WR_EC 0x81 // Write Embedded Controller -#define BE_EC 0x82 // Burst Enable Embedded Controller -#define BD_EC 0x83 // Burst Disable Embedded Controller -#define QR_EC 0x84 // Query Embedded Controller - -int send_ec_command(u8 command); -int send_ec_data(u8 data); -int send_ec_data_nowait(u8 data); -u8 recv_ec_data(void); -u8 ec_read(u8 addr); -int ec_write(u8 addr, u8 data); - -#endif - diff --git a/src/mainboard/roda/rk886ex/m3885.c b/src/mainboard/roda/rk886ex/m3885.c index 5173ecfd39..29d12bca99 100644 --- a/src/mainboard/roda/rk886ex/m3885.c +++ b/src/mainboard/roda/rk886ex/m3885.c @@ -25,7 +25,7 @@ #include <arch/io.h> #include <delay.h> -#include "ec.h" +#include <ec/acpi/ec.h> #include "m3885.h" #define TH0LOW 80 diff --git a/src/mainboard/roda/rk886ex/mainboard.c b/src/mainboard/roda/rk886ex/mainboard.c index f444e0aad7..2c5b5e3d71 100644 --- a/src/mainboard/roda/rk886ex/mainboard.c +++ b/src/mainboard/roda/rk886ex/mainboard.c @@ -30,7 +30,7 @@ #include <arch/coreboot_tables.h> #include "chip.h" -#include "ec.h" +#include <ec/acpi/ec.h> #include "m3885.h" #define DUMP_RUNTIME_REGISTERS 0 |