Commit edf978a5 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'spi/for-5.13' into spi-linus

parents 04045c47 0d7993b2
...@@ -1124,12 +1124,6 @@ static int nxp_fspi_probe(struct platform_device *pdev) ...@@ -1124,12 +1124,6 @@ static int nxp_fspi_probe(struct platform_device *pdev)
goto err_put_ctrl; goto err_put_ctrl;
} }
/* Clear potential interrupts */
reg = fspi_readl(f, f->iobase + FSPI_INTR);
if (reg)
fspi_writel(f, reg, f->iobase + FSPI_INTR);
/* find the resources - controller memory mapped space */ /* find the resources - controller memory mapped space */
if (is_acpi_node(f->dev->fwnode)) if (is_acpi_node(f->dev->fwnode))
res = platform_get_resource(pdev, IORESOURCE_MEM, 1); res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
...@@ -1167,6 +1161,11 @@ static int nxp_fspi_probe(struct platform_device *pdev) ...@@ -1167,6 +1161,11 @@ static int nxp_fspi_probe(struct platform_device *pdev)
} }
} }
/* Clear potential interrupts */
reg = fspi_readl(f, f->iobase + FSPI_INTR);
if (reg)
fspi_writel(f, reg, f->iobase + FSPI_INTR);
/* find the irq */ /* find the irq */
ret = platform_get_irq(pdev, 0); ret = platform_get_irq(pdev, 0);
if (ret < 0) if (ret < 0)
......
...@@ -379,6 +379,10 @@ static int sun6i_spi_transfer_one(struct spi_master *master, ...@@ -379,6 +379,10 @@ static int sun6i_spi_transfer_one(struct spi_master *master,
} }
sun6i_spi_write(sspi, SUN6I_CLK_CTL_REG, reg); sun6i_spi_write(sspi, SUN6I_CLK_CTL_REG, reg);
/* Finally enable the bus - doing so before might raise SCK to HIGH */
reg = sun6i_spi_read(sspi, SUN6I_GBL_CTL_REG);
reg |= SUN6I_GBL_CTL_BUS_ENABLE;
sun6i_spi_write(sspi, SUN6I_GBL_CTL_REG, reg);
/* Setup the transfer now... */ /* Setup the transfer now... */
if (sspi->tx_buf) if (sspi->tx_buf)
...@@ -504,7 +508,7 @@ static int sun6i_spi_runtime_resume(struct device *dev) ...@@ -504,7 +508,7 @@ static int sun6i_spi_runtime_resume(struct device *dev)
} }
sun6i_spi_write(sspi, SUN6I_GBL_CTL_REG, sun6i_spi_write(sspi, SUN6I_GBL_CTL_REG,
SUN6I_GBL_CTL_BUS_ENABLE | SUN6I_GBL_CTL_MASTER | SUN6I_GBL_CTL_TP); SUN6I_GBL_CTL_MASTER | SUN6I_GBL_CTL_TP);
return 0; return 0;
......
...@@ -1118,6 +1118,11 @@ static int tegra_slink_probe(struct platform_device *pdev) ...@@ -1118,6 +1118,11 @@ static int tegra_slink_probe(struct platform_device *pdev)
pm_runtime_put_noidle(&pdev->dev); pm_runtime_put_noidle(&pdev->dev);
goto exit_pm_disable; goto exit_pm_disable;
} }
reset_control_assert(tspi->rst);
udelay(2);
reset_control_deassert(tspi->rst);
tspi->def_command_reg = SLINK_M_S; tspi->def_command_reg = SLINK_M_S;
tspi->def_command2_reg = SLINK_CS_ACTIVE_BETWEEN; tspi->def_command2_reg = SLINK_CS_ACTIVE_BETWEEN;
tegra_slink_writel(tspi, tspi->def_command_reg, SLINK_COMMAND); tegra_slink_writel(tspi, tspi->def_command_reg, SLINK_COMMAND);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment