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: Sergii Boryshchenko <sergii.boryshchenko@globallogic.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
This commit is contained in:
parent
47366cb13c
commit
458a449cfd
|
@ -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)
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue