summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Zhu <r65037@freescale.com>2014-07-09 17:11:34 +0800
committerRichard Zhu <r65037@freescale.com>2014-07-09 17:21:56 +0800
commitbf43cf9c6c56da8862a2b2cdd461f78cd80632b8 (patch)
tree06e440d1ea4784b65cba5bc0b45ea3eee7ecab81
parent6e5694927530b4ea5de0c79860f6231351413234 (diff)
ENGR00320021-3 pcie:add the pcie reg dump
add the pcie related gpr/anatop reg dump into pcie driver Signed-off-by: Richard Zhu <r65037@freescale.com>
-rw-r--r--drivers/pci/host/pci-imx6.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index bfc34993e257..ed991a22020b 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -104,6 +104,35 @@ static inline bool is_imx6sx_pcie(struct imx6_pcie *imx6_pcie)
return imx6_pcie->data == &imx6sx_pcie_data;
}
+#ifdef DEBUG
+static int pcie_reg_dump(struct imx6_pcie *imx6_pcie)
+{
+ u32 val;
+ struct regmap *anatop_g;
+
+ /* GPRs registers */
+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1, &val);
+ pr_info("<F> %s <L> %d gpr1 0x%08x.\n", __func__, __LINE__, val);
+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5, &val);
+ pr_info("<F> %s <L> %d gpr5 0x%08x.\n", __func__, __LINE__, val);
+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8, &val);
+ pr_info("<F> %s <L> %d gpr8 0x%08x.\n", __func__, __LINE__, val);
+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, &val);
+ pr_info("<F> %s <L> %d gpr12 0x%08x.\n", __func__, __LINE__, val);
+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR13, &val);
+ pr_info("<F> %s <L> %d gpr13 0x%08x.\n", __func__, __LINE__, val);
+
+ /* anatop registers: pll6_enet, misc1 */
+ anatop_g = syscon_regmap_lookup_by_compatible("fsl,imx6q-anatop");
+ if (IS_ERR(anatop_g))
+ pr_err("failed to find fsl,imx6sx-anatop regmap\n");
+ regmap_read(anatop_g, 0xe0, &val);
+ pr_info("<F> %s <L> %d pll6_enet 0x%08x.\n", __func__, __LINE__, val);
+ regmap_read(anatop_g, 0x160, &val);
+ pr_info("<F> %s <L> %d misc1 0x%08x.\n", __func__, __LINE__, val);
+}
+#endif
+
static int pcie_phy_poll_ack(void __iomem *dbi_base, int exp_val)
{
u32 val;
@@ -408,6 +437,9 @@ static void imx6_pcie_host_init(struct pcie_port *pp)
dw_pcie_setup_rc(pp);
+#ifdef DEBUG
+ pcie_reg_dump(imx6_pcie);
+#endif
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);