gamicoulas, I have had exactly the same problem as you crop up on one of my test boxes (a Sumvision Cyclone 4+). Suddenly, the only resolutions available are 1080p60 and 720p60, both in Libreelec and Android. Reflashing the Android firmware has made no difference, but like you, using the disp_cap hack and all works ok in Libreelec (but I'm not seeing any flickering).
Interestingly, in the output for DMESG, I see this:
[ 2.000691@0] hdmitx: system: [edid_rx_data] err = -6
[ 2.000718@0] hdmitx: edid: 80 errors between two reading
[ 2.005444@0] hdmitx: edid: check sum invalid
[ 2.009757@0] hdmitx: edid: blk0 raw data
[ 2.013756@0] a0fc7e27c0ffffffd0635501c0ffffff08000010000000009088c301c0ffffff
[ 2.013756@0] 00fd7e27c0ffffff58137b01c0ffffffd00fcc01c0ffffff0080bd01c0ffffff
[ 2.013756@0] 0020b701c0ffffffd412cc01c0ffffff8083fa35c0ffffff2000000000000000
[ 2.013756@0] 000000000000000000c07e27c0ffffff8083fa35c0ffffff0000000000000000
"check sum invalid" means the data coming in over HDMI is somehow corrupt but I have tried different cables and connect to different TVs but get the same thing. I do use this as a test box and it gets plugged in/unplugged more often than normal, but this is an odd fault if it is a physical thing, as all other aspects of the hdmi connection are fine.
I was going to put it down to a hardware problem but now that you have reported it, I'm not so sure. I have had a quick look at the uboot variables with fw_printenv and compared them to another S905 box I have, but there are a lot of them and nothing obvious jumps out. I don't want to start changing any in case I brick it. Does anyone know a way of completely resetting the variables back to factory defaults? Does flashing android firmware do that?