162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020 MediaTek Inc. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Author: Zhiyong Tao <zhiyong.tao@mediatek.com> 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "pinctrl-mtk-mt8195.h" 1062306a36Sopenharmony_ci#include "pinctrl-paris.h" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/* MT8195 have multiple bases to program pin configuration listed as the below: 1362306a36Sopenharmony_ci * iocfg[0]:0x10005000, iocfg[1]:0x11d10000, iocfg[2]:0x11d30000, 1462306a36Sopenharmony_ci * iocfg[3]:0x11d40000, iocfg[4]:0x11e20000, iocfg[5]:0x11eb0000, 1562306a36Sopenharmony_ci * iocfg[6]:0x11f40000. 1662306a36Sopenharmony_ci * _i_based could be used to indicate what base the pin should be mapped into. 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ 2062306a36Sopenharmony_ci PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ 2162306a36Sopenharmony_ci 32, 0) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ 2462306a36Sopenharmony_ci PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ 2562306a36Sopenharmony_ci 32, 1) 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_mode_range[] = { 2862306a36Sopenharmony_ci PIN_FIELD(0, 144, 0x300, 0x10, 0, 4), 2962306a36Sopenharmony_ci}; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_dir_range[] = { 3262306a36Sopenharmony_ci PIN_FIELD(0, 144, 0x0, 0x10, 0, 1), 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_di_range[] = { 3662306a36Sopenharmony_ci PIN_FIELD(0, 144, 0x200, 0x10, 0, 1), 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_do_range[] = { 4062306a36Sopenharmony_ci PIN_FIELD(0, 144, 0x100, 0x10, 0, 1), 4162306a36Sopenharmony_ci}; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_ies_range[] = { 4462306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x040, 0x10, 0, 1), 4562306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x040, 0x10, 1, 1), 4662306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x040, 0x10, 2, 1), 4762306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x040, 0x10, 3, 1), 4862306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x040, 0x10, 4, 1), 4962306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x040, 0x10, 5, 1), 5062306a36Sopenharmony_ci PIN_FIELD_BASE(6, 6, 4, 0x040, 0x10, 6, 1), 5162306a36Sopenharmony_ci PIN_FIELD_BASE(7, 7, 4, 0x040, 0x10, 7, 1), 5262306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x040, 0x10, 13, 1), 5362306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x040, 0x10, 8, 1), 5462306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x040, 0x10, 14, 1), 5562306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x040, 0x10, 9, 1), 5662306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x040, 0x10, 15, 1), 5762306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x040, 0x10, 10, 1), 5862306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x040, 0x10, 16, 1), 5962306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x040, 0x10, 11, 1), 6062306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x040, 0x10, 17, 1), 6162306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x040, 0x10, 12, 1), 6262306a36Sopenharmony_ci PIN_FIELD_BASE(18, 18, 2, 0x040, 0x10, 5, 1), 6362306a36Sopenharmony_ci PIN_FIELD_BASE(19, 19, 2, 0x040, 0x10, 12, 1), 6462306a36Sopenharmony_ci PIN_FIELD_BASE(20, 20, 2, 0x040, 0x10, 11, 1), 6562306a36Sopenharmony_ci PIN_FIELD_BASE(21, 21, 2, 0x040, 0x10, 10, 1), 6662306a36Sopenharmony_ci PIN_FIELD_BASE(22, 22, 2, 0x040, 0x10, 0, 1), 6762306a36Sopenharmony_ci PIN_FIELD_BASE(23, 23, 2, 0x040, 0x10, 1, 1), 6862306a36Sopenharmony_ci PIN_FIELD_BASE(24, 24, 2, 0x040, 0x10, 2, 1), 6962306a36Sopenharmony_ci PIN_FIELD_BASE(25, 25, 2, 0x040, 0x10, 4, 1), 7062306a36Sopenharmony_ci PIN_FIELD_BASE(26, 26, 2, 0x040, 0x10, 3, 1), 7162306a36Sopenharmony_ci PIN_FIELD_BASE(27, 27, 2, 0x040, 0x10, 6, 1), 7262306a36Sopenharmony_ci PIN_FIELD_BASE(28, 28, 2, 0x040, 0x10, 7, 1), 7362306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x040, 0x10, 8, 1), 7462306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x040, 0x10, 9, 1), 7562306a36Sopenharmony_ci PIN_FIELD_BASE(31, 31, 1, 0x060, 0x10, 13, 1), 7662306a36Sopenharmony_ci PIN_FIELD_BASE(32, 32, 1, 0x060, 0x10, 12, 1), 7762306a36Sopenharmony_ci PIN_FIELD_BASE(33, 33, 1, 0x060, 0x10, 11, 1), 7862306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x060, 0x10, 14, 1), 7962306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x060, 0x10, 15, 1), 8062306a36Sopenharmony_ci PIN_FIELD_BASE(36, 36, 1, 0x070, 0x10, 3, 1), 8162306a36Sopenharmony_ci PIN_FIELD_BASE(37, 37, 1, 0x070, 0x10, 6, 1), 8262306a36Sopenharmony_ci PIN_FIELD_BASE(38, 38, 1, 0x070, 0x10, 4, 1), 8362306a36Sopenharmony_ci PIN_FIELD_BASE(39, 39, 1, 0x070, 0x10, 5, 1), 8462306a36Sopenharmony_ci PIN_FIELD_BASE(40, 40, 1, 0x070, 0x10, 8, 1), 8562306a36Sopenharmony_ci PIN_FIELD_BASE(41, 41, 1, 0x070, 0x10, 7, 1), 8662306a36Sopenharmony_ci PIN_FIELD_BASE(42, 42, 1, 0x070, 0x10, 10, 1), 8762306a36Sopenharmony_ci PIN_FIELD_BASE(43, 43, 1, 0x070, 0x10, 9, 1), 8862306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x070, 0x10, 20, 1), 8962306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x070, 0x10, 21, 1), 9062306a36Sopenharmony_ci PIN_FIELD_BASE(46, 46, 1, 0x060, 0x10, 18, 1), 9162306a36Sopenharmony_ci PIN_FIELD_BASE(47, 47, 1, 0x060, 0x10, 16, 1), 9262306a36Sopenharmony_ci PIN_FIELD_BASE(48, 48, 1, 0x060, 0x10, 19, 1), 9362306a36Sopenharmony_ci PIN_FIELD_BASE(49, 49, 1, 0x060, 0x10, 17, 1), 9462306a36Sopenharmony_ci PIN_FIELD_BASE(50, 50, 1, 0x060, 0x10, 25, 1), 9562306a36Sopenharmony_ci PIN_FIELD_BASE(51, 51, 1, 0x060, 0x10, 20, 1), 9662306a36Sopenharmony_ci PIN_FIELD_BASE(52, 52, 1, 0x060, 0x10, 26, 1), 9762306a36Sopenharmony_ci PIN_FIELD_BASE(53, 53, 1, 0x060, 0x10, 21, 1), 9862306a36Sopenharmony_ci PIN_FIELD_BASE(54, 54, 1, 0x060, 0x10, 22, 1), 9962306a36Sopenharmony_ci PIN_FIELD_BASE(55, 55, 1, 0x060, 0x10, 23, 1), 10062306a36Sopenharmony_ci PIN_FIELD_BASE(56, 56, 1, 0x060, 0x10, 24, 1), 10162306a36Sopenharmony_ci PIN_FIELD_BASE(57, 57, 1, 0x060, 0x10, 29, 1), 10262306a36Sopenharmony_ci PIN_FIELD_BASE(58, 58, 1, 0x060, 0x10, 27, 1), 10362306a36Sopenharmony_ci PIN_FIELD_BASE(59, 59, 1, 0x060, 0x10, 30, 1), 10462306a36Sopenharmony_ci PIN_FIELD_BASE(60, 60, 1, 0x060, 0x10, 28, 1), 10562306a36Sopenharmony_ci PIN_FIELD_BASE(61, 61, 1, 0x060, 0x10, 8, 1), 10662306a36Sopenharmony_ci PIN_FIELD_BASE(62, 62, 1, 0x060, 0x10, 7, 1), 10762306a36Sopenharmony_ci PIN_FIELD_BASE(63, 63, 1, 0x060, 0x10, 10, 1), 10862306a36Sopenharmony_ci PIN_FIELD_BASE(64, 64, 1, 0x060, 0x10, 9, 1), 10962306a36Sopenharmony_ci PIN_FIELD_BASE(65, 65, 1, 0x070, 0x10, 1, 1), 11062306a36Sopenharmony_ci PIN_FIELD_BASE(66, 66, 1, 0x060, 0x10, 31, 1), 11162306a36Sopenharmony_ci PIN_FIELD_BASE(67, 67, 1, 0x070, 0x10, 0, 1), 11262306a36Sopenharmony_ci PIN_FIELD_BASE(68, 68, 1, 0x070, 0x10, 2, 1), 11362306a36Sopenharmony_ci PIN_FIELD_BASE(69, 69, 1, 0x060, 0x10, 0, 1), 11462306a36Sopenharmony_ci PIN_FIELD_BASE(70, 70, 1, 0x060, 0x10, 6, 1), 11562306a36Sopenharmony_ci PIN_FIELD_BASE(71, 71, 1, 0x060, 0x10, 4, 1), 11662306a36Sopenharmony_ci PIN_FIELD_BASE(72, 72, 1, 0x060, 0x10, 5, 1), 11762306a36Sopenharmony_ci PIN_FIELD_BASE(73, 73, 1, 0x060, 0x10, 1, 1), 11862306a36Sopenharmony_ci PIN_FIELD_BASE(74, 74, 1, 0x060, 0x10, 2, 1), 11962306a36Sopenharmony_ci PIN_FIELD_BASE(75, 75, 1, 0x060, 0x10, 3, 1), 12062306a36Sopenharmony_ci PIN_FIELD_BASE(76, 76, 1, 0x070, 0x10, 11, 1), 12162306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x030, 0x10, 1, 1), 12262306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x030, 0x10, 2, 1), 12362306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x030, 0x10, 9, 1), 12462306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x030, 0x10, 10, 1), 12562306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x030, 0x10, 11, 1), 12662306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x030, 0x10, 12, 1), 12762306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x030, 0x10, 13, 1), 12862306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x030, 0x10, 14, 1), 12962306a36Sopenharmony_ci PIN_FIELD_BASE(85, 85, 3, 0x030, 0x10, 15, 1), 13062306a36Sopenharmony_ci PIN_FIELD_BASE(86, 86, 3, 0x030, 0x10, 16, 1), 13162306a36Sopenharmony_ci PIN_FIELD_BASE(87, 87, 3, 0x030, 0x10, 3, 1), 13262306a36Sopenharmony_ci PIN_FIELD_BASE(88, 88, 3, 0x030, 0x10, 4, 1), 13362306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x030, 0x10, 5, 1), 13462306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x030, 0x10, 6, 1), 13562306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x030, 0x10, 7, 1), 13662306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x030, 0x10, 8, 1), 13762306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x030, 0x10, 18, 1), 13862306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x030, 0x10, 19, 1), 13962306a36Sopenharmony_ci PIN_FIELD_BASE(95, 95, 3, 0x030, 0x10, 17, 1), 14062306a36Sopenharmony_ci PIN_FIELD_BASE(96, 96, 3, 0x030, 0x10, 0, 1), 14162306a36Sopenharmony_ci PIN_FIELD_BASE(97, 97, 3, 0x030, 0x10, 20, 1), 14262306a36Sopenharmony_ci PIN_FIELD_BASE(98, 98, 3, 0x030, 0x10, 28, 1), 14362306a36Sopenharmony_ci PIN_FIELD_BASE(99, 99, 3, 0x030, 0x10, 27, 1), 14462306a36Sopenharmony_ci PIN_FIELD_BASE(100, 100, 3, 0x030, 0x10, 30, 1), 14562306a36Sopenharmony_ci PIN_FIELD_BASE(101, 101, 3, 0x030, 0x10, 29, 1), 14662306a36Sopenharmony_ci PIN_FIELD_BASE(102, 102, 3, 0x040, 0x10, 0, 1), 14762306a36Sopenharmony_ci PIN_FIELD_BASE(103, 103, 3, 0x030, 0x10, 31, 1), 14862306a36Sopenharmony_ci PIN_FIELD_BASE(104, 104, 3, 0x030, 0x10, 25, 1), 14962306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x030, 0x10, 26, 1), 15062306a36Sopenharmony_ci PIN_FIELD_BASE(106, 106, 3, 0x030, 0x10, 23, 1), 15162306a36Sopenharmony_ci PIN_FIELD_BASE(107, 107, 3, 0x030, 0x10, 24, 1), 15262306a36Sopenharmony_ci PIN_FIELD_BASE(108, 108, 3, 0x030, 0x10, 22, 1), 15362306a36Sopenharmony_ci PIN_FIELD_BASE(109, 109, 3, 0x030, 0x10, 21, 1), 15462306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x010, 0x10, 1, 1), 15562306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x010, 0x10, 0, 1), 15662306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x010, 0x10, 2, 1), 15762306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x010, 0x10, 3, 1), 15862306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x010, 0x10, 4, 1), 15962306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x010, 0x10, 5, 1), 16062306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x030, 0x10, 9, 1), 16162306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x030, 0x10, 8, 1), 16262306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x030, 0x10, 7, 1), 16362306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x030, 0x10, 6, 1), 16462306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x030, 0x10, 11, 1), 16562306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x030, 0x10, 1, 1), 16662306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x030, 0x10, 0, 1), 16762306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x030, 0x10, 5, 1), 16862306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x030, 0x10, 4, 1), 16962306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x030, 0x10, 3, 1), 17062306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x030, 0x10, 2, 1), 17162306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x030, 0x10, 10, 1), 17262306a36Sopenharmony_ci PIN_FIELD_BASE(128, 128, 3, 0x040, 0x10, 3, 1), 17362306a36Sopenharmony_ci PIN_FIELD_BASE(129, 129, 3, 0x040, 0x10, 1, 1), 17462306a36Sopenharmony_ci PIN_FIELD_BASE(130, 130, 3, 0x040, 0x10, 4, 1), 17562306a36Sopenharmony_ci PIN_FIELD_BASE(131, 131, 3, 0x040, 0x10, 2, 1), 17662306a36Sopenharmony_ci PIN_FIELD_BASE(132, 132, 6, 0x030, 0x10, 13, 1), 17762306a36Sopenharmony_ci PIN_FIELD_BASE(133, 133, 6, 0x030, 0x10, 12, 1), 17862306a36Sopenharmony_ci PIN_FIELD_BASE(134, 134, 6, 0x030, 0x10, 15, 1), 17962306a36Sopenharmony_ci PIN_FIELD_BASE(135, 135, 6, 0x030, 0x10, 14, 1), 18062306a36Sopenharmony_ci PIN_FIELD_BASE(136, 136, 1, 0x070, 0x10, 13, 1), 18162306a36Sopenharmony_ci PIN_FIELD_BASE(137, 137, 1, 0x070, 0x10, 12, 1), 18262306a36Sopenharmony_ci PIN_FIELD_BASE(138, 138, 1, 0x070, 0x10, 15, 1), 18362306a36Sopenharmony_ci PIN_FIELD_BASE(139, 139, 1, 0x070, 0x10, 14, 1), 18462306a36Sopenharmony_ci PIN_FIELD_BASE(140, 140, 1, 0x070, 0x10, 17, 1), 18562306a36Sopenharmony_ci PIN_FIELD_BASE(141, 141, 1, 0x070, 0x10, 16, 1), 18662306a36Sopenharmony_ci PIN_FIELD_BASE(142, 142, 1, 0x070, 0x10, 19, 1), 18762306a36Sopenharmony_ci PIN_FIELD_BASE(143, 143, 1, 0x070, 0x10, 18, 1), 18862306a36Sopenharmony_ci}; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_smt_range[] = { 19162306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x0d0, 0x10, 0, 1), 19262306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x0d0, 0x10, 1, 1), 19362306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x0d0, 0x10, 2, 1), 19462306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x0d0, 0x10, 3, 1), 19562306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x0d0, 0x10, 4, 1), 19662306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x0d0, 0x10, 5, 1), 19762306a36Sopenharmony_ci PINS_FIELD_BASE(6, 7, 4, 0x0d0, 0x10, 6, 1), 19862306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x0d0, 0x10, 12, 1), 19962306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x0d0, 0x10, 7, 1), 20062306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x0d0, 0x10, 13, 1), 20162306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x0d0, 0x10, 8, 1), 20262306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x0d0, 0x10, 14, 1), 20362306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x0d0, 0x10, 9, 1), 20462306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x0d0, 0x10, 15, 1), 20562306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x0d0, 0x10, 10, 1), 20662306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x0d0, 0x10, 16, 1), 20762306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x0d0, 0x10, 11, 1), 20862306a36Sopenharmony_ci PIN_FIELD_BASE(18, 18, 2, 0x090, 0x10, 11, 1), 20962306a36Sopenharmony_ci PIN_FIELD_BASE(19, 19, 2, 0x090, 0x10, 10, 1), 21062306a36Sopenharmony_ci PIN_FIELD_BASE(20, 20, 2, 0x090, 0x10, 9, 1), 21162306a36Sopenharmony_ci PIN_FIELD_BASE(21, 21, 2, 0x090, 0x10, 11, 1), 21262306a36Sopenharmony_ci PIN_FIELD_BASE(22, 22, 2, 0x090, 0x10, 0, 1), 21362306a36Sopenharmony_ci PIN_FIELD_BASE(23, 23, 2, 0x090, 0x10, 1, 1), 21462306a36Sopenharmony_ci PIN_FIELD_BASE(24, 24, 2, 0x090, 0x10, 2, 1), 21562306a36Sopenharmony_ci PIN_FIELD_BASE(25, 25, 2, 0x090, 0x10, 4, 1), 21662306a36Sopenharmony_ci PIN_FIELD_BASE(26, 26, 2, 0x090, 0x10, 3, 1), 21762306a36Sopenharmony_ci PIN_FIELD_BASE(27, 27, 2, 0x090, 0x10, 5, 1), 21862306a36Sopenharmony_ci PIN_FIELD_BASE(28, 28, 2, 0x090, 0x10, 6, 1), 21962306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x090, 0x10, 7, 1), 22062306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x090, 0x10, 8, 1), 22162306a36Sopenharmony_ci PINS_FIELD_BASE(31, 33, 1, 0x0f0, 0x10, 4, 1), 22262306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x0f0, 0x10, 0, 1), 22362306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x0f0, 0x10, 1, 1), 22462306a36Sopenharmony_ci PIN_FIELD_BASE(36, 36, 1, 0x0f0, 0x10, 4, 1), 22562306a36Sopenharmony_ci PIN_FIELD_BASE(37, 37, 1, 0x0f0, 0x10, 2, 1), 22662306a36Sopenharmony_ci PINS_FIELD_BASE(38, 39, 1, 0x0f0, 0x10, 5, 1), 22762306a36Sopenharmony_ci PIN_FIELD_BASE(40, 40, 1, 0x0f0, 0x10, 14, 1), 22862306a36Sopenharmony_ci PIN_FIELD_BASE(41, 41, 1, 0x0f0, 0x10, 13, 1), 22962306a36Sopenharmony_ci PIN_FIELD_BASE(42, 42, 1, 0x0f0, 0x10, 16, 1), 23062306a36Sopenharmony_ci PIN_FIELD_BASE(43, 43, 1, 0x0f0, 0x10, 15, 1), 23162306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x0f0, 0x10, 25, 1), 23262306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x0f0, 0x10, 26, 1), 23362306a36Sopenharmony_ci PINS_FIELD_BASE(46, 47, 1, 0x0f0, 0x10, 5, 1), 23462306a36Sopenharmony_ci PINS_FIELD_BASE(48, 51, 1, 0x0f0, 0x10, 6, 1), 23562306a36Sopenharmony_ci PINS_FIELD_BASE(52, 55, 1, 0x0f0, 0x10, 7, 1), 23662306a36Sopenharmony_ci PINS_FIELD_BASE(56, 59, 1, 0x0f0, 0x10, 8, 1), 23762306a36Sopenharmony_ci PINS_FIELD_BASE(60, 63, 1, 0x0f0, 0x10, 9, 1), 23862306a36Sopenharmony_ci PIN_FIELD_BASE(64, 64, 1, 0x0f0, 0x10, 10, 1), 23962306a36Sopenharmony_ci PINS_FIELD_BASE(65, 68, 1, 0x0f0, 0x10, 3, 1), 24062306a36Sopenharmony_ci PINS_FIELD_BASE(69, 71, 1, 0x0f0, 0x10, 10, 1), 24162306a36Sopenharmony_ci PINS_FIELD_BASE(72, 75, 1, 0x0f0, 0x10, 11, 1), 24262306a36Sopenharmony_ci PIN_FIELD_BASE(76, 76, 1, 0x0f0, 0x10, 12, 1), 24362306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x0e0, 0x10, 0, 1), 24462306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x0e0, 0x10, 1, 1), 24562306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x0e0, 0x10, 6, 1), 24662306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x0e0, 0x10, 7, 1), 24762306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x0e0, 0x10, 8, 1), 24862306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x0e0, 0x10, 9, 1), 24962306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x0e0, 0x10, 10, 1), 25062306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x0e0, 0x10, 11, 1), 25162306a36Sopenharmony_ci PINS_FIELD_BASE(85, 88, 3, 0x0e0, 0x10, 14, 1), 25262306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x0e0, 0x10, 2, 1), 25362306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x0e0, 0x10, 3, 1), 25462306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x0e0, 0x10, 4, 1), 25562306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x0e0, 0x10, 5, 1), 25662306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x0e0, 0x10, 12, 1), 25762306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x0e0, 0x10, 13, 1), 25862306a36Sopenharmony_ci PINS_FIELD_BASE(95, 98, 3, 0x0e0, 0x10, 15, 1), 25962306a36Sopenharmony_ci PINS_FIELD_BASE(99, 102, 3, 0x0e0, 0x10, 16, 1), 26062306a36Sopenharmony_ci PINS_FIELD_BASE(103, 104, 3, 0x0e0, 0x10, 17, 1), 26162306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x0e0, 0x10, 18, 1), 26262306a36Sopenharmony_ci PINS_FIELD_BASE(106, 107, 3, 0x0e0, 0x10, 17, 1), 26362306a36Sopenharmony_ci PINS_FIELD_BASE(108, 109, 3, 0x0e0, 0x10, 18, 1), 26462306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x070, 0x10, 1, 1), 26562306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x070, 0x10, 0, 1), 26662306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x070, 0x10, 2, 1), 26762306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x070, 0x10, 3, 1), 26862306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x070, 0x10, 4, 1), 26962306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x070, 0x10, 5, 1), 27062306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x0c0, 0x10, 9, 1), 27162306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x0c0, 0x10, 8, 1), 27262306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x0c0, 0x10, 7, 1), 27362306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x0c0, 0x10, 6, 1), 27462306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x0c0, 0x10, 11, 1), 27562306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x0c0, 0x10, 1, 1), 27662306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x0c0, 0x10, 0, 1), 27762306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x0c0, 0x10, 5, 1), 27862306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x0c0, 0x10, 4, 1), 27962306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x0c0, 0x10, 3, 1), 28062306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x0c0, 0x10, 2, 1), 28162306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x0c0, 0x10, 10, 1), 28262306a36Sopenharmony_ci PIN_FIELD_BASE(128, 128, 3, 0x0e0, 0x10, 18, 1), 28362306a36Sopenharmony_ci PINS_FIELD_BASE(129, 131, 3, 0x0e0, 0x10, 19, 1), 28462306a36Sopenharmony_ci PIN_FIELD_BASE(132, 132, 6, 0x0c0, 0x10, 13, 1), 28562306a36Sopenharmony_ci PIN_FIELD_BASE(133, 133, 6, 0x0c0, 0x10, 12, 1), 28662306a36Sopenharmony_ci PIN_FIELD_BASE(134, 134, 6, 0x0c0, 0x10, 15, 1), 28762306a36Sopenharmony_ci PIN_FIELD_BASE(135, 135, 6, 0x0c0, 0x10, 14, 1), 28862306a36Sopenharmony_ci PIN_FIELD_BASE(136, 136, 1, 0x0f0, 0x10, 18, 1), 28962306a36Sopenharmony_ci PIN_FIELD_BASE(137, 137, 1, 0x0f0, 0x10, 17, 1), 29062306a36Sopenharmony_ci PIN_FIELD_BASE(138, 138, 1, 0x0f0, 0x10, 20, 1), 29162306a36Sopenharmony_ci PIN_FIELD_BASE(139, 139, 1, 0x0f0, 0x10, 19, 1), 29262306a36Sopenharmony_ci PIN_FIELD_BASE(140, 140, 1, 0x0f0, 0x10, 22, 1), 29362306a36Sopenharmony_ci PIN_FIELD_BASE(141, 141, 1, 0x0f0, 0x10, 21, 1), 29462306a36Sopenharmony_ci PIN_FIELD_BASE(142, 142, 1, 0x0f0, 0x10, 24, 1), 29562306a36Sopenharmony_ci PIN_FIELD_BASE(143, 143, 1, 0x0f0, 0x10, 23, 1), 29662306a36Sopenharmony_ci}; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_pu_range[] = { 29962306a36Sopenharmony_ci PIN_FIELD_BASE(6, 6, 4, 0x0070, 0x10, 0, 1), 30062306a36Sopenharmony_ci PIN_FIELD_BASE(7, 7, 4, 0x0070, 0x10, 1, 1), 30162306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x0070, 0x10, 7, 1), 30262306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x0070, 0x10, 2, 1), 30362306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x0070, 0x10, 8, 1), 30462306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x0070, 0x10, 3, 1), 30562306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x0070, 0x10, 9, 1), 30662306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x0070, 0x10, 4, 1), 30762306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x0070, 0x10, 10, 1), 30862306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x0070, 0x10, 5, 1), 30962306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x0070, 0x10, 11, 1), 31062306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x0070, 0x10, 6, 1), 31162306a36Sopenharmony_ci PIN_FIELD_BASE(18, 18, 2, 0x0060, 0x10, 5, 1), 31262306a36Sopenharmony_ci PIN_FIELD_BASE(19, 19, 2, 0x0060, 0x10, 12, 1), 31362306a36Sopenharmony_ci PIN_FIELD_BASE(20, 20, 2, 0x0060, 0x10, 11, 1), 31462306a36Sopenharmony_ci PIN_FIELD_BASE(21, 21, 2, 0x0060, 0x10, 10, 1), 31562306a36Sopenharmony_ci PIN_FIELD_BASE(22, 22, 2, 0x0060, 0x10, 0, 1), 31662306a36Sopenharmony_ci PIN_FIELD_BASE(23, 23, 2, 0x0060, 0x10, 1, 1), 31762306a36Sopenharmony_ci PIN_FIELD_BASE(24, 24, 2, 0x0060, 0x10, 2, 1), 31862306a36Sopenharmony_ci PIN_FIELD_BASE(25, 25, 2, 0x0060, 0x10, 4, 1), 31962306a36Sopenharmony_ci PIN_FIELD_BASE(26, 26, 2, 0x0060, 0x10, 3, 1), 32062306a36Sopenharmony_ci PIN_FIELD_BASE(27, 27, 2, 0x0060, 0x10, 6, 1), 32162306a36Sopenharmony_ci PIN_FIELD_BASE(28, 28, 2, 0x0060, 0x10, 7, 1), 32262306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x0060, 0x10, 8, 1), 32362306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x0060, 0x10, 9, 1), 32462306a36Sopenharmony_ci PIN_FIELD_BASE(31, 31, 1, 0x00a0, 0x10, 13, 1), 32562306a36Sopenharmony_ci PIN_FIELD_BASE(32, 32, 1, 0x00a0, 0x10, 12, 1), 32662306a36Sopenharmony_ci PIN_FIELD_BASE(33, 33, 1, 0x00a0, 0x10, 11, 1), 32762306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x00a0, 0x10, 14, 1), 32862306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x00a0, 0x10, 15, 1), 32962306a36Sopenharmony_ci PIN_FIELD_BASE(36, 36, 1, 0x00b0, 0x10, 3, 1), 33062306a36Sopenharmony_ci PIN_FIELD_BASE(37, 37, 1, 0x00b0, 0x10, 6, 1), 33162306a36Sopenharmony_ci PIN_FIELD_BASE(38, 38, 1, 0x00b0, 0x10, 4, 1), 33262306a36Sopenharmony_ci PIN_FIELD_BASE(39, 39, 1, 0x00b0, 0x10, 5, 1), 33362306a36Sopenharmony_ci PIN_FIELD_BASE(40, 40, 1, 0x00b0, 0x10, 8, 1), 33462306a36Sopenharmony_ci PIN_FIELD_BASE(41, 41, 1, 0x00b0, 0x10, 7, 1), 33562306a36Sopenharmony_ci PIN_FIELD_BASE(42, 42, 1, 0x00b0, 0x10, 10, 1), 33662306a36Sopenharmony_ci PIN_FIELD_BASE(43, 43, 1, 0x00b0, 0x10, 9, 1), 33762306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x00b0, 0x10, 21, 1), 33862306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x00b0, 0x10, 22, 1), 33962306a36Sopenharmony_ci PIN_FIELD_BASE(46, 46, 1, 0x00a0, 0x10, 18, 1), 34062306a36Sopenharmony_ci PIN_FIELD_BASE(47, 47, 1, 0x00a0, 0x10, 16, 1), 34162306a36Sopenharmony_ci PIN_FIELD_BASE(48, 48, 1, 0x00a0, 0x10, 19, 1), 34262306a36Sopenharmony_ci PIN_FIELD_BASE(49, 49, 1, 0x00a0, 0x10, 17, 1), 34362306a36Sopenharmony_ci PIN_FIELD_BASE(50, 50, 1, 0x00a0, 0x10, 25, 1), 34462306a36Sopenharmony_ci PIN_FIELD_BASE(51, 51, 1, 0x00a0, 0x10, 20, 1), 34562306a36Sopenharmony_ci PIN_FIELD_BASE(52, 52, 1, 0x00a0, 0x10, 26, 1), 34662306a36Sopenharmony_ci PIN_FIELD_BASE(53, 53, 1, 0x00a0, 0x10, 21, 1), 34762306a36Sopenharmony_ci PIN_FIELD_BASE(54, 54, 1, 0x00a0, 0x10, 22, 1), 34862306a36Sopenharmony_ci PIN_FIELD_BASE(55, 55, 1, 0x00a0, 0x10, 23, 1), 34962306a36Sopenharmony_ci PIN_FIELD_BASE(56, 56, 1, 0x00a0, 0x10, 24, 1), 35062306a36Sopenharmony_ci PIN_FIELD_BASE(57, 57, 1, 0x00a0, 0x10, 29, 1), 35162306a36Sopenharmony_ci PIN_FIELD_BASE(58, 58, 1, 0x00a0, 0x10, 27, 1), 35262306a36Sopenharmony_ci PIN_FIELD_BASE(59, 59, 1, 0x00a0, 0x10, 30, 1), 35362306a36Sopenharmony_ci PIN_FIELD_BASE(60, 60, 1, 0x00a0, 0x10, 28, 1), 35462306a36Sopenharmony_ci PIN_FIELD_BASE(61, 61, 1, 0x00a0, 0x10, 8, 1), 35562306a36Sopenharmony_ci PIN_FIELD_BASE(62, 62, 1, 0x00a0, 0x10, 7, 1), 35662306a36Sopenharmony_ci PIN_FIELD_BASE(63, 63, 1, 0x00a0, 0x10, 10, 1), 35762306a36Sopenharmony_ci PIN_FIELD_BASE(64, 64, 1, 0x00a0, 0x10, 9, 1), 35862306a36Sopenharmony_ci PIN_FIELD_BASE(65, 65, 1, 0x00b0, 0x10, 1, 1), 35962306a36Sopenharmony_ci PIN_FIELD_BASE(66, 66, 1, 0x00a0, 0x10, 31, 1), 36062306a36Sopenharmony_ci PIN_FIELD_BASE(67, 67, 1, 0x00b0, 0x10, 0, 1), 36162306a36Sopenharmony_ci PIN_FIELD_BASE(68, 68, 1, 0x00b0, 0x10, 2, 1), 36262306a36Sopenharmony_ci PIN_FIELD_BASE(69, 69, 1, 0x00a0, 0x10, 0, 1), 36362306a36Sopenharmony_ci PIN_FIELD_BASE(70, 70, 1, 0x00a0, 0x10, 6, 1), 36462306a36Sopenharmony_ci PIN_FIELD_BASE(71, 71, 1, 0x00a0, 0x10, 4, 1), 36562306a36Sopenharmony_ci PIN_FIELD_BASE(72, 72, 1, 0x00a0, 0x10, 5, 1), 36662306a36Sopenharmony_ci PIN_FIELD_BASE(73, 73, 1, 0x00a0, 0x10, 1, 1), 36762306a36Sopenharmony_ci PIN_FIELD_BASE(74, 74, 1, 0x00a0, 0x10, 2, 1), 36862306a36Sopenharmony_ci PIN_FIELD_BASE(75, 75, 1, 0x00a0, 0x10, 3, 1), 36962306a36Sopenharmony_ci PIN_FIELD_BASE(76, 76, 1, 0x00b0, 0x10, 11, 1), 37062306a36Sopenharmony_ci PIN_FIELD_BASE(97, 97, 3, 0x0070, 0x10, 0, 1), 37162306a36Sopenharmony_ci PIN_FIELD_BASE(98, 98, 3, 0x0070, 0x10, 4, 1), 37262306a36Sopenharmony_ci PIN_FIELD_BASE(99, 99, 3, 0x0070, 0x10, 3, 1), 37362306a36Sopenharmony_ci PIN_FIELD_BASE(100, 100, 3, 0x0070, 0x10, 6, 1), 37462306a36Sopenharmony_ci PIN_FIELD_BASE(101, 101, 3, 0x0070, 0x10, 5, 1), 37562306a36Sopenharmony_ci PIN_FIELD_BASE(102, 102, 3, 0x0070, 0x10, 8, 1), 37662306a36Sopenharmony_ci PIN_FIELD_BASE(103, 103, 3, 0x0070, 0x10, 7, 1), 37762306a36Sopenharmony_ci PIN_FIELD_BASE(108, 108, 3, 0x0070, 0x10, 2, 1), 37862306a36Sopenharmony_ci PIN_FIELD_BASE(109, 109, 3, 0x0070, 0x10, 1, 1), 37962306a36Sopenharmony_ci PIN_FIELD_BASE(128, 128, 3, 0x0070, 0x10, 11, 1), 38062306a36Sopenharmony_ci PIN_FIELD_BASE(129, 129, 3, 0x0070, 0x10, 9, 1), 38162306a36Sopenharmony_ci PIN_FIELD_BASE(130, 130, 3, 0x0070, 0x10, 12, 1), 38262306a36Sopenharmony_ci PIN_FIELD_BASE(131, 131, 3, 0x0070, 0x10, 10, 1), 38362306a36Sopenharmony_ci PIN_FIELD_BASE(132, 132, 6, 0x0060, 0x10, 1, 1), 38462306a36Sopenharmony_ci PIN_FIELD_BASE(133, 133, 6, 0x0060, 0x10, 0, 1), 38562306a36Sopenharmony_ci PIN_FIELD_BASE(134, 134, 6, 0x0060, 0x10, 3, 1), 38662306a36Sopenharmony_ci PIN_FIELD_BASE(135, 135, 6, 0x0060, 0x10, 2, 1), 38762306a36Sopenharmony_ci PIN_FIELD_BASE(136, 136, 1, 0x00b0, 0x10, 14, 1), 38862306a36Sopenharmony_ci PIN_FIELD_BASE(137, 137, 1, 0x00b0, 0x10, 13, 1), 38962306a36Sopenharmony_ci PIN_FIELD_BASE(138, 138, 1, 0x00b0, 0x10, 16, 1), 39062306a36Sopenharmony_ci PIN_FIELD_BASE(139, 139, 1, 0x00b0, 0x10, 15, 1), 39162306a36Sopenharmony_ci PIN_FIELD_BASE(140, 140, 1, 0x00b0, 0x10, 18, 1), 39262306a36Sopenharmony_ci PIN_FIELD_BASE(141, 141, 1, 0x00b0, 0x10, 17, 1), 39362306a36Sopenharmony_ci PIN_FIELD_BASE(142, 142, 1, 0x00b0, 0x10, 20, 1), 39462306a36Sopenharmony_ci PIN_FIELD_BASE(143, 143, 1, 0x00b0, 0x10, 19, 1), 39562306a36Sopenharmony_ci}; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_pd_range[] = { 39862306a36Sopenharmony_ci PIN_FIELD_BASE(6, 6, 4, 0x0050, 0x10, 0, 1), 39962306a36Sopenharmony_ci PIN_FIELD_BASE(7, 7, 4, 0x0050, 0x10, 1, 1), 40062306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x0050, 0x10, 7, 1), 40162306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x0050, 0x10, 2, 1), 40262306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x0050, 0x10, 8, 1), 40362306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x0050, 0x10, 3, 1), 40462306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x0050, 0x10, 9, 1), 40562306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x0050, 0x10, 4, 1), 40662306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x0050, 0x10, 10, 1), 40762306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x0050, 0x10, 5, 1), 40862306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x0050, 0x10, 11, 1), 40962306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x0050, 0x10, 6, 1), 41062306a36Sopenharmony_ci PIN_FIELD_BASE(18, 18, 2, 0x0050, 0x10, 5, 1), 41162306a36Sopenharmony_ci PIN_FIELD_BASE(19, 19, 2, 0x0050, 0x10, 12, 1), 41262306a36Sopenharmony_ci PIN_FIELD_BASE(20, 20, 2, 0x0050, 0x10, 11, 1), 41362306a36Sopenharmony_ci PIN_FIELD_BASE(21, 21, 2, 0x0050, 0x10, 10, 1), 41462306a36Sopenharmony_ci PIN_FIELD_BASE(22, 22, 2, 0x0050, 0x10, 0, 1), 41562306a36Sopenharmony_ci PIN_FIELD_BASE(23, 23, 2, 0x0050, 0x10, 1, 1), 41662306a36Sopenharmony_ci PIN_FIELD_BASE(24, 24, 2, 0x0050, 0x10, 2, 1), 41762306a36Sopenharmony_ci PIN_FIELD_BASE(25, 25, 2, 0x0050, 0x10, 4, 1), 41862306a36Sopenharmony_ci PIN_FIELD_BASE(26, 26, 2, 0x0050, 0x10, 3, 1), 41962306a36Sopenharmony_ci PIN_FIELD_BASE(27, 27, 2, 0x0050, 0x10, 6, 1), 42062306a36Sopenharmony_ci PIN_FIELD_BASE(28, 28, 2, 0x0050, 0x10, 7, 1), 42162306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x0050, 0x10, 8, 1), 42262306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x0050, 0x10, 9, 1), 42362306a36Sopenharmony_ci PIN_FIELD_BASE(31, 31, 1, 0x0080, 0x10, 13, 1), 42462306a36Sopenharmony_ci PIN_FIELD_BASE(32, 32, 1, 0x0080, 0x10, 12, 1), 42562306a36Sopenharmony_ci PIN_FIELD_BASE(33, 33, 1, 0x0080, 0x10, 11, 1), 42662306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x0080, 0x10, 14, 1), 42762306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x0080, 0x10, 15, 1), 42862306a36Sopenharmony_ci PIN_FIELD_BASE(36, 36, 1, 0x0090, 0x10, 3, 1), 42962306a36Sopenharmony_ci PIN_FIELD_BASE(37, 37, 1, 0x0090, 0x10, 6, 1), 43062306a36Sopenharmony_ci PIN_FIELD_BASE(38, 38, 1, 0x0090, 0x10, 4, 1), 43162306a36Sopenharmony_ci PIN_FIELD_BASE(39, 39, 1, 0x0090, 0x10, 5, 1), 43262306a36Sopenharmony_ci PIN_FIELD_BASE(40, 40, 1, 0x0090, 0x10, 8, 1), 43362306a36Sopenharmony_ci PIN_FIELD_BASE(41, 41, 1, 0x0090, 0x10, 7, 1), 43462306a36Sopenharmony_ci PIN_FIELD_BASE(42, 42, 1, 0x0090, 0x10, 10, 1), 43562306a36Sopenharmony_ci PIN_FIELD_BASE(43, 43, 1, 0x0090, 0x10, 9, 1), 43662306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x0090, 0x10, 21, 1), 43762306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x0090, 0x10, 22, 1), 43862306a36Sopenharmony_ci PIN_FIELD_BASE(46, 46, 1, 0x0080, 0x10, 18, 1), 43962306a36Sopenharmony_ci PIN_FIELD_BASE(47, 47, 1, 0x0080, 0x10, 16, 1), 44062306a36Sopenharmony_ci PIN_FIELD_BASE(48, 48, 1, 0x0080, 0x10, 19, 1), 44162306a36Sopenharmony_ci PIN_FIELD_BASE(49, 49, 1, 0x0080, 0x10, 17, 1), 44262306a36Sopenharmony_ci PIN_FIELD_BASE(50, 50, 1, 0x0080, 0x10, 25, 1), 44362306a36Sopenharmony_ci PIN_FIELD_BASE(51, 51, 1, 0x0080, 0x10, 20, 1), 44462306a36Sopenharmony_ci PIN_FIELD_BASE(52, 52, 1, 0x0080, 0x10, 26, 1), 44562306a36Sopenharmony_ci PIN_FIELD_BASE(53, 53, 1, 0x0080, 0x10, 21, 1), 44662306a36Sopenharmony_ci PIN_FIELD_BASE(54, 54, 1, 0x0080, 0x10, 22, 1), 44762306a36Sopenharmony_ci PIN_FIELD_BASE(55, 55, 1, 0x0080, 0x10, 23, 1), 44862306a36Sopenharmony_ci PIN_FIELD_BASE(56, 56, 1, 0x0080, 0x10, 24, 1), 44962306a36Sopenharmony_ci PIN_FIELD_BASE(57, 57, 1, 0x0080, 0x10, 29, 1), 45062306a36Sopenharmony_ci PIN_FIELD_BASE(58, 58, 1, 0x0080, 0x10, 27, 1), 45162306a36Sopenharmony_ci PIN_FIELD_BASE(59, 59, 1, 0x0080, 0x10, 30, 1), 45262306a36Sopenharmony_ci PIN_FIELD_BASE(60, 60, 1, 0x0080, 0x10, 28, 1), 45362306a36Sopenharmony_ci PIN_FIELD_BASE(61, 61, 1, 0x0080, 0x10, 8, 1), 45462306a36Sopenharmony_ci PIN_FIELD_BASE(62, 62, 1, 0x0080, 0x10, 7, 1), 45562306a36Sopenharmony_ci PIN_FIELD_BASE(63, 63, 1, 0x0080, 0x10, 10, 1), 45662306a36Sopenharmony_ci PIN_FIELD_BASE(64, 64, 1, 0x0080, 0x10, 9, 1), 45762306a36Sopenharmony_ci PIN_FIELD_BASE(65, 65, 1, 0x0090, 0x10, 1, 1), 45862306a36Sopenharmony_ci PIN_FIELD_BASE(66, 66, 1, 0x0080, 0x10, 31, 1), 45962306a36Sopenharmony_ci PIN_FIELD_BASE(67, 67, 1, 0x0090, 0x10, 0, 1), 46062306a36Sopenharmony_ci PIN_FIELD_BASE(68, 68, 1, 0x0090, 0x10, 2, 1), 46162306a36Sopenharmony_ci PIN_FIELD_BASE(69, 69, 1, 0x0080, 0x10, 0, 1), 46262306a36Sopenharmony_ci PIN_FIELD_BASE(70, 70, 1, 0x0080, 0x10, 6, 1), 46362306a36Sopenharmony_ci PIN_FIELD_BASE(71, 71, 1, 0x0080, 0x10, 4, 1), 46462306a36Sopenharmony_ci PIN_FIELD_BASE(72, 72, 1, 0x0080, 0x10, 5, 1), 46562306a36Sopenharmony_ci PIN_FIELD_BASE(73, 73, 1, 0x0080, 0x10, 1, 1), 46662306a36Sopenharmony_ci PIN_FIELD_BASE(74, 74, 1, 0x0080, 0x10, 2, 1), 46762306a36Sopenharmony_ci PIN_FIELD_BASE(75, 75, 1, 0x0080, 0x10, 3, 1), 46862306a36Sopenharmony_ci PIN_FIELD_BASE(76, 76, 1, 0x0090, 0x10, 11, 1), 46962306a36Sopenharmony_ci PIN_FIELD_BASE(97, 97, 3, 0x0050, 0x10, 0, 1), 47062306a36Sopenharmony_ci PIN_FIELD_BASE(98, 98, 3, 0x0050, 0x10, 4, 1), 47162306a36Sopenharmony_ci PIN_FIELD_BASE(99, 99, 3, 0x0050, 0x10, 3, 1), 47262306a36Sopenharmony_ci PIN_FIELD_BASE(100, 100, 3, 0x0050, 0x10, 6, 1), 47362306a36Sopenharmony_ci PIN_FIELD_BASE(101, 101, 3, 0x0050, 0x10, 5, 1), 47462306a36Sopenharmony_ci PIN_FIELD_BASE(102, 102, 3, 0x0050, 0x10, 8, 1), 47562306a36Sopenharmony_ci PIN_FIELD_BASE(103, 103, 3, 0x0050, 0x10, 7, 1), 47662306a36Sopenharmony_ci PIN_FIELD_BASE(108, 108, 3, 0x0050, 0x10, 2, 1), 47762306a36Sopenharmony_ci PIN_FIELD_BASE(109, 109, 3, 0x0050, 0x10, 1, 1), 47862306a36Sopenharmony_ci PIN_FIELD_BASE(128, 128, 3, 0x0050, 0x10, 11, 1), 47962306a36Sopenharmony_ci PIN_FIELD_BASE(129, 129, 3, 0x0050, 0x10, 9, 1), 48062306a36Sopenharmony_ci PIN_FIELD_BASE(130, 130, 3, 0x0050, 0x10, 12, 1), 48162306a36Sopenharmony_ci PIN_FIELD_BASE(131, 131, 3, 0x0050, 0x10, 10, 1), 48262306a36Sopenharmony_ci PIN_FIELD_BASE(132, 132, 6, 0x0040, 0x10, 1, 1), 48362306a36Sopenharmony_ci PIN_FIELD_BASE(133, 133, 6, 0x0040, 0x10, 0, 1), 48462306a36Sopenharmony_ci PIN_FIELD_BASE(134, 134, 6, 0x0040, 0x10, 3, 1), 48562306a36Sopenharmony_ci PIN_FIELD_BASE(135, 135, 6, 0x0040, 0x10, 2, 1), 48662306a36Sopenharmony_ci PIN_FIELD_BASE(136, 136, 1, 0x0090, 0x10, 14, 1), 48762306a36Sopenharmony_ci PIN_FIELD_BASE(137, 137, 1, 0x0090, 0x10, 13, 1), 48862306a36Sopenharmony_ci PIN_FIELD_BASE(138, 138, 1, 0x0090, 0x10, 16, 1), 48962306a36Sopenharmony_ci PIN_FIELD_BASE(139, 139, 1, 0x0090, 0x10, 15, 1), 49062306a36Sopenharmony_ci PIN_FIELD_BASE(140, 140, 1, 0x0090, 0x10, 18, 1), 49162306a36Sopenharmony_ci PIN_FIELD_BASE(141, 141, 1, 0x0090, 0x10, 17, 1), 49262306a36Sopenharmony_ci PIN_FIELD_BASE(142, 142, 1, 0x0090, 0x10, 20, 1), 49362306a36Sopenharmony_ci PIN_FIELD_BASE(143, 143, 1, 0x0090, 0x10, 19, 1), 49462306a36Sopenharmony_ci}; 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_pupd_range[] = { 49762306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x0060, 0x10, 0, 1), 49862306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x0060, 0x10, 1, 1), 49962306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x0060, 0x10, 2, 1), 50062306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x0060, 0x10, 3, 1), 50162306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x0060, 0x10, 4, 1), 50262306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x0060, 0x10, 5, 1), 50362306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x0060, 0x10, 1, 1), 50462306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x0060, 0x10, 2, 1), 50562306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x0060, 0x10, 9, 1), 50662306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x0060, 0x10, 10, 1), 50762306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x0060, 0x10, 11, 1), 50862306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x0060, 0x10, 12, 1), 50962306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x0060, 0x10, 13, 1), 51062306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x0060, 0x10, 14, 1), 51162306a36Sopenharmony_ci PIN_FIELD_BASE(85, 85, 3, 0x0060, 0x10, 15, 1), 51262306a36Sopenharmony_ci PIN_FIELD_BASE(86, 86, 3, 0x0060, 0x10, 16, 1), 51362306a36Sopenharmony_ci PIN_FIELD_BASE(87, 87, 3, 0x0060, 0x10, 3, 1), 51462306a36Sopenharmony_ci PIN_FIELD_BASE(88, 88, 3, 0x0060, 0x10, 4, 1), 51562306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x0060, 0x10, 5, 1), 51662306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x0060, 0x10, 6, 1), 51762306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x0060, 0x10, 7, 1), 51862306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x0060, 0x10, 8, 1), 51962306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x0060, 0x10, 18, 1), 52062306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x0060, 0x10, 19, 1), 52162306a36Sopenharmony_ci PIN_FIELD_BASE(95, 95, 3, 0x0060, 0x10, 17, 1), 52262306a36Sopenharmony_ci PIN_FIELD_BASE(96, 96, 3, 0x0060, 0x10, 0, 1), 52362306a36Sopenharmony_ci PIN_FIELD_BASE(104, 104, 3, 0x0060, 0x10, 22, 1), 52462306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x0060, 0x10, 23, 1), 52562306a36Sopenharmony_ci PIN_FIELD_BASE(106, 106, 3, 0x0060, 0x10, 20, 1), 52662306a36Sopenharmony_ci PIN_FIELD_BASE(107, 107, 3, 0x0060, 0x10, 21, 1), 52762306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x0020, 0x10, 1, 1), 52862306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x0020, 0x10, 0, 1), 52962306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x0020, 0x10, 2, 1), 53062306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x0020, 0x10, 3, 1), 53162306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x0020, 0x10, 4, 1), 53262306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x0020, 0x10, 5, 1), 53362306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x0050, 0x10, 9, 1), 53462306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x0050, 0x10, 8, 1), 53562306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x0050, 0x10, 7, 1), 53662306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x0050, 0x10, 6, 1), 53762306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x0050, 0x10, 11, 1), 53862306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x0050, 0x10, 1, 1), 53962306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x0050, 0x10, 0, 1), 54062306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x0050, 0x10, 5, 1), 54162306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x0050, 0x10, 4, 1), 54262306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x0050, 0x10, 3, 1), 54362306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x0050, 0x10, 2, 1), 54462306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x0050, 0x10, 10, 1), 54562306a36Sopenharmony_ci}; 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_r0_range[] = { 54862306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x0080, 0x10, 0, 1), 54962306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x0080, 0x10, 1, 1), 55062306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x0080, 0x10, 2, 1), 55162306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x0080, 0x10, 3, 1), 55262306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x0080, 0x10, 4, 1), 55362306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x0080, 0x10, 5, 1), 55462306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x0080, 0x10, 1, 1), 55562306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x0080, 0x10, 2, 1), 55662306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x0080, 0x10, 9, 1), 55762306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x0080, 0x10, 10, 1), 55862306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x0080, 0x10, 11, 1), 55962306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x0080, 0x10, 12, 1), 56062306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x0080, 0x10, 13, 1), 56162306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x0080, 0x10, 14, 1), 56262306a36Sopenharmony_ci PIN_FIELD_BASE(85, 85, 3, 0x0080, 0x10, 15, 1), 56362306a36Sopenharmony_ci PIN_FIELD_BASE(86, 86, 3, 0x0080, 0x10, 16, 1), 56462306a36Sopenharmony_ci PIN_FIELD_BASE(87, 87, 3, 0x0080, 0x10, 3, 1), 56562306a36Sopenharmony_ci PIN_FIELD_BASE(88, 88, 3, 0x0080, 0x10, 4, 1), 56662306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x0080, 0x10, 5, 1), 56762306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x0080, 0x10, 6, 1), 56862306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x0080, 0x10, 7, 1), 56962306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x0080, 0x10, 8, 1), 57062306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x0080, 0x10, 18, 1), 57162306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x0080, 0x10, 19, 1), 57262306a36Sopenharmony_ci PIN_FIELD_BASE(95, 95, 3, 0x0080, 0x10, 17, 1), 57362306a36Sopenharmony_ci PIN_FIELD_BASE(96, 96, 3, 0x0080, 0x10, 0, 1), 57462306a36Sopenharmony_ci PIN_FIELD_BASE(104, 104, 3, 0x0080, 0x10, 22, 1), 57562306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x0080, 0x10, 23, 1), 57662306a36Sopenharmony_ci PIN_FIELD_BASE(106, 106, 3, 0x0080, 0x10, 20, 1), 57762306a36Sopenharmony_ci PIN_FIELD_BASE(107, 107, 3, 0x0080, 0x10, 21, 1), 57862306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x0030, 0x10, 1, 1), 57962306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x0030, 0x10, 0, 1), 58062306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x0030, 0x10, 2, 1), 58162306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x0030, 0x10, 3, 1), 58262306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x0030, 0x10, 4, 1), 58362306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x0030, 0x10, 5, 1), 58462306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x0070, 0x10, 9, 1), 58562306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x0070, 0x10, 8, 1), 58662306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x0070, 0x10, 7, 1), 58762306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x0070, 0x10, 6, 1), 58862306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x0070, 0x10, 11, 1), 58962306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x0070, 0x10, 1, 1), 59062306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x0070, 0x10, 0, 1), 59162306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x0070, 0x10, 5, 1), 59262306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x0070, 0x10, 4, 1), 59362306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x0070, 0x10, 3, 1), 59462306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x0070, 0x10, 2, 1), 59562306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x0070, 0x10, 10, 1), 59662306a36Sopenharmony_ci}; 59762306a36Sopenharmony_ci 59862306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_r1_range[] = { 59962306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x0090, 0x10, 0, 1), 60062306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x0090, 0x10, 1, 1), 60162306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x0090, 0x10, 2, 1), 60262306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x0090, 0x10, 3, 1), 60362306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x0090, 0x10, 4, 1), 60462306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x0090, 0x10, 5, 1), 60562306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x0090, 0x10, 1, 1), 60662306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x0090, 0x10, 2, 1), 60762306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x0090, 0x10, 9, 1), 60862306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x0090, 0x10, 10, 1), 60962306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x0090, 0x10, 11, 1), 61062306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x0090, 0x10, 12, 1), 61162306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x0090, 0x10, 13, 1), 61262306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x0090, 0x10, 14, 1), 61362306a36Sopenharmony_ci PIN_FIELD_BASE(85, 85, 3, 0x0090, 0x10, 15, 1), 61462306a36Sopenharmony_ci PIN_FIELD_BASE(86, 86, 3, 0x0090, 0x10, 16, 1), 61562306a36Sopenharmony_ci PIN_FIELD_BASE(87, 87, 3, 0x0090, 0x10, 3, 1), 61662306a36Sopenharmony_ci PIN_FIELD_BASE(88, 88, 3, 0x0090, 0x10, 4, 1), 61762306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x0090, 0x10, 5, 1), 61862306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x0090, 0x10, 6, 1), 61962306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x0090, 0x10, 7, 1), 62062306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x0090, 0x10, 8, 1), 62162306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x0090, 0x10, 18, 1), 62262306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x0090, 0x10, 19, 1), 62362306a36Sopenharmony_ci PIN_FIELD_BASE(95, 95, 3, 0x0090, 0x10, 17, 1), 62462306a36Sopenharmony_ci PIN_FIELD_BASE(96, 96, 3, 0x0090, 0x10, 0, 1), 62562306a36Sopenharmony_ci PIN_FIELD_BASE(104, 104, 3, 0x0090, 0x10, 22, 1), 62662306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x0090, 0x10, 23, 1), 62762306a36Sopenharmony_ci PIN_FIELD_BASE(106, 106, 3, 0x0090, 0x10, 20, 1), 62862306a36Sopenharmony_ci PIN_FIELD_BASE(107, 107, 3, 0x0090, 0x10, 21, 1), 62962306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x0040, 0x10, 1, 1), 63062306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x0040, 0x10, 0, 1), 63162306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x0040, 0x10, 2, 1), 63262306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x0040, 0x10, 3, 1), 63362306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x0040, 0x10, 4, 1), 63462306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x0040, 0x10, 5, 1), 63562306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x0080, 0x10, 9, 1), 63662306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x0080, 0x10, 8, 1), 63762306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x0080, 0x10, 7, 1), 63862306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x0080, 0x10, 6, 1), 63962306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x0080, 0x10, 11, 1), 64062306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x0080, 0x10, 1, 1), 64162306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x0080, 0x10, 0, 1), 64262306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x0080, 0x10, 5, 1), 64362306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x0080, 0x10, 4, 1), 64462306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x0080, 0x10, 3, 1), 64562306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x0080, 0x10, 2, 1), 64662306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x0080, 0x10, 10, 1), 64762306a36Sopenharmony_ci}; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_drv_range[] = { 65062306a36Sopenharmony_ci PIN_FIELD_BASE(0, 0, 4, 0x000, 0x10, 0, 3), 65162306a36Sopenharmony_ci PIN_FIELD_BASE(1, 1, 4, 0x000, 0x10, 3, 3), 65262306a36Sopenharmony_ci PIN_FIELD_BASE(2, 2, 4, 0x000, 0x10, 6, 3), 65362306a36Sopenharmony_ci PIN_FIELD_BASE(3, 3, 4, 0x000, 0x10, 9, 3), 65462306a36Sopenharmony_ci PIN_FIELD_BASE(4, 4, 4, 0x000, 0x10, 12, 3), 65562306a36Sopenharmony_ci PIN_FIELD_BASE(5, 5, 4, 0x000, 0x10, 15, 3), 65662306a36Sopenharmony_ci PINS_FIELD_BASE(6, 7, 4, 0x000, 0x10, 18, 3), 65762306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x010, 0x10, 6, 3), 65862306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x000, 0x10, 21, 3), 65962306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x010, 0x10, 9, 3), 66062306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x000, 0x10, 24, 3), 66162306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x010, 0x10, 12, 3), 66262306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x000, 0x10, 27, 3), 66362306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x010, 0x10, 15, 3), 66462306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x010, 0x10, 0, 3), 66562306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x010, 0x10, 18, 3), 66662306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x010, 0x10, 3, 3), 66762306a36Sopenharmony_ci PIN_FIELD_BASE(18, 18, 2, 0x010, 0x10, 6, 3), 66862306a36Sopenharmony_ci PIN_FIELD_BASE(19, 19, 2, 0x010, 0x10, 3, 3), 66962306a36Sopenharmony_ci PIN_FIELD_BASE(20, 20, 2, 0x010, 0x10, 0, 3), 67062306a36Sopenharmony_ci PIN_FIELD_BASE(21, 21, 2, 0x000, 0x10, 27, 3), 67162306a36Sopenharmony_ci PIN_FIELD_BASE(22, 22, 2, 0x000, 0x10, 0, 3), 67262306a36Sopenharmony_ci PIN_FIELD_BASE(23, 23, 2, 0x000, 0x10, 3, 3), 67362306a36Sopenharmony_ci PIN_FIELD_BASE(24, 24, 2, 0x000, 0x10, 6, 3), 67462306a36Sopenharmony_ci PIN_FIELD_BASE(25, 25, 2, 0x000, 0x10, 12, 3), 67562306a36Sopenharmony_ci PIN_FIELD_BASE(26, 26, 2, 0x000, 0x10, 9, 3), 67662306a36Sopenharmony_ci PIN_FIELD_BASE(27, 27, 2, 0x000, 0x10, 15, 3), 67762306a36Sopenharmony_ci PIN_FIELD_BASE(28, 28, 2, 0x000, 0x10, 18, 3), 67862306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x000, 0x10, 21, 3), 67962306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x000, 0x10, 24, 3), 68062306a36Sopenharmony_ci PINS_FIELD_BASE(31, 33, 1, 0x010, 0x10, 0, 3), 68162306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x000, 0x10, 21, 3), 68262306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x000, 0x10, 24, 3), 68362306a36Sopenharmony_ci PIN_FIELD_BASE(36, 36, 1, 0x010, 0x10, 0, 3), 68462306a36Sopenharmony_ci PIN_FIELD_BASE(37, 37, 1, 0x010, 0x10, 21, 3), 68562306a36Sopenharmony_ci PINS_FIELD_BASE(38, 39, 1, 0x010, 0x10, 3, 3), 68662306a36Sopenharmony_ci PIN_FIELD_BASE(40, 40, 1, 0x010, 0x10, 27, 3), 68762306a36Sopenharmony_ci PIN_FIELD_BASE(41, 41, 1, 0x010, 0x10, 24, 3), 68862306a36Sopenharmony_ci PIN_FIELD_BASE(42, 42, 1, 0x020, 0x10, 3, 3), 68962306a36Sopenharmony_ci PIN_FIELD_BASE(43, 43, 1, 0x020, 0x10, 0, 3), 69062306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x030, 0x10, 0, 3), 69162306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x030, 0x10, 3, 3), 69262306a36Sopenharmony_ci PINS_FIELD_BASE(46, 47, 1, 0x010, 0x10, 3, 3), 69362306a36Sopenharmony_ci PINS_FIELD_BASE(48, 51, 1, 0x010, 0x10, 6, 3), 69462306a36Sopenharmony_ci PINS_FIELD_BASE(52, 55, 1, 0x010, 0x10, 9, 3), 69562306a36Sopenharmony_ci PINS_FIELD_BASE(56, 59, 1, 0x010, 0x10, 12, 3), 69662306a36Sopenharmony_ci PINS_FIELD_BASE(60, 63, 1, 0x010, 0x10, 15, 3), 69762306a36Sopenharmony_ci PIN_FIELD_BASE(64, 64, 1, 0x010, 0x10, 18, 3), 69862306a36Sopenharmony_ci PINS_FIELD_BASE(65, 68, 1, 0x000, 0x10, 27, 3), 69962306a36Sopenharmony_ci PIN_FIELD_BASE(69, 69, 1, 0x000, 0x10, 0, 3), 70062306a36Sopenharmony_ci PIN_FIELD_BASE(70, 70, 1, 0x000, 0x10, 18, 3), 70162306a36Sopenharmony_ci PIN_FIELD_BASE(71, 71, 1, 0x000, 0x10, 12, 3), 70262306a36Sopenharmony_ci PIN_FIELD_BASE(72, 72, 1, 0x000, 0x10, 15, 3), 70362306a36Sopenharmony_ci PIN_FIELD_BASE(73, 73, 1, 0x000, 0x10, 3, 3), 70462306a36Sopenharmony_ci PIN_FIELD_BASE(74, 74, 1, 0x000, 0x10, 6, 3), 70562306a36Sopenharmony_ci PIN_FIELD_BASE(75, 75, 1, 0x000, 0x10, 9, 3), 70662306a36Sopenharmony_ci PIN_FIELD_BASE(76, 76, 1, 0x010, 0x10, 18, 3), 70762306a36Sopenharmony_ci PIN_FIELD_BASE(77, 77, 3, 0x000, 0x10, 0, 3), 70862306a36Sopenharmony_ci PIN_FIELD_BASE(78, 78, 3, 0x000, 0x10, 15, 3), 70962306a36Sopenharmony_ci PIN_FIELD_BASE(79, 79, 3, 0x000, 0x10, 18, 3), 71062306a36Sopenharmony_ci PIN_FIELD_BASE(80, 80, 3, 0x000, 0x10, 21, 3), 71162306a36Sopenharmony_ci PIN_FIELD_BASE(81, 81, 3, 0x000, 0x10, 24, 3), 71262306a36Sopenharmony_ci PIN_FIELD_BASE(82, 82, 3, 0x000, 0x10, 27, 3), 71362306a36Sopenharmony_ci PIN_FIELD_BASE(83, 83, 3, 0x010, 0x10, 0, 3), 71462306a36Sopenharmony_ci PIN_FIELD_BASE(84, 84, 3, 0x010, 0x10, 3, 3), 71562306a36Sopenharmony_ci PINS_FIELD_BASE(85, 88, 3, 0x010, 0x10, 15, 3), 71662306a36Sopenharmony_ci PIN_FIELD_BASE(89, 89, 3, 0x000, 0x10, 3, 3), 71762306a36Sopenharmony_ci PIN_FIELD_BASE(90, 90, 3, 0x000, 0x10, 6, 3), 71862306a36Sopenharmony_ci PIN_FIELD_BASE(91, 91, 3, 0x000, 0x10, 9, 3), 71962306a36Sopenharmony_ci PIN_FIELD_BASE(92, 92, 3, 0x000, 0x10, 12, 3), 72062306a36Sopenharmony_ci PIN_FIELD_BASE(93, 93, 3, 0x010, 0x10, 6, 3), 72162306a36Sopenharmony_ci PIN_FIELD_BASE(94, 94, 3, 0x010, 0x10, 9, 3), 72262306a36Sopenharmony_ci PINS_FIELD_BASE(95, 98, 3, 0x010, 0x10, 18, 3), 72362306a36Sopenharmony_ci PINS_FIELD_BASE(99, 102, 3, 0x010, 0x10, 21, 3), 72462306a36Sopenharmony_ci PINS_FIELD_BASE(103, 104, 3, 0x010, 0x10, 24, 3), 72562306a36Sopenharmony_ci PIN_FIELD_BASE(105, 105, 3, 0x010, 0x10, 27, 3), 72662306a36Sopenharmony_ci PINS_FIELD_BASE(106, 107, 3, 0x010, 0x10, 24, 3), 72762306a36Sopenharmony_ci PINS_FIELD_BASE(108, 109, 3, 0x010, 0x10, 27, 3), 72862306a36Sopenharmony_ci PIN_FIELD_BASE(110, 110, 5, 0x000, 0x10, 3, 3), 72962306a36Sopenharmony_ci PIN_FIELD_BASE(111, 111, 5, 0x000, 0x10, 0, 3), 73062306a36Sopenharmony_ci PIN_FIELD_BASE(112, 112, 5, 0x000, 0x10, 6, 3), 73162306a36Sopenharmony_ci PIN_FIELD_BASE(113, 113, 5, 0x000, 0x10, 9, 3), 73262306a36Sopenharmony_ci PIN_FIELD_BASE(114, 114, 5, 0x000, 0x10, 12, 3), 73362306a36Sopenharmony_ci PIN_FIELD_BASE(115, 115, 5, 0x000, 0x10, 15, 3), 73462306a36Sopenharmony_ci PIN_FIELD_BASE(116, 116, 6, 0x000, 0x10, 27, 3), 73562306a36Sopenharmony_ci PIN_FIELD_BASE(117, 117, 6, 0x000, 0x10, 24, 3), 73662306a36Sopenharmony_ci PIN_FIELD_BASE(118, 118, 6, 0x000, 0x10, 21, 3), 73762306a36Sopenharmony_ci PIN_FIELD_BASE(119, 119, 6, 0x000, 0x10, 18, 3), 73862306a36Sopenharmony_ci PIN_FIELD_BASE(120, 120, 6, 0x010, 0x10, 3, 3), 73962306a36Sopenharmony_ci PIN_FIELD_BASE(121, 121, 6, 0x000, 0x10, 3, 3), 74062306a36Sopenharmony_ci PIN_FIELD_BASE(122, 122, 6, 0x000, 0x10, 0, 3), 74162306a36Sopenharmony_ci PIN_FIELD_BASE(123, 123, 6, 0x000, 0x10, 15, 3), 74262306a36Sopenharmony_ci PIN_FIELD_BASE(124, 124, 6, 0x000, 0x10, 12, 3), 74362306a36Sopenharmony_ci PIN_FIELD_BASE(125, 125, 6, 0x000, 0x10, 9, 3), 74462306a36Sopenharmony_ci PIN_FIELD_BASE(126, 126, 6, 0x000, 0x10, 6, 3), 74562306a36Sopenharmony_ci PIN_FIELD_BASE(127, 127, 6, 0x010, 0x10, 0, 3), 74662306a36Sopenharmony_ci PIN_FIELD_BASE(128, 128, 3, 0x010, 0x10, 27, 3), 74762306a36Sopenharmony_ci PINS_FIELD_BASE(129, 130, 3, 0x020, 0x10, 0, 3), 74862306a36Sopenharmony_ci PINS_FIELD_BASE(131, 131, 3, 0x010, 0x10, 12, 3), 74962306a36Sopenharmony_ci PIN_FIELD_BASE(132, 132, 6, 0x010, 0x10, 9, 3), 75062306a36Sopenharmony_ci PIN_FIELD_BASE(133, 133, 6, 0x010, 0x10, 6, 3), 75162306a36Sopenharmony_ci PIN_FIELD_BASE(134, 134, 6, 0x010, 0x10, 15, 3), 75262306a36Sopenharmony_ci PIN_FIELD_BASE(135, 135, 6, 0x010, 0x10, 12, 3), 75362306a36Sopenharmony_ci PIN_FIELD_BASE(136, 136, 1, 0x020, 0x10, 9, 3), 75462306a36Sopenharmony_ci PIN_FIELD_BASE(137, 137, 1, 0x020, 0x10, 6, 3), 75562306a36Sopenharmony_ci PIN_FIELD_BASE(138, 138, 1, 0x020, 0x10, 15, 3), 75662306a36Sopenharmony_ci PIN_FIELD_BASE(139, 139, 1, 0x020, 0x10, 12, 3), 75762306a36Sopenharmony_ci PIN_FIELD_BASE(140, 140, 1, 0x020, 0x10, 21, 3), 75862306a36Sopenharmony_ci PIN_FIELD_BASE(141, 141, 1, 0x020, 0x10, 18, 3), 75962306a36Sopenharmony_ci PIN_FIELD_BASE(142, 142, 1, 0x020, 0x10, 27, 3), 76062306a36Sopenharmony_ci PIN_FIELD_BASE(143, 143, 1, 0x020, 0x10, 24, 3), 76162306a36Sopenharmony_ci}; 76262306a36Sopenharmony_ci 76362306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_drv_adv_range[] = { 76462306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x020, 0x10, 15, 3), 76562306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x020, 0x10, 0, 3), 76662306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x020, 0x10, 18, 3), 76762306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x020, 0x10, 3, 3), 76862306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x020, 0x10, 21, 3), 76962306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x020, 0x10, 6, 3), 77062306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x020, 0x10, 24, 3), 77162306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x020, 0x10, 9, 3), 77262306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x020, 0x10, 27, 3), 77362306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x020, 0x10, 12, 3), 77462306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x020, 0x10, 0, 3), 77562306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x020, 0x10, 3, 3), 77662306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x040, 0x10, 0, 3), 77762306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x040, 0x10, 3, 3), 77862306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x040, 0x10, 6, 3), 77962306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x040, 0x10, 9, 3), 78062306a36Sopenharmony_ci}; 78162306a36Sopenharmony_ci 78262306a36Sopenharmony_cistatic const struct mtk_pin_field_calc mt8195_pin_rsel_range[] = { 78362306a36Sopenharmony_ci PIN_FIELD_BASE(8, 8, 4, 0x0c0, 0x10, 15, 3), 78462306a36Sopenharmony_ci PIN_FIELD_BASE(9, 9, 4, 0x0c0, 0x10, 0, 3), 78562306a36Sopenharmony_ci PIN_FIELD_BASE(10, 10, 4, 0x0c0, 0x10, 18, 3), 78662306a36Sopenharmony_ci PIN_FIELD_BASE(11, 11, 4, 0x0c0, 0x10, 3, 3), 78762306a36Sopenharmony_ci PIN_FIELD_BASE(12, 12, 4, 0x0c0, 0x10, 21, 3), 78862306a36Sopenharmony_ci PIN_FIELD_BASE(13, 13, 4, 0x0c0, 0x10, 6, 3), 78962306a36Sopenharmony_ci PIN_FIELD_BASE(14, 14, 4, 0x0c0, 0x10, 24, 3), 79062306a36Sopenharmony_ci PIN_FIELD_BASE(15, 15, 4, 0x0c0, 0x10, 9, 3), 79162306a36Sopenharmony_ci PIN_FIELD_BASE(16, 16, 4, 0x0c0, 0x10, 27, 3), 79262306a36Sopenharmony_ci PIN_FIELD_BASE(17, 17, 4, 0x0c0, 0x10, 12, 3), 79362306a36Sopenharmony_ci PIN_FIELD_BASE(29, 29, 2, 0x080, 0x10, 0, 3), 79462306a36Sopenharmony_ci PIN_FIELD_BASE(30, 30, 2, 0x080, 0x10, 3, 3), 79562306a36Sopenharmony_ci PIN_FIELD_BASE(34, 34, 1, 0x0e0, 0x10, 0, 3), 79662306a36Sopenharmony_ci PIN_FIELD_BASE(35, 35, 1, 0x0e0, 0x10, 3, 3), 79762306a36Sopenharmony_ci PIN_FIELD_BASE(44, 44, 1, 0x0e0, 0x10, 6, 3), 79862306a36Sopenharmony_ci PIN_FIELD_BASE(45, 45, 1, 0x0e0, 0x10, 9, 3), 79962306a36Sopenharmony_ci}; 80062306a36Sopenharmony_ci 80162306a36Sopenharmony_cistatic const struct mtk_pin_rsel mt8195_pin_rsel_val_range[] = { 80262306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x0, 75000, 75000), 80362306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x1, 10000, 5000), 80462306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x2, 5000, 75000), 80562306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x3, 4000, 5000), 80662306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x4, 3000, 75000), 80762306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x5, 2000, 5000), 80862306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x6, 1500, 75000), 80962306a36Sopenharmony_ci PIN_RSEL(8, 17, 0x7, 1000, 5000), 81062306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x0, 75000, 75000), 81162306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x1, 10000, 5000), 81262306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x2, 5000, 75000), 81362306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x3, 4000, 5000), 81462306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x4, 3000, 75000), 81562306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x5, 2000, 5000), 81662306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x6, 1500, 75000), 81762306a36Sopenharmony_ci PIN_RSEL(29, 30, 0x7, 1000, 5000), 81862306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x0, 75000, 75000), 81962306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x1, 10000, 5000), 82062306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x2, 5000, 75000), 82162306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x3, 4000, 5000), 82262306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x4, 3000, 75000), 82362306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x5, 2000, 5000), 82462306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x6, 1500, 75000), 82562306a36Sopenharmony_ci PIN_RSEL(34, 35, 0x7, 1000, 5000), 82662306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x0, 75000, 75000), 82762306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x1, 10000, 5000), 82862306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x2, 5000, 75000), 82962306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x3, 4000, 5000), 83062306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x4, 3000, 75000), 83162306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x5, 2000, 5000), 83262306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x6, 1500, 75000), 83362306a36Sopenharmony_ci PIN_RSEL(44, 45, 0x7, 1000, 5000), 83462306a36Sopenharmony_ci}; 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_cistatic const unsigned int mt8195_pull_type[] = { 83762306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 0 */, MTK_PULL_PUPD_R1R0_TYPE /* 1 */, 83862306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 2 */, MTK_PULL_PUPD_R1R0_TYPE /* 3 */, 83962306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 4 */, MTK_PULL_PUPD_R1R0_TYPE /* 5 */, 84062306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 6 */, MTK_PULL_PU_PD_TYPE /* 7 */, 84162306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 8 */, MTK_PULL_PU_PD_RSEL_TYPE /* 9 */, 84262306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 10 */, MTK_PULL_PU_PD_RSEL_TYPE /* 11 */, 84362306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 12 */, MTK_PULL_PU_PD_RSEL_TYPE /* 13 */, 84462306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 14 */, MTK_PULL_PU_PD_RSEL_TYPE /* 15 */, 84562306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 16 */, MTK_PULL_PU_PD_RSEL_TYPE /* 17 */, 84662306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 18 */, MTK_PULL_PU_PD_TYPE /* 19 */, 84762306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 20 */, MTK_PULL_PU_PD_TYPE /* 21 */, 84862306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 22 */, MTK_PULL_PU_PD_TYPE /* 23 */, 84962306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 24 */, MTK_PULL_PU_PD_TYPE /* 25 */, 85062306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 26 */, MTK_PULL_PU_PD_TYPE /* 27 */, 85162306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 28 */, MTK_PULL_PU_PD_RSEL_TYPE /* 29 */, 85262306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 30 */, MTK_PULL_PU_PD_TYPE /* 31 */, 85362306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 32 */, MTK_PULL_PU_PD_TYPE /* 33 */, 85462306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 34 */, MTK_PULL_PU_PD_RSEL_TYPE /* 35 */, 85562306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 36 */, MTK_PULL_PU_PD_TYPE /* 37 */, 85662306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 38 */, MTK_PULL_PU_PD_TYPE /* 39 */, 85762306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 40 */, MTK_PULL_PU_PD_TYPE /* 41 */, 85862306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 42 */, MTK_PULL_PU_PD_TYPE /* 43 */, 85962306a36Sopenharmony_ci MTK_PULL_PU_PD_RSEL_TYPE /* 44 */, MTK_PULL_PU_PD_RSEL_TYPE /* 45 */, 86062306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 46 */, MTK_PULL_PU_PD_TYPE /* 47 */, 86162306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 48 */, MTK_PULL_PU_PD_TYPE /* 49 */, 86262306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 50 */, MTK_PULL_PU_PD_TYPE /* 51 */, 86362306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 52 */, MTK_PULL_PU_PD_TYPE /* 53 */, 86462306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 54 */, MTK_PULL_PU_PD_TYPE /* 55 */, 86562306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 56 */, MTK_PULL_PU_PD_TYPE /* 57 */, 86662306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 58 */, MTK_PULL_PU_PD_TYPE /* 59 */, 86762306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 60 */, MTK_PULL_PU_PD_TYPE /* 61 */, 86862306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 62 */, MTK_PULL_PU_PD_TYPE /* 63 */, 86962306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 64 */, MTK_PULL_PU_PD_TYPE /* 65 */, 87062306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 66 */, MTK_PULL_PU_PD_TYPE /* 67 */, 87162306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 68 */, MTK_PULL_PU_PD_TYPE /* 69 */, 87262306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 70 */, MTK_PULL_PU_PD_TYPE /* 71 */, 87362306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 72 */, MTK_PULL_PU_PD_TYPE /* 73 */, 87462306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 74 */, MTK_PULL_PU_PD_TYPE /* 75 */, 87562306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 76 */, MTK_PULL_PUPD_R1R0_TYPE /* 77 */, 87662306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 78 */, MTK_PULL_PUPD_R1R0_TYPE /* 79 */, 87762306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 80 */, MTK_PULL_PUPD_R1R0_TYPE /* 81 */, 87862306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 82 */, MTK_PULL_PUPD_R1R0_TYPE /* 83 */, 87962306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 84 */, MTK_PULL_PUPD_R1R0_TYPE /* 85 */, 88062306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 86 */, MTK_PULL_PUPD_R1R0_TYPE /* 87 */, 88162306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 88 */, MTK_PULL_PUPD_R1R0_TYPE /* 89 */, 88262306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 90 */, MTK_PULL_PUPD_R1R0_TYPE /* 91 */, 88362306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 92 */, MTK_PULL_PUPD_R1R0_TYPE /* 93 */, 88462306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 94 */, MTK_PULL_PUPD_R1R0_TYPE /* 95 */, 88562306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 96 */, MTK_PULL_PU_PD_TYPE /* 97 */, 88662306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 98 */, MTK_PULL_PU_PD_TYPE /* 99 */, 88762306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 100 */, MTK_PULL_PU_PD_TYPE /* 101 */, 88862306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 102 */, MTK_PULL_PU_PD_TYPE /* 103 */, 88962306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 104 */, MTK_PULL_PUPD_R1R0_TYPE /* 105 */, 89062306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 106 */, MTK_PULL_PUPD_R1R0_TYPE /* 107 */, 89162306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 108 */, MTK_PULL_PU_PD_TYPE /* 109 */, 89262306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 110 */, MTK_PULL_PUPD_R1R0_TYPE /* 111 */, 89362306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 112 */, MTK_PULL_PUPD_R1R0_TYPE /* 113 */, 89462306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 114 */, MTK_PULL_PUPD_R1R0_TYPE /* 115 */, 89562306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 116 */, MTK_PULL_PUPD_R1R0_TYPE /* 117 */, 89662306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 118 */, MTK_PULL_PUPD_R1R0_TYPE /* 119 */, 89762306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 120 */, MTK_PULL_PUPD_R1R0_TYPE /* 121 */, 89862306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 122 */, MTK_PULL_PUPD_R1R0_TYPE /* 123 */, 89962306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 124 */, MTK_PULL_PUPD_R1R0_TYPE /* 125 */, 90062306a36Sopenharmony_ci MTK_PULL_PUPD_R1R0_TYPE /* 126 */, MTK_PULL_PUPD_R1R0_TYPE /* 127 */, 90162306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 128 */, MTK_PULL_PU_PD_TYPE /* 129 */, 90262306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 130 */, MTK_PULL_PU_PD_TYPE /* 131 */, 90362306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 132 */, MTK_PULL_PU_PD_TYPE /* 133 */, 90462306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 134 */, MTK_PULL_PU_PD_TYPE /* 135 */, 90562306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 136 */, MTK_PULL_PU_PD_TYPE /* 137 */, 90662306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 138 */, MTK_PULL_PU_PD_TYPE /* 139 */, 90762306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 140 */, MTK_PULL_PU_PD_TYPE /* 141 */, 90862306a36Sopenharmony_ci MTK_PULL_PU_PD_TYPE /* 142 */, MTK_PULL_PU_PD_TYPE /* 143 */, 90962306a36Sopenharmony_ci}; 91062306a36Sopenharmony_ci 91162306a36Sopenharmony_cistatic const struct mtk_pin_reg_calc mt8195_reg_cals[PINCTRL_PIN_REG_MAX] = { 91262306a36Sopenharmony_ci [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8195_pin_mode_range), 91362306a36Sopenharmony_ci [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8195_pin_dir_range), 91462306a36Sopenharmony_ci [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8195_pin_di_range), 91562306a36Sopenharmony_ci [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt8195_pin_do_range), 91662306a36Sopenharmony_ci [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt8195_pin_smt_range), 91762306a36Sopenharmony_ci [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt8195_pin_ies_range), 91862306a36Sopenharmony_ci [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt8195_pin_pu_range), 91962306a36Sopenharmony_ci [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt8195_pin_pd_range), 92062306a36Sopenharmony_ci [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt8195_pin_drv_range), 92162306a36Sopenharmony_ci [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt8195_pin_pupd_range), 92262306a36Sopenharmony_ci [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt8195_pin_r0_range), 92362306a36Sopenharmony_ci [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt8195_pin_r1_range), 92462306a36Sopenharmony_ci [PINCTRL_PIN_REG_DRV_ADV] = MTK_RANGE(mt8195_pin_drv_adv_range), 92562306a36Sopenharmony_ci [PINCTRL_PIN_REG_RSEL] = MTK_RANGE(mt8195_pin_rsel_range), 92662306a36Sopenharmony_ci}; 92762306a36Sopenharmony_ci 92862306a36Sopenharmony_cistatic const char * const mt8195_pinctrl_register_base_names[] = { 92962306a36Sopenharmony_ci "iocfg0", "iocfg_bm", "iocfg_bl", "iocfg_br", "iocfg_lm", 93062306a36Sopenharmony_ci "iocfg_rb", "iocfg_tl", 93162306a36Sopenharmony_ci}; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_cistatic const struct mtk_eint_hw mt8195_eint_hw = { 93462306a36Sopenharmony_ci .port_mask = 0xf, 93562306a36Sopenharmony_ci .ports = 7, 93662306a36Sopenharmony_ci .ap_num = 225, 93762306a36Sopenharmony_ci .db_cnt = 32, 93862306a36Sopenharmony_ci .db_time = debounce_time_mt6765, 93962306a36Sopenharmony_ci}; 94062306a36Sopenharmony_ci 94162306a36Sopenharmony_cistatic const struct mtk_pin_soc mt8195_data = { 94262306a36Sopenharmony_ci .reg_cal = mt8195_reg_cals, 94362306a36Sopenharmony_ci .pins = mtk_pins_mt8195, 94462306a36Sopenharmony_ci .npins = ARRAY_SIZE(mtk_pins_mt8195), 94562306a36Sopenharmony_ci .ngrps = ARRAY_SIZE(mtk_pins_mt8195), 94662306a36Sopenharmony_ci .eint_hw = &mt8195_eint_hw, 94762306a36Sopenharmony_ci .nfuncs = 8, 94862306a36Sopenharmony_ci .gpio_m = 0, 94962306a36Sopenharmony_ci .base_names = mt8195_pinctrl_register_base_names, 95062306a36Sopenharmony_ci .nbase_names = ARRAY_SIZE(mt8195_pinctrl_register_base_names), 95162306a36Sopenharmony_ci .pull_type = mt8195_pull_type, 95262306a36Sopenharmony_ci .pin_rsel = mt8195_pin_rsel_val_range, 95362306a36Sopenharmony_ci .npin_rsel = ARRAY_SIZE(mt8195_pin_rsel_val_range), 95462306a36Sopenharmony_ci .bias_set_combo = mtk_pinconf_bias_set_combo, 95562306a36Sopenharmony_ci .bias_get_combo = mtk_pinconf_bias_get_combo, 95662306a36Sopenharmony_ci .drive_set = mtk_pinconf_drive_set_rev1, 95762306a36Sopenharmony_ci .drive_get = mtk_pinconf_drive_get_rev1, 95862306a36Sopenharmony_ci .adv_drive_get = mtk_pinconf_adv_drive_get_raw, 95962306a36Sopenharmony_ci .adv_drive_set = mtk_pinconf_adv_drive_set_raw, 96062306a36Sopenharmony_ci}; 96162306a36Sopenharmony_ci 96262306a36Sopenharmony_cistatic const struct of_device_id mt8195_pinctrl_of_match[] = { 96362306a36Sopenharmony_ci { .compatible = "mediatek,mt8195-pinctrl", .data = &mt8195_data }, 96462306a36Sopenharmony_ci { } 96562306a36Sopenharmony_ci}; 96662306a36Sopenharmony_ci 96762306a36Sopenharmony_cistatic struct platform_driver mt8195_pinctrl_driver = { 96862306a36Sopenharmony_ci .driver = { 96962306a36Sopenharmony_ci .name = "mt8195-pinctrl", 97062306a36Sopenharmony_ci .of_match_table = mt8195_pinctrl_of_match, 97162306a36Sopenharmony_ci .pm = &mtk_paris_pinctrl_pm_ops, 97262306a36Sopenharmony_ci }, 97362306a36Sopenharmony_ci .probe = mtk_paris_pinctrl_probe, 97462306a36Sopenharmony_ci}; 97562306a36Sopenharmony_ci 97662306a36Sopenharmony_cistatic int __init mt8195_pinctrl_init(void) 97762306a36Sopenharmony_ci{ 97862306a36Sopenharmony_ci return platform_driver_register(&mt8195_pinctrl_driver); 97962306a36Sopenharmony_ci} 98062306a36Sopenharmony_ciarch_initcall(mt8195_pinctrl_init); 981