1 /* SPDX-License-Identifier: GPL-2.0-only */
4 #include <ec/acpi/ec.h>
5 #include <ec/google/chromeec/ec.h>
10 static uint32_t get_board_id_via_ext_ec(void)
12 uint32_t id
= BOARD_ID_INIT
;
14 if (google_chromeec_get_board_version(&id
))
15 id
= BOARD_ID_UNKNOWN
;
21 * Get Board ID via EC I/O port write/read
22 * Board id is 5 bit, so mask other bits while returning board id.
24 int get_board_id(void)
29 if (CONFIG(EC_GOOGLE_CHROMEEC
)) {
30 id
= get_board_id_via_ext_ec();
34 if (send_ec_command(EC_FAB_ID_CMD
) == 0) {
35 for (index
= 0; index
< sizeof(buffer
); index
++)
36 buffer
[index
] = recv_ec_data();
37 id
= (buffer
[0] << 8) | buffer
[1];