summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Stockhausen2026-01-11 13:43:07 +0000
committerRobert Marko2026-01-15 14:27:49 +0000
commit168f5609aff27b1db87b7fa79717a3271f02f83a (patch)
tree850b1cdbe5114466093c2f1a4a1a4935f51852c2
parent10ae743260b57d2a371efce11b35c25db8d97d0b (diff)
downloadopenwrt-168f5609aff27b1db87b7fa79717a3271f02f83a.tar.gz
realtek: rt-loader: fix chip revision printout
There is currently a mismatch in the detection of the chip type. rt-loader and the kernel give different revisions. E.g. rt-loader: Running on RTL9313 (chip id 6567A) with 256MB kernel: Realtek RTL9313 rev B (6567) SoC with 256 MB Realtek internal version numbering is - for RTL838x: 1=A, 2=B, ... - for others: 0=A, 1=B, ... rt-loader does not differentiate that. Adapt the calculation to give a consistent picture. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/21498 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/realtek/image/rt-loader/src/board.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/target/linux/realtek/image/rt-loader/src/board.c b/target/linux/realtek/image/rt-loader/src/board.c
index 837da74b6a..881c7cde24 100644
--- a/target/linux/realtek/image/rt-loader/src/board.c
+++ b/target/linux/realtek/image/rt-loader/src/board.c
@@ -91,10 +91,12 @@ found:
val = ioread32(reg + 4);
chip_id = val & 0xffff;
- if (model_id < 0x9300)
- chip_version = val >> 16 & 0x1f;
+ if (model_id < 0x8390)
+ chip_version = (val >> 16) & 0x1f;
+ else if (model_id < 0x9300)
+ chip_version = ((val >> 16) & 0x1f) + 1;
else
- chip_version = val >> 28 & 0x0f;
+ chip_version = ((val >> 28) & 0x0f) + 1;
snprintf(buffer, len, "RTL%04X%c (chip id %04x%c)",
model_id, model_version ? model_version + 64 : 0,