| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #include <amdblocks/acpimmio.h> |
| #include <bootblock_common.h> |
| #include <superio/nuvoton/common/nuvoton.h> |
| #include <superio/nuvoton/nct5104d/nct5104d.h> |
| |
| #define SERIAL_DEV PNP_DEV(0x4E, NCT5104D_SP4) |
| |
| void bootblock_mainboard_early_init(void) |
| { |
| u32 reg32; |
| |
| /* Set auxiliary output clock frequency on OSCOUT1 pin to be 25MHz */ |
| /* Set auxiliary output clock frequency on OSCOUT2 pin to be 48MHz */ |
| reg32 = misc_read32(0x28); |
| reg32 &= 0xffc0ffff; // Clr bits [21:19] & [18:16] |
| reg32 |= 0x00010000; // Set bit 16 for 25MHz |
| misc_write32(0x28, reg32); |
| |
| /* Enable Auxiliary OSCOUT1/OSCOUT2 */ |
| reg32 = misc_read32(0x40); |
| reg32 &= 0xffffff7b; // clear 2, 7 |
| misc_write32(0x40, reg32); |
| |
| nct5104d_enable_uartd(SERIAL_DEV); |
| nuvoton_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE); |
| } |