Hi penluo,
See below, please!
---------------------------------
1. BOOT configuration from SD1 port.
BOOT_CFG[15]=0
BOOT_CFG[14:12]=001
BOOT_CFG[11:10]=00 (Selcet uSDHC1 port)
BOOT_CFG[9:8]=00
BOOT_CFG[7]=0
BOOT_CFG[6:4]=001 (4bit bus)
BOOT_CFG[3:1]=000 (Using normal mode)
BOOT_CFG[0]=0
2. About VDDIO of microSD
For current microSD card, most of them supports 1.8V VDDIO.
So NVCC_SD1 should be supplied 1.8V,
If you use 3.3V microSD card, MVCC_SD should be 3.3V
if you hope 3.3V/1.8V IO are both supported, you will have to use samilar power solution of NVCC_SD2(can be switched between 1.8V and 3.3V)
3. About initialization of uSDHC1 clock
see imx8mm_evk/spl.c in u-boot, in function "int board_mmc_init(bd_t *bis)",
you can find only SD2 is initialized for i.MX8MM DDR4 EVK, because only SD2 is connected to SD card, SD3 port is connected to NAND FALSH.
So for your appliation, you should add usdhc1 code here.
You can refer to code of uSDHC2/uSDHC3 to add code for uSDHC1!
4. device tree in u-boot
There is no usdhc1 pins iomux, you can refer to that of usdhc2 to add it.
---------------------------------
Hope above information is helpful to you.
Have a nice day!
B.R,
Weidong