u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] sunxi: SPI: fix pinmuxing for Allwinner H6 SoCs
@ 2021-12-12 19:29 Daniel Wagenknecht
  2021-12-14 23:54 ` Andre Przywara
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Wagenknecht @ 2021-12-12 19:29 UTC (permalink / raw)
  To: u-boot; +Cc: Daniel Wagenknecht, Andre Przywara, Jagan Teki

The driver for SPI0 on Allwinner H6 SoCs did not use the correct define
SUN50I_GPC_SPI0 for the pin function, but one for a different Allwinner
SoC series.

Fix the conditionals to use the correct define for H6 SoCs. This matches
the conditional logic in the SPL spi driver.

Tested by probing the spi-flash on a pine64_h64-model-b board with
adapted device-tree (disable mmc2, enable spi0).

Signed-off-by: Daniel Wagenknecht <dwagenk@mailbox.org>
---
 drivers/spi/spi-sunxi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c
index bc2f544e86..6a8ee8d542 100644
--- a/drivers/spi/spi-sunxi.c
+++ b/drivers/spi/spi-sunxi.c
@@ -249,7 +249,8 @@ static int sun4i_spi_parse_pins(struct udevice *dev)
 			if (pin < 0)
 				break;
 
-			if (IS_ENABLED(CONFIG_MACH_SUN50I))
+			if (IS_ENABLED(CONFIG_MACH_SUN50I) ||
+			    IS_ENABLED(CONFIG_MACH_SUN50I_H6))
 				sunxi_gpio_set_cfgpin(pin, SUN50I_GPC_SPI0);
 			else
 				sunxi_gpio_set_cfgpin(pin, SUNXI_GPC_SPI0);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [PATCH 0/1] fix SPI pinmuxing for Allwinner H6 SoCs
@ 2021-12-14 20:53 Daniel Wagenknecht
  2021-12-14 20:53 ` [PATCH 1/1] sunxi: SPI: fix " Daniel Wagenknecht
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Wagenknecht @ 2021-12-14 20:53 UTC (permalink / raw)
  To: u-boot; +Cc: Daniel Wagenknecht, Andre Przywara, Jagan Teki

The following patch fixes the SPI not working with H6 SoCs. I encountered this
on a pine H64 model B board when trying to configure u-boot to work with the
on-board SPI flash. Register inspection showed that the pins were configured
for the wrong function '0b011' which is the SD/eMMC interface instead of
'0b100' which is needed for SPI. See Allwinner H6 datasheet section '3.21.5.1 PC
Configuration Register 0'.

I also saw that a new config symbol CONFIG_SUN50I_GEN_H6 was introduced and the
SPI driver could probably be converted to that one to also work for H616 SoCs.
Since I don't have any Allwinner H616 based board available for testing I
didn't approach this.

The SPL SPI driver is not effected by this, since the correct conditional logic
was already implemented there.

Daniel Wagenknecht (1):
  sunxi: SPI: fix pinmuxing for Allwinner H6 SoCs

 drivers/spi/spi-sunxi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
2.31.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-16 19:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-12 19:29 [PATCH 1/1] sunxi: SPI: fix pinmuxing for Allwinner H6 SoCs Daniel Wagenknecht
2021-12-14 23:54 ` Andre Przywara
2021-12-16 19:38   ` Daniel Wagenknecht
2021-12-16 19:42   ` [PATCH v2] " Daniel Wagenknecht
2021-12-14 20:53 [PATCH 0/1] fix SPI " Daniel Wagenknecht
2021-12-14 20:53 ` [PATCH 1/1] sunxi: SPI: fix " Daniel Wagenknecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).