-
Notifications
You must be signed in to change notification settings - Fork 19.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mediatek: filogic: improve pinctrl drivers
Set correct pull-type data and add additional uart groups for MT7981. Assign functions to configure pin bias for MT7986. Signed-off-by: Daniel Golle <[email protected]>
- Loading branch information
Showing
5 changed files
with
214 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
76 changes: 76 additions & 0 deletions
76
.../linux/mediatek/patches-6.1/217-v6.5-pinctrl-mediatek-fix-pull_type-data-for-MT7981.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
From 8f6f16fe1553ce63edfb98a39ef9d4754a0c39bf Mon Sep 17 00:00:00 2001 | ||
From: Daniel Golle <[email protected]> | ||
Date: Fri, 18 Aug 2023 04:02:35 +0100 | ||
Subject: [PATCH] pinctrl: mediatek: fix pull_type data for MT7981 | ||
|
||
MediaTek has released pull_type data for MT7981 in their SDK. | ||
Use it and set functions to configure pin bias. | ||
|
||
Fixes: 6c83b2d94fcc ("pinctrl: add mt7981 pinctrl driver") | ||
Signed-off-by: Daniel Golle <[email protected]> | ||
Link: https://lore.kernel.org/r/7bcc8ead25dbfabc7f5a85d066224a926fbb4941.1692327317.git.daniel@makrotopia.org | ||
Signed-off-by: Linus Walleij <[email protected]> | ||
--- | ||
drivers/pinctrl/mediatek/pinctrl-mt7981.c | 44 +++++++---------------- | ||
1 file changed, 13 insertions(+), 31 deletions(-) | ||
|
||
--- a/drivers/pinctrl/mediatek/pinctrl-mt7981.c | ||
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7981.c | ||
@@ -457,37 +457,15 @@ static const unsigned int mt7981_pull_ty | ||
MTK_PULL_PUPD_R1R0_TYPE,/*34*/ MTK_PULL_PUPD_R1R0_TYPE,/*35*/ | ||
MTK_PULL_PUPD_R1R0_TYPE,/*36*/ MTK_PULL_PUPD_R1R0_TYPE,/*37*/ | ||
MTK_PULL_PUPD_R1R0_TYPE,/*38*/ MTK_PULL_PUPD_R1R0_TYPE,/*39*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*40*/ MTK_PULL_PUPD_R1R0_TYPE,/*41*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*42*/ MTK_PULL_PUPD_R1R0_TYPE,/*43*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*44*/ MTK_PULL_PUPD_R1R0_TYPE,/*45*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*46*/ MTK_PULL_PUPD_R1R0_TYPE,/*47*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*48*/ MTK_PULL_PUPD_R1R0_TYPE,/*49*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*50*/ MTK_PULL_PUPD_R1R0_TYPE,/*51*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*52*/ MTK_PULL_PUPD_R1R0_TYPE,/*53*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*54*/ MTK_PULL_PUPD_R1R0_TYPE,/*55*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*56*/ MTK_PULL_PUPD_R1R0_TYPE,/*57*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*58*/ MTK_PULL_PUPD_R1R0_TYPE,/*59*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*60*/ MTK_PULL_PUPD_R1R0_TYPE,/*61*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*62*/ MTK_PULL_PUPD_R1R0_TYPE,/*63*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*64*/ MTK_PULL_PUPD_R1R0_TYPE,/*65*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*66*/ MTK_PULL_PUPD_R1R0_TYPE,/*67*/ | ||
- MTK_PULL_PUPD_R1R0_TYPE,/*68*/ MTK_PULL_PU_PD_TYPE,/*69*/ | ||
- MTK_PULL_PU_PD_TYPE,/*70*/ MTK_PULL_PU_PD_TYPE,/*71*/ | ||
- MTK_PULL_PU_PD_TYPE,/*72*/ MTK_PULL_PU_PD_TYPE,/*73*/ | ||
- MTK_PULL_PU_PD_TYPE,/*74*/ MTK_PULL_PU_PD_TYPE,/*75*/ | ||
- MTK_PULL_PU_PD_TYPE,/*76*/ MTK_PULL_PU_PD_TYPE,/*77*/ | ||
- MTK_PULL_PU_PD_TYPE,/*78*/ MTK_PULL_PU_PD_TYPE,/*79*/ | ||
- MTK_PULL_PU_PD_TYPE,/*80*/ MTK_PULL_PU_PD_TYPE,/*81*/ | ||
- MTK_PULL_PU_PD_TYPE,/*82*/ MTK_PULL_PU_PD_TYPE,/*83*/ | ||
- MTK_PULL_PU_PD_TYPE,/*84*/ MTK_PULL_PU_PD_TYPE,/*85*/ | ||
- MTK_PULL_PU_PD_TYPE,/*86*/ MTK_PULL_PU_PD_TYPE,/*87*/ | ||
- MTK_PULL_PU_PD_TYPE,/*88*/ MTK_PULL_PU_PD_TYPE,/*89*/ | ||
- MTK_PULL_PU_PD_TYPE,/*90*/ MTK_PULL_PU_PD_TYPE,/*91*/ | ||
- MTK_PULL_PU_PD_TYPE,/*92*/ MTK_PULL_PU_PD_TYPE,/*93*/ | ||
- MTK_PULL_PU_PD_TYPE,/*94*/ MTK_PULL_PU_PD_TYPE,/*95*/ | ||
- MTK_PULL_PU_PD_TYPE,/*96*/ MTK_PULL_PU_PD_TYPE,/*97*/ | ||
- MTK_PULL_PU_PD_TYPE,/*98*/ MTK_PULL_PU_PD_TYPE,/*99*/ | ||
- MTK_PULL_PU_PD_TYPE,/*100*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*40*/ MTK_PULL_PU_PD_TYPE,/*41*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*42*/ MTK_PULL_PU_PD_TYPE,/*43*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*44*/ MTK_PULL_PU_PD_TYPE,/*45*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*46*/ MTK_PULL_PU_PD_TYPE,/*47*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*48*/ MTK_PULL_PU_PD_TYPE,/*49*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*50*/ MTK_PULL_PU_PD_TYPE,/*51*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*52*/ MTK_PULL_PU_PD_TYPE,/*53*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*54*/ MTK_PULL_PU_PD_TYPE,/*55*/ | ||
+ MTK_PULL_PU_PD_TYPE,/*56*/ | ||
}; | ||
|
||
static const struct mtk_pin_reg_calc mt7981_reg_cals[] = { | ||
@@ -1014,6 +992,10 @@ static struct mtk_pin_soc mt7981_data = | ||
.ies_present = false, | ||
.base_names = mt7981_pinctrl_register_base_names, | ||
.nbase_names = ARRAY_SIZE(mt7981_pinctrl_register_base_names), | ||
+ .bias_disable_set = mtk_pinconf_bias_disable_set, | ||
+ .bias_disable_get = mtk_pinconf_bias_disable_get, | ||
+ .bias_set = mtk_pinconf_bias_set, | ||
+ .bias_get = mtk_pinconf_bias_get, | ||
.pull_type = mt7981_pull_type, | ||
.bias_set_combo = mtk_pinconf_bias_set_combo, | ||
.bias_get_combo = mtk_pinconf_bias_get_combo, |
65 changes: 65 additions & 0 deletions
65
...t/linux/mediatek/patches-6.1/218-pinctrl-mediatek-mt7981-add-additional-uart-groups.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
From 11db447f257231e08065989100311df57b7f1f1c Mon Sep 17 00:00:00 2001 | ||
From: Daniel Golle <[email protected]> | ||
Date: Sat, 26 Aug 2023 21:06:14 +0100 | ||
Subject: [PATCH] pinctrl: mediatek: mt7981: add additional uart groups | ||
|
||
Add uart2_0_tx_rx (pin 4, 5) and uart1_2 (pins 9, 10) groups. | ||
|
||
Signed-off-by: Daniel Golle <[email protected]> | ||
--- | ||
drivers/pinctrl/mediatek/pinctrl-mt7981.c | 16 +++++++++++++--- | ||
1 file changed, 13 insertions(+), 3 deletions(-) | ||
|
||
--- a/drivers/pinctrl/mediatek/pinctrl-mt7981.c | ||
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7981.c | ||
@@ -611,6 +611,9 @@ static int mt7981_wo0_jtag_1_funcs[] = { | ||
static int mt7981_uart2_0_pins[] = { 4, 5, 6, 7, }; | ||
static int mt7981_uart2_0_funcs[] = { 3, 3, 3, 3, }; | ||
|
||
+static int mt7981_uart2_0_tx_rx_pins[] = { 4, 5, }; | ||
+static int mt7981_uart2_0_tx_rx_funcs[] = { 3, 3, }; | ||
+ | ||
/* GBE_LED0 */ | ||
static int mt7981_gbe_led0_pins[] = { 8, }; | ||
static int mt7981_gbe_led0_funcs[] = { 3, }; | ||
@@ -731,6 +734,9 @@ static int mt7981_uart1_0_funcs[] = { 4, | ||
static int mt7981_uart1_1_pins[] = { 26, 27, 28, 29, }; | ||
static int mt7981_uart1_1_funcs[] = { 2, 2, 2, 2, }; | ||
|
||
+static int mt7981_uart1_2_pins[] = { 9, 10, }; | ||
+static int mt7981_uart1_2_funcs[] = { 2, 2, }; | ||
+ | ||
/* UART2 */ | ||
static int mt7981_uart2_1_pins[] = { 22, 23, 24, 25, }; | ||
static int mt7981_uart2_1_funcs[] = { 3, 3, 3, 3, }; | ||
@@ -805,6 +811,8 @@ static const struct group_desc mt7981_gr | ||
PINCTRL_PIN_GROUP("wo0_jtag_0", mt7981_wo0_jtag_0), | ||
/* @GPIO(4,7) WM_JTAG(3) */ | ||
PINCTRL_PIN_GROUP("uart2_0", mt7981_uart2_0), | ||
+ /* @GPIO(4,5) WM_JTAG(4) */ | ||
+ PINCTRL_PIN_GROUP("uart2_0_tx_rx", mt7981_uart2_0_tx_rx), | ||
/* @GPIO(8) GBE_LED0(3) */ | ||
PINCTRL_PIN_GROUP("gbe_led0", mt7981_gbe_led0), | ||
/* @GPIO(4,6) PTA_EXT(4) */ | ||
@@ -861,6 +869,8 @@ static const struct group_desc mt7981_gr | ||
PINCTRL_PIN_GROUP("uart1_0", mt7981_uart1_0), | ||
/* @GPIO(26,29): UART1(2) */ | ||
PINCTRL_PIN_GROUP("uart1_1", mt7981_uart1_1), | ||
+ /* @GPIO(9,10): UART1(2) */ | ||
+ PINCTRL_PIN_GROUP("uart1_2", mt7981_uart1_2), | ||
/* @GPIO(22,25): UART1(3) */ | ||
PINCTRL_PIN_GROUP("uart2_1", mt7981_uart2_1), | ||
/* @GPIO(22,24) PTA_EXT(4) */ | ||
@@ -922,9 +932,9 @@ static const struct group_desc mt7981_gr | ||
*/ | ||
static const char *mt7981_wa_aice_groups[] = { "wa_aice1", "wa_aice2", "wm_aice1_1", | ||
"wa_aice3", "wm_aice1_2", }; | ||
-static const char *mt7981_uart_groups[] = { "wm_uart_0", "uart2_0", | ||
- "net_wo0_uart_txd_0", "net_wo0_uart_txd_1", "net_wo0_uart_txd_2", | ||
- "uart1_0", "uart1_1", "uart2_1", "wm_aurt_1", "wm_aurt_2", "uart0", }; | ||
+static const char *mt7981_uart_groups[] = { "net_wo0_uart_txd_0", "net_wo0_uart_txd_1", | ||
+ "net_wo0_uart_txd_2", "uart0", "uart1_0", "uart1_1", "uart1_2", "uart2_0", | ||
+ "uart2_0_tx_rx", "uart2_1", "wm_uart_0", "wm_aurt_1", "wm_aurt_2", }; | ||
static const char *mt7981_dfd_groups[] = { "dfd", "dfd_ntrst", }; | ||
static const char *mt7981_wdt_groups[] = { "watchdog", "watchdog1", }; | ||
static const char *mt7981_pcie_groups[] = { "pcie_pereset", "pcie_clk", "pcie_wake", }; |
41 changes: 41 additions & 0 deletions
41
...linux/mediatek/patches-6.1/219-pinctrl-mediatek-assign-functions-to-configure-pin-b.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
From 0d8387fba9f151220e48dc3dcdc2335539708f13 Mon Sep 17 00:00:00 2001 | ||
From: Daniel Golle <[email protected]> | ||
Date: Fri, 18 Aug 2023 04:03:26 +0100 | ||
Subject: [PATCH] pinctrl: mediatek: assign functions to configure pin bias on | ||
MT7986 | ||
|
||
Assign bias_disable_get/set and bias_get/set functions to allow | ||
configuring pin bias on MT7986. | ||
|
||
Fixes: 2c58d8dc9cd0 ("pinctrl: mediatek: add pull_type attribute for mediatek MT7986 SoC") | ||
Signed-off-by: Daniel Golle <[email protected]> | ||
Link: https://lore.kernel.org/r/47f72372354312a839b9337e09476aadcc206e8b.1692327317.git.daniel@makrotopia.org | ||
Signed-off-by: Linus Walleij <[email protected]> | ||
--- | ||
drivers/pinctrl/mediatek/pinctrl-mt7986.c | 8 ++++++++ | ||
1 file changed, 8 insertions(+) | ||
|
||
--- a/drivers/pinctrl/mediatek/pinctrl-mt7986.c | ||
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7986.c | ||
@@ -922,6 +922,10 @@ static struct mtk_pin_soc mt7986a_data = | ||
.ies_present = false, | ||
.base_names = mt7986_pinctrl_register_base_names, | ||
.nbase_names = ARRAY_SIZE(mt7986_pinctrl_register_base_names), | ||
+ .bias_disable_set = mtk_pinconf_bias_disable_set, | ||
+ .bias_disable_get = mtk_pinconf_bias_disable_get, | ||
+ .bias_set = mtk_pinconf_bias_set, | ||
+ .bias_get = mtk_pinconf_bias_get, | ||
.pull_type = mt7986_pull_type, | ||
.bias_set_combo = mtk_pinconf_bias_set_combo, | ||
.bias_get_combo = mtk_pinconf_bias_get_combo, | ||
@@ -944,6 +948,10 @@ static struct mtk_pin_soc mt7986b_data = | ||
.ies_present = false, | ||
.base_names = mt7986_pinctrl_register_base_names, | ||
.nbase_names = ARRAY_SIZE(mt7986_pinctrl_register_base_names), | ||
+ .bias_disable_set = mtk_pinconf_bias_disable_set, | ||
+ .bias_disable_get = mtk_pinconf_bias_disable_get, | ||
+ .bias_set = mtk_pinconf_bias_set, | ||
+ .bias_get = mtk_pinconf_bias_get, | ||
.pull_type = mt7986_pull_type, | ||
.bias_set_combo = mtk_pinconf_bias_set_combo, | ||
.bias_get_combo = mtk_pinconf_bias_get_combo, |