// Copyright 2022 QMK // SPDX-License-Identifier: GPL-2.0-or-later #include <ch.h> #include "hardware_id.h" hardware_id_t get_hardware_id(void) { hardware_id_t id = {0}; #if defined(RP2040) // Forward declare as including "hardware/flash.h" here causes more issues... void flash_get_unique_id(uint8_t *); flash_get_unique_id((uint8_t *)&id); #elif defined(UID_BASE) id.data[0] = (uint32_t)(*((uint32_t *)UID_BASE)); id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 4))); id.data[2] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); #endif return id; }