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> git-svn-id: svn://coreboot.org/repository/coreboot-v3@924 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
1de23d8436
commit
eb08c3a21d
4 changed files with 63 additions and 28 deletions
|
|
@ -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";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -62,8 +62,6 @@ static void it8712f_init(struct device * dev)
|
|||
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 @@ static void it8712f_init(struct device * dev)
|
|||
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 @@ static void it8712f_init(struct device * dev)
|
|||
// 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 @@ struct device_operations it8712f_ops = {
|
|||
.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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue