diff --git a/arch/arm/dts/ipq807x-hk01-c2.dts b/arch/arm/dts/ipq807x-hk01-c2.dts index d6a8c207cd..00f0fc786f 100644 --- a/arch/arm/dts/ipq807x-hk01-c2.dts +++ b/arch/arm/dts/ipq807x-hk01-c2.dts @@ -26,6 +26,7 @@ i2c0 = "/i2c@78b6000"; pci0 = "/pci@20000000"; pci1 = "/pci@10000000"; + mmc = "/sdhci@07824000"; }; ess-switch { switch_mac_mode = <0x5>; diff --git a/arch/arm/dts/ipq807x-hk01-c3.dts b/arch/arm/dts/ipq807x-hk01-c3.dts index 339a33a8ba..4f9920038d 100644 --- a/arch/arm/dts/ipq807x-hk01-c3.dts +++ b/arch/arm/dts/ipq807x-hk01-c3.dts @@ -26,6 +26,7 @@ i2c0 = "/i2c@78b6000"; pci0 = "/pci@20000000"; pci1 = "/pci@10000000"; + mmc = "/sdhci@07824000"; }; ess-switch { switch_mac_mode = <0x0>; diff --git a/arch/arm/dts/ipq807x-hk01.dts b/arch/arm/dts/ipq807x-hk01.dts index a993ab5d5a..d4ed8394dc 100644 --- a/arch/arm/dts/ipq807x-hk01.dts +++ b/arch/arm/dts/ipq807x-hk01.dts @@ -26,6 +26,7 @@ i2c0 = "/i2c@78b6000"; pci0 = "/pci@20000000"; pci1 = "/pci@10000000"; + mmc = "/sdhci@07824000"; }; ess-switch { switch_mac_mode = <0x0>; diff --git a/arch/arm/dts/ipq807x-soc.dtsi b/arch/arm/dts/ipq807x-soc.dtsi index 98b9f7928a..834136dbf6 100644 --- a/arch/arm/dts/ipq807x-soc.dtsi +++ b/arch/arm/dts/ipq807x-soc.dtsi @@ -335,4 +335,7 @@ }; + mmc: sdhci@07824000 { + compatible = "qcom,sdhci-msm"; + }; }; diff --git a/board/qca/arm/ipq807x/ipq807x.c b/board/qca/arm/ipq807x/ipq807x.c index ecd4d73aa3..e11985d8ae 100644 --- a/board/qca/arm/ipq807x/ipq807x.c +++ b/board/qca/arm/ipq807x/ipq807x.c @@ -425,9 +425,16 @@ int board_eth_init(bd_t *bis) int board_mmc_init(bd_t *bis) { + int node; int ret = 0; qca_smem_flash_info_t *sfi = &qca_smem_flash_info; + node = fdt_path_offset(gd->fdt_blob, "mmc"); + if (node < 0) { + printf("sdhci: Node Not found, skipping initialization\n"); + return -1; + } + #ifndef CONFIG_SDHCI_SUPPORT mmc_host.base = MSM_SDC1_BASE; mmc_host.clk_mode = MMC_IDENTIFY_MODE;