On Fri, Oct 31, 2008 at 07:11:55PM +0100, Peter Stuge wrote:
Maybe this works..
I doubt it, so NAK in the current state.
v3: superio/via/vt1211 with serial port init but nothing else
Signed-off-by: Peter Stuge peter@stuge.se
Index: superio/via/vt1211/vt1211.h
--- superio/via/vt1211/vt1211.h (revision 0) +++ superio/via/vt1211/vt1211.h (revision 0) @@ -0,0 +1,36 @@ +/*
- This file is part of the coreboot project.
- Copyright 2007 Ronald G. Minnich rminnich@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; 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_VIA_VT1211_VT122_H +#define SUPERIO_VIA_VT1211_VT122_H
+#define VT1211_FDC 0 /* Floppy */ +#define VT1211_PP 1 /* Parallel Port */ +#define VT1211_SP1 2 /* Com1 */ +#define VT1211_SP2 3 /* Com2 */ +#define VT1211_KBC 5 /* Keyboard & Mouse */ +#define VT1211_CIR 6 +#define VT1211_GAME_MIDI_GPIO1 7 +#define VT1211_GPIO2 8 +#define VT1211_GPIO3 9 +#define VT1211_ACPI 10 +#define VT1211_HWM 11 /* Hardware Monitor */
The LDNs here are wrong (probably a copy of some Winbond Super I/O), please check v2's vt1211.h or the datasheet for the correct ones.
+#endif /* SUPERIO_VIA_VT1211_VT122_H */ Index: superio/via/vt1211/stage1.c =================================================================== --- superio/via/vt1211/stage1.c (revision 0) +++ superio/via/vt1211/stage1.c (revision 0) @@ -0,0 +1,33 @@ +/*
- This file is part of the coreboot project.
- Copyright (C) 2008 Peter Stuge peter@stuge.se
- 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 <io.h> +#include <device/pnp.h> +#include "vt1211.h"
+void vt1211_enable_serial(u8 dev, u8 serial, u16 iobase) +{
- rawpnp_enter_ext_func_mode(dev);
- rawpnp_set_logical_device(dev, serial);
- rawpnp_set_enable(dev, 0);
- rawpnp_set_iobase(dev, 2, (iobase>>2) & 0xff);
Might work, didn't check the datasheet, yet.
- rawpnp_set_enable(dev, 1);
- rawpnp_exit_ext_func_mode(dev);
+}
Index: superio/via/vt1211/superio.c
--- superio/via/vt1211/superio.c (revision 0) +++ superio/via/vt1211/superio.c (revision 0)
Pretty much all of this file's code won't work/apply for VT1121, as it's a copy-paste from some Winbond Super I/O. Please base the code on the vt1211.c from v2, that has a proper GPL header so it should be no problem.
If you don't want to port it over just now, please use an empty function with a /* TODO */ in it, but don't carry over all the unusable code here, that'll never work for VT1221.
Index: superio/via/vt1211/Makefile
--- superio/via/vt1211/Makefile (revision 0) +++ superio/via/vt1211/Makefile (revision 0) @@ -0,0 +1,29 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 2008 Peter Stuge peter@stuge.se +## +## 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 +##
+ifeq ($(CONFIG_SUPERIO_VIA_VT1211),y)
+STAGE0_CHIPSET_SRC += $(src)/superio/via/vt1211/stage1.c +STAGE0_CHIPSET_SRC += $(src)/device/pnp_raw.c
+# Always add to variables, as there could be more than one Super I/O. +#STAGE2_CHIPSET_SRC += $(src)/superio/via/vt1211/superio.c
+endif
This looks ok.
Uwe.