hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/arch/mips/txx9/rbtx4939/prom.c
....@@ -7,11 +7,23 @@
77 */
88
99 #include <linux/init.h>
10
+#include <linux/memblock.h>
1011 #include <asm/txx9/generic.h>
1112 #include <asm/txx9/rbtx4939.h>
1213
1314 void __init rbtx4939_prom_init(void)
1415 {
15
- tx4939_add_memory_regions();
16
+ unsigned long start, size;
17
+ u64 win;
18
+ int i;
19
+
20
+ for (i = 0; i < 4; i++) {
21
+ if (!((__u32)____raw_readq(&tx4939_ddrcptr->winen) & (1 << i)))
22
+ continue;
23
+ win = ____raw_readq(&tx4939_ddrcptr->win[i]);
24
+ start = (unsigned long)(win >> 48);
25
+ size = (((unsigned long)(win >> 32) & 0xffff) + 1) - start;
26
+ memblock_add(start << 20, size << 20);
27
+ }
1628 txx9_sio_putchar_init(TX4939_SIO_REG(0) & 0xfffffffffULL);
1729 }