1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <bootblock_common.h>
4 #include <superio/ite/common/ite.h>
5 #include <superio/ite/it8613e/it8613e.h>
7 #define GPIO_DEV PNP_DEV(0x2e, IT8613E_GPIO)
9 void bootblock_mainboard_early_init(void)
11 /* Set up GPIOs on Super I/O. */
12 ite_reg_write(GPIO_DEV
, 0x25, 0x01); // Enable Pin GP10
13 ite_reg_write(GPIO_DEV
, 0x27, 0x02); // Enable Pin GP31
14 ite_reg_write(GPIO_DEV
, 0x28, 0x01); // Enable Pin GP40
15 ite_reg_write(GPIO_DEV
, 0x29, 0x01); // Enable Pin GP50
16 ite_reg_write(GPIO_DEV
, 0x2c, 0x41); // Internal Voltage Divider for ACC3
17 ite_reg_write(GPIO_DEV
, 0xbc, 0xc0); // GP56, GP57 Internal pullup
18 ite_reg_write(GPIO_DEV
, 0xbd, 0x03); // GP60, GP61 Internal pullup
19 ite_reg_write(GPIO_DEV
, 0xc3, 0x41); // GP40, GP46 Simple I/O function
20 ite_set_3vsbsw(GPIO_DEV
, true);
21 ite_delay_pwrgd3(GPIO_DEV
);
24 void bootblock_mainboard_init(void)