Commit 458a449c authored by Sergii Boryshchenko's avatar Sergii Boryshchenko Committed by Marek Vasut
Browse files

rcar_gen3: drivers: cpld: fix power-off on reset



Method cpld_reset_cpu of bl31 is called from the Linux kernel and uses
GPIO6, GPIO2 pins as SPI bus lines to control the CPLD device. But in the
kernel GPIO6_8 pin are initialized to work in interrupt mode instead of
the input/output mode. This leads to the fact that the SPI bus becomes
non-functional. In this patch we switch the GPIO6_8 pin back to the
input-output mode.
Signed-off-by: default avatarSergii Boryshchenko <sergii.boryshchenko@globallogic.com>
Signed-off-by: default avatarMarek Vasut <marek.vasut+renesas@gmail.com>
parent 47366cb1
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
#define GPIO_INOUTSEL2 0xE6052004 #define GPIO_INOUTSEL2 0xE6052004
#define GPIO_INOUTSEL6 0xE6055404 #define GPIO_INOUTSEL6 0xE6055404
/* General IO/Interrupt Switching Register */
#define GPIO_IOINTSEL6 0xE6055400
/* GPIO/perihperal function select */ /* GPIO/perihperal function select */
#define PFC_GPSR2 0xE6060108 #define PFC_GPSR2 0xE6060108
#define PFC_GPSR6 0xE6060118 #define PFC_GPSR6 0xE6060118
...@@ -93,6 +96,7 @@ static void cpld_init(void) ...@@ -93,6 +96,7 @@ static void cpld_init(void)
gpio_pfc(PFC_GPSR2, SSTBZ); gpio_pfc(PFC_GPSR2, SSTBZ);
gpio_pfc(PFC_GPSR6, MOSI); gpio_pfc(PFC_GPSR6, MOSI);
gpio_set_value(GPIO_IOINTSEL6, SCLK, 0);
gpio_set_value(GPIO_OUTDT6, SCLK, 0); gpio_set_value(GPIO_OUTDT6, SCLK, 0);
gpio_set_value(GPIO_OUTDT2, SSTBZ, 1); gpio_set_value(GPIO_OUTDT2, SSTBZ, 1);
gpio_set_value(GPIO_OUTDT6, MOSI, 0); gpio_set_value(GPIO_OUTDT6, MOSI, 0);
......
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