blob: 5e30f65f01ccfced5bd5d5511d124a848c80fb9b [file] [log] [blame]
Stefan Reinauer55426df2010-01-17 13:50:17 +00001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2008-2009 coresystems GmbH
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Stefan Reinauer55426df2010-01-17 13:50:17 +000014 */
15
Uwe Hermann7fa08192010-11-08 20:55:24 +000016#ifndef SUPERIO_SMSC_LPC47N227_LPC47N227_H
17#define SUPERIO_SMSC_LPC47N227_LPC47N227_H
18
Kyösti Mälkki3855c012019-03-03 08:45:19 +020019#include <device/pnp_type.h>
20
Uwe Hermannb69cb5a2010-10-26 22:46:43 +000021/*
22 * Since the LPC47N227 does not have logical devices but a flat configuration
Stefan Reinauer55426df2010-01-17 13:50:17 +000023 * space, these are arbitrary, but must match declarations in the mainboard
Uwe Hermannb69cb5a2010-10-26 22:46:43 +000024 * devicetree.cb.
Stefan Reinauer55426df2010-01-17 13:50:17 +000025 */
26#define LPC47N227_PP 1 /* Parallel Port */
27#define LPC47N227_SP1 2 /* COM1 */
28#define LPC47N227_SP2 3 /* COM2 */
29#define LPC47N227_KBDC 5 /* Keyboard */
30
31#define LPC47N227_MAX_CONFIG_REGISTER 0x39
Uwe Hermann7fa08192010-11-08 20:55:24 +000032
Antonello Dettori6321d7c2016-03-07 01:59:48 +000033void pnp_enter_conf_state(pnp_devfn_t dev);
34void pnp_exit_conf_state(pnp_devfn_t dev);
35
36void lpc47n227_enable_serial(pnp_devfn_t dev, u16 iobase);
37
Uwe Hermann7fa08192010-11-08 20:55:24 +000038#endif