Running mainline U-Boot 2022.01 from Armbian on a Radxa Zero, the box image fails to boot because LZO decompression is not enabled in mainline on this board. I enabled LZO, rebuilt U-Boot, and now it looks like LibreELEC boots from SD, goes to resize the filesystem and ends up with file system write errors & corruption.
Tried 3 different SD cards, from 2 different brands. So I guess either the SD slot is highly marginal, or perhaps an issue in LE's DT? I'll have to play with it some more from Armbian and see if that also causes filesystem corruption. Armbian is loaded into the eMMC and is running 5.16.9 kernel from mainline.
Testing from Armbian to SD cards:
kernel: [ 269.339082] mmc0: error -84 writing Cache Enable bit
kernel: [ 269.339107] mmc0: tried to HW reset card, got error -84
kernel: [ 269.378798] I/O error, dev mmcblk0, sector 2080 op 0x1:(WRITE) flags 0x100000 phys_seg 87 prio class 0
kernel: [ 269.378827] Buffer I/O error on dev mmcblk0p1, logical block 32, lost async page write
kernel: [ 269.378841] Buffer I/O error on dev mmcblk0p1, logical block 33, lost async page write
kernel: [ 269.378846] Buffer I/O error on dev mmcblk0p1, logical block 34, lost async page write
kernel: [ 269.378852] Buffer I/O error on dev mmcblk0p1, logical block 35, lost async page write
kernel: [ 269.378857] Buffer I/O error on dev mmcblk0p1, logical block 36, lost async page write
kernel: [ 269.378862] Buffer I/O error on dev mmcblk0p1, logical block 37, lost async page write
kernel: [ 269.378867] Buffer I/O error on dev mmcblk0p1, logical block 38, lost async page write
kernel: [ 269.378872] Buffer I/O error on dev mmcblk0p1, logical block 39, lost async page write
kernel: [ 269.378890] Buffer I/O error on dev mmcblk0p1, logical block 40, lost async page write
kernel: [ 269.378896] Buffer I/O error on dev mmcblk0p1, logical block 41, lost async page write
kernel: [ 269.380164] I/O error, dev mmcblk0, sector 17216 op 0x1:(WRITE) flags 0x100000 phys_seg 87 prio class 0
kernel: [ 269.405032] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 484866)
kernel: [ 269.405056] FAT-fs (mmcblk0p1): Filesystem has been set read-only
kernel: [ 269.405065] FAT-fs (mmcblk0p1): error, fat_free_clusters: deleting FAT entry beyond EOF
kernel: [ 269.625336] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 484866)
So it looks like both are broken, hardware is broken, or it's the kernel since they are both on 5.16. There is also similar initialization errors (false starts) during detection, shows up 2x in dmesg:
[ 2.465881] mmc0: error -84 reading general info of SD ext reg
[ 2.465914] mmc0: error -84 whilst initialising SD card
Then eventually detected:
[ 4.643469] mmc0: new high speed SDHC card at address 59b4
[ 4.649821] mmcblk0: mmc0:59b4 LX32G 29.5 GiB
[ 4.651880] mmcblk0: p1
 
		 
		
		
	
 I did look at the schematics, and what I found interesting is the GPIO is a 3.3Vdc power domain and it is connected to the enable pin of the regulator with a external 10k pull-up resistor to 5Vdc, so I thought that was odd.  But I can't say the schematics are accurate or complete.  Since the regulator enable pin has an external pull up to 5Vdc, it should be on at boot and I believe the GPIO configuration in the DT is purely for power management (being able to drive the enable bit to ground via the GPIO).
  I did look at the schematics, and what I found interesting is the GPIO is a 3.3Vdc power domain and it is connected to the enable pin of the regulator with a external 10k pull-up resistor to 5Vdc, so I thought that was odd.  But I can't say the schematics are accurate or complete.  Since the regulator enable pin has an external pull up to 5Vdc, it should be on at boot and I believe the GPIO configuration in the DT is purely for power management (being able to drive the enable bit to ground via the GPIO).