hardware_id.c (605B)
1 // Copyright 2022 QMK 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include <ch.h> 5 #include "hardware_id.h" 6 7 __attribute__((weak)) hardware_id_t get_hardware_id(void) { 8 hardware_id_t id = {0}; 9 #if defined(RP2040) 10 // Forward declare as including "hardware/flash.h" here causes more issues... 11 void flash_get_unique_id(uint8_t *); 12 13 flash_get_unique_id((uint8_t *)&id); 14 #elif defined(UID_BASE) 15 id.data[0] = (uint32_t)(*((uint32_t *)UID_BASE)); 16 id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 4))); 17 id.data[2] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); 18 #endif 19 return id; 20 }