From b1eb52f45cac54a86e63401d02b1eb48c7d7b923 Mon Sep 17 00:00:00 2001 From: Patrick Urban Date: Tue, 16 Jun 2026 14:07:15 +0200 Subject: [PATCH] TileBitDatabase: Fix SERDES RX parameter ordering (#20) * TileBitDatabase: fix RX reset parameter ordering * docs: update CMD_CHG_STATUS bit 7 --- docs/source/bitstream/commands.rst | 5 ++++- libgm/src/TileBitDatabase.cpp | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/docs/source/bitstream/commands.rst b/docs/source/bitstream/commands.rst index 64a8469..993ce1c 100644 --- a/docs/source/bitstream/commands.rst +++ b/docs/source/bitstream/commands.rst @@ -255,8 +255,11 @@ CMD_CHG_STATUS * - - 5 - Fill RAM enable + * - + - 6 + - Enable SERDES regfile access from CPE * - - - 6..7 + - 7 - Unused * - 1 - 0..3 diff --git a/libgm/src/TileBitDatabase.cpp b/libgm/src/TileBitDatabase.cpp index 4acb5f6..0066e64 100644 --- a/libgm/src/TileBitDatabase.cpp +++ b/libgm/src/TileBitDatabase.cpp @@ -525,18 +525,18 @@ SerdesBitDatabase::SerdesBitDatabase() : BaseBitDatabase(Die::SERDES_CFG_SIZE * add_word_settings("RX_PRESENT", (0x2a << 4) + 12, 1); add_word_settings("RX_DETECT_DONE", (0x2a << 4) + 13, 1); add_word_settings("RX_BUF_ERR", (0x2a << 4) + 14, 1); - add_word_settings("RX_RESET_OVR", (0x2b << 4) + 0, 1); - add_word_settings("RX_RESET", (0x2b << 4) + 1, 1); - add_word_settings("RX_PMA_RESET_OVR", (0x2b << 4) + 2, 1); - add_word_settings("RX_PMA_RESET", (0x2b << 4) + 3, 1); - add_word_settings("RX_EQA_RESET_OVR", (0x2b << 4) + 4, 1); - add_word_settings("RX_EQA_RESET", (0x2b << 4) + 5, 1); - add_word_settings("RX_CDR_RESET_OVR", (0x2b << 4) + 6, 1); - add_word_settings("RX_CDR_RESET", (0x2b << 4) + 7, 1); - add_word_settings("RX_PCS_RESET_OVR", (0x2b << 4) + 8, 1); - add_word_settings("RX_PCS_RESET", (0x2b << 4) + 9, 1); - add_word_settings("RX_BUF_RESET_OVR", (0x2b << 4) + 10, 1); - add_word_settings("RX_BUF_RESET", (0x2b << 4) + 11, 1); + add_word_settings("RX_PMA_RESET_OVR", (0x2b << 4) + 0, 1); + add_word_settings("RX_PMA_RESET", (0x2b << 4) + 1, 1); + add_word_settings("RX_EQA_RESET_OVR", (0x2b << 4) + 2, 1); + add_word_settings("RX_EQA_RESET", (0x2b << 4) + 3, 1); + add_word_settings("RX_CDR_RESET_OVR", (0x2b << 4) + 4, 1); + add_word_settings("RX_CDR_RESET", (0x2b << 4) + 5, 1); + add_word_settings("RX_PCS_RESET_OVR", (0x2b << 4) + 6, 1); + add_word_settings("RX_PCS_RESET", (0x2b << 4) + 7, 1); + add_word_settings("RX_BUF_RESET_OVR", (0x2b << 4) + 8, 1); + add_word_settings("RX_BUF_RESET", (0x2b << 4) + 9, 1); + add_word_settings("RX_RESET_OVR", (0x2b << 4) + 10, 1); + add_word_settings("RX_RESET", (0x2b << 4) + 11, 1); add_word_settings("RX_POLARITY_OVR", (0x2b << 4) + 12, 1); add_word_settings("RX_POLARITY", (0x2b << 4) + 13, 1); add_word_settings("RX_8B10B_EN_OVR", (0x2b << 4) + 14, 1);