soc: qcom: Add support to enable eud if enabled in xbl
If eud driver is enabled in xbl, there was a explicit need to enable eud from hlos side also. This change enables eud if eud_mode_manager2 register is set. Change-Id: I4f99d2fddb36f196514296302c67b75e73545632 Signed-off-by: Komal Bajaj <kbajaj@codeaurora.org>
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
parent
a80a92ab40
commit
85b5da7b1c
@@ -92,6 +92,14 @@ static int enable;
|
||||
static bool eud_ready;
|
||||
static struct platform_device *eud_private;
|
||||
|
||||
static int check_eud_mode_mgr2(struct eud_chip *chip)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
val = scm_io_read(chip->eud_mode_mgr2_phys_base);
|
||||
return val & BIT(0);
|
||||
}
|
||||
|
||||
static void enable_eud(struct platform_device *pdev)
|
||||
{
|
||||
struct eud_chip *priv = platform_get_drvdata(pdev);
|
||||
@@ -105,7 +113,7 @@ static void enable_eud(struct platform_device *pdev)
|
||||
priv->eud_reg_base + EUD_REG_INT1_EN_MASK);
|
||||
|
||||
/* Enable secure eud if supported */
|
||||
if (priv->secure_eud_en) {
|
||||
if (priv->secure_eud_en && !check_eud_mode_mgr2(priv)) {
|
||||
ret = scm_io_write(priv->eud_mode_mgr2_phys_base +
|
||||
EUD_REG_EUD_EN2, EUD_ENABLE_CMD);
|
||||
if (ret)
|
||||
@@ -629,6 +637,9 @@ static int msm_eud_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
if (chip->secure_eud_en && check_eud_mode_mgr2(chip))
|
||||
enable = 1;
|
||||
|
||||
ret = uart_add_one_port(&eud_uart_driver, port);
|
||||
if (!ret) {
|
||||
dev_err(chip->dev, "failed to add uart port!\n");
|
||||
|
||||
Reference in New Issue
Block a user