Since I've found way to correctly flash partitions, now I can share my experience about RAM upgrade.
On my EA7500v1 initially was soldered two Winbond W631GU6KB-15 chips, which is a 16bit DDR3L RAM in BGA96 package.
I had a broken old tablet with two SKHynix H5TQ4G63MFR-PBC chips, which is a exactly same package as in router. I've swapping it and router boots well, but didn't recognize all RAM size.
After I've flashed in mtd4 (DDRCONFIG) dump from EA8500, it recognized 512M, so settings definitely here.
According to this leaked datasheet from similar platform, I've found on offset 0x83 in mtd4 value 0x0D for 7500 and 0x0E for 8500. Which corresponds with number of rows for DDR devices.
As my new RAM has a 15 bit row address, I set 0x0F in this byte and voila
Actually it is not that simple, as it is requires custom openwrt build with corrected memory size in dts. But it is possible to flash 8500 official image and it works fine (except switch ports names) with 512M.
Flashing mtd4 from U-boot:
nand device nand0
ipq_nand sbl
tftp $loadaddr mtd4_ea8500.bin
nand erase 0x540000 0x120000
nand write $loadaddr 0x540000 0x120000
You can find mtd4 images in my repo https://github.com/iglooom/rpi-tsop48-nand/tree/master/qca-sbl-dumps/clean for ea7500, ea8500 and modified 1Gb version as well.
For booting ea8500 openwrt image I was needed to change partbootargs and partbootargs2 to values from ea8500.
setenv partbootargs console=ttyHSL1,115200n8 init=/sbin/init rootfstype=squashfs root=31:14
setenv partbootargs2 console=ttyHSL1,115200n8 init=/sbin/init rootfstype=squashfs root=31:16
saveenv
Don't quite sure why it is different from 7500.
@ReDaLeRt maybe this can fit in wiki hardware mods section 