mediatek: filogic: sync pinctrl-mt7988 with MediaTek SDK
authorDaniel Golle <daniel@makrotopia.org>
Mon, 31 Jul 2023 23:04:56 +0000 (00:04 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 7 Aug 2023 15:48:07 +0000 (16:48 +0100)
Update pinctrl driver for the MT7988 with driver from mtk-openwrt-feeds.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 36d0aa9c2db0f74614b04a152fb092bcc74afb8e)

target/linux/mediatek/files-5.15/drivers/pinctrl/mediatek/pinctrl-mt7988.c

index 80a7e19f7a2d0d10227f251cc29bcbd72a8b9c17..49c0be1bba0cf2de6b9006cbf7ef9c530a6a8f5a 100644 (file)
@@ -46,37 +46,53 @@ static const struct mtk_pin_field_calc mt7988_pin_do_range[] = {
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_ies_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0x30, 0x10, 13, 1),
-       PIN_FIELD_BASE(2, 3, 5, 0x30, 0x10, 11, 1),
+       PIN_FIELD_BASE(0, 0, 5, 0x30, 0x10, 13, 1),
+       PIN_FIELD_BASE(1, 1, 5, 0x30, 0x10, 14, 1),
+       PIN_FIELD_BASE(2, 2, 5, 0x30, 0x10, 11, 1),
+       PIN_FIELD_BASE(3, 3, 5, 0x30, 0x10, 12, 1),
        PIN_FIELD_BASE(4, 4, 5, 0x30, 0x10, 0, 1),
-       PIN_FIELD_BASE(5, 6, 5, 0x30, 0x10, 9, 1),
+       PIN_FIELD_BASE(5, 5, 5, 0x30, 0x10, 9, 1),
+       PIN_FIELD_BASE(6, 6, 5, 0x30, 0x10, 10, 1),
+
        PIN_FIELD_BASE(7, 7, 4, 0x30, 0x10, 8, 1),
        PIN_FIELD_BASE(8, 8, 4, 0x30, 0x10, 6, 1),
        PIN_FIELD_BASE(9, 9, 4, 0x30, 0x10, 5, 1),
        PIN_FIELD_BASE(10, 10, 4, 0x30, 0x10, 3, 1),
+
        PIN_FIELD_BASE(11, 11, 1, 0x40, 0x10, 0, 1),
        PIN_FIELD_BASE(12, 12, 1, 0x40, 0x10, 21, 1),
-       PIN_FIELD_BASE(13, 14, 1, 0x40, 0x10, 1, 1),
-       PIN_FIELD_BASE(15, 16, 5, 0x30, 0x10, 7, 1),
-       PIN_FIELD_BASE(17, 18, 5, 0x30, 0x10, 3, 1),
+       PIN_FIELD_BASE(13, 13, 1, 0x40, 0x10, 1, 1),
+       PIN_FIELD_BASE(14, 14, 1, 0x40, 0x10, 2, 1),
+
+       PIN_FIELD_BASE(15, 15, 5, 0x30, 0x10, 7, 1),
+       PIN_FIELD_BASE(16, 16, 5, 0x30, 0x10, 8, 1),
+       PIN_FIELD_BASE(17, 17, 5, 0x30, 0x10, 3, 1),
+       PIN_FIELD_BASE(18, 18, 5, 0x30, 0x10, 4, 1),
+
        PIN_FIELD_BASE(19, 19, 4, 0x30, 0x10, 7, 1),
        PIN_FIELD_BASE(20, 20, 4, 0x30, 0x10, 4, 1),
+
        PIN_FIELD_BASE(21, 21, 3, 0x50, 0x10, 17, 1),
        PIN_FIELD_BASE(22, 22, 3, 0x50, 0x10, 23, 1),
        PIN_FIELD_BASE(23, 23, 3, 0x50, 0x10, 20, 1),
        PIN_FIELD_BASE(24, 24, 3, 0x50, 0x10, 19, 1),
-       PIN_FIELD_BASE(25, 26, 3, 0x50, 0x10, 21, 1),
+       PIN_FIELD_BASE(25, 25, 3, 0x50, 0x10, 21, 1),
+       PIN_FIELD_BASE(26, 26, 3, 0x50, 0x10, 22, 1),
        PIN_FIELD_BASE(27, 27, 3, 0x50, 0x10, 18, 1),
-       PIN_FIELD_BASE(28, 30, 3, 0x50, 0x10, 25, 1),
+       PIN_FIELD_BASE(28, 28, 3, 0x50, 0x10, 25, 1),
+       PIN_FIELD_BASE(29, 29, 3, 0x50, 0x10, 26, 1),
+       PIN_FIELD_BASE(30, 30, 3, 0x50, 0x10, 27, 1),
        PIN_FIELD_BASE(31, 31, 3, 0x50, 0x10, 24, 1),
        PIN_FIELD_BASE(32, 32, 3, 0x50, 0x10, 28, 1),
        PIN_FIELD_BASE(33, 33, 3, 0x60, 0x10, 0, 1),
        PIN_FIELD_BASE(34, 34, 3, 0x50, 0x10, 31, 1),
-       PIN_FIELD_BASE(35, 36, 3, 0x50, 0x10, 29, 1),
+       PIN_FIELD_BASE(35, 35, 3, 0x50, 0x10, 29, 1),
+       PIN_FIELD_BASE(36, 36, 3, 0x50, 0x10, 30, 1),
        PIN_FIELD_BASE(37, 37, 3, 0x60, 0x10, 1, 1),
        PIN_FIELD_BASE(38, 38, 3, 0x50, 0x10, 11, 1),
        PIN_FIELD_BASE(39, 39, 3, 0x50, 0x10, 10, 1),
-       PIN_FIELD_BASE(40, 41, 3, 0x50, 0x10, 0, 1),
+       PIN_FIELD_BASE(40, 40, 3, 0x50, 0x10, 0, 1),
+       PIN_FIELD_BASE(41, 41, 3, 0x50, 0x10, 1, 1),
        PIN_FIELD_BASE(42, 42, 3, 0x50, 0x10, 9, 1),
        PIN_FIELD_BASE(43, 43, 3, 0x50, 0x10, 8, 1),
        PIN_FIELD_BASE(44, 44, 3, 0x50, 0x10, 7, 1),
@@ -86,17 +102,31 @@ static const struct mtk_pin_field_calc mt7988_pin_ies_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0x50, 0x10, 3, 1),
        PIN_FIELD_BASE(49, 49, 3, 0x50, 0x10, 2, 1),
        PIN_FIELD_BASE(50, 50, 3, 0x50, 0x10, 15, 1),
-       PIN_FIELD_BASE(51, 53, 3, 0x50, 0x10, 12, 1),
+       PIN_FIELD_BASE(51, 51, 3, 0x50, 0x10, 12, 1),
+       PIN_FIELD_BASE(52, 52, 3, 0x50, 0x10, 13, 1),
+       PIN_FIELD_BASE(53, 53, 3, 0x50, 0x10, 14, 1),
        PIN_FIELD_BASE(54, 54, 3, 0x50, 0x10, 16, 1),
-       PIN_FIELD_BASE(55, 56, 1, 0x40, 0x10, 14, 1),
+
+       PIN_FIELD_BASE(55, 55, 1, 0x40, 0x10, 14, 1),
+       PIN_FIELD_BASE(56, 56, 1, 0x40, 0x10, 15, 1),
        PIN_FIELD_BASE(57, 57, 1, 0x40, 0x10, 13, 1),
