Lines Matching refs:imx_data

446 	struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
475 if (imx_data->init_card_type == MMC_TYPE_SDIO)
490 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
505 if (imx_data->socdata->flags & ESDHC_FLAG_HAVE_CAP1)
522 if (esdhc_is_usdhc(imx_data)) {
523 if (imx_data->socdata->flags & ESDHC_FLAG_HAVE_CAP1)
537 if (IS_ERR_OR_NULL(imx_data->pins_100mhz))
539 if (IS_ERR_OR_NULL(imx_data->pins_200mhz))
544 if (unlikely(reg == SDHCI_MAX_CURRENT) && esdhc_is_usdhc(imx_data)) {
561 if ((imx_data->multiblock_status == WAIT_FOR_INT) &&
566 imx_data->multiblock_status = NO_CMD_PENDING;
576 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
581 if ((val & SDHCI_INT_CARD_INT) && !esdhc_is_usdhc(imx_data)) {
603 if (unlikely((imx_data->socdata->flags & ESDHC_FLAG_MULTIBLK_NO_INT)
611 if (imx_data->multiblock_status == MULTIBLK_IN_PROCESS)
617 imx_data->multiblock_status = WAIT_FOR_INT;
627 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
633 if (esdhc_is_usdhc(imx_data)) {
647 if (esdhc_is_usdhc(imx_data)) {
648 if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING)
650 else if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING)
666 if (esdhc_is_usdhc(imx_data)) {
687 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
708 if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
730 if ((imx_data->socdata->flags & ESDHC_FLAG_MULTIBLK_NO_INT)
740 if (esdhc_is_usdhc(imx_data)) {
784 imx_data->scratchpad = val;
792 (imx_data->socdata->flags & ESDHC_FLAG_MULTIBLK_NO_INT))
793 imx_data->multiblock_status = MULTIBLK_IN_PROCESS;
795 if (esdhc_is_usdhc(imx_data))
799 writel(val << 16 | imx_data->scratchpad,
831 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
848 if (!is_imx25_esdhc(imx_data)) {
886 if (esdhc_is_usdhc(imx_data)) {
893 imx_data->is_ddr = 0;
925 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
927 int ddr_pre_div = imx_data->is_ddr ? 2 : 1;
933 if (esdhc_is_usdhc(imx_data)) {
946 if (is_imx53_esdhc(imx_data)) {
964 if ((imx_data->socdata->flags & ESDHC_FLAG_ERR010450) &&
968 max_clock = imx_data->is_ddr ? 45000000 : 150000000;
999 if (esdhc_is_usdhc(imx_data)) {
1010 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1011 struct esdhc_platform_data *boarddata = &imx_data->boarddata;
1049 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1054 if (esdhc_is_usdhc(imx_data)) {
1057 if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) {
1062 } else if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
1090 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1092 imx_data->init_card_type = card->type;
1210 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1215 if (IS_ERR(imx_data->pinctrl) ||
1216 IS_ERR(imx_data->pins_100mhz) ||
1217 IS_ERR(imx_data->pins_200mhz))
1223 pinctrl = imx_data->pins_100mhz;
1228 pinctrl = imx_data->pins_200mhz;
1235 return pinctrl_select_state(imx_data->pinctrl, pinctrl);
1250 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1271 if (imx_data->boarddata.strobe_dll_delay_target)
1272 strobe_delay = imx_data->boarddata.strobe_dll_delay_target;
1292 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1293 struct esdhc_platform_data *boarddata = &imx_data->boarddata;
1298 imx_data->is_ddr = 0;
1313 imx_data->is_ddr = 1;
1319 if (is_imx53_esdhc(imx_data))
1327 imx_data->is_ddr = 1;
1352 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1355 return esdhc_is_usdhc(imx_data) ? 1 << 29 : 1 << 27;
1361 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1365 esdhc_is_usdhc(imx_data) ? 0xF : 0xE,
1413 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1417 if (esdhc_is_usdhc(imx_data)) {
1443 if (!(imx_data->socdata->flags & ESDHC_FLAG_SKIP_ERR004536)) {
1460 if (imx_data->socdata->flags & ESDHC_FLAG_CQHCI) {
1468 if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
1477 if (imx_data->boarddata.tuning_start_tap)
1478 tmp |= imx_data->boarddata.tuning_start_tap;
1482 if (imx_data->boarddata.tuning_step) {
1483 tmp |= imx_data->boarddata.tuning_step
1502 } else if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) {
1595 struct pltfm_imx_data *imx_data)
1598 struct esdhc_platform_data *boarddata = &imx_data->boarddata;
1626 if (esdhc_is_usdhc(imx_data) && !IS_ERR(imx_data->pinctrl)) {
1627 imx_data->pins_100mhz = pinctrl_lookup_state(imx_data->pinctrl,
1629 imx_data->pins_200mhz = pinctrl_lookup_state(imx_data->pinctrl,
1654 struct pltfm_imx_data *imx_data;
1657 sizeof(*imx_data));
1663 imx_data = sdhci_pltfm_priv(pltfm_host);
1665 imx_data->socdata = device_get_match_data(&pdev->dev);
1667 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1668 cpu_latency_qos_add_request(&imx_data->pm_qos_req, 0);
1670 imx_data->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
1671 if (IS_ERR(imx_data->clk_ipg)) {
1672 err = PTR_ERR(imx_data->clk_ipg);
1676 imx_data->clk_ahb = devm_clk_get(&pdev->dev, "ahb");
1677 if (IS_ERR(imx_data->clk_ahb)) {
1678 err = PTR_ERR(imx_data->clk_ahb);
1682 imx_data->clk_per = devm_clk_get(&pdev->dev, "per");
1683 if (IS_ERR(imx_data->clk_per)) {
1684 err = PTR_ERR(imx_data->clk_per);
1688 pltfm_host->clk = imx_data->clk_per;
1690 err = clk_prepare_enable(imx_data->clk_per);
1693 err = clk_prepare_enable(imx_data->clk_ipg);
1696 err = clk_prepare_enable(imx_data->clk_ahb);
1700 imx_data->pinctrl = devm_pinctrl_get(&pdev->dev);
1701 if (IS_ERR(imx_data->pinctrl))
1704 if (esdhc_is_usdhc(imx_data)) {
1711 if (!(imx_data->socdata->flags & ESDHC_FLAG_HS200))
1732 if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING)
1736 if (imx_data->socdata->flags & ESDHC_FLAG_ERR004536)
1739 if (imx_data->socdata->flags & ESDHC_FLAG_HS400)
1742 if (imx_data->socdata->flags & ESDHC_FLAG_BROKEN_AUTO_CMD23)
1745 if (imx_data->socdata->flags & ESDHC_FLAG_HS400_ES) {
1751 if (imx_data->socdata->flags & ESDHC_FLAG_CQHCI) {
1767 err = sdhci_esdhc_imx_probe_dt(pdev, host, imx_data);
1794 clk_disable_unprepare(imx_data->clk_ahb);
1796 clk_disable_unprepare(imx_data->clk_ipg);
1798 clk_disable_unprepare(imx_data->clk_per);
1800 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1801 cpu_latency_qos_remove_request(&imx_data->pm_qos_req);
1810 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1820 clk_disable_unprepare(imx_data->clk_per);
1821 clk_disable_unprepare(imx_data->clk_ipg);
1822 clk_disable_unprepare(imx_data->clk_ahb);
1824 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1825 cpu_latency_qos_remove_request(&imx_data->pm_qos_req);
1835 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1844 if ((imx_data->socdata->flags & ESDHC_FLAG_STATE_LOST_IN_LPMODE) &&
1897 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1913 imx_data->actual_clock = host->mmc->actual_clock;
1915 clk_disable_unprepare(imx_data->clk_per);
1916 clk_disable_unprepare(imx_data->clk_ipg);
1917 clk_disable_unprepare(imx_data->clk_ahb);
1919 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1920 cpu_latency_qos_remove_request(&imx_data->pm_qos_req);
1929 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1932 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1933 cpu_latency_qos_add_request(&imx_data->pm_qos_req, 0);
1935 if (imx_data->socdata->flags & ESDHC_FLAG_CLK_RATE_LOST_IN_PM_RUNTIME)
1936 clk_set_rate(imx_data->clk_per, pltfm_host->clock);
1938 err = clk_prepare_enable(imx_data->clk_ahb);
1942 err = clk_prepare_enable(imx_data->clk_per);
1946 err = clk_prepare_enable(imx_data->clk_ipg);
1950 esdhc_pltfm_set_clock(host, imx_data->actual_clock);
1962 clk_disable_unprepare(imx_data->clk_ipg);
1964 clk_disable_unprepare(imx_data->clk_per);
1966 clk_disable_unprepare(imx_data->clk_ahb);
1968 if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS)
1969 cpu_latency_qos_remove_request(&imx_data->pm_qos_req);