Hi,
On Tuesday 05 January 2016 06:38 AM, Shawn Lin wrote:
This patch to add a generic PHY driver for ROCKCHIP eMMC PHY.
Access the PHY via registers provided by GRF (general register
+ *
+ * Copyright (C) 2015 Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
+ * Copyright (C) 2015 ROCKCHIP, Inc.
2016?
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ }
+
+ /*
+ * Enable analog DLL circuits, and we need extra 10.2us
+ * for dll to be ready for work.
+ */
+ regmap_write(rk_phy->reg_base,
+ rk_phy->reg_offset + GRF_EMMCPHY_CON6,
+ HIWORD_UPDATE(PHYCTRL_ENDLL_ENABLE,
+ PHYCTRL_ENDLL_MASK,
+ PHYCTRL_ENDLL_SHIFT));
+ udelay(11);
add a comment for this delay too.
+ regmap_read(rk_phy->reg_base,
+ rk_phy->reg_offset + GRF_EMMCPHY_STATUS,
+ &dllrdy);
+ dllrdy = (dllrdy >> PHYCTRL_DLLRDY_SHIFT) & PHYCTRL_DLLRDY_MASK;
+ if (dllrdy != PHYCTRL_DLLRDY_DONE) {
+ pr_err("rockchip_emmc_phy_power: dllrdy timeout.\n");
+ return -ETIMEDOUT;
+ }
+
+ return 0;
+}
+
+static int rockchip_emmc_phy_init(struct phy *phy)
+{
+ return 0;
+}
+
+static int rockchip_emmc_phy_exit(struct phy *phy)
+{
+ return 0;
+}
empty init/exit functions are not required.
Thanks
Kishon