1
0
Fork 0

spmi: msm: display the PMIC Arb version (debug)

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
zero-sugar
Jorge Ramirez-Ortiz 2018-01-10 11:33:28 +01:00 committed by Tom Rini
parent 3dde8f2037
commit 210d959294
1 changed files with 12 additions and 0 deletions

View File

@ -17,6 +17,10 @@
DECLARE_GLOBAL_DATA_PTR;
/* PMIC Arbiter configuration registers */
#define PMIC_ARB_VERSION 0x0000
#define PMIC_ARB_VERSION_V2_MIN 0x20010000
#define ARB_CHANNEL_OFFSET(n) (0x4 * (n))
#define SPMI_CH_OFFSET(chnl) ((chnl) * 0x8000)
@ -148,6 +152,8 @@ static int msm_spmi_probe(struct udevice *dev)
struct udevice *parent = dev->parent;
struct msm_spmi_priv *priv = dev_get_priv(dev);
int node = dev_of_offset(dev);
u32 hw_ver;
bool is_v1;
int i;
priv->arb_chnl = devfdt_get_addr(dev);
@ -155,6 +161,12 @@ static int msm_spmi_probe(struct udevice *dev)
dev_of_offset(parent), node, "reg", 1, NULL, false);
priv->spmi_obs = fdtdec_get_addr_size_auto_parent(gd->fdt_blob,
dev_of_offset(parent), node, "reg", 2, NULL, false);
hw_ver = readl(priv->arb_chnl + PMIC_ARB_VERSION - 0x800);
is_v1 = (hw_ver < PMIC_ARB_VERSION_V2_MIN);
dev_dbg(dev, "PMIC Arb Version-%d (0x%x)\n", (is_v1 ? 1 : 2), hw_ver);
if (priv->arb_chnl == FDT_ADDR_T_NONE ||
priv->spmi_core == FDT_ADDR_T_NONE ||
priv->spmi_obs == FDT_ADDR_T_NONE)