mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] pinctrl: ingenic: Add X1600 groups for each I2S system clock
@ 2026-10-23 20:42 Olivier Louvignes
  2026-10-23 20:42 ` [PATCH 2/2] pinctrl: ingenic: Add an X1600 group for 18-bit RGB on the top lines Olivier Louvignes
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Olivier Louvignes @ 2026-10-23 20:42 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Paul Cercueil, linux-gpio, linux-mips, linux-kernel, Olivier Louvignes

The X1600 has a system clock (MCLK) pin for each direction: PB22 for
receive, PB26 for transmit. "i2s-sysclk" takes both, which a board that
only plays cannot use when PB22 has another job. Add "i2s-sysclk-rx" and
"i2s-sysclk-tx" for one each.

Used on a HiBy R1, which only plays and has an interrupt input on PB22:
its DAC takes MCLK from "i2s-sysclk-tx".

Signed-off-by: Olivier Louvignes <olivier@mgcrea.io>
---
 drivers/pinctrl/pinctrl-ingenic.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index 1aa6a6dc1209..28e7f1852054 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -2411,6 +2411,8 @@ static int x1600_i2s_data_rx_pins[] = { 0x35, };
 static int x1600_i2s_clk_rx_pins[] = { 0x37, 0x38, };
 static int x1600_i2s_clk_tx_pins[] = { 0x3b, 0x3c, };
 static int x1600_i2s_sysclk_pins[] = { 0x36, 0x3a, };
+static int x1600_i2s_sysclk_rx_pins[] = { 0x36, };
+static int x1600_i2s_sysclk_tx_pins[] = { 0x3a, };
 
 static int x1600_cim_pins[] = {
 	0x14, 0x16, 0x15, 0x18, 0x13,
@@ -2493,6 +2495,8 @@ static const struct group_desc x1600_groups[] = {
 	INGENIC_PIN_GROUP("i2s-clk-rx", x1600_i2s_clk_rx, 0),
 	INGENIC_PIN_GROUP("i2s-clk-tx", x1600_i2s_clk_tx, 0),
 	INGENIC_PIN_GROUP("i2s-sysclk", x1600_i2s_sysclk, 0),
+	INGENIC_PIN_GROUP("i2s-sysclk-rx", x1600_i2s_sysclk_rx, 0),
+	INGENIC_PIN_GROUP("i2s-sysclk-tx", x1600_i2s_sysclk_tx, 0),
 	INGENIC_PIN_GROUP("cim-data", x1600_cim, 2),
 	INGENIC_PIN_GROUP("slcd-8bit", x1600_slcd_8bit, 1),
 	INGENIC_PIN_GROUP("slcd-16bit", x1600_slcd_16bit, 1),
@@ -2539,6 +2543,7 @@ static const char * const x1600_i2c1_groups[] = { "i2c1-data-b-15", "i2c1-data-b
 
 static const char * const x1600_i2s_groups[] = {
 	"i2s-data-tx", "i2s-data-rx", "i2s-clk-rx", "i2s-clk-tx", "i2s-sysclk",
+	"i2s-sysclk-rx", "i2s-sysclk-tx",
 };
 
 static const char * const x1600_cim_groups[] = { "cim-data", };

base-commit: f33a24cc012d34f25bb9942681bd478a1757b806
-- 
2.39.5


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

end of thread, other threads:[~2026-10-25 22:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-23 20:42 [PATCH 1/2] pinctrl: ingenic: Add X1600 groups for each I2S system clock Olivier Louvignes
2026-10-23 20:42 ` [PATCH 2/2] pinctrl: ingenic: Add an X1600 group for 18-bit RGB on the top lines Olivier Louvignes
2026-10-24 17:18   ` H. Nikolaus Schaller
2026-10-25 22:31   ` Paul Cercueil
2026-10-24 17:20 ` [PATCH 1/2] pinctrl: ingenic: Add X1600 groups for each I2S system clock H. Nikolaus Schaller
2026-10-25 22:29 ` Paul Cercueil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®