blob: 4052b6f22dd3a7d91faee98fcb5ad1fa19d39aa7 [file] [log] [blame]
Angel Pons09481b12020-04-03 01:21:13 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Iru Cai928c6c62017-06-15 18:18:51 +08002
Arthur Heymansfa5d0f82019-11-12 19:11:50 +01003#include <bootblock_common.h>
Kyösti Mälkki3855c012019-03-03 08:45:19 +02004#include <device/pnp_ops.h>
Patrick Rudolphda9302a2019-03-24 17:01:41 +01005#include <southbridge/intel/bd82x6x/pch.h>
Iru Cai928c6c62017-06-15 18:18:51 +08006#include <superio/nuvoton/nct6776/nct6776.h>
7#include <superio/nuvoton/common/nuvoton.h>
8
9#define SERIAL_DEV PNP_DEV(0x2e, NCT6776_SP1)
10
Iru Cai928c6c62017-06-15 18:18:51 +080011const struct southbridge_usb_port mainboard_usb_ports[] = {
12 { 1, 0, 0 },
13 { 1, 0, 0 },
14 { 1, 1, 1 },
15 { 1, 1, 1 },
16 { 1, 1, 2 },
17 { 1, 1, 2 },
18 { 1, 0, 3 },
19 { 1, 0, 3 },
20 { 1, 0, 4 },
21 { 1, 0, 4 },
22 { 1, 0, 6 },
23 { 1, 1, 5 },
24 { 1, 1, 5 },
25 { 1, 0, 6 },
26};
27
Arthur Heymansfa5d0f82019-11-12 19:11:50 +010028void bootblock_mainboard_early_init(void)
Iru Cai928c6c62017-06-15 18:18:51 +080029{
30 /* Set GPIOs on superio, enable UART */
31 nuvoton_pnp_enter_conf_state(SERIAL_DEV);
32 pnp_set_logical_device(SERIAL_DEV);
33
34 pnp_write_config(SERIAL_DEV, 0x1c, 0x80);
35 pnp_write_config(SERIAL_DEV, 0x27, 0x80);
36 pnp_write_config(SERIAL_DEV, 0x2a, 0x60);
37
38 nuvoton_pnp_exit_conf_state(SERIAL_DEV);
39
40 nuvoton_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
41}