Hi Maciej
I heard that you where working on 440lx code, how is this comming along?
I just found a board with the same chipset and would like to get coreboot running on it.
-Anders
---- Msg sent via @Mail - http://atmail.com/
Latest iasl has a lot more checks on the asl code than previous
versions. This hits our code mostly in those parts that are changed on
the fly by the asl itself. So most of the code didn't really cause issues.
Stefan
Author: stepan
Date: Mon May 17 12:21:10 2010
New Revision: 5567
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5567
Log:
drop old patches from crossgcc
Deleted:
trunk/util/crossgcc/patches/binutils-2.18.50_no-i386-svr4-asm-comments.patch
trunk/util/crossgcc/patches/gcc-4.3.2_use-gnu-style-comments-in-assembly.patch
trunk/util/crossgcc/patches/gcc-4.3.3_use-gnu-style-comments-in-assembly.patch
Author: ruik
Date: Sun May 16 17:31:53 2010
New Revision: 5560
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5560
Log:
Following patch reprograms SIL3114 into PCI IDE native mode compatible class code allowing
legacy software to recognize it as IDE and boot from it. I think
this should be the default for two Tyan boards (k8s aka s2882 and s2881).
Rename the directory to sil prefix to match the Linux kernel naming.
(And I think it was a SiliconSystems wish to be named sil ;)
Signed-off-by: Rudolf Marek <r.marek(a)assembler.cz>
Acked-by: Stefan Reinauer <stepan(a)coresystems.de>
Added:
trunk/src/drivers/Kconfig
trunk/src/drivers/sil/
- copied from r5559, trunk/src/drivers/si/
trunk/src/drivers/sil/3114/Makefile.inc
trunk/src/drivers/sil/3114/sil_sata.c
- copied, changed from r5559, trunk/src/drivers/si/3114/si_sata.c
Deleted:
trunk/src/drivers/sil/3114/si_sata.c
Modified:
trunk/src/Kconfig
trunk/src/drivers/Makefile.inc
trunk/src/mainboard/tyan/s2881/Kconfig
trunk/src/mainboard/tyan/s2882/Kconfig
Modified: trunk/src/Kconfig
==============================================================================
--- trunk/src/Kconfig Sun May 16 16:24:41 2010 (r5559)
+++ trunk/src/Kconfig Sun May 16 17:31:53 2010 (r5560)
@@ -100,6 +100,10 @@
endmenu
+menu "Generic Drivers"
+source src/drivers/Kconfig
+endmenu
+
config PCI_BUS_SEGN_BITS
int
default 0
Added: trunk/src/drivers/Kconfig
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/drivers/Kconfig Sun May 16 17:31:53 2010 (r5560)
@@ -0,0 +1,25 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2010 Rudolf Marek <r.marek(a)assembler.cz>
+##
+## 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
+##
+
+config DRIVERS_SIL
+ bool "Silicon Image SIL3114"
+ default n
+ help
+ It sets PCI class to IDE compatible native mode, allowing
+ SeaBIOS, FILO etc... to boot from it.
Modified: trunk/src/drivers/Makefile.inc
==============================================================================
--- trunk/src/drivers/Makefile.inc Sun May 16 16:24:41 2010 (r5559)
+++ trunk/src/drivers/Makefile.inc Sun May 16 17:31:53 2010 (r5560)
@@ -1,2 +1,3 @@
subdirs-y += generic/debug
subdirs-y += ati/ragexl
+subdirs-y += sil/3114
Added: trunk/src/drivers/sil/3114/Makefile.inc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/drivers/sil/3114/Makefile.inc Sun May 16 17:31:53 2010 (r5560)
@@ -0,0 +1 @@
+driver-$(CONFIG_DRIVERS_SIL) += sil_sata.o
Copied and modified: trunk/src/drivers/sil/3114/sil_sata.c (from r5559, trunk/src/drivers/si/3114/si_sata.c)
==============================================================================
--- trunk/src/drivers/si/3114/si_sata.c Sun May 16 16:24:41 2010 (r5559, copy source)
+++ trunk/src/drivers/sil/3114/sil_sata.c Sun May 16 17:31:53 2010 (r5560)
@@ -1,10 +1,9 @@
-/* Copyright 2003-2004 Tyan Computer*/
-
-/* Author: Yinghai Lu yhlu(a)tyan.com
+/* Copyright 2003-2004 Tyan Computer
+ * Yinghai Lu yhlu(a)tyan.com
*
+ * Copyright (C) 2010 Rudolf Marek <r.marek(a)assembler.cz>
*/
-
#include <delay.h>
#include <stdlib.h>
#include <string.h>
@@ -16,41 +15,23 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
-
static void si_sata_init(struct device *dev)
{
- uint16_t word;
uint32_t dword;
-#if 0
- word = pci_read_config16(dev, 0x4);
- word |= ((1 << 2) |(1<<4)); // Command: 3--> 17
- pci_write_config16(dev, 0x4, word);
-#endif
-
- /* some driver change class code to 0x104, but not change deviceid without reason*/
- /* restore it so we don't need to unplug AC power to restore it*/
-
- word = pci_read_config16(dev, 0x0a);
- if(word!=0x0180) {
- /* enble change device id and class id*/
- dword = pci_read_config32(dev,0x40);
- dword |= (1<<0);
- pci_write_config32(dev, 0x40, dword);
-
- word = 0x0180;
- pci_write_config16(dev, 0x0a, word);
-
- /* disable change device id and class id*/
- dword = pci_read_config32(dev,0x40);
- dword &= ~(1<<0);
- pci_write_config32(dev, 0x40, dword);
-
- printk(BIOS_DEBUG, "Class code restored.\n");
-
- }
-
-
+ /* enable change device id and class id */
+ dword = pci_read_config32(dev,0x40);
+ dword |= (1<<0);
+ pci_write_config32(dev, 0x40, dword);
+ /* Set IDE Class, Native mode, two drives per channel */
+ dword = 0x01018f00;
+ pci_write_config32(dev, 0x08, dword);
+ /* disable change device id and class id*/
+ dword = pci_read_config32(dev,0x40);
+ dword &= ~(1<<0);
+ pci_write_config32(dev, 0x40, dword);
+ printk(BIOS_INFO, "SIL3114 set to IDE compatible mode\n");
}
+
static struct device_operations si_sata_ops = {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
@@ -64,4 +45,3 @@
.vendor = 0x1095,
.device = 0x3114,
};
-
Modified: trunk/src/mainboard/tyan/s2881/Kconfig
==============================================================================
--- trunk/src/mainboard/tyan/s2881/Kconfig Sun May 16 16:24:41 2010 (r5559)
+++ trunk/src/mainboard/tyan/s2881/Kconfig Sun May 16 17:31:53 2010 (r5560)
@@ -13,6 +13,7 @@
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ select DRIVERS_SIL
config MAINBOARD_DIR
string
Modified: trunk/src/mainboard/tyan/s2882/Kconfig
==============================================================================
--- trunk/src/mainboard/tyan/s2882/Kconfig Sun May 16 16:24:41 2010 (r5559)
+++ trunk/src/mainboard/tyan/s2882/Kconfig Sun May 16 17:31:53 2010 (r5560)
@@ -12,6 +12,7 @@
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ select DRIVERS_SIL
config MAINBOARD_DIR
string
All,
I have an issue with FILO the disk at ata-0 isn't seen.
When is use SEABIOS it's detected properly.
I've attached session log with all debugging for FILO enabled.
Regards,
Joop.