[SerialICE] New patch to review for serialice: 49cc13a Add Commell LV-672
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Thu Feb 21 20:27:05 CET 2013
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2478
-gerrit
commit 49cc13a132e96af1ab9d3a7632a1e11bb61538e1
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Tue Feb 19 23:50:10 2013 +0200
Add Commell LV-672
Change-Id: I56a2eb48a53c20a055670cab06683a938ec18d5a
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
SerialICE/Kconfig | 4 ++
SerialICE/mainboard/commell_lv_672.c | 72 ++++++++++++++++++++++++++++++++++++
SerialICE/simba/commell_lv_672.lua | 60 ++++++++++++++++++++++++++++++
3 files changed, 136 insertions(+)
diff --git a/SerialICE/Kconfig b/SerialICE/Kconfig
index 57c8af3..3d5fa9c 100644
--- a/SerialICE/Kconfig
+++ b/SerialICE/Kconfig
@@ -121,6 +121,9 @@ config BOARD_INTEL_D845GBV2
config BOARD_ASROCK_775I65G
bool "ASRock 775i65G"
+config BOARD_COMMELL_LV_672
+ bool "Commell LV-672"
+
endchoice
config BOARD_INIT
@@ -153,6 +156,7 @@ config BOARD_INIT
default "via_epia_m850.c" if BOARD_VIA_EPIA_M850
default "intel_d845gbv2.c" if BOARD_INTEL_D845GBV2
default "asrock_775i65g.c" if BOARD_ASROCK_775I65G
+ default "commell_lv_672.c" if BOARD_COMMELL_LV_672
config SOUTHBRIDGE_INIT
string
diff --git a/SerialICE/mainboard/commell_lv_672.c b/SerialICE/mainboard/commell_lv_672.c
new file mode 100644
index 0000000..c88b9f2
--- /dev/null
+++ b/SerialICE/mainboard/commell_lv_672.c
@@ -0,0 +1,72 @@
+/*
+ * SerialICE
+ *
+ * Copyright (C) 2013 Kyösti Mälkki <kyosti.malkki at gmail.com>
+ *
+ * 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
+ */
+
+const char boardname[33]="Commell LV-672 ";
+
+#define SUPERIO_CONFIG_PORT 0x2e
+
+/* Hardware specific functions */
+static void southbridge_init(void)
+{
+ u16 reg16;
+
+ /* Disable watchdog */
+#define PMBASE 0x500
+#define TCOBASE (PMBASE + 0x60)
+ pci_write_config32(PCI_ADDR(0, 0x1f, 0, 0x40), PMBASE | 1);
+ pci_write_config8(PCI_ADDR(0, 0x1f, 0, 0x44), 0x80);
+ reg16 = inw(TCOBASE + 0x08);
+ reg16 |= (1 << 11);
+ outw(reg16, TCOBASE + 0x08);
+ outw(0x0008, TCOBASE + 0x04);
+ outw(0x0002, TCOBASE + 0x06);
+
+ /* Select COM1 COM2 I/O ranges. */
+ pci_write_config8(PCI_ADDR(0, 0x1f, 0, 0x80), 0x10);
+
+ /* Enable COM1, COM2, KBD, SIO config registers 0x2e. */
+ pci_write_config16(PCI_ADDR(0, 0x1f, 0, 0x82), 0x1403);
+
+ /* Enable Serial IRQ */
+ pci_write_config8(PCI_ADDR(0, 0x1f, 0, 0x64), 0xd0);
+}
+
+static void superio_init(void)
+{
+ pnp_enter_ext_func_mode(SUPERIO_CONFIG_PORT);
+
+ /* Settings for Winbond W83627THF/THG */
+ pnp_set_logical_device(SUPERIO_CONFIG_PORT, 0);
+ pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xc2); /* Select oscillator */
+
+ pnp_set_logical_device(SUPERIO_CONFIG_PORT, 2); /* COM1 */
+ pnp_set_enable(SUPERIO_CONFIG_PORT, 0);
+ pnp_set_iobase0(SUPERIO_CONFIG_PORT, 0x3f8);
+ pnp_set_irq0(SUPERIO_CONFIG_PORT, 4);
+ pnp_set_enable(SUPERIO_CONFIG_PORT, 1);
+
+ pnp_exit_ext_func_mode(SUPERIO_CONFIG_PORT);
+}
+
+static void chipset_init(void)
+{
+ southbridge_init();
+ superio_init();
+}
+
diff --git a/SerialICE/simba/commell_lv_672.lua b/SerialICE/simba/commell_lv_672.lua
new file mode 100644
index 0000000..62f7c2a
--- /dev/null
+++ b/SerialICE/simba/commell_lv_672.lua
@@ -0,0 +1,60 @@
+
+
+function mainboard_io_read(f, action)
+ -- IO slowdown
+ if action.addr == 0xeb then
+ ignore_action(f, action)
+ return drop_action(f, action, 0)
+ end
+
+ return skip_filter(f, action)
+end
+
+
+function mainboard_io_write(f, action)
+
+ -- IO slowdown
+ if action.addr == 0xeb then
+ ignore_action(f, action)
+ return drop_action(f, action, 0)
+ end
+
+ return skip_filter(f, action)
+end
+
+function mainboard_io_pre(f, action)
+ if action.write then
+ return mainboard_io_write(f, action)
+ else
+ return mainboard_io_read(f, action)
+ end
+end
+
+function mainboard_io_post(f, action)
+ if action.addr == 0x80 and not action.write then
+ return true
+ end
+end
+
+filter_mainboard = {
+ id = -1,
+ name = "test",
+ pre = mainboard_io_pre,
+ post = mainboard_io_post,
+ hide = hide_mainboard_io,
+ base = 0x0,
+ size = 0x10000
+}
+
+dofile("i82801.lua")
+dofile("intel_bars.lua")
+
+function do_mainboard_setup()
+ do_default_setup()
+
+ enable_hook_i82801fx()
+ northbridge_i915()
+
+ -- Apply mainboard hooks last, so they are the first ones to check
+ enable_hook(io_hooks, filter_mainboard)
+end
More information about the SerialICE
mailing list