Amlogic SM1 SoCs doesn't work over 50MHz. When phase sets to 270', it's working fine over 50MHz on Amlogic SM1 SoCs.
To use a proper phase value adds an u-boot only sm1 compatible. In future, it needs to find what value is a proper about each SoCs. According to Neil's suggestion, applied code based on below patch. https://patchwork.ozlabs.org/project/uboot/patch/20201109031233.25320-1-jh80.ch...@samsung.com Tested on Odroid-C4/N2, VIM3. Changelog v2: - Rewrote "[2/3] mmc: meson-gx: limit max frequency on SM1 SoCs" - Applied "mmc: meson_gx_mmc: change a clock phase to stable value" - Add Jaehoon's Signed-off tag Neil Armstrong (3): mmc: meson-gx: move arch header to local header mmc: meson-gx: change clock phase value on SM1 SoCs ARM: dts: meson-sm1: add u-boot specific MMC controller compatible .../meson-g12b-a311d-khadas-vim3-u-boot.dtsi | 1 + arch/arm/dts/meson-khadas-vim3-u-boot.dtsi | 2 -- .../dts/meson-sm1-khadas-vim3l-u-boot.dtsi | 1 + arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi | 2 +- arch/arm/dts/meson-sm1-sei610-u-boot.dtsi | 2 +- arch/arm/dts/meson-sm1-u-boot.dtsi | 20 +++++++++++++ drivers/mmc/meson_gx_mmc.c | 29 +++++++++++++++---- .../sd_emmc.h => drivers/mmc/meson_gx_mmc.h | 10 ++++--- 8 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 arch/arm/dts/meson-sm1-u-boot.dtsi rename arch/arm/include/asm/arch-meson/sd_emmc.h => drivers/mmc/meson_gx_mmc.h (95%) -- 2.29.0