All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] pinctrl: k210: Fix inverted IE and OE for I2C
@ 2020-11-13 13:43 Sean Anderson
  2020-11-13 13:43 ` [PATCH v2 2/2] pinctrl: k210: Rename power domains to match datasheet Sean Anderson
  0 siblings, 1 reply; 2+ messages in thread
From: Sean Anderson @ 2020-11-13 13:43 UTC (permalink / raw)
  To: u-boot

I2C and SCCB previously shared defaults. However, SCCB needs OE_INV and
IE_INV set, but I2C cannot have those bits set. This adds a separate
default for SCCB.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reported-by: Damien Le Moal <Damien.LeMoal@wdc.com>
---

Changes in v2:
- Fix build error

 drivers/pinctrl/pinctrl-kendryte.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-kendryte.c b/drivers/pinctrl/pinctrl-kendryte.c
index 5ad049d955..dac3800cab 100644
--- a/drivers/pinctrl/pinctrl-kendryte.c
+++ b/drivers/pinctrl/pinctrl-kendryte.c
@@ -55,8 +55,9 @@
 
 #define K210_PC_MODE_IN   (K210_PC_IE | K210_PC_ST)
 #define K210_PC_MODE_OUT  (K210_PC_DRIVE_7 | K210_PC_OE)
-#define K210_PC_MODE_I2C  (K210_PC_MODE_IN | K210_PC_IE_INV | K210_PC_SL | \
-			   K210_PC_OE | K210_PC_OE_INV | K210_PC_PU)
+#define K210_PC_MODE_I2C  (K210_PC_MODE_IN | K210_PC_SL | K210_PC_OE | \
+			   K210_PC_PU)
+#define K210_PC_MODE_SCCB (K210_PC_MODE_I2C | K210_PC_OE_INV | K210_PC_IE_INV)
 #define K210_PC_MODE_SPI  (K210_PC_MODE_IN | K210_PC_IE_INV | \
 			   K210_PC_MODE_OUT | K210_PC_OE_INV)
 #define K210_PC_MODE_GPIO (K210_PC_MODE_IN | K210_PC_MODE_OUT)
@@ -176,6 +177,7 @@ enum k210_pc_mode_id {
 	K210_PC_DEFAULT_IN_TIE,
 	K210_PC_DEFAULT_OUT,
 	K210_PC_DEFAULT_I2C,
+	K210_PC_DEFAULT_SCCB,
 	K210_PC_DEFAULT_SPI,
 	K210_PC_DEFAULT_GPIO,
 	K210_PC_DEFAULT_INT13,
@@ -189,6 +191,7 @@ static const u32 k210_pc_mode_id_to_mode[] = {
 	[K210_PC_DEFAULT_IN_TIE] = K210_PC_MODE_IN,
 	DEFAULT(OUT),
 	DEFAULT(I2C),
+	DEFAULT(SCCB),
 	DEFAULT(SPI),
 	DEFAULT(GPIO),
 	[K210_PC_DEFAULT_INT13] = K210_PC_MODE_IN | K210_PC_PU,
@@ -362,8 +365,8 @@ static const struct k210_pcf_info k210_pcf_infos[] = {
 	FUNC(DVP_D5,         IN),
 	FUNC(DVP_D6,         IN),
 	FUNC(DVP_D7,         IN),
-	FUNC(SCCB_SCLK,      I2C),
-	FUNC(SCCB_SDA,       I2C),
+	FUNC(SCCB_SCLK,      SCCB),
+	FUNC(SCCB_SDA,       SCCB),
 	FUNC(UART1_CTS,      IN),
 	FUNC(UART1_DSR,      IN),
 	FUNC(UART1_DCD,      IN),
-- 
2.29.2

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

* [PATCH v2 2/2] pinctrl: k210: Rename power domains to match datasheet
  2020-11-13 13:43 [PATCH v2 1/2] pinctrl: k210: Fix inverted IE and OE for I2C Sean Anderson
@ 2020-11-13 13:43 ` Sean Anderson
  0 siblings, 0 replies; 2+ messages in thread
From: Sean Anderson @ 2020-11-13 13:43 UTC (permalink / raw)
  To: u-boot

This renames power domains to match the names on the k210 datasheet.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reported-by: Damien Le Moal <Damien.LeMoal@wdc.com>
Reviewed-by: Rick Chen <rick@andestech.com>
---

(no changes since v1)

 .../pinctrl/kendryte,k210-fpioa.txt                    |  2 +-
 drivers/pinctrl/pinctrl-kendryte.c                     | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt b/doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
index 06a9cc060f..73871f5930 100644
--- a/doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
+++ b/doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
@@ -18,7 +18,7 @@ Pin configuration nodes are documented in pinctrl-bindings.txt
 Required properties for pin-configuration nodes or sub-nodes are:
 - groups: list of power groups to which the configuration applies. Valid groups
   are:
-	A0, A1, A2, B0, B1, B2, C0, C1
+	A0, A1, A2, B3, B4, B5, C6, C7
   (either this or "pinmux" must be specified)
 - pinmux: integer array representing pin multiplexing configuration. In addition
   to the 256 standard functions, each pin can also output the direction
diff --git a/drivers/pinctrl/pinctrl-kendryte.c b/drivers/pinctrl/pinctrl-kendryte.c
index dac3800cab..04162016cc 100644
--- a/drivers/pinctrl/pinctrl-kendryte.c
+++ b/drivers/pinctrl/pinctrl-kendryte.c
@@ -153,11 +153,11 @@ static const char k210_pc_group_names[][3] = {
 	[0] = "A0",
 	[1] = "A1",
 	[2] = "A2",
-	[3] = "B0",
-	[4] = "B1",
-	[5] = "B2",
-	[6] = "C0",
-	[7] = "C1",
+	[3] = "B3",
+	[4] = "B4",
+	[5] = "B5",
+	[6] = "C6",
+	[7] = "C7",
 };
 
 static int k210_pc_get_groups_count(struct udevice *dev)
-- 
2.29.2

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

end of thread, other threads:[~2020-11-13 13:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 13:43 [PATCH v2 1/2] pinctrl: k210: Fix inverted IE and OE for I2C Sean Anderson
2020-11-13 13:43 ` [PATCH v2 2/2] pinctrl: k210: Rename power domains to match datasheet Sean Anderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.