Author: uwe Date: 2008-10-14 12:13:24 +0200 (Tue, 14 Oct 2008) New Revision: 924
Modified: coreboot-v3/superio/ite/it8712f/dts coreboot-v3/superio/ite/it8712f/it8712f.h coreboot-v3/superio/ite/it8712f/stage1.c coreboot-v3/superio/ite/it8712f/superio.c Log: Make the ITE IT8712F support in v3 a bit more complete and fix the incorrect and incomplete pnp_dev_info[] as we did in v2.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de Acked-by: Corey Osgood corey.osgood@gmail.com
Modified: coreboot-v3/superio/ite/it8712f/dts =================================================================== --- coreboot-v3/superio/ite/it8712f/dts 2008-10-13 21:47:56 UTC (rev 923) +++ coreboot-v3/superio/ite/it8712f/dts 2008-10-14 10:13:24 UTC (rev 924) @@ -1,8 +1,8 @@ /* - * * This file is part of the coreboot project. * * Copyright (C) 2008 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 @@ -16,10 +16,18 @@ * 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 - * */ + { device_operations = "it8712f_ops"; + + /* Floppy */ + floppydev = "0"; + floppyenable = "0"; + floppyio = "0x3f0"; + floppyirq = "6"; + floppydrq = "2"; + /* COM1 */ com1dev = "1"; com1enable = "0"; @@ -32,11 +40,48 @@ com2io = "0x2f8"; com2irq = "3";
- /* Keyboard */ + /* Parallel port */ + ppdev = "3"; + ppenable = "0"; + ppio = "0x378"; + ppirq = "7"; + + /* Environment controller */ + ecdev = "4"; + ecenable = "0"; + ecio = "0x290"; + ecirq = "9"; + + /* PS/2 keyboard */ kbdev = "5"; kbenable = "0"; kbio = "0x60"; kbio2 = "0x64"; kbirq = "1"; - kbirq2 = "2"; + + /* PS/2 mouse */ + mousedev = "6"; + mouseenable = "0"; + mouseirq = "12"; + + /* GPIO */ + gpiodev = "7"; + gpioenable = "0"; + + /* MIDI port */ + mididev = "8"; + midienable = "0"; + midiio = "0x300"; + midiirq = "10"; + + /* Game port */ + gamedev = "9"; + gameenable = "0"; + gameio = "0x201"; + + /* Consumer IR */ + cirdev = "10"; + cirenable = "0"; + cirio = "0x310"; + cirirq = "11"; };
Modified: coreboot-v3/superio/ite/it8712f/it8712f.h =================================================================== --- coreboot-v3/superio/ite/it8712f/it8712f.h 2008-10-13 21:47:56 UTC (rev 923) +++ coreboot-v3/superio/ite/it8712f/it8712f.h 2008-10-14 10:13:24 UTC (rev 924) @@ -19,7 +19,6 @@ */
/* Datasheet: http://www.ite.com.tw/product_info/PC/Brief-IT8712_2.asp */ -/* Status: Com1 is tested and works. */
#define IT8712F_FDC 0x00 /* Floppy */ #define IT8712F_SP1 0x01 /* Com1 */
Modified: coreboot-v3/superio/ite/it8712f/stage1.c =================================================================== --- coreboot-v3/superio/ite/it8712f/stage1.c 2008-10-13 21:47:56 UTC (rev 923) +++ coreboot-v3/superio/ite/it8712f/stage1.c 2008-10-14 10:13:24 UTC (rev 924) @@ -3,6 +3,7 @@ * * Copyright (C) 2006 Uwe Hermann uwe@hermann-uwe.de * Copyright (C) 2008 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
Modified: coreboot-v3/superio/ite/it8712f/superio.c =================================================================== --- coreboot-v3/superio/ite/it8712f/superio.c 2008-10-13 21:47:56 UTC (rev 923) +++ coreboot-v3/superio/ite/it8712f/superio.c 2008-10-14 10:13:24 UTC (rev 924) @@ -62,8 +62,6 @@ conf = dev->device_configuration;
switch (dev->path.pnp.device) { - case IT8712F_FDC: /* TODO. */ - break; case IT8712F_SP1: res0 = find_resource(dev, PNP_IDX_IO0); #warning no init_uart8250 yet @@ -73,10 +71,6 @@ res0 = find_resource(dev, PNP_IDX_IO0); // init_uart8250(res0->base, &conf->com2); break; - case IT8712F_PP: /* TODO. */ - break; - case IT8712F_EC: /* TODO. */ - break; case IT8712F_KBCK: res0 = find_resource(dev, PNP_IDX_IO0); res1 = find_resource(dev, PNP_IDX_IO1); @@ -84,14 +78,6 @@ // set_kbc_ps2_mode(); // init_pc_keyboard(res0->base, res1->base, &conf->keyboard); break; - case IT8712F_KBCM: /* TODO. */ - break; - case IT8712F_MIDI: /* TODO. */ - break; - case IT8712F_GAME: /* TODO. */ - break; - case IT8712F_IR: /* TODO. */ - break; } }
@@ -127,19 +113,23 @@ .phase6_init = it8712f_init, };
-/* TODO: FDC, MIDI, GAME, IR. */ static struct pnp_info pnp_dev_info[] = { - {&it8712f_ops, IT8712F_SP1, PNP_IO0 | PNP_IRQ0, {0x7f8, 0}, }, - {&it8712f_ops, IT8712F_SP2, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_DRQ1, {0x7f8, 0}, }, - {&it8712f_ops, IT8712F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, {0x07f8, 0},}, - {&it8712f_ops, IT8712F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, {0x7f8, 0}, {0x7f8, 0x4},}, - {&it8712f_ops, IT8712F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, {0x7f8, 0}, {0x7f8, 0x4}, }, - {&it8712f_ops, IT8712F_KBCM, PNP_IRQ0, }, - {&it8712f_ops, IT8712F_GPIO, }, + {&it8712f_ops, IT8712F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, {0xff8, 0},}, + {&it8712f_ops, IT8712F_SP1, PNP_IO0 | PNP_IRQ0, {0xff8, 0},}, + {&it8712f_ops, IT8712F_SP2, PNP_IO0 | PNP_IRQ0, {0xff8, 0},}, + {&it8712f_ops, IT8712F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, {0xffc, 0},}, + {&it8712f_ops, IT8712F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, {0xff8, 0}, {0xff8, 4},}, + {&it8712f_ops, IT8712F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, {0xfff, 0}, {0xfff, 4},}, + {&it8712f_ops, IT8712F_KBCM, PNP_IRQ0,}, + {&it8712f_ops, IT8712F_GPIO,}, + {&it8712f_ops, IT8712F_MIDI, PNP_IO0 | PNP_IRQ0, {0xff8, 0},}, + {&it8712f_ops, IT8712F_GAME, PNP_IO0, {0xfff, 0},}, + {&it8712f_ops, IT8712F_IR, PNP_IO0 | PNP_IRQ0, {0xff8, 0},}, };
static void it8712f_setup_scan_bus(struct device *dev) { - pnp_enable_devices(dev, &it8712f_ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info); + pnp_enable_devices(dev, &it8712f_ops, + ARRAY_SIZE(pnp_dev_info), pnp_dev_info); }