* [PATCH 0/4] Minor fixes for MediaTek pinctrl driver
@ 2021-03-05 2:21 Weijie Gao
2021-03-05 2:22 ` [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name Weijie Gao
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Weijie Gao @ 2021-03-05 2:21 UTC (permalink / raw)
To: u-boot
This patch series provides fixes for MediaTek pinctrl driver common parts
and mt7629.
Sam Shih (2):
pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name
pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl
Weijie Gao (2):
pinctrl: mediatek: do not probe gpio driver if not enabled
pinctrl: mt7629: add jtag function and pin group
drivers/pinctrl/mediatek/pinctrl-mt7629.c | 7 +++++
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 28 +++++++++++++++----
2 files changed, 30 insertions(+), 5 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name
2021-03-05 2:21 [PATCH 0/4] Minor fixes for MediaTek pinctrl driver Weijie Gao
@ 2021-03-05 2:22 ` Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl Weijie Gao
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Weijie Gao @ 2021-03-05 2:22 UTC (permalink / raw)
To: u-boot
From: Sam Shih <sam.shih@mediatek.com>
This is a bug fix for mtk pinctrl common part. Appearently pins should be
used instead of grps in mtk_get_pin_name().
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
---
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 4dd3f73ead..b700dd98bf 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -219,7 +219,7 @@ static const char *mtk_get_pin_name(struct udevice *dev,
{
struct mtk_pinctrl_priv *priv = dev_get_priv(dev);
- if (!priv->soc->grps[selector].name)
+ if (!priv->soc->pins[selector].name)
return mtk_pinctrl_dummy_name;
return priv->soc->pins[selector].name;
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl
2021-03-05 2:21 [PATCH 0/4] Minor fixes for MediaTek pinctrl driver Weijie Gao
2021-03-05 2:22 ` [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name Weijie Gao
@ 2021-03-05 2:22 ` Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled Weijie Gao
2021-03-05 2:22 ` [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group Weijie Gao
3 siblings, 1 reply; 9+ messages in thread
From: Weijie Gao @ 2021-03-05 2:22 UTC (permalink / raw)
To: u-boot
From: Sam Shih <sam.shih@mediatek.com>
This patch add get_pin_muxing support for mediatek pinctrl drivers
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
---
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index b700dd98bf..b2212c2559 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -232,6 +232,19 @@ static int mtk_get_pins_count(struct udevice *dev)
return priv->soc->npins;
}
+static int mtk_get_pin_muxing(struct udevice *dev, unsigned int selector,
+ char *buf, int size)
+{
+ int val, err;
+
+ err = mtk_hw_get_value(dev, selector, PINCTRL_PIN_REG_MODE, &val);
+ if (err)
+ return err;
+
+ snprintf(buf, size, "Aux Func.%d", val);
+ return 0;
+}
+
static const char *mtk_get_group_name(struct udevice *dev,
unsigned int selector)
{
@@ -512,6 +525,7 @@ static int mtk_pinconf_group_set(struct udevice *dev,
const struct pinctrl_ops mtk_pinctrl_ops = {
.get_pins_count = mtk_get_pins_count,
.get_pin_name = mtk_get_pin_name,
+ .get_pin_muxing = mtk_get_pin_muxing,
.get_groups_count = mtk_get_groups_count,
.get_group_name = mtk_get_group_name,
.get_functions_count = mtk_get_functions_count,
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled
2021-03-05 2:21 [PATCH 0/4] Minor fixes for MediaTek pinctrl driver Weijie Gao
2021-03-05 2:22 ` [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name Weijie Gao
2021-03-05 2:22 ` [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl Weijie Gao
@ 2021-03-05 2:22 ` Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group Weijie Gao
3 siblings, 1 reply; 9+ messages in thread
From: Weijie Gao @ 2021-03-05 2:22 UTC (permalink / raw)
To: u-boot
The mtk pinctrl driver is a combination driver with support for both
pinctrl and gpio. When this driver is used in SPL, gpio support may not be
enabled, and this will result in a compilation error.
To fix this, macros are added to make sure gpio related code will only be
compiled when gpio support is enabled.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index b2212c2559..264c6458c9 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -540,6 +540,8 @@ const struct pinctrl_ops mtk_pinctrl_ops = {
.set_state = pinctrl_generic_set_state,
};
+#if CONFIG_IS_ENABLED(DM_GPIO) || \
+ (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_GPIO_SUPPORT))
static int mtk_gpio_get(struct udevice *dev, unsigned int off)
{
int val, err;
@@ -647,12 +649,13 @@ static int mtk_gpiochip_register(struct udevice *parent)
return 0;
}
+#endif
int mtk_pinctrl_common_probe(struct udevice *dev,
struct mtk_pinctrl_soc *soc)
{
struct mtk_pinctrl_priv *priv = dev_get_priv(dev);
- int ret;
+ int ret = 0;
priv->base = dev_read_addr_ptr(dev);
if (!priv->base)
@@ -660,9 +663,10 @@ int mtk_pinctrl_common_probe(struct udevice *dev,
priv->soc = soc;
+#if CONFIG_IS_ENABLED(DM_GPIO) || \
+ (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_GPIO_SUPPORT))
ret = mtk_gpiochip_register(dev);
- if (ret)
- return ret;
+#endif
- return 0;
+ return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group
2021-03-05 2:21 [PATCH 0/4] Minor fixes for MediaTek pinctrl driver Weijie Gao
` (2 preceding siblings ...)
2021-03-05 2:22 ` [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled Weijie Gao
@ 2021-03-05 2:22 ` Weijie Gao
2021-03-20 23:37 ` Tom Rini
3 siblings, 1 reply; 9+ messages in thread
From: Weijie Gao @ 2021-03-05 2:22 UTC (permalink / raw)
To: u-boot
The EPHY LEDs of mt7629 can be used as JTAG. This patch adds the jtag pin
group to the pinctrl driver.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/pinctrl/mediatek/pinctrl-mt7629.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7629.c b/drivers/pinctrl/mediatek/pinctrl-mt7629.c
index 7ce64fde25..5d4bec2234 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7629.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7629.c
@@ -201,6 +201,10 @@ static int mt7629_wf2g_led_funcs[] = { 1, };
static int mt7629_wf5g_led_pins[] = { 18, };
static int mt7629_wf5g_led_funcs[] = { 1, };
+/* LED for EPHY used as JTAG */
+static int mt7629_ephy_leds_jtag_pins[] = { 12, 13, 14, 15, 16, };
+static int mt7629_ephy_leds_jtag_funcs[] = { 7, 7, 7, 7, 7, };
+
/* Watchdog */
static int mt7629_watchdog_pins[] = { 11, };
static int mt7629_watchdog_funcs[] = { 1, };
@@ -297,6 +301,7 @@ static const struct mtk_group_desc mt7629_groups[] = {
PINCTRL_PIN_GROUP("ephy_led2", mt7629_ephy_led2),
PINCTRL_PIN_GROUP("ephy_led3", mt7629_ephy_led3),
PINCTRL_PIN_GROUP("ephy_led4", mt7629_ephy_led4),
+ PINCTRL_PIN_GROUP("ephy_leds_jtag", mt7629_ephy_leds_jtag),
PINCTRL_PIN_GROUP("wf2g_led", mt7629_wf2g_led),
PINCTRL_PIN_GROUP("wf5g_led", mt7629_wf5g_led),
PINCTRL_PIN_GROUP("watchdog", mt7629_watchdog),
@@ -364,6 +369,7 @@ static const char *const mt7629_uart_groups[] = { "uart1_0_txd_rxd",
static const char *const mt7629_wdt_groups[] = { "watchdog", };
static const char *const mt7629_wifi_groups[] = { "wf0_5g", "wf0_2g", };
static const char *const mt7629_flash_groups[] = { "snfi", "spi_nor" };
+static const char *const mt7629_jtag_groups[] = { "ephy_leds_jtag" };
static const struct mtk_function_desc mt7629_functions[] = {
{"eth", mt7629_ethernet_groups, ARRAY_SIZE(mt7629_ethernet_groups)},
@@ -376,6 +382,7 @@ static const struct mtk_function_desc mt7629_functions[] = {
{"watchdog", mt7629_wdt_groups, ARRAY_SIZE(mt7629_wdt_groups)},
{"wifi", mt7629_wifi_groups, ARRAY_SIZE(mt7629_wifi_groups)},
{"flash", mt7629_flash_groups, ARRAY_SIZE(mt7629_flash_groups)},
+ {"jtag", mt7629_jtag_groups, ARRAY_SIZE(mt7629_jtag_groups)},
};
static struct mtk_pinctrl_soc mt7629_data = {
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name
2021-03-05 2:22 ` [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name Weijie Gao
@ 2021-03-20 23:36 ` Tom Rini
0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2021-03-20 23:36 UTC (permalink / raw)
To: u-boot
On Fri, Mar 05, 2021 at 10:22:11AM +0800, Weijie Gao wrote:
> From: Sam Shih <sam.shih@mediatek.com>
>
> This is a bug fix for mtk pinctrl common part. Appearently pins should be
> used instead of grps in mtk_get_pin_name().
>
> Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Applied to u-boot/next, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210320/53870e9a/attachment.sig>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl
2021-03-05 2:22 ` [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl Weijie Gao
@ 2021-03-20 23:36 ` Tom Rini
0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2021-03-20 23:36 UTC (permalink / raw)
To: u-boot
On Fri, Mar 05, 2021 at 10:22:19AM +0800, Weijie Gao wrote:
> From: Sam Shih <sam.shih@mediatek.com>
>
> This patch add get_pin_muxing support for mediatek pinctrl drivers
>
> Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Applied to u-boot/next, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210320/a9c103ce/attachment.sig>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled
2021-03-05 2:22 ` [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled Weijie Gao
@ 2021-03-20 23:36 ` Tom Rini
0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2021-03-20 23:36 UTC (permalink / raw)
To: u-boot
On Fri, Mar 05, 2021 at 10:22:26AM +0800, Weijie Gao wrote:
> The mtk pinctrl driver is a combination driver with support for both
> pinctrl and gpio. When this driver is used in SPL, gpio support may not be
> enabled, and this will result in a compilation error.
>
> To fix this, macros are added to make sure gpio related code will only be
> compiled when gpio support is enabled.
>
> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Applied to u-boot/next, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210320/7060dfbf/attachment.sig>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group
2021-03-05 2:22 ` [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group Weijie Gao
@ 2021-03-20 23:37 ` Tom Rini
0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2021-03-20 23:37 UTC (permalink / raw)
To: u-boot
On Fri, Mar 05, 2021 at 10:22:31AM +0800, Weijie Gao wrote:
> The EPHY LEDs of mt7629 can be used as JTAG. This patch adds the jtag pin
> group to the pinctrl driver.
>
> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Applied to u-boot/next, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210320/51f2f5a6/attachment.sig>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-03-20 23:37 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-05 2:21 [PATCH 0/4] Minor fixes for MediaTek pinctrl driver Weijie Gao
2021-03-05 2:22 ` [PATCH 1/4] pinctrl: mediatek: fix wrong assignment in mtk_get_pin_name Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 2/4] pinctrl: mediatek: add get_pin_muxing ops for mediatek pinctrl Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 3/4] pinctrl: mediatek: do not probe gpio driver if not enabled Weijie Gao
2021-03-20 23:36 ` Tom Rini
2021-03-05 2:22 ` [PATCH 4/4] pinctrl: mt7629: add jtag function and pin group Weijie Gao
2021-03-20 23:37 ` Tom Rini
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.