diff --git a/arch/arm/boot/dts/amlogic/mesong12b.dtsi b/arch/arm/boot/dts/amlogic/mesong12b.dtsi index 9af15ace0f22..00316a0c0a53 100644 --- a/arch/arm/boot/dts/amlogic/mesong12b.dtsi +++ b/arch/arm/boot/dts/amlogic/mesong12b.dtsi @@ -1428,10 +1428,9 @@ clocks = <&clkc CLKID_SD_EMMC_C>, <&clkc CLKID_SD_EMMC_C_P0_COMP>, <&clkc CLKID_FCLK_DIV2>, - <&clkc CLKID_FCLK_DIV5>, <&clkc CLKID_FCLK_DIV2P5>, <&xtal>; - clock-names = "core","clkin0","clkin1","clkin2","clkin3","xtal"; + clock-names = "core","clkin0","clkin1","clkin2","xtal"; bus-width = <8>; cap-sd-highspeed; diff --git a/arch/arm/boot/dts/amlogic/mesontl1.dtsi b/arch/arm/boot/dts/amlogic/mesontl1.dtsi index 5ba398a049d4..fefe66764631 100644 --- a/arch/arm/boot/dts/amlogic/mesontl1.dtsi +++ b/arch/arm/boot/dts/amlogic/mesontl1.dtsi @@ -1119,10 +1119,9 @@ clocks = <&clkc CLKID_SD_EMMC_C>, <&clkc CLKID_SD_EMMC_C_P0_COMP>, <&clkc CLKID_FCLK_DIV2>, - <&clkc CLKID_FCLK_DIV5>, <&clkc CLKID_GP0_PLL>, <&xtal>; - clock-names = "core","clkin0","clkin1","clkin2","clkin3","xtal"; + clock-names = "core","clkin0","clkin1","clkin2","xtal"; bus-width = <8>; cap-sd-highspeed; diff --git a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi index fdc4d097681d..020a2d45080b 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi @@ -1428,10 +1428,9 @@ clocks = <&clkc CLKID_SD_EMMC_C>, <&clkc CLKID_SD_EMMC_C_P0_COMP>, <&clkc CLKID_FCLK_DIV2>, - <&clkc CLKID_FCLK_DIV5>, <&clkc CLKID_FCLK_DIV2P5>, <&xtal>; - clock-names = "core","clkin0","clkin1","clkin2","clkin3","xtal"; + clock-names = "core","clkin0","clkin1","clkin2","xtal"; bus-width = <8>; cap-sd-highspeed; diff --git a/drivers/amlogic/mmc/aml_sd_emmc_v3.c b/drivers/amlogic/mmc/aml_sd_emmc_v3.c index 4efea4b21af7..3eabceb5de0d 100644 --- a/drivers/amlogic/mmc/aml_sd_emmc_v3.c +++ b/drivers/amlogic/mmc/aml_sd_emmc_v3.c @@ -231,10 +231,9 @@ static int meson_mmc_clk_set_rate_v3(struct mmc_host *mmc, if (aml_card_type_mmc(pdata)) { if ((clk_ios >= 200000000) && conf->ddr) { - if (host->data->chip_type == MMC_CHIP_G12B) - src0_clk = devm_clk_get(host->dev, "clkin3"); - else - src0_clk = devm_clk_get(host->dev, "clkin2"); + src0_clk = devm_clk_get(host->dev, "clkin2"); + if (ret) + pr_warn("not get clkin2\n"); ret = clk_set_parent(host->mux_parent[0], src0_clk); if (ret) pr_warn("set src0 as comp0 parent error\n"); @@ -245,16 +244,17 @@ static int meson_mmc_clk_set_rate_v3(struct mmc_host *mmc, } else if (((host->data->chip_type == MMC_CHIP_TL1) || (host->data->chip_type == MMC_CHIP_G12B)) && (clk_ios >= 166000000)) { - src0_clk = devm_clk_get(host->dev, "clkin3"); + src0_clk = devm_clk_get(host->dev, "clkin2"); if (ret) - pr_warn("not get clkin3\n"); - if (host->data->chip_type == MMC_CHIP_TL1) { + pr_warn("not get clkin2\n"); + if ((host->data->chip_type == MMC_CHIP_TL1) + && (clk_ios <= 198000000)) { ret = clk_set_rate(src0_clk, 792000000); if (ret) - pr_warn("not set tl1-792\n"); + pr_warn("not set tl1-gp0\n"); } - pr_warn("set rate clkin3>>>>>>>>clk:%lu\n", - clk_get_rate(src0_clk)); + pr_warn("set rate clkin2>>>>>>>>clk:%lu\n", + clk_get_rate(src0_clk)); ret = clk_set_parent(host->mux_parent[0], src0_clk); if (ret)