-       PIN_FIELD_BASE(58, 60, 1, 0x40, 0x10, 4, 1),
+       PIN_FIELD_BASE(58, 58, 1, 0x40, 0x10, 4, 1),
+       PIN_FIELD_BASE(59, 59, 1, 0x40, 0x10, 5, 1),
+       PIN_FIELD_BASE(60, 60, 1, 0x40, 0x10, 6, 1),
        PIN_FIELD_BASE(61, 61, 1, 0x40, 0x10, 3, 1),
        PIN_FIELD_BASE(62, 62, 1, 0x40, 0x10, 7, 1),
        PIN_FIELD_BASE(63, 63, 1, 0x40, 0x10, 20, 1),
-       PIN_FIELD_BASE(64, 68, 1, 0x40, 0x10, 8, 1),
-       PIN_FIELD_BASE(69, 70, 5, 0x30, 0x10, 1, 1),
-       PIN_FIELD_BASE(71, 72, 5, 0x30, 0x10, 5, 1),
+       PIN_FIELD_BASE(64, 64, 1, 0x40, 0x10, 8, 1),
+       PIN_FIELD_BASE(65, 65, 1, 0x40, 0x10, 9, 1),
+       PIN_FIELD_BASE(66, 66, 1, 0x40, 0x10, 10, 1),
+       PIN_FIELD_BASE(67, 67, 1, 0x40, 0x10, 11, 1),
+       PIN_FIELD_BASE(68, 68, 1, 0x40, 0x10, 12, 1),
+
+       PIN_FIELD_BASE(69, 69, 5, 0x30, 0x10, 1, 1),
+       PIN_FIELD_BASE(70, 70, 5, 0x30, 0x10, 2, 1),
+       PIN_FIELD_BASE(71, 71, 5, 0x30, 0x10, 5, 1),
+       PIN_FIELD_BASE(72, 72, 5, 0x30, 0x10, 6, 1),
+
        PIN_FIELD_BASE(73, 73, 4, 0x30, 0x10, 10, 1),
        PIN_FIELD_BASE(74, 74, 4, 0x30, 0x10, 1, 1),
        PIN_FIELD_BASE(75, 75, 4, 0x30, 0x10, 11, 1),
@@ -104,42 +134,61 @@ static const struct mtk_pin_field_calc mt7988_pin_ies_range[] = {
        PIN_FIELD_BASE(77, 77, 4, 0x30, 0x10, 2, 1),
        PIN_FIELD_BASE(78, 78, 4, 0x30, 0x10, 0, 1),
        PIN_FIELD_BASE(79, 79, 4, 0x30, 0x10, 12, 1),
-       PIN_FIELD_BASE(80, 81, 1, 0x40, 0x10, 18, 1),
-       PIN_FIELD_BASE(82, 83, 1, 0x40, 0x10, 16, 1),
+
+       PIN_FIELD_BASE(80, 80, 1, 0x40, 0x10, 18, 1),
+       PIN_FIELD_BASE(81, 81, 1, 0x40, 0x10, 19, 1),
+       PIN_FIELD_BASE(82, 82, 1, 0x40, 0x10, 16, 1),
+       PIN_FIELD_BASE(83, 83, 1, 0x40, 0x10, 17, 1),
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_smt_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0xc0, 0x10, 13, 1),
-       PIN_FIELD_BASE(2, 3, 5, 0xc0, 0x10, 11, 1),
+       PIN_FIELD_BASE(0, 0, 5, 0xc0, 0x10, 13, 1),
+       PIN_FIELD_BASE(1, 1, 5, 0xc0, 0x10, 14, 1),
+       PIN_FIELD_BASE(2, 2, 5, 0xc0, 0x10, 11, 1),
+       PIN_FIELD_BASE(3, 3, 5, 0xc0, 0x10, 12, 1),
        PIN_FIELD_BASE(4, 4, 5, 0xc0, 0x10, 0, 1),
-       PIN_FIELD_BASE(5, 6, 5, 0xc0, 0x10, 9, 1),
+       PIN_FIELD_BASE(5, 5, 5, 0xc0, 0x10, 9, 1),
+       PIN_FIELD_BASE(6, 6, 5, 0xc0, 0x10, 10, 1),
+
        PIN_FIELD_BASE(7, 7, 4, 0xb0, 0x10, 8, 1),
        PIN_FIELD_BASE(8, 8, 4, 0xb0, 0x10, 6, 1),
        PIN_FIELD_BASE(9, 9, 4, 0xb0, 0x10, 5, 1),
        PIN_FIELD_BASE(10, 10, 4, 0xb0, 0x10, 3, 1),
+
        PIN_FIELD_BASE(11, 11, 1, 0xe0, 0x10, 0, 1),
        PIN_FIELD_BASE(12, 12, 1, 0xe0, 0x10, 21, 1),
-       PIN_FIELD_BASE(13, 14, 1, 0xe0, 0x10, 1, 1),
-       PIN_FIELD_BASE(15, 16, 5, 0xc0, 0x10, 7, 1),
-       PIN_FIELD_BASE(17, 18, 5, 0xc0, 0x10, 3, 1),
+       PIN_FIELD_BASE(13, 13, 1, 0xe0, 0x10, 1, 1),
+       PIN_FIELD_BASE(14, 14, 1, 0xe0, 0x10, 2, 1),
+
+       PIN_FIELD_BASE(15, 15, 5, 0xc0, 0x10, 7, 1),
+       PIN_FIELD_BASE(16, 16, 5, 0xc0, 0x10, 8, 1),
+       PIN_FIELD_BASE(17, 17, 5, 0xc0, 0x10, 3, 1),
+       PIN_FIELD_BASE(18, 18, 5, 0xc0, 0x10, 4, 1),
+
        PIN_FIELD_BASE(19, 19, 4, 0xb0, 0x10, 7, 1),
        PIN_FIELD_BASE(20, 20, 4, 0xb0, 0x10, 4, 1),
+
        PIN_FIELD_BASE(21, 21, 3, 0x140, 0x10, 17, 1),
        PIN_FIELD_BASE(22, 22, 3, 0x140, 0x10, 23, 1),
        PIN_FIELD_BASE(23, 23, 3, 0x140, 0x10, 20, 1),
        PIN_FIELD_BASE(24, 24, 3, 0x140, 0x10, 19, 1),
-       PIN_FIELD_BASE(25, 26, 3, 0x140, 0x10, 21, 1),
+       PIN_FIELD_BASE(25, 25, 3, 0x140, 0x10, 21, 1),
+       PIN_FIELD_BASE(26, 26, 3, 0x140, 0x10, 22, 1),
        PIN_FIELD_BASE(27, 27, 3, 0x140, 0x10, 18, 1),
-       PIN_FIELD_BASE(28, 30, 3, 0x140, 0x10, 25, 1),
+       PIN_FIELD_BASE(28, 28, 3, 0x140, 0x10, 25, 1),
+       PIN_FIELD_BASE(29, 29, 3, 0x140, 0x10, 26, 1),
+       PIN_FIELD_BASE(30, 30, 3, 0x140, 0x10, 27, 1),
        PIN_FIELD_BASE(31, 31, 3, 0x140, 0x10, 24, 1),
        PIN_FIELD_BASE(32, 32, 3, 0x140, 0x10, 28, 1),
        PIN_FIELD_BASE(33, 33, 3, 0x150, 0x10, 0, 1),
        PIN_FIELD_BASE(34, 34, 3, 0x140, 0x10, 31, 1),
-       PIN_FIELD_BASE(35, 36, 3, 0x140, 0x10, 29, 1),
+       PIN_FIELD_BASE(35, 35, 3, 0x140, 0x10, 29, 1),
+       PIN_FIELD_BASE(36, 36, 3, 0x140, 0x10, 30, 1),
        PIN_FIELD_BASE(37, 37, 3, 0x150, 0x10, 1, 1),
        PIN_FIELD_BASE(38, 38, 3, 0x140, 0x10, 11, 1),
        PIN_FIELD_BASE(39, 39, 3, 0x140, 0x10, 10, 1),
-       PIN_FIELD_BASE(40, 41, 3, 0x140, 0x10, 0, 1),
+       PIN_FIELD_BASE(40, 40, 3, 0x140, 0x10, 0, 1),
+       PIN_FIELD_BASE(41, 41, 3, 0x140, 0x10, 1, 1),
        PIN_FIELD_BASE(42, 42, 3, 0x140, 0x10, 9, 1),
        PIN_FIELD_BASE(43, 43, 3, 0x140, 0x10, 8, 1),
        PIN_FIELD_BASE(44, 44, 3, 0x140, 0x10, 7, 1),
@@ -149,17 +198,31 @@ static const struct mtk_pin_field_calc mt7988_pin_smt_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0x140, 0x10, 3, 1),
        PIN_FIELD_BASE(49, 49, 3, 0x140, 0x10, 2, 1),
        PIN_FIELD_BASE(50, 50, 3, 0x140, 0x10, 15, 1),
-       PIN_FIELD_BASE(51, 53, 3, 0x140, 0x10, 12, 1),
+       PIN_FIELD_BASE(51, 51, 3, 0x140, 0x10, 12, 1),
+       PIN_FIELD_BASE(52, 52, 3, 0x140, 0x10, 13, 1),
+       PIN_FIELD_BASE(53, 53, 3, 0x140, 0x10, 14, 1),
        PIN_FIELD_BASE(54, 54, 3, 0x140, 0x10, 16, 1),
-       PIN_FIELD_BASE(55, 56, 1, 0xe0, 0x10, 14, 1),
+
+       PIN_FIELD_BASE(55, 55, 1, 0xe0, 0x10, 14, 1),
+       PIN_FIELD_BASE(56, 56, 1, 0xe0, 0x10, 15, 1),
        PIN_FIELD_BASE(57, 57, 1, 0xe0, 0x10, 13, 1),
-       PIN_FIELD_BASE(58, 60, 1, 0xe0, 0x10, 4, 1),
+       PIN_FIELD_BASE(58, 58, 1, 0xe0, 0x10, 4, 1),
+       PIN_FIELD_BASE(59, 59, 1, 0xe0, 0x10, 5, 1),
+       PIN_FIELD_BASE(60, 60, 1, 0xe0, 0x10, 6, 1),
        PIN_FIELD_BASE(61, 61, 1, 0xe0, 0x10, 3, 1),
        PIN_FIELD_BASE(62, 62, 1, 0xe0, 0x10, 7, 1),
        PIN_FIELD_BASE(63, 63, 1, 0xe0, 0x10, 20, 1),
-       PIN_FIELD_BASE(64, 68, 1, 0xe0, 0x10, 8, 1),
-       PIN_FIELD_BASE(69, 70, 5, 0xc0, 0x10, 1, 1),
-       PIN_FIELD_BASE(71, 72, 5, 0xc0, 0x10, 5, 1),
+       PIN_FIELD_BASE(64, 64, 1, 0xe0, 0x10, 8, 1),
+       PIN_FIELD_BASE(65, 65, 1, 0xe0, 0x10, 9, 1),
+       PIN_FIELD_BASE(66, 66, 1, 0xe0, 0x10, 10, 1),
+       PIN_FIELD_BASE(67, 67, 1, 0xe0, 0x10, 11, 1),
+       PIN_FIELD_BASE(68, 68, 1, 0xe0, 0x10, 12, 1),
+
+       PIN_FIELD_BASE(69, 69, 5, 0xc0, 0x10, 1, 1),
+       PIN_FIELD_BASE(70, 70, 5, 0xc0, 0x10, 2, 1),
+       PIN_FIELD_BASE(71, 71, 5, 0xc0, 0x10, 5, 1),
+       PIN_FIELD_BASE(72, 72, 5, 0xc0, 0x10, 6, 1),
+
        PIN_FIELD_BASE(73, 73, 4, 0xb0, 0x10, 10, 1),
        PIN_FIELD_BASE(74, 74, 4, 0xb0, 0x10, 1, 1),
        PIN_FIELD_BASE(75, 75, 4, 0xb0, 0x10, 11, 1),
@@ -167,8 +230,11 @@ static const struct mtk_pin_field_calc mt7988_pin_smt_range[] = {
        PIN_FIELD_BASE(77, 77, 4, 0xb0, 0x10, 2, 1),
        PIN_FIELD_BASE(78, 78, 4, 0xb0, 0x10, 0, 1),
        PIN_FIELD_BASE(79, 79, 4, 0xb0, 0x10, 12, 1),
-       PIN_FIELD_BASE(80, 81, 1, 0xe0, 0x10, 18, 1),
-       PIN_FIELD_BASE(82, 83, 1, 0xe0, 0x10, 16, 1),
+
+       PIN_FIELD_BASE(80, 80, 1, 0xe0, 0x10, 18, 1),
+       PIN_FIELD_BASE(81, 81, 1, 0xe0, 0x10, 19, 1),
+       PIN_FIELD_BASE(82, 82, 1, 0xe0, 0x10, 16, 1),
+       PIN_FIELD_BASE(83, 83, 1, 0xe0, 0x10, 17, 1),
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_pu_range[] = {
@@ -176,8 +242,11 @@ static const struct mtk_pin_field_calc mt7988_pin_pu_range[] = {
        PIN_FIELD_BASE(8, 8, 4, 0x60, 0x10, 4, 1),
        PIN_FIELD_BASE(9, 9, 4, 0x60, 0x10, 3, 1),
        PIN_FIELD_BASE(10, 10, 4, 0x60, 0x10, 2, 1),
-       PIN_FIELD_BASE(13, 14, 1, 0x70, 0x10, 0, 1),
+
+       PIN_FIELD_BASE(13, 13, 1, 0x70, 0x10, 0, 1),
+       PIN_FIELD_BASE(14, 14, 1, 0x70, 0x10, 1, 1),
        PIN_FIELD_BASE(63, 63, 1, 0x70, 0x10, 2, 1),
+
        PIN_FIELD_BASE(75, 75, 4, 0x60, 0x10, 7, 1),
        PIN_FIELD_BASE(76, 76, 4, 0x60, 0x10, 6, 1),
        PIN_FIELD_BASE(77, 77, 4, 0x60, 0x10, 1, 1),
@@ -190,11 +259,19 @@ static const struct mtk_pin_field_calc mt7988_pin_pd_range[] = {
        PIN_FIELD_BASE(8, 8, 4, 0x40, 0x10, 4, 1),
        PIN_FIELD_BASE(9, 9, 4, 0x40, 0x10, 3, 1),
        PIN_FIELD_BASE(10, 10, 4, 0x40, 0x10, 2, 1),
-       PIN_FIELD_BASE(13, 14, 1, 0x50, 0x10, 0, 1),
-       PIN_FIELD_BASE(15, 16, 5, 0x40, 0x10, 4, 1),
-       PIN_FIELD_BASE(17, 18, 5, 0x40, 0x10, 0, 1),
+
+       PIN_FIELD_BASE(13, 13, 1, 0x50, 0x10, 0, 1),
+       PIN_FIELD_BASE(14, 14, 1, 0x50, 0x10, 1, 1),
+
+       PIN_FIELD_BASE(15, 15, 5, 0x40, 0x10, 4, 1),
+       PIN_FIELD_BASE(16, 16, 5, 0x40, 0x10, 5, 1),
+       PIN_FIELD_BASE(17, 17, 5, 0x40, 0x10, 0, 1),
+       PIN_FIELD_BASE(18, 18, 5, 0x40, 0x10, 1, 1),
+
        PIN_FIELD_BASE(63, 63, 1, 0x50, 0x10, 2, 1),
-       PIN_FIELD_BASE(71, 72, 5, 0x40, 0x10, 2, 1),
+       PIN_FIELD_BASE(71, 71, 5, 0x40, 0x10, 2, 1),
+       PIN_FIELD_BASE(72, 72, 5, 0x40, 0x10, 3, 1),
+
        PIN_FIELD_BASE(75, 75, 4, 0x40, 0x10, 7, 1),
        PIN_FIELD_BASE(76, 76, 4, 0x40, 0x10, 6, 1),
        PIN_FIELD_BASE(77, 77, 4, 0x40, 0x10, 1, 1),
@@ -203,26 +280,37 @@ static const struct mtk_pin_field_calc mt7988_pin_pd_range[] = {
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_drv_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0x00, 0x10, 21, 3),
-       PIN_FIELD_BASE(2, 3, 5, 0x00, 0x10, 15, 3),
+       PIN_FIELD_BASE(0, 0, 5, 0x00, 0x10, 21, 3),
+       PIN_FIELD_BASE(1, 1, 5, 0x00, 0x10, 24, 3),
+       PIN_FIELD_BASE(2, 2, 5, 0x00, 0x10, 15, 3),
+       PIN_FIELD_BASE(3, 3, 5, 0x00, 0x10, 18, 3),
        PIN_FIELD_BASE(4, 4, 5, 0x00, 0x10, 0, 3),
-       PIN_FIELD_BASE(5, 6, 5, 0x00, 0x10, 9, 3),
+       PIN_FIELD_BASE(5, 5, 5, 0x00, 0x10, 9, 3),
+       PIN_FIELD_BASE(6, 6, 5, 0x00, 0x10, 12, 3),
+
        PIN_FIELD_BASE(7, 7, 4, 0x00, 0x10, 24, 3),
        PIN_FIELD_BASE(8, 8, 4, 0x00, 0x10, 28, 3),
        PIN_FIELD_BASE(9, 9, 4, 0x00, 0x10, 15, 3),
        PIN_FIELD_BASE(10, 10, 4, 0x00, 0x10, 9, 3),
+
        PIN_FIELD_BASE(11, 11, 1, 0x00, 0x10, 0, 3),
        PIN_FIELD_BASE(12, 12, 1, 0x20, 0x10, 3, 3),
-       PIN_FIELD_BASE(13, 14, 1, 0x00, 0x10, 3, 3),
+       PIN_FIELD_BASE(13, 13, 1, 0x00, 0x10, 3, 3),
+       PIN_FIELD_BASE(14, 14, 1, 0x00, 0x10, 6, 3),
+
        PIN_FIELD_BASE(19, 19, 4, 0x00, 0x10, 21, 3),
        PIN_FIELD_BASE(20, 20, 4, 0x00, 0x10, 12, 3),
+
        PIN_FIELD_BASE(21, 21, 3, 0x10, 0x10, 21, 3),
        PIN_FIELD_BASE(22, 22, 3, 0x20, 0x10, 9, 3),
        PIN_FIELD_BASE(23, 23, 3, 0x20, 0x10, 0, 3),
        PIN_FIELD_BASE(24, 24, 3, 0x10, 0x10, 27, 3),
-       PIN_FIELD_BASE(25, 26, 3, 0x20, 0x10, 3, 3),
+       PIN_FIELD_BASE(25, 25, 3, 0x20, 0x10, 3, 3),
+       PIN_FIELD_BASE(26, 26, 3, 0x20, 0x10, 6, 3),
        PIN_FIELD_BASE(27, 27, 3, 0x10, 0x10, 24, 3),
-       PIN_FIELD_BASE(28, 30, 3, 0x20, 0x10, 15, 3),
+       PIN_FIELD_BASE(28, 28, 3, 0x20, 0x10, 15, 3),
+       PIN_FIELD_BASE(29, 29, 3, 0x20, 0x10, 18, 3),
+       PIN_FIELD_BASE(30, 30, 3, 0x20, 0x10, 21, 3),
        PIN_FIELD_BASE(31, 31, 3, 0x20, 0x10, 12, 3),
        PIN_FIELD_BASE(32, 32, 3, 0x20, 0x10, 24, 3),
        PIN_FIELD_BASE(33, 33, 3, 0x30, 0x10, 6, 3),
@@ -232,7 +320,8 @@ static const struct mtk_pin_field_calc mt7988_pin_drv_range[] = {
        PIN_FIELD_BASE(37, 37, 3, 0x30, 0x10, 9, 3),
        PIN_FIELD_BASE(38, 38, 3, 0x10, 0x10, 3, 3),
        PIN_FIELD_BASE(39, 39, 3, 0x10, 0x10, 0, 3),
-       PIN_FIELD_BASE(40, 41, 3, 0x00, 0x10, 0, 3),
+       PIN_FIELD_BASE(40, 40, 3, 0x00, 0x10, 0, 3),
+       PIN_FIELD_BASE(41, 41, 3, 0x00, 0x10, 3, 3),
        PIN_FIELD_BASE(42, 42, 3, 0x00, 0x10, 27, 3),
        PIN_FIELD_BASE(43, 43, 3, 0x00, 0x10, 24, 3),
        PIN_FIELD_BASE(44, 44, 3, 0x00, 0x10, 21, 3),
@@ -242,17 +331,29 @@ static const struct mtk_pin_field_calc mt7988_pin_drv_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0x00, 0x10, 9, 3),
        PIN_FIELD_BASE(49, 49, 3, 0x00, 0x10, 6, 3),
        PIN_FIELD_BASE(50, 50, 3, 0x10, 0x10, 15, 3),
-       PIN_FIELD_BASE(51, 53, 3, 0x10, 0x10, 6, 3),
+       PIN_FIELD_BASE(51, 51, 3, 0x10, 0x10, 6, 3),
+       PIN_FIELD_BASE(52, 52, 3, 0x10, 0x10, 9, 3),
+       PIN_FIELD_BASE(53, 53, 3, 0x10, 0x10, 12, 3),
        PIN_FIELD_BASE(54, 54, 3, 0x10, 0x10, 18, 3),
-       PIN_FIELD_BASE(55, 56, 1, 0x10, 0x10, 12, 3),
+
+       PIN_FIELD_BASE(55, 55, 1, 0x10, 0x10, 12, 3),
+       PIN_FIELD_BASE(56, 56, 1, 0x10, 0x10, 15, 3),
        PIN_FIELD_BASE(57, 57, 1, 0x10, 0x10, 9, 3),
-       PIN_FIELD_BASE(58, 60, 1, 0x00, 0x10, 12, 3),
+       PIN_FIELD_BASE(58, 58, 1, 0x00, 0x10, 12, 3),
+       PIN_FIELD_BASE(59, 59, 1, 0x00, 0x10, 15, 3),
+       PIN_FIELD_BASE(60, 60, 1, 0x00, 0x10, 18, 3),
        PIN_FIELD_BASE(61, 61, 1, 0x00, 0x10, 9, 3),
        PIN_FIELD_BASE(62, 62, 1, 0x00, 0x10, 21, 3),
        PIN_FIELD_BASE(63, 63, 1, 0x20, 0x10, 0, 3),
-       PIN_FIELD_BASE(64, 65, 1, 0x00, 0x10, 24, 3),
-       PIN_FIELD_BASE(66, 68, 1, 0x10, 0x10, 0, 3),
-       PIN_FIELD_BASE(69, 70, 5, 0x00, 0x10, 3, 3),
+       PIN_FIELD_BASE(64, 64, 1, 0x00, 0x10, 24, 3),
+       PIN_FIELD_BASE(65, 65, 1, 0x00, 0x10, 27, 3),
+       PIN_FIELD_BASE(66, 66, 1, 0x10, 0x10, 0, 3),
+       PIN_FIELD_BASE(67, 67, 1, 0x10, 0x10, 3, 3),
+       PIN_FIELD_BASE(68, 68, 1, 0x10, 0x10, 6, 3),
+
+       PIN_FIELD_BASE(69, 69, 5, 0x00, 0x10, 3, 3),
+       PIN_FIELD_BASE(70, 70, 5, 0x00, 0x10, 6, 3),
+
        PIN_FIELD_BASE(73, 73, 4, 0x10, 0x10, 0, 3),
        PIN_FIELD_BASE(74, 74, 4, 0x00, 0x10, 3, 3),
        PIN_FIELD_BASE(75, 75, 4, 0x10, 0x10, 3, 3),
@@ -260,35 +361,49 @@ static const struct mtk_pin_field_calc mt7988_pin_drv_range[] = {
        PIN_FIELD_BASE(77, 77, 4, 0x00, 0x10, 6, 3),
        PIN_FIELD_BASE(78, 78, 4, 0x00, 0x10, 0, 3),
        PIN_FIELD_BASE(79, 79, 4, 0x10, 0x10, 6, 3),
-       PIN_FIELD_BASE(80, 81, 1, 0x10, 0x10, 24, 3),
-       PIN_FIELD_BASE(82, 83, 1, 0x10, 0x10, 18, 3),
+
+       PIN_FIELD_BASE(80, 80, 1, 0x10, 0x10, 24, 3),
+       PIN_FIELD_BASE(81, 81, 1, 0x10, 0x10, 27, 3),
+       PIN_FIELD_BASE(82, 82, 1, 0x10, 0x10, 18, 3),
+       PIN_FIELD_BASE(83, 83, 1, 0x10, 0x10, 21, 3),
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_pupd_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0x50, 0x10, 7, 1),
-       PIN_FIELD_BASE(2, 3, 5, 0x50, 0x10, 5, 1),
+       PIN_FIELD_BASE(0, 0, 5, 0x50, 0x10, 7, 1),
+       PIN_FIELD_BASE(1, 1, 5, 0x50, 0x10, 8, 1),
+       PIN_FIELD_BASE(2, 2, 5, 0x50, 0x10, 5, 1),
+       PIN_FIELD_BASE(3, 3, 5, 0x50, 0x10, 6, 1),
        PIN_FIELD_BASE(4, 4, 5, 0x50, 0x10, 0, 1),
-       PIN_FIELD_BASE(5, 6, 5, 0x50, 0x10, 3, 1),
+       PIN_FIELD_BASE(5, 5, 5, 0x50, 0x10, 3, 1),
+       PIN_FIELD_BASE(6, 6, 5, 0x50, 0x10, 4, 1),
+
        PIN_FIELD_BASE(11, 11, 1, 0x60, 0x10, 0, 1),
        PIN_FIELD_BASE(12, 12, 1, 0x60, 0x10, 18, 1),
+
        PIN_FIELD_BASE(19, 19, 4, 0x50, 0x10, 2, 1),
        PIN_FIELD_BASE(20, 20, 4, 0x50, 0x10, 1, 1),
+
        PIN_FIELD_BASE(21, 21, 3, 0x70, 0x10, 17, 1),
        PIN_FIELD_BASE(22, 22, 3, 0x70, 0x10, 23, 1),
        PIN_FIELD_BASE(23, 23, 3, 0x70, 0x10, 20, 1),
        PIN_FIELD_BASE(24, 24, 3, 0x70, 0x10, 19, 1),
-       PIN_FIELD_BASE(25, 26, 3, 0x70, 0x10, 21, 1),
+       PIN_FIELD_BASE(25, 25, 3, 0x70, 0x10, 21, 1),
+       PIN_FIELD_BASE(26, 26, 3, 0x70, 0x10, 22, 1),
        PIN_FIELD_BASE(27, 27, 3, 0x70, 0x10, 18, 1),
-       PIN_FIELD_BASE(28, 30, 3, 0x70, 0x10, 25, 1),
+       PIN_FIELD_BASE(28, 28, 3, 0x70, 0x10, 25, 1),
+       PIN_FIELD_BASE(29, 29, 3, 0x70, 0x10, 26, 1),
+       PIN_FIELD_BASE(30, 30, 3, 0x70, 0x10, 27, 1),
        PIN_FIELD_BASE(31, 31, 3, 0x70, 0x10, 24, 1),
        PIN_FIELD_BASE(32, 32, 3, 0x70, 0x10, 28, 1),
        PIN_FIELD_BASE(33, 33, 3, 0x80, 0x10, 0, 1),
        PIN_FIELD_BASE(34, 34, 3, 0x70, 0x10, 31, 1),
-       PIN_FIELD_BASE(35, 36, 3, 0x70, 0x10, 29, 1),
+       PIN_FIELD_BASE(35, 35, 3, 0x70, 0x10, 29, 1),
+       PIN_FIELD_BASE(36, 36, 3, 0x70, 0x10, 30, 1),
        PIN_FIELD_BASE(37, 37, 3, 0x80, 0x10, 1, 1),
        PIN_FIELD_BASE(38, 38, 3, 0x70, 0x10, 11, 1),
        PIN_FIELD_BASE(39, 39, 3, 0x70, 0x10, 10, 1),
-       PIN_FIELD_BASE(40, 41, 3, 0x70, 0x10, 0, 1),
+       PIN_FIELD_BASE(40, 40, 3, 0x70, 0x10, 0, 1),
+       PIN_FIELD_BASE(41, 41, 3, 0x70, 0x10, 1, 1),
        PIN_FIELD_BASE(42, 42, 3, 0x70, 0x10, 9, 1),
        PIN_FIELD_BASE(43, 43, 3, 0x70, 0x10, 8, 1),
        PIN_FIELD_BASE(44, 44, 3, 0x70, 0x10, 7, 1),
@@ -298,46 +413,73 @@ static const struct mtk_pin_field_calc mt7988_pin_pupd_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0x70, 0x10, 3, 1),
        PIN_FIELD_BASE(49, 49, 3, 0x70, 0x10, 2, 1),
        PIN_FIELD_BASE(50, 50, 3, 0x70, 0x10, 15, 1),
-       PIN_FIELD_BASE(51, 53, 3, 0x70, 0x10, 12, 1),
+       PIN_FIELD_BASE(51, 51, 3, 0x70, 0x10, 12, 1),
+       PIN_FIELD_BASE(52, 52, 3, 0x70, 0x10, 13, 1),
+       PIN_FIELD_BASE(53, 53, 3, 0x70, 0x10, 14, 1),
        PIN_FIELD_BASE(54, 54, 3, 0x70, 0x10, 16, 1),
-       PIN_FIELD_BASE(55, 56, 1, 0x60, 0x10, 12, 1),
+
+       PIN_FIELD_BASE(55, 55, 1, 0x60, 0x10, 12, 1),
+       PIN_FIELD_BASE(56, 56, 1, 0x60, 0x10, 13, 1),
        PIN_FIELD_BASE(57, 57, 1, 0x60, 0x10, 11, 1),
-       PIN_FIELD_BASE(58, 60, 1, 0x60, 0x10, 2, 1),
+       PIN_FIELD_BASE(58, 58, 1, 0x60, 0x10, 2, 1),
+       PIN_FIELD_BASE(59, 59, 1, 0x60, 0x10, 3, 1),
+       PIN_FIELD_BASE(60, 60, 1, 0x60, 0x10, 4, 1),
        PIN_FIELD_BASE(61, 61, 1, 0x60, 0x10, 1, 1),
        PIN_FIELD_BASE(62, 62, 1, 0x60, 0x10, 5, 1),
-       PIN_FIELD_BASE(64, 68, 1, 0x60, 0x10, 6, 1),
-       PIN_FIELD_BASE(69, 70, 5, 0x50, 0x10, 1, 1),
+       PIN_FIELD_BASE(64, 64, 1, 0x60, 0x10, 6, 1),
+       PIN_FIELD_BASE(65, 65, 1, 0x60, 0x10, 7, 1),
+       PIN_FIELD_BASE(66, 66, 1, 0x60, 0x10, 8, 1),
+       PIN_FIELD_BASE(67, 67, 1, 0x60, 0x10, 9, 1),
+       PIN_FIELD_BASE(68, 68, 1, 0x60, 0x10, 10, 1),
+
+       PIN_FIELD_BASE(69, 69, 5, 0x50, 0x10, 1, 1),
+       PIN_FIELD_BASE(70, 70, 5, 0x50, 0x10, 2, 1),
+
        PIN_FIELD_BASE(73, 73, 4, 0x50, 0x10, 3, 1),
        PIN_FIELD_BASE(74, 74, 4, 0x50, 0x10, 0, 1),
-       PIN_FIELD_BASE(80, 81, 1, 0x60, 0x10, 16, 1),
-       PIN_FIELD_BASE(82, 83, 1, 0x60, 0x10, 14, 1),
+
+       PIN_FIELD_BASE(80, 80, 1, 0x60, 0x10, 16, 1),
+       PIN_FIELD_BASE(81, 81, 1, 0x60, 0x10, 17, 1),
+       PIN_FIELD_BASE(82, 82, 1, 0x60, 0x10, 14, 1),
+       PIN_FIELD_BASE(83, 83, 1, 0x60, 0x10, 15, 1),
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_r0_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0x60, 0x10, 7, 1),
-       PIN_FIELD_BASE(2, 3, 5, 0x60, 0x10, 5, 1),
+       PIN_FIELD_BASE(0, 0, 5, 0x60, 0x10, 7, 1),
+       PIN_FIELD_BASE(1, 1, 5, 0x60, 0x10, 8, 1),
+       PIN_FIELD_BASE(2, 2, 5, 0x60, 0x10, 5, 1),
+       PIN_FIELD_BASE(3, 3, 5, 0x60, 0x10, 6, 1),
        PIN_FIELD_BASE(4, 4, 5, 0x60, 0x10, 0, 1),
-       PIN_FIELD_BASE(5, 6, 5, 0x60, 0x10, 3, 1),
+       PIN_FIELD_BASE(5, 5, 5, 0x60, 0x10, 3, 1),
+       PIN_FIELD_BASE(6, 6, 5, 0x60, 0x10, 4, 1),
+
        PIN_FIELD_BASE(11, 11, 1, 0x80, 0x10, 0, 1),
        PIN_FIELD_BASE(12, 12, 1, 0x80, 0x10, 18, 1),
+
        PIN_FIELD_BASE(19, 19, 4, 0x70, 0x10, 2, 1),
        PIN_FIELD_BASE(20, 20, 4, 0x70, 0x10, 1, 1),
+
        PIN_FIELD_BASE(21, 21, 3, 0x90, 0x10, 17, 1),
        PIN_FIELD_BASE(22, 22, 3, 0x90, 0x10, 23, 1),
        PIN_FIELD_BASE(23, 23, 3, 0x90, 0x10, 20, 1),
        PIN_FIELD_BASE(24, 24, 3, 0x90, 0x10, 19, 1),
-       PIN_FIELD_BASE(25, 26, 3, 0x90, 0x10, 21, 1),
+       PIN_FIELD_BASE(25, 25, 3, 0x90, 0x10, 21, 1),
+       PIN_FIELD_BASE(26, 26, 3, 0x90, 0x10, 22, 1),
        PIN_FIELD_BASE(27, 27, 3, 0x90, 0x10, 18, 1),
-       PIN_FIELD_BASE(28, 30, 3, 0x90, 0x10, 25, 1),
+       PIN_FIELD_BASE(28, 28, 3, 0x90, 0x10, 25, 1),
+       PIN_FIELD_BASE(29, 29, 3, 0x90, 0x10, 26, 1),
+       PIN_FIELD_BASE(30, 30, 3, 0x90, 0x10, 27, 1),
        PIN_FIELD_BASE(31, 31, 3, 0x90, 0x10, 24, 1),
        PIN_FIELD_BASE(32, 32, 3, 0x90, 0x10, 28, 1),
        PIN_FIELD_BASE(33, 33, 3, 0xa0, 0x10, 0, 1),
        PIN_FIELD_BASE(34, 34, 3, 0x90, 0x10, 31, 1),
-       PIN_FIELD_BASE(35, 36, 3, 0x90, 0x10, 29, 1),
+       PIN_FIELD_BASE(35, 35, 3, 0x90, 0x10, 29, 1),
+       PIN_FIELD_BASE(36, 36, 3, 0x90, 0x10, 30, 1),
        PIN_FIELD_BASE(37, 37, 3, 0xa0, 0x10, 1, 1),
        PIN_FIELD_BASE(38, 38, 3, 0x90, 0x10, 11, 1),
        PIN_FIELD_BASE(39, 39, 3, 0x90, 0x10, 10, 1),
-       PIN_FIELD_BASE(40, 41, 3, 0x90, 0x10, 0, 1),
+       PIN_FIELD_BASE(40, 40, 3, 0x90, 0x10, 0, 1),
+       PIN_FIELD_BASE(41, 41, 3, 0x90, 0x10, 1, 1),
        PIN_FIELD_BASE(42, 42, 3, 0x90, 0x10, 9, 1),
        PIN_FIELD_BASE(43, 43, 3, 0x90, 0x10, 8, 1),
        PIN_FIELD_BASE(44, 44, 3, 0x90, 0x10, 7, 1),
@@ -347,46 +489,73 @@ static const struct mtk_pin_field_calc mt7988_pin_r0_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0x90, 0x10, 3, 1),
        PIN_FIELD_BASE(49, 49, 3, 0x90, 0x10, 2, 1),
        PIN_FIELD_BASE(50, 50, 3, 0x90, 0x10, 15, 1),
-       PIN_FIELD_BASE(51, 53, 3, 0x90, 0x10, 12, 1),
+       PIN_FIELD_BASE(51, 51, 3, 0x90, 0x10, 12, 1),
+       PIN_FIELD_BASE(52, 52, 3, 0x90, 0x10, 13, 1),
+       PIN_FIELD_BASE(53, 53, 3, 0x90, 0x10, 14, 1),
        PIN_FIELD_BASE(54, 54, 3, 0x90, 0x10, 16, 1),
-       PIN_FIELD_BASE(55, 56, 1, 0x80, 0x10, 12, 1),
+
+       PIN_FIELD_BASE(55, 55, 1, 0x80, 0x10, 12, 1),
+       PIN_FIELD_BASE(56, 56, 1, 0x80, 0x10, 13, 1),
        PIN_FIELD_BASE(57, 57, 1, 0x80, 0x10, 11, 1),
-       PIN_FIELD_BASE(58, 60, 1, 0x80, 0x10, 2, 1),
+       PIN_FIELD_BASE(58, 58, 1, 0x80, 0x10, 2, 1),
+       PIN_FIELD_BASE(59, 59, 1, 0x80, 0x10, 3, 1),
+       PIN_FIELD_BASE(60, 60, 1, 0x80, 0x10, 4, 1),
        PIN_FIELD_BASE(61, 61, 1, 0x80, 0x10, 1, 1),
        PIN_FIELD_BASE(62, 62, 1, 0x80, 0x10, 5, 1),
-       PIN_FIELD_BASE(64, 68, 1, 0x80, 0x10, 6, 1),
-       PIN_FIELD_BASE(69, 70, 5, 0x60, 0x10, 1, 1),
+       PIN_FIELD_BASE(64, 64, 1, 0x80, 0x10, 6, 1),
+       PIN_FIELD_BASE(65, 65, 1, 0x80, 0x10, 7, 1),
+       PIN_FIELD_BASE(66, 66, 1, 0x80, 0x10, 8, 1),
+       PIN_FIELD_BASE(67, 67, 1, 0x80, 0x10, 9, 1),
+       PIN_FIELD_BASE(68, 68, 1, 0x80, 0x10, 10, 1),
+
+       PIN_FIELD_BASE(69, 69, 5, 0x60, 0x10, 1, 1),
+       PIN_FIELD_BASE(70, 70, 5, 0x60, 0x10, 2, 1),
+
        PIN_FIELD_BASE(73, 73, 4, 0x70, 0x10, 3, 1),
        PIN_FIELD_BASE(74, 74, 4, 0x70, 0x10, 0, 1),
-       PIN_FIELD_BASE(80, 81, 1, 0x80, 0x10, 16, 1),
-       PIN_FIELD_BASE(82, 83, 1, 0x80, 0x10, 14, 1),
+
+       PIN_FIELD_BASE(80, 80, 1, 0x80, 0x10, 16, 1),
+       PIN_FIELD_BASE(81, 81, 1, 0x80, 0x10, 17, 1),
+       PIN_FIELD_BASE(82, 82, 1, 0x80, 0x10, 14, 1),
+       PIN_FIELD_BASE(83, 83, 1, 0x80, 0x10, 15, 1),
 };
 
 static const struct mtk_pin_field_calc mt7988_pin_r1_range[] = {
-       PIN_FIELD_BASE(0, 1, 5, 0x70, 0x10, 7, 1),
-       PIN_FIELD_BASE(2, 3, 5, 0x70, 0x10, 5, 1),
+       PIN_FIELD_BASE(0, 0, 5, 0x70, 0x10, 7, 1),
+       PIN_FIELD_BASE(1, 1, 5, 0x70, 0x10, 8, 1),
+       PIN_FIELD_BASE(2, 2, 5, 0x70, 0x10, 5, 1),
+       PIN_FIELD_BASE(3, 3, 5, 0x70, 0x10, 6, 1),
        PIN_FIELD_BASE(4, 4, 5, 0x70, 0x10, 0, 1),
-       PIN_FIELD_BASE(5, 6, 5, 0x70, 0x10, 3, 1),
+       PIN_FIELD_BASE(5, 5, 5, 0x70, 0x10, 3, 1),
+       PIN_FIELD_BASE(6, 6, 5, 0x70, 0x10, 4, 1),
+
        PIN_FIELD_BASE(11, 11, 1, 0x90, 0x10, 0, 1),
        PIN_FIELD_BASE(12, 12, 1, 0x90, 0x10, 18, 1),
+
        PIN_FIELD_BASE(19, 19, 4, 0x80, 0x10, 2, 1),
        PIN_FIELD_BASE(20, 20, 4, 0x80, 0x10, 1, 1),
+
        PIN_FIELD_BASE(21, 21, 3, 0xb0, 0x10, 17, 1),
        PIN_FIELD_BASE(22, 22, 3, 0xb0, 0x10, 23, 1),
        PIN_FIELD_BASE(23, 23, 3, 0xb0, 0x10, 20, 1),
        PIN_FIELD_BASE(24, 24, 3, 0xb0, 0x10, 19, 1),
-       PIN_FIELD_BASE(25, 26, 3, 0xb0, 0x10, 21, 1),
+       PIN_FIELD_BASE(25, 25, 3, 0xb0, 0x10, 21, 1),
+       PIN_FIELD_BASE(26, 26, 3, 0xb0, 0x10, 22, 1),
        PIN_FIELD_BASE(27, 27, 3, 0xb0, 0x10, 18, 1),
-       PIN_FIELD_BASE(28, 30, 3, 0xb0, 0x10, 25, 1),
+       PIN_FIELD_BASE(28, 28, 3, 0xb0, 0x10, 25, 1),
+       PIN_FIELD_BASE(29, 29, 3, 0xb0, 0x10, 26, 1),
+       PIN_FIELD_BASE(30, 30, 3, 0xb0, 0x10, 27, 1),
        PIN_FIELD_BASE(31, 31, 3, 0xb0, 0x10, 24, 1),
        PIN_FIELD_BASE(32, 32, 3, 0xb0, 0x10, 28, 1),
        PIN_FIELD_BASE(33, 33, 3, 0xc0, 0x10, 0, 1),
        PIN_FIELD_BASE(34, 34, 3, 0xb0, 0x10, 31, 1),
-       PIN_FIELD_BASE(35, 36, 3, 0xb0, 0x10, 29, 1),
+       PIN_FIELD_BASE(35, 35, 3, 0xb0, 0x10, 29, 1),
+       PIN_FIELD_BASE(36, 36, 3, 0xb0, 0x10, 30, 1),
        PIN_FIELD_BASE(37, 37, 3, 0xc0, 0x10, 1, 1),
        PIN_FIELD_BASE(38, 38, 3, 0xb0, 0x10, 11, 1),
        PIN_FIELD_BASE(39, 39, 3, 0xb0, 0x10, 10, 1),
-       PIN_FIELD_BASE(40, 41, 3, 0xb0, 0x10, 0, 1),
+       PIN_FIELD_BASE(40, 40, 3, 0xb0, 0x10, 0, 1),
+       PIN_FIELD_BASE(41, 41, 3, 0xb0, 0x10, 1, 1),
        PIN_FIELD_BASE(42, 42, 3, 0xb0, 0x10, 9, 1),
        PIN_FIELD_BASE(43, 43, 3, 0xb0, 0x10, 8, 1),
        PIN_FIELD_BASE(44, 44, 3, 0xb0, 0x10, 7, 1),
@@ -396,19 +565,35 @@ static const struct mtk_pin_field_calc mt7988_pin_r1_range[] = {
        PIN_FIELD_BASE(48, 48, 3, 0xb0, 0x10, 3, 1),
        PIN_FIELD_BASE(49, 49, 3, 0xb0, 0x10, 2, 1),
        PIN_FIELD_BASE(50, 50, 3, 0xb0, 0x10, 15, 1),
-       PIN_FIELD_BASE(51, 53, 3, 0xb0, 0x10, 12, 1),
+       PIN_FIELD_BASE(51, 51, 3, 0xb0, 0x10, 12, 1),
+       PIN_FIELD_BASE(52, 52, 3, 0xb0, 0x10, 13, 1),
+       PIN_FIELD_BASE(53, 53, 3, 0xb0, 0x10, 14, 1),
        PIN_FIELD_BASE(54, 54, 3, 0xb0, 0x10, 16, 1),
-       PIN_FIELD_BASE(55, 56, 1, 0x90, 0x10, 12, 1),
+
+       PIN_FIELD_BASE(55, 55, 1, 0x90, 0x10, 12, 1),
+       PIN_FIELD_BASE(56, 56, 1, 0x90, 0x10, 13, 1),
        PIN_FIELD_BASE(57, 57, 1, 0x90, 0x10, 11, 1),
-       PIN_FIELD_BASE(58, 60, 1, 0x90, 0x10, 2, 1),
+       PIN_FIELD_BASE(58, 58, 1, 0x90, 0x10, 2, 1),
+       PIN_FIELD_BASE(59, 59, 1, 0x90, 0x10, 3, 1),
+       PIN_FIELD_BASE(60, 60, 1, 0x90, 0x10, 4, 1),
        PIN_FIELD_BASE(61, 61, 1, 0x90, 0x10, 1, 1),
        PIN_FIELD_BASE(62, 62, 1, 0x90, 0x10, 5, 1),
-       PIN_FIELD_BASE(64, 68, 1, 0x90, 0x10, 6, 1),
-       PIN_FIELD_BASE(69, 70, 5, 0x70, 0x10, 1, 1),
+       PIN_FIELD_BASE(64, 64, 1, 0x90, 0x10, 6, 1),
+       PIN_FIELD_BASE(65, 65, 1, 0x90, 0x10, 7, 1),
+       PIN_FIELD_BASE(66, 66, 1, 0x90, 0x10, 8, 1),
+       PIN_FIELD_BASE(67, 67, 1, 0x90, 0x10, 9, 1),
+       PIN_FIELD_BASE(68, 68, 1, 0x90, 0x10, 10, 1),
+
+       PIN_FIELD_BASE(69, 69, 5, 0x70, 0x10, 1, 1),
+       PIN_FIELD_BASE(70, 70, 5, 0x70, 0x10, 2, 1),
+
        PIN_FIELD_BASE(73, 73, 4, 0x80, 0x10, 3, 1),
        PIN_FIELD_BASE(74, 74, 4, 0x80, 0x10, 0, 1),
-       PIN_FIELD_BASE(80, 81, 1, 0x90, 0x10, 16, 1),
-       PIN_FIELD_BASE(82, 83, 1, 0x90, 0x10, 14, 1),
+
+       PIN_FIELD_BASE(80, 80, 1, 0x90, 0x10, 16, 1),
+       PIN_FIELD_BASE(81, 81, 1, 0x90, 0x10, 17, 1),
+       PIN_FIELD_BASE(82, 82, 1, 0x90, 0x10, 14, 1),
+       PIN_FIELD_BASE(83, 83, 1, 0x90, 0x10, 15, 1),
 };
 
 static const struct mtk_pin_reg_calc mt7988_reg_cals[] = {
@@ -1096,20 +1281,20 @@ static const struct group_desc mt7988_groups[] = {
 /* Joint those groups owning the same capability in user point of view which
  * allows that people tend to use through the device tree.
  */
-static const char *mt7988_jtag_groups[] = {
+static const char * const mt7988_jtag_groups[] = {
        "tops_jtag0_0", "wo0_jtag", "wo1_jtag",
        "wo2_jtag",     "jtag",     "tops_jtag0_1",
 };
-static const char *mt7988_int_usxgmii_groups[] = {
+static const char * const mt7988_int_usxgmii_groups[] = {
        "int_usxgmii",
 };
-static const char *mt7988_pwm_groups[] = {
+static const char * const mt7988_pwm_groups[] = {
        "pwm0", "pwm1", "pwm2", "pwm3", "pwm4", "pwm5", "pwm6", "pwm7"
 };
-static const char *mt7988_dfd_groups[] = {
+static const char * const mt7988_dfd_groups[] = {
        "dfd",
 };
-static const char *mt7988_i2c_groups[] = {
+static const char * const mt7988_i2c_groups[] = {
        "xfi_phy0_i2c0",
        "xfi_phy1_i2c0",
        "xfi_phy_pll_i2c0",
@@ -1134,13 +1319,13 @@ static const char *mt7988_i2c_groups[] = {
        "i2c2_0",
        "i2c2_1",
 };
-static const char *mt7988_ethernet_groups[] = {
+static const char * const mt7988_ethernet_groups[] = {
        "mdc_mdio0",
        "2p5g_ext_mdio",
        "gbe_ext_mdio",
        "mdc_mdio1",
 };
-static const char *mt7988_pcie_groups[] = {
+static const char * const mt7988_pcie_groups[] = {
        "pcie_wake_n0_0",    "pcie_clk_req_n0_0", "pcie_wake_n3_0",
        "pcie_clk_req_n3",   "pcie_p0_phy_i2c",   "pcie_p1_phy_i2c",
        "pcie_p3_phy_i2c",   "pcie_p2_phy_i2c",   "ckm_phy_i2c",
@@ -1150,18 +1335,18 @@ static const char *mt7988_pcie_groups[] = {
        "pcie_wake_n2_0",    "pcie_clk_req_n2_0", "pcie_wake_n2_1",
        "pcie_clk_req_n0_1"
 };
-static const char *mt7988_pmic_groups[] = {
+static const char * const mt7988_pmic_groups[] = {
        "pmic",
 };
-static const char *mt7988_wdt_groups[] = {
+static const char * const mt7988_wdt_groups[] = {
        "watchdog",
 };
-static const char *mt7988_spi_groups[] = {
+static const char * const mt7988_spi_groups[] = {
        "spi0", "spi0_wp_hold", "spi1", "spi2", "spi2_wp_hold",
 };
-static const char *mt7988_flash_groups[] = { "emmc_45", "sdcard", "snfi",
+static const char * const mt7988_flash_groups[] = { "emmc_45", "sdcard", "snfi",
                                                    "emmc_51" };
-static const char *mt7988_uart_groups[] = {
+static const char * const mt7988_uart_groups[] = {
        "uart2",
        "tops_uart0_0",
        "uart2_0",
@@ -1183,18 +1368,18 @@ static const char *mt7988_uart_groups[] = {
        "net_wo1_uart_txd_1",
        "net_wo2_uart_txd_1",
 };
-static const char *mt7988_udi_groups[] = {
+static const char * const mt7988_udi_groups[] = {
        "udi",
 };
-static const char *mt7988_audio_groups[] = {
+static const char * const mt7988_audio_groups[] = {
        "i2s", "pcm",
 };
-static const char *mt7988_led_groups[] = {
+static const char * const mt7988_led_groups[] = {
        "gbe0_led1", "gbe1_led1", "gbe2_led1", "gbe3_led1", "2p5gbe_led1",
        "gbe0_led0", "gbe1_led0", "gbe2_led0", "gbe3_led0", "2p5gbe_led0",
        "wf5g_led0",   "wf5g_led1",
 };
-static const char *mt7988_usb_groups[] = {
+static const char * const mt7988_usb_groups[] = {
        "drv_vbus",
        "drv_vbus_p1",
 };
@@ -1226,7 +1411,7 @@ static const struct mtk_eint_hw mt7988_eint_hw = {
        .db_cnt = 16,
 };
 
-static const char *mt7988_pinctrl_register_base_names[] = {
+static const char * const mt7988_pinctrl_register_base_names[] = {
        "gpio_base",     "iocfg_tr_base", "iocfg_br_base",
        "iocfg_rb_base", "iocfg_lb_base", "iocfg_tl_base",
 };