diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2020-03-17 19:33:24 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-03-19 10:13:04 +0300 |
commit | 5c8f0f68acf5ab6cf1229a3fd852883291378bbd (patch) | |
tree | fd81d616f281a0dade3a0589098d54eaa55b262d /drivers/soundwire/cadence_master.c | |
parent | b62e76cf3958ae23b5c844738990c5cf8efce8e4 (diff) | |
download | linux-5c8f0f68acf5ab6cf1229a3fd852883291378bbd.tar.xz |
soundwire: cadence: enable NORMAL operation in cdns_init()
Follow recommended programming sequences, this needs to be enabled
before the reset sequence.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200317163329.25501-13-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire/cadence_master.c')
-rw-r--r-- | drivers/soundwire/cadence_master.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 9afce1f32076..6adf41e3fdcf 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -842,11 +842,6 @@ int sdw_cdns_exit_reset(struct sdw_cdns *cdns) CDNS_MCP_CONTROL_HW_RST, CDNS_MCP_CONTROL_HW_RST); - /* enable bus operations with clock and data */ - cdns_updatel(cdns, CDNS_MCP_CONFIG, - CDNS_MCP_CONFIG_OP, - CDNS_MCP_CONFIG_OP_NORMAL); - /* commit changes */ return cdns_config_update(cdns); } @@ -1097,6 +1092,10 @@ int sdw_cdns_init(struct sdw_cdns *cdns) /* Configure mcp config */ val = cdns_readl(cdns, CDNS_MCP_CONFIG); + /* enable bus operations with clock and data */ + val &= ~CDNS_MCP_CONFIG_OP; + val |= CDNS_MCP_CONFIG_OP_NORMAL; + /* Set cmd mode for Tx and Rx cmds */ val &= ~CDNS_MCP_CONFIG_CMD; |