Skip to contentSkip to conversation

fpga-manager: altera-ps-spi: preserve nCONFIG state

PATCH In review Moritz Fischer 3 participants 3 messages Apr 15, 2018 – Apr 16, 2018 FPGA manager framework

lore
Share & tools
lore

Moritz Fischer

author maintainer
#0 lore raw

PATCH 1/1 fpga-manager: altera-ps-spi: preserve nCONFIG state

From: Anatolij Gustschin <[email protected]>

If the driver module is loaded when FPGA is configured, the FPGA is reset because nconfig is pulled low (low-active gpio inited with GPIOD_OUT_HIGH activates the signal which means setting its value to low). Init nconfig with GPIOD_OUT_LOW to prevent this.

---

Hi Greg,

as discussed. Can you please take this bugfix for 4.17? I rebased it against next.

Thanks,

Moritz

PS: Sorry for late submission

---
 drivers/fpga/altera-ps-spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/fpga/altera-ps-spi.c +1 -1
index 14f14efdf0d5..06d212a3d49d 100644
@@ -249,7 +249,7 @@ static int altera_ps_probe(struct spi_device *spi)
 
 	conf->data = of_id->data;
 	conf->spi = spi;
-	conf->config = devm_gpiod_get(&spi->dev, "nconfig", GPIOD_OUT_HIGH);
+	conf->config = devm_gpiod_get(&spi->dev, "nconfig", GPIOD_OUT_LOW);
 	if (IS_ERR(conf->config)) {
 		dev_err(&spi->dev, "Failed to get config gpio: %ld\n",
 			PTR_ERR(conf->config));
Signature · 1 line
2.17.0
#1 lore raw
Quoted 10 lines · Moritz Fischer

From: Anatolij Gustschin <[email protected]>

If the driver module is loaded when FPGA is configured, the FPGA is reset because nconfig is pulled low (low-active gpio inited with GPIOD_OUT_HIGH activates the signal which means setting its value to low). Init nconfig with GPIOD_OUT_LOW to prevent this.

Quoted 6 lines

---

Hi Greg,

as discussed. Can you please take this bugfix for 4.17? I rebased it against next.

Is it also needed in any older kernel versions?

thanks,

greg k-h

#2 lore raw

On Mon, 16 Apr 2018 10:10:08 +0200
Greg KH [email protected] wrote:
...

Quoted 4 lines
Quoted 2 lines

as discussed. Can you please take this bugfix for 4.17? I rebased it against next.

Is it also needed in any older kernel versions?

It is needed in versions starting from v4.14.

thanks,

Anatolij