the following patch was just integrated into master:
commit 20f25dd5c8a513ee136e9f6d8c67959591298617
Author: Furquan Shaikh <furquan(a)google.com>
Date: Tue Apr 22 10:41:05 2014 -0700
Rename coreboot_ram stage to ramstage
Rename coreboot_ram stage to ramstage. This is done in order to provide
consistency with other stage names (bootblock, romstage) and to allow any
Makefile rule generalization, required for patches to be submitted later.
Change-Id: Ib66e43b7e17b9c48b2d099670ba7e7d857673386
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
Reviewed-on: http://review.coreboot.org/5567
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
See http://review.coreboot.org/5567 for details.
-gerrit
the following patch was just integrated into master:
commit 817149643c27fca022cf526d6113a4aff898d511
Author: Furquan Shaikh <furquan(a)google.com>
Date: Tue Apr 22 11:48:30 2014 -0700
Get rid of HAVE_INIT_TIMER config option
There is redundancy in terms of use of init_timer. We have a Kconfig option to
decide whether a board has init_timer as well as we use a stub for init_timer in
places where we do not have any init_timer defined. Thus, remove the Kconfig
option. Henceforth, all boards that do not have init_timer functionality can
include a stub_timer if required.
Change-Id: I35d38ec686f4dc92861cf9248f9b540323cd98ae
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
Reviewed-on: http://review.coreboot.org/5569
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/5569 for details.
-gerrit
the following patch was just integrated into master:
commit ea2900bd6c260bb8b06a8b9e3fc93a21bd87d2e6
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Wed Apr 23 04:21:53 2014 +1000
superio/ite/it8673f: Remove poor implementation
Following the reasoning of:
HASH superio/ite/it8705f: Remove poor implementation
Change-Id: Ic0722116b84acf4f3c3ef4b18b961a56f0f50718
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5568
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
See http://review.coreboot.org/5568 for details.
-gerrit
the following patch was just integrated into master:
commit 45b7b5af763c6b3ab385690891641103b41e4816
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Wed Apr 23 04:00:38 2014 +1000
superio/ite/it8705f: Remove poor implementation
This super io support is poorly implemented and would not work for all
boards since it hardcodes values. Since there are no users of it, remove
for now pending a fresh reimplementation from scratch.
Change-Id: I818a9f4d2ab106b989824e49cee49d79acd6041a
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5566
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
See http://review.coreboot.org/5566 for details.
-gerrit
the following patch was just integrated into master:
commit 5c41ee69ef27575f93441f487b1d9f4c2d97f8e0
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Wed Apr 23 01:43:38 2014 +1000
superio/ite/it8716f: Rewrite from hardcoded base addr
Following the same reasoning as:
HASHHERE superio/ite/it8721f: Rewrite from hardcoded base addr
Removing hard coded magics and expose sio pnp api in romstage.
Change-Id: I27433cb1a84b3641a6110ecf6bd5021e00769aba
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5565
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
See http://review.coreboot.org/5565 for details.
-gerrit
the following patch was just integrated into master:
commit 03ad2a26b07909a5c34a1ade30f905ae3de5b8a0
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Mon Apr 21 17:34:38 2014 +1000
superio/ite/it8721f: Rewrite from hardcoded base addr
Rewrite early_serial.c implementation to honour a passed base address in
device_t, removing any hard coding of values. We also expose early sio
init functions as romstage symbols to avoid falsely #including
"early_serial.c" in romstage.c of board support.
Change-Id: I521b8f7cf85173345b90745c6f2ab66e25429f5d
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5561
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/5561 for details.
-gerrit
the following patch was just integrated into master:
commit 392de45ae2d9550c3b95078bff7a52c9e5eed563
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Thu Apr 17 22:24:40 2014 +1000
mainboard/*: Remove DUMP_ACPI_TABLES from amd boards
Dumping the ACPI tables in this way has limited use, is not likely to be
used and is poorly implemented. There are much more sophisticated tools
available on Linux for debugging ACPI as such this code is outside the
scope of coreboots 'bring up the hardware only' philosophy.
A more generic implemention could be done with hexdump() in coreboot
proper following on from this cleanup.
Change-Id: Ifd3bfb76338609d18fcf7158d3c9a6d7c06c8847
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5530
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
See http://review.coreboot.org/5530 for details.
-gerrit
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5576
-gerrit
commit 5641281d9d6d707244e9ed8cf6251a6ef22f47ac
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Thu Apr 24 02:58:11 2014 +1000
superio/fintek/f71869ad: Configure multi-func reg in devicetree
Facilitate for the configuration of so called "Multi-function Select
Registers" with devicetree.cb in ramstage.
Make use of this new functionality in, mainboard/jetway/nf81-t56n-lf to
correctly configure the Fintek's multiplexed GPIO pins to be in AMD TSI
mode. This allows the Fintek to correctly talk to the Southbridge over
the SMBus for CPU temperature data as to control fans and so on.
Change-Id: I80abcd8b767fc4b22d00d1384ce4ef89fe837e3d
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/mainboard/jetway/nf81-t56n-lf/devicetree.cb | 5 ++
src/superio/fintek/f71869ad/Makefile.inc | 1 +
src/superio/fintek/f71869ad/chip.h | 9 +++-
src/superio/fintek/f71869ad/f71869ad_multifunc.c | 60 ++++++++++++++++++++++++
src/superio/fintek/f71869ad/fintek_internal.h | 29 ++++++++++++
src/superio/fintek/f71869ad/superio.c | 4 ++
6 files changed, 107 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/jetway/nf81-t56n-lf/devicetree.cb b/src/mainboard/jetway/nf81-t56n-lf/devicetree.cb
index 574bb8a..18722de 100644
--- a/src/mainboard/jetway/nf81-t56n-lf/devicetree.cb
+++ b/src/mainboard/jetway/nf81-t56n-lf/devicetree.cb
@@ -56,6 +56,11 @@ chip northbridge/amd/agesa/family14/root_complex
device pci 14.2 on end # HDA 0x4383
device pci 14.3 on # LPC 0x439d
chip superio/fintek/f71869ad
+ register "multi_function_register_1" = "0x01"
+ register "multi_function_register_2" = "0x6f"
+ register "multi_function_register_3" = "0x24"
+ register "multi_function_register_4" = "0x00"
+ register "multi_function_register_5" = "0x60"
# XXX: 4e is the default index port and .xy is the
# LDN indexing the pnp_info array found in the superio.c
# NB: Jetway board changes the default (0x4e) index port to (0x2e) by pin 124,
diff --git a/src/superio/fintek/f71869ad/Makefile.inc b/src/superio/fintek/f71869ad/Makefile.inc
index 12efbeb..35e596d 100644
--- a/src/superio/fintek/f71869ad/Makefile.inc
+++ b/src/superio/fintek/f71869ad/Makefile.inc
@@ -19,4 +19,5 @@
##
romstage-$(CONFIG_SUPERIO_FINTEK_F71869AD) += early_serial.c
+ramstage-$(CONFIG_SUPERIO_FINTEK_F71869AD) += f71869ad_multifunc.c
ramstage-$(CONFIG_SUPERIO_FINTEK_F71869AD) += superio.c
diff --git a/src/superio/fintek/f71869ad/chip.h b/src/superio/fintek/f71869ad/chip.h
index 5b18c33..5011383 100644
--- a/src/superio/fintek/f71869ad/chip.h
+++ b/src/superio/fintek/f71869ad/chip.h
@@ -22,10 +22,17 @@
#define SUPERIO_FINTEK_F71869AD_CHIP_H
#include <pc80/keyboard.h>
-#include <device/device.h>
+#include <stdint.h>
struct superio_fintek_f71869ad_config {
struct pc_keyboard keyboard;
+
+ /* Member variables are defined in devicetree.cb. */
+ uint8_t multi_function_register_1;
+ uint8_t multi_function_register_2;
+ uint8_t multi_function_register_3;
+ uint8_t multi_function_register_4;
+ uint8_t multi_function_register_5;
};
#endif /* SUPERIO_FINTEK_F71869AD_CHIP_H */
diff --git a/src/superio/fintek/f71869ad/f71869ad_multifunc.c b/src/superio/fintek/f71869ad/f71869ad_multifunc.c
new file mode 100644
index 0000000..46c4d2c
--- /dev/null
+++ b/src/superio/fintek/f71869ad/f71869ad_multifunc.c
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 <arch/io.h>
+#include <device/device.h>
+#include <device/pnp.h>
+#include "chip.h"
+#include "fintek_internal.h"
+
+#define MULTI_FUNC_SEL_REG1 0x28
+#define MULTI_FUNC_SEL_REG2 0x29
+#define MULTI_FUNC_SEL_REG3 0x2A
+#define MULTI_FUNC_SEL_REG4 0x2B
+#define MULTI_FUNC_SEL_REG5 0x2C
+
+void f71869ad_multifunc_init(device_t dev)
+{
+ struct superio_fintek_f71869ad_config *conf = dev->chip_info;
+
+ pnp_enter_conf_mode(dev);
+
+ /* multi-func select reg1 */
+ pnp_write_config(dev, MULTI_FUNC_SEL_REG1,
+ conf->multi_function_register_1);
+
+ /* multi-func select reg2 (CLK_TUNE_EN=0) */
+ pnp_write_config(dev, MULTI_FUNC_SEL_REG2,
+ conf->multi_function_register_2);
+
+ /* multi-func select reg3 (CLK_TUNE_EN=0) */
+ pnp_write_config(dev, MULTI_FUNC_SEL_REG3,
+ conf->multi_function_register_3);
+
+ /* multi-func select reg4 (CLK_TUNE_EN=0) */
+ pnp_write_config(dev, MULTI_FUNC_SEL_REG4,
+ conf->multi_function_register_4);
+
+ /* multi-func select reg5 (CLK_TUNE_EN=0) */
+ pnp_write_config(dev, MULTI_FUNC_SEL_REG5,
+ conf->multi_function_register_5);
+
+ pnp_exit_conf_mode(dev);
+}
diff --git a/src/superio/fintek/f71869ad/fintek_internal.h b/src/superio/fintek/f71869ad/fintek_internal.h
new file mode 100644
index 0000000..86f5669
--- /dev/null
+++ b/src/superio/fintek/f71869ad/fintek_internal.h
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 SUPERIO_FINTEK_F71869AD_INTERNAL_H
+#define SUPERIO_FINTEK_F71869AD_INTERNAL_H
+
+#include <arch/io.h>
+#include <device/pnp.h>
+
+void f71869ad_multifunc_init(device_t dev);
+
+#endif /* SUPERIO_FINTEK_F71869AD_INTERNAL_H */
diff --git a/src/superio/fintek/f71869ad/superio.c b/src/superio/fintek/f71869ad/superio.c
index 11ad6f8..770a712 100644
--- a/src/superio/fintek/f71869ad/superio.c
+++ b/src/superio/fintek/f71869ad/superio.c
@@ -25,6 +25,7 @@
#include <console/console.h>
#include <stdlib.h>
+#include "fintek_internal.h"
#include "chip.h"
#include "f71869ad.h"
@@ -40,6 +41,9 @@ static void f71869ad_init(device_t dev)
case F71869AD_KBC:
pc_keyboard_init(&conf->keyboard);
break;
+ case F71869AD_HWM:
+ f71869ad_multifunc_init(dev);
+ break;
}
}