Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/pinctrl/mediatek/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 75 kB image not shown  

Quelle  pinctrl-mt8189.c

  Sprache: C
 

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2025 MediaTek Inc.
 * Author: Lei Xue <lei.xue@mediatek.com>
 *         Cathy Xu <ot_cathy.xu@mediatek.com>
 */


#include "pinctrl-mtk-mt8189.h"
#include "pinctrl-paris.h"

#define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits)  \
 PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \
         320)

#define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \
 PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \
         321)

static const struct mtk_pin_field_calc mt8189_pin_mode_range[] = {
 PIN_FIELD(01820x0300, 0x10, 04),
};

static const struct mtk_pin_field_calc mt8189_pin_dir_range[] = {
 PIN_FIELD(01820x0000, 0x10, 01),
};

static const struct mtk_pin_field_calc mt8189_pin_di_range[] = {
 PIN_FIELD(01820x0200, 0x10, 01),
};

static const struct mtk_pin_field_calc mt8189_pin_do_range[] = {
 PIN_FIELD(01820x0100, 0x10, 01),
};

static const struct mtk_pin_field_calc mt8189_pin_smt_range[] = {
 PIN_FIELD_BASE(0070x00e0, 0x10, 51),
 PIN_FIELD_BASE(1180x00c0, 0x10, 31),
 PIN_FIELD_BASE(2280x00c0, 0x10, 41),
 PIN_FIELD_BASE(3380x00c0, 0x10, 51),
 PIN_FIELD_BASE(4480x00c0, 0x10, 61),
 PIN_FIELD_BASE(5580x00c0, 0x10, 71),
 PIN_FIELD_BASE(6670x00e0, 0x10, 61),
 PIN_FIELD_BASE(7770x00e0, 0x10, 71),
 PIN_FIELD_BASE(8870x00e0, 0x10, 81),
 PIN_FIELD_BASE(9970x00e0, 0x10, 91),
 PIN_FIELD_BASE(101070x00e0, 0x10, 101),
 PIN_FIELD_BASE(111170x00e0, 0x10, 111),
 PIN_FIELD_BASE(121220x00e0, 0x10, 51),
 PIN_FIELD_BASE(131320x00e0, 0x10, 61),
 PIN_FIELD_BASE(141430x00f0, 0x10, 01),
 PIN_FIELD_BASE(151530x00f0, 0x10, 11),
 PIN_FIELD_BASE(161620x00e0, 0x10, 71),
 PIN_FIELD_BASE(171720x00e0, 0x10, 81),
 PIN_FIELD_BASE(181870x00e0, 0x10, 01),
 PIN_FIELD_BASE(191970x00e0, 0x10, 21),
 PIN_FIELD_BASE(202070x00e0, 0x10, 11),
 PIN_FIELD_BASE(212170x00e0, 0x10, 31),
 PIN_FIELD_BASE(222290x00f0, 0x10, 01),
 PIN_FIELD_BASE(232390x00f0, 0x10, 11),
 PIN_FIELD_BASE(242490x00f0, 0x10, 21),
 PIN_FIELD_BASE(252540x00c0, 0x10, 21),
 PIN_FIELD_BASE(262640x00c0, 0x10, 11),
 PIN_FIELD_BASE(272720x00e0, 0x10, 11),
 PIN_FIELD_BASE(282820x00e0, 0x10, 21),
 PIN_FIELD_BASE(292940x00c0, 0x10, 01),
 PIN_FIELD_BASE(303020x00e0, 0x10, 01),
 PIN_FIELD_BASE(313130x00f0, 0x10, 191),
 PIN_FIELD_BASE(323210x00c0, 0x10, 301),
 PIN_FIELD_BASE(333330x00f0, 0x10, 211),
 PIN_FIELD_BASE(343430x00f0, 0x10, 201),
 PIN_FIELD_BASE(353530x00f0, 0x10, 231),
 PIN_FIELD_BASE(363630x00f0, 0x10, 221),
 PIN_FIELD_BASE(373730x00f0, 0x10, 251),
 PIN_FIELD_BASE(383830x00f0, 0x10, 241),
 PIN_FIELD_BASE(393930x00f0, 0x10, 51),
 PIN_FIELD_BASE(404030x00f0, 0x10, 21),
 PIN_FIELD_BASE(414130x00f0, 0x10, 31),
 PIN_FIELD_BASE(424230x00f0, 0x10, 41),
 PIN_FIELD_BASE(434330x00f0, 0x10, 61),
 PIN_FIELD_BASE(444470x00e0, 0x10, 201),
 PIN_FIELD_BASE(454570x00e0, 0x10, 211),
 PIN_FIELD_BASE(464670x00e0, 0x10, 221),
 PIN_FIELD_BASE(474770x00e0, 0x10, 231),
 PIN_FIELD_BASE(484840x00c0, 0x10, 51),
 PIN_FIELD_BASE(494940x00c0, 0x10, 41),
 PIN_FIELD_BASE(505040x00c0, 0x10, 31),
 PIN_FIELD_BASE(515180x00c0, 0x10, 81),
 PIN_FIELD_BASE(525280x00c0, 0x10, 101),
 PIN_FIELD_BASE(535380x00c0, 0x10, 91),
 PIN_FIELD_BASE(545480x00c0, 0x10, 111),
 PIN_FIELD_BASE(555540x00c0, 0x10, 61),
 PIN_FIELD_BASE(565640x00c0, 0x10, 71),
 PIN_FIELD_BASE(575720x00e0, 0x10, 131),
 PIN_FIELD_BASE(585820x00e0, 0x10, 171),
 PIN_FIELD_BASE(595920x00e0, 0x10, 141),
 PIN_FIELD_BASE(606020x00e0, 0x10, 181),
 PIN_FIELD_BASE(616120x00e0, 0x10, 151),
 PIN_FIELD_BASE(626220x00e0, 0x10, 191),
 PIN_FIELD_BASE(636320x00e0, 0x10, 161),
 PIN_FIELD_BASE(646420x00e0, 0x10, 201),
 PIN_FIELD_BASE(656590x00f0, 0x10, 101),
 PIN_FIELD_BASE(666690x00f0, 0x10, 121),
 PIN_FIELD_BASE(676790x00f0, 0x10, 111),
 PIN_FIELD_BASE(686890x00f0, 0x10, 131),
 PIN_FIELD_BASE(696920x00e0, 0x10, 221),
 PIN_FIELD_BASE(707020x00e0, 0x10, 211),
 PIN_FIELD_BASE(717120x00e0, 0x10, 241),
 PIN_FIELD_BASE(727220x00e0, 0x10, 231),
 PIN_FIELD_BASE(737320x00e0, 0x10, 261),
 PIN_FIELD_BASE(747420x00e0, 0x10, 251),
 PIN_FIELD_BASE(757530x00f0, 0x10, 131),
 PIN_FIELD_BASE(767620x00e0, 0x10, 271),
 PIN_FIELD_BASE(777780x00c0, 0x10, 131),
 PIN_FIELD_BASE(787880x00c0, 0x10, 121),
 PIN_FIELD_BASE(797980x00c0, 0x10, 151),
 PIN_FIELD_BASE(808080x00c0, 0x10, 141),
 PIN_FIELD_BASE(818120x00e0, 0x10, 291),
 PIN_FIELD_BASE(828220x00e0, 0x10, 281),
 PIN_FIELD_BASE(838320x00e0, 0x10, 301),
 PIN_FIELD_BASE(848470x00e0, 0x10, 241),
 PIN_FIELD_BASE(858570x00e0, 0x10, 251),
 PIN_FIELD_BASE(868670x00e0, 0x10, 261),
 PIN_FIELD_BASE(878770x00e0, 0x10, 271),
 PIN_FIELD_BASE(888850x0120, 0x10, 201),
 PIN_FIELD_BASE(898950x0120, 0x10, 191),
 PIN_FIELD_BASE(909050x0120, 0x10, 221),
 PIN_FIELD_BASE(919150x0120, 0x10, 211),
 PIN_FIELD_BASE(929250x0120, 0x10, 161),
 PIN_FIELD_BASE(939350x0120, 0x10, 171),
 PIN_FIELD_BASE(949450x0120, 0x10, 231),
 PIN_FIELD_BASE(959550x0120, 0x10, 151),
 PIN_FIELD_BASE(969650x0120, 0x10, 181),
 PIN_FIELD_BASE(979750x0120, 0x10, 01),
 PIN_FIELD_BASE(989850x0120, 0x10, 51),
 PIN_FIELD_BASE(999950x0120, 0x10, 31),
 PIN_FIELD_BASE(10010050x0120, 0x10, 41),
 PIN_FIELD_BASE(10110150x0120, 0x10, 11),
 PIN_FIELD_BASE(10210250x0120, 0x10, 21),
 PIN_FIELD_BASE(10310370x00e0, 0x10, 151),
 PIN_FIELD_BASE(10410470x00e0, 0x10, 121),
 PIN_FIELD_BASE(10510570x00e0, 0x10, 141),
 PIN_FIELD_BASE(10610670x00e0, 0x10, 131),
 PIN_FIELD_BASE(10710770x00e0, 0x10, 191),
 PIN_FIELD_BASE(10810870x00e0, 0x10, 161),
 PIN_FIELD_BASE(10910970x00e0, 0x10, 181),
 PIN_FIELD_BASE(11011070x00e0, 0x10, 171),
 PIN_FIELD_BASE(11111170x00e0, 0x10, 41),
 PIN_FIELD_BASE(11211280x00c0, 0x10, 01),
 PIN_FIELD_BASE(11311380x00c0, 0x10, 11),
 PIN_FIELD_BASE(11411480x00c0, 0x10, 21),
 PIN_FIELD_BASE(11511520x00e0, 0x10, 91),
 PIN_FIELD_BASE(11611620x00e0, 0x10, 121),
 PIN_FIELD_BASE(11711720x00e0, 0x10, 101),
 PIN_FIELD_BASE(11811820x00e0, 0x10, 111),
 PIN_FIELD_BASE(11911910x00c0, 0x10, 261),
 PIN_FIELD_BASE(12012010x00c0, 0x10, 251),
 PIN_FIELD_BASE(12112110x00c0, 0x10, 241),
 PIN_FIELD_BASE(12212210x00c0, 0x10, 231),
 PIN_FIELD_BASE(12312310x00c0, 0x10, 191),
 PIN_FIELD_BASE(12412410x00c0, 0x10, 181),
 PIN_FIELD_BASE(12512510x00c0, 0x10, 171),
 PIN_FIELD_BASE(12612610x00c0, 0x10, 161),
 PIN_FIELD_BASE(12712710x00c0, 0x10, 221),
 PIN_FIELD_BASE(12812810x00c0, 0x10, 151),
 PIN_FIELD_BASE(12912910x00c0, 0x10, 201),
 PIN_FIELD_BASE(13013010x00c0, 0x10, 271),
 PIN_FIELD_BASE(13113110x00c0, 0x10, 131),
 PIN_FIELD_BASE(13213210x00c0, 0x10, 141),
 PIN_FIELD_BASE(13313310x00c0, 0x10, 281),
 PIN_FIELD_BASE(13413410x00c0, 0x10, 211),
 PIN_FIELD_BASE(13513510x00c0, 0x10, 111),
 PIN_FIELD_BASE(13613610x00c0, 0x10, 121),
 PIN_FIELD_BASE(13713720x00e0, 0x10, 31),
 PIN_FIELD_BASE(13813820x00e0, 0x10, 41),
 PIN_FIELD_BASE(13913910x00c0, 0x10, 31),
 PIN_FIELD_BASE(14014010x00c0, 0x10, 41),
 PIN_FIELD_BASE(14114110x00c0, 0x10, 01),
 PIN_FIELD_BASE(14214210x00c0, 0x10, 11),
 PIN_FIELD_BASE(14314310x00c0, 0x10, 21),
 PIN_FIELD_BASE(14414410x00c0, 0x10, 51),
 PIN_FIELD_BASE(14514510x00c0, 0x10, 61),
 PIN_FIELD_BASE(14614610x00c0, 0x10, 71),
 PIN_FIELD_BASE(14714710x00c0, 0x10, 81),
 PIN_FIELD_BASE(14814810x00c0, 0x10, 91),
 PIN_FIELD_BASE(14914910x00c0, 0x10, 101),
 PIN_FIELD_BASE(15015030x00f0, 0x10, 141),
 PIN_FIELD_BASE(15115110x00c0, 0x10, 291),
 PIN_FIELD_BASE(15215230x00f0, 0x10, 151),
 PIN_FIELD_BASE(15315330x00f0, 0x10, 161),
 PIN_FIELD_BASE(15415430x00f0, 0x10, 171),
 PIN_FIELD_BASE(15515530x00f0, 0x10, 181),
 PIN_FIELD_BASE(15615650x0120, 0x10, 121),
 PIN_FIELD_BASE(15715750x0120, 0x10, 111),
 PIN_FIELD_BASE(15815850x0120, 0x10, 101),
 PIN_FIELD_BASE(15915960x0090, 0x10, 21),
 PIN_FIELD_BASE(16016050x0120, 0x10, 141),
 PIN_FIELD_BASE(16116150x0120, 0x10, 71),
 PIN_FIELD_BASE(16216250x0120, 0x10, 61),
 PIN_FIELD_BASE(16316360x0090, 0x10, 11),
 PIN_FIELD_BASE(16416450x0120, 0x10, 91),
 PIN_FIELD_BASE(16516550x0120, 0x10, 81),
 PIN_FIELD_BASE(16616660x0090, 0x10, 01),
 PIN_FIELD_BASE(16716750x0120, 0x10, 131),
 PIN_FIELD_BASE(16816830x00f0, 0x10, 81),
 PIN_FIELD_BASE(16916930x00f0, 0x10, 71),
 PIN_FIELD_BASE(17017030x00f0, 0x10, 91),
 PIN_FIELD_BASE(17117130x00f0, 0x10, 101),
 PIN_FIELD_BASE(17217230x00f0, 0x10, 111),
 PIN_FIELD_BASE(17317330x00f0, 0x10, 121),
 PIN_FIELD_BASE(17417490x00f0, 0x10, 51),
 PIN_FIELD_BASE(17517590x00f0, 0x10, 41),
 PIN_FIELD_BASE(17617690x00f0, 0x10, 61),
 PIN_FIELD_BASE(17717790x00f0, 0x10, 71),
 PIN_FIELD_BASE(17817890x00f0, 0x10, 81),
 PIN_FIELD_BASE(17917990x00f0, 0x10, 91),
 PIN_FIELD_BASE(18018050x0120, 0x10, 241),
 PIN_FIELD_BASE(18118150x0120, 0x10, 251),
 PIN_FIELD_BASE(18218290x00f0, 0x10, 31),
};

static const struct mtk_pin_field_calc mt8189_pin_ies_range[] = {
 PIN_FIELD_BASE(0070x0050, 0x10, 51),
 PIN_FIELD_BASE(1180x0050, 0x10, 31),
 PIN_FIELD_BASE(2280x0050, 0x10, 41),
 PIN_FIELD_BASE(3380x0050, 0x10, 51),
 PIN_FIELD_BASE(4480x0050, 0x10, 61),
 PIN_FIELD_BASE(5580x0050, 0x10, 71),
 PIN_FIELD_BASE(6670x0050, 0x10, 61),
 PIN_FIELD_BASE(7770x0050, 0x10, 71),
 PIN_FIELD_BASE(8870x0050, 0x10, 81),
 PIN_FIELD_BASE(9970x0050, 0x10, 91),
 PIN_FIELD_BASE(101070x0050, 0x10, 101),
 PIN_FIELD_BASE(111170x0050, 0x10, 111),
 PIN_FIELD_BASE(121220x0070, 0x10, 51),
 PIN_FIELD_BASE(131320x0070, 0x10, 61),
 PIN_FIELD_BASE(141430x0050, 0x10, 01),
 PIN_FIELD_BASE(151530x0050, 0x10, 11),
 PIN_FIELD_BASE(161620x0070, 0x10, 71),
 PIN_FIELD_BASE(171720x0070, 0x10, 81),
 PIN_FIELD_BASE(181870x0050, 0x10, 01),
 PIN_FIELD_BASE(191970x0050, 0x10, 21),
 PIN_FIELD_BASE(202070x0050, 0x10, 11),
 PIN_FIELD_BASE(212170x0050, 0x10, 31),
 PIN_FIELD_BASE(222290x0040, 0x10, 01),
 PIN_FIELD_BASE(232390x0040, 0x10, 11),
 PIN_FIELD_BASE(242490x0040, 0x10, 21),
 PIN_FIELD_BASE(252540x0050, 0x10, 21),
 PIN_FIELD_BASE(262640x0050, 0x10, 11),
 PIN_FIELD_BASE(272720x0070, 0x10, 11),
 PIN_FIELD_BASE(282820x0070, 0x10, 21),
 PIN_FIELD_BASE(292940x0050, 0x10, 01),
 PIN_FIELD_BASE(303020x0070, 0x10, 01),
 PIN_FIELD_BASE(313130x0050, 0x10, 191),
 PIN_FIELD_BASE(323210x0050, 0x10, 301),
 PIN_FIELD_BASE(333330x0050, 0x10, 211),
 PIN_FIELD_BASE(343430x0050, 0x10, 201),
 PIN_FIELD_BASE(353530x0050, 0x10, 231),
 PIN_FIELD_BASE(363630x0050, 0x10, 221),
 PIN_FIELD_BASE(373730x0050, 0x10, 251),
 PIN_FIELD_BASE(383830x0050, 0x10, 241),
 PIN_FIELD_BASE(393930x0050, 0x10, 51),
 PIN_FIELD_BASE(404030x0050, 0x10, 21),
 PIN_FIELD_BASE(414130x0050, 0x10, 31),
 PIN_FIELD_BASE(424230x0050, 0x10, 41),
 PIN_FIELD_BASE(434330x0050, 0x10, 61),
 PIN_FIELD_BASE(444470x0050, 0x10, 201),
 PIN_FIELD_BASE(454570x0050, 0x10, 211),
 PIN_FIELD_BASE(464670x0050, 0x10, 221),
 PIN_FIELD_BASE(474770x0050, 0x10, 231),
 PIN_FIELD_BASE(484840x0050, 0x10, 51),
 PIN_FIELD_BASE(494940x0050, 0x10, 41),
 PIN_FIELD_BASE(505040x0050, 0x10, 31),
 PIN_FIELD_BASE(515180x0050, 0x10, 81),
 PIN_FIELD_BASE(525280x0050, 0x10, 101),
 PIN_FIELD_BASE(535380x0050, 0x10, 91),
 PIN_FIELD_BASE(545480x0050, 0x10, 111),
 PIN_FIELD_BASE(555540x0050, 0x10, 61),
 PIN_FIELD_BASE(565640x0050, 0x10, 71),
 PIN_FIELD_BASE(575720x0070, 0x10, 131),
 PIN_FIELD_BASE(585820x0070, 0x10, 171),
 PIN_FIELD_BASE(595920x0070, 0x10, 141),
 PIN_FIELD_BASE(606020x0070, 0x10, 181),
 PIN_FIELD_BASE(616120x0070, 0x10, 151),
 PIN_FIELD_BASE(626220x0070, 0x10, 191),
 PIN_FIELD_BASE(636320x0070, 0x10, 161),
 PIN_FIELD_BASE(646420x0070, 0x10, 201),
 PIN_FIELD_BASE(656590x0040, 0x10, 101),
 PIN_FIELD_BASE(666690x0040, 0x10, 121),
 PIN_FIELD_BASE(676790x0040, 0x10, 111),
 PIN_FIELD_BASE(686890x0040, 0x10, 131),
 PIN_FIELD_BASE(696920x0070, 0x10, 221),
 PIN_FIELD_BASE(707020x0070, 0x10, 211),
 PIN_FIELD_BASE(717120x0070, 0x10, 241),
 PIN_FIELD_BASE(727220x0070, 0x10, 231),
 PIN_FIELD_BASE(737320x0070, 0x10, 261),
 PIN_FIELD_BASE(747420x0070, 0x10, 251),
 PIN_FIELD_BASE(757530x0050, 0x10, 131),
 PIN_FIELD_BASE(767620x0070, 0x10, 271),
 PIN_FIELD_BASE(777780x0050, 0x10, 131),
 PIN_FIELD_BASE(787880x0050, 0x10, 121),
 PIN_FIELD_BASE(797980x0050, 0x10, 151),
 PIN_FIELD_BASE(808080x0050, 0x10, 141),
 PIN_FIELD_BASE(818120x0070, 0x10, 291),
 PIN_FIELD_BASE(828220x0070, 0x10, 281),
 PIN_FIELD_BASE(838320x0070, 0x10, 301),
 PIN_FIELD_BASE(848470x0050, 0x10, 241),
 PIN_FIELD_BASE(858570x0050, 0x10, 251),
 PIN_FIELD_BASE(868670x0050, 0x10, 261),
 PIN_FIELD_BASE(878770x0050, 0x10, 271),
 PIN_FIELD_BASE(888850x0060, 0x10, 201),
 PIN_FIELD_BASE(898950x0060, 0x10, 191),
 PIN_FIELD_BASE(909050x0060, 0x10, 221),
 PIN_FIELD_BASE(919150x0060, 0x10, 211),
 PIN_FIELD_BASE(929250x0060, 0x10, 161),
 PIN_FIELD_BASE(939350x0060, 0x10, 171),
 PIN_FIELD_BASE(949450x0060, 0x10, 231),
 PIN_FIELD_BASE(959550x0060, 0x10, 151),
 PIN_FIELD_BASE(969650x0060, 0x10, 181),
 PIN_FIELD_BASE(979750x0060, 0x10, 01),
 PIN_FIELD_BASE(989850x0060, 0x10, 51),
 PIN_FIELD_BASE(999950x0060, 0x10, 31),
 PIN_FIELD_BASE(10010050x0060, 0x10, 41),
 PIN_FIELD_BASE(10110150x0060, 0x10, 11),
 PIN_FIELD_BASE(10210250x0060, 0x10, 21),
 PIN_FIELD_BASE(10310370x0050, 0x10, 151),
 PIN_FIELD_BASE(10410470x0050, 0x10, 121),
 PIN_FIELD_BASE(10510570x0050, 0x10, 141),
 PIN_FIELD_BASE(10610670x0050, 0x10, 131),
 PIN_FIELD_BASE(10710770x0050, 0x10, 191),
 PIN_FIELD_BASE(10810870x0050, 0x10, 161),
 PIN_FIELD_BASE(10910970x0050, 0x10, 181),
 PIN_FIELD_BASE(11011070x0050, 0x10, 171),
 PIN_FIELD_BASE(11111170x0050, 0x10, 41),
 PIN_FIELD_BASE(11211280x0050, 0x10, 01),
 PIN_FIELD_BASE(11311380x0050, 0x10, 11),
 PIN_FIELD_BASE(11411480x0050, 0x10, 21),
 PIN_FIELD_BASE(11511520x0070, 0x10, 91),
 PIN_FIELD_BASE(11611620x0070, 0x10, 121),
 PIN_FIELD_BASE(11711720x0070, 0x10, 101),
 PIN_FIELD_BASE(11811820x0070, 0x10, 111),
 PIN_FIELD_BASE(11911910x0050, 0x10, 261),
 PIN_FIELD_BASE(12012010x0050, 0x10, 251),
 PIN_FIELD_BASE(12112110x0050, 0x10, 241),
 PIN_FIELD_BASE(12212210x0050, 0x10, 231),
 PIN_FIELD_BASE(12312310x0050, 0x10, 191),
 PIN_FIELD_BASE(12412410x0050, 0x10, 181),
 PIN_FIELD_BASE(12512510x0050, 0x10, 171),
 PIN_FIELD_BASE(12612610x0050, 0x10, 161),
 PIN_FIELD_BASE(12712710x0050, 0x10, 221),
 PIN_FIELD_BASE(12812810x0050, 0x10, 151),
 PIN_FIELD_BASE(12912910x0050, 0x10, 201),
 PIN_FIELD_BASE(13013010x0050, 0x10, 271),
 PIN_FIELD_BASE(13113110x0050, 0x10, 131),
 PIN_FIELD_BASE(13213210x0050, 0x10, 141),
 PIN_FIELD_BASE(13313310x0050, 0x10, 281),
 PIN_FIELD_BASE(13413410x0050, 0x10, 211),
 PIN_FIELD_BASE(13513510x0050, 0x10, 111),
 PIN_FIELD_BASE(13613610x0050, 0x10, 121),
 PIN_FIELD_BASE(13713720x0070, 0x10, 31),
 PIN_FIELD_BASE(13813820x0070, 0x10, 41),
 PIN_FIELD_BASE(13913910x0050, 0x10, 31),
 PIN_FIELD_BASE(14014010x0050, 0x10, 41),
 PIN_FIELD_BASE(14114110x0050, 0x10, 01),
 PIN_FIELD_BASE(14214210x0050, 0x10, 11),
 PIN_FIELD_BASE(14314310x0050, 0x10, 21),
 PIN_FIELD_BASE(14414410x0050, 0x10, 51),
 PIN_FIELD_BASE(14514510x0050, 0x10, 61),
 PIN_FIELD_BASE(14614610x0050, 0x10, 71),
 PIN_FIELD_BASE(14714710x0050, 0x10, 81),
 PIN_FIELD_BASE(14814810x0050, 0x10, 91),
 PIN_FIELD_BASE(14914910x0050, 0x10, 101),
 PIN_FIELD_BASE(15015030x0050, 0x10, 141),
 PIN_FIELD_BASE(15115110x0050, 0x10, 291),
 PIN_FIELD_BASE(15215230x0050, 0x10, 151),
 PIN_FIELD_BASE(15315330x0050, 0x10, 161),
 PIN_FIELD_BASE(15415430x0050, 0x10, 171),
 PIN_FIELD_BASE(15515530x0050, 0x10, 181),
 PIN_FIELD_BASE(15615650x0060, 0x10, 121),
 PIN_FIELD_BASE(15715750x0060, 0x10, 111),
 PIN_FIELD_BASE(15815850x0060, 0x10, 101),
 PIN_FIELD_BASE(15915960x0020, 0x10, 21),
 PIN_FIELD_BASE(16016050x0060, 0x10, 141),
 PIN_FIELD_BASE(16116150x0060, 0x10, 71),
 PIN_FIELD_BASE(16216250x0060, 0x10, 61),
 PIN_FIELD_BASE(16316360x0020, 0x10, 11),
 PIN_FIELD_BASE(16416450x0060, 0x10, 91),
 PIN_FIELD_BASE(16516550x0060, 0x10, 81),
 PIN_FIELD_BASE(16616660x0020, 0x10, 01),
 PIN_FIELD_BASE(16716750x0060, 0x10, 131),
 PIN_FIELD_BASE(16816830x0050, 0x10, 81),
 PIN_FIELD_BASE(16916930x0050, 0x10, 71),
 PIN_FIELD_BASE(17017030x0050, 0x10, 91),
 PIN_FIELD_BASE(17117130x0050, 0x10, 101),
 PIN_FIELD_BASE(17217230x0050, 0x10, 111),
 PIN_FIELD_BASE(17317330x0050, 0x10, 121),
 PIN_FIELD_BASE(17417490x0040, 0x10, 51),
 PIN_FIELD_BASE(17517590x0040, 0x10, 41),
 PIN_FIELD_BASE(17617690x0040, 0x10, 61),
 PIN_FIELD_BASE(17717790x0040, 0x10, 71),
 PIN_FIELD_BASE(17817890x0040, 0x10, 81),
 PIN_FIELD_BASE(17917990x0040, 0x10, 91),
 PIN_FIELD_BASE(18018050x0060, 0x10, 241),
 PIN_FIELD_BASE(18118150x0060, 0x10, 251),
 PIN_FIELD_BASE(18218290x0040, 0x10, 31),
};

static const struct mtk_pin_field_calc mt8189_pin_tdsel_range[] = {
 PIN_FIELD_BASE(0070x00f0, 0x10, 04),
 PIN_FIELD_BASE(1180x00d0, 0x10, 04),
 PIN_FIELD_BASE(2280x00d0, 0x10, 44),
 PIN_FIELD_BASE(3380x00d0, 0x10, 84),
 PIN_FIELD_BASE(4480x00d0, 0x10, 124),
 PIN_FIELD_BASE(5580x00d0, 0x10, 164),
 PIN_FIELD_BASE(6670x00f0, 0x10, 44),
 PIN_FIELD_BASE(7770x00f0, 0x10, 84),
 PIN_FIELD_BASE(8870x00f0, 0x10, 124),
 PIN_FIELD_BASE(9970x00f0, 0x10, 164),
 PIN_FIELD_BASE(101070x00f0, 0x10, 204),
 PIN_FIELD_BASE(111170x00f0, 0x10, 244),
 PIN_FIELD_BASE(121220x00f0, 0x10, 124),
 PIN_FIELD_BASE(131320x00f0, 0x10, 164),
 PIN_FIELD_BASE(141430x0110, 0x10, 04),
 PIN_FIELD_BASE(151530x0110, 0x10, 44),
 PIN_FIELD_BASE(161620x00f0, 0x10, 204),
 PIN_FIELD_BASE(171720x00f0, 0x10, 284),
 PIN_FIELD_BASE(181870x0100, 0x10, 284),
 PIN_FIELD_BASE(191970x0110, 0x10, 04),
 PIN_FIELD_BASE(202070x0110, 0x10, 04),
 PIN_FIELD_BASE(212170x0110, 0x10, 04),
 PIN_FIELD_BASE(222290x0110, 0x10, 04),
 PIN_FIELD_BASE(232390x0110, 0x10, 44),
 PIN_FIELD_BASE(242490x0110, 0x10, 84),
 PIN_FIELD_BASE(252540x00d0, 0x10, 124),
 PIN_FIELD_BASE(262640x00d0, 0x10, 84),
 PIN_FIELD_BASE(272720x00f0, 0x10, 44),
 PIN_FIELD_BASE(282820x00f0, 0x10, 84),
 PIN_FIELD_BASE(292940x00d0, 0x10, 84),
 PIN_FIELD_BASE(303020x00f0, 0x10, 04),
 PIN_FIELD_BASE(313130x0120, 0x10, 84),
 PIN_FIELD_BASE(323210x00f0, 0x10, 164),
 PIN_FIELD_BASE(333330x0120, 0x10, 164),
 PIN_FIELD_BASE(343430x0120, 0x10, 44),
 PIN_FIELD_BASE(353530x0120, 0x10, 04),
 PIN_FIELD_BASE(363630x0120, 0x10, 84),
 PIN_FIELD_BASE(373730x0120, 0x10, 44),
 PIN_FIELD_BASE(383830x0120, 0x10, 44),
 PIN_FIELD_BASE(393930x0120, 0x10, 84),
 PIN_FIELD_BASE(404030x0120, 0x10, 84),
 PIN_FIELD_BASE(414130x0120, 0x10, 84),
 PIN_FIELD_BASE(424230x0120, 0x10, 84),
 PIN_FIELD_BASE(434330x0120, 0x10, 84),
 PIN_FIELD_BASE(444470x0110, 0x10, 04),
 PIN_FIELD_BASE(454570x0110, 0x10, 04),
 PIN_FIELD_BASE(464670x0110, 0x10, 04),
 PIN_FIELD_BASE(474770x0110, 0x10, 04),
 PIN_FIELD_BASE(484840x00d0, 0x10, 84),
 PIN_FIELD_BASE(494940x00d0, 0x10, 44),
 PIN_FIELD_BASE(505040x00d0, 0x10, 04),
 PIN_FIELD_BASE(515180x00d0, 0x10, 204),
 PIN_FIELD_BASE(525280x00d0, 0x10, 204),
 PIN_FIELD_BASE(535380x00d0, 0x10, 204),
 PIN_FIELD_BASE(545480x00d0, 0x10, 204),
 PIN_FIELD_BASE(555540x00d0, 0x10, 124),
 PIN_FIELD_BASE(565640x00d0, 0x10, 124),
 PIN_FIELD_BASE(575720x00f0, 0x10, 284),
 PIN_FIELD_BASE(585820x00f0, 0x10, 284),
 PIN_FIELD_BASE(595920x00f0, 0x10, 284),
 PIN_FIELD_BASE(606020x00f0, 0x10, 284),
 PIN_FIELD_BASE(616120x00f0, 0x10, 284),
 PIN_FIELD_BASE(626220x00f0, 0x10, 284),
 PIN_FIELD_BASE(636320x00f0, 0x10, 284),
 PIN_FIELD_BASE(646420x00f0, 0x10, 284),
 PIN_FIELD_BASE(656590x0120, 0x10, 44),
 PIN_FIELD_BASE(666690x0120, 0x10, 44),
 PIN_FIELD_BASE(676790x0120, 0x10, 44),
 PIN_FIELD_BASE(686890x0120, 0x10, 44),
 PIN_FIELD_BASE(696920x0100, 0x10, 44),
 PIN_FIELD_BASE(707020x0100, 0x10, 04),
 PIN_FIELD_BASE(717120x0100, 0x10, 124),
 PIN_FIELD_BASE(727220x0100, 0x10, 84),
 PIN_FIELD_BASE(737320x0100, 0x10, 204),
 PIN_FIELD_BASE(747420x0100, 0x10, 164),
 PIN_FIELD_BASE(757530x0120, 0x10, 124),
 PIN_FIELD_BASE(767620x0100, 0x10, 244),
 PIN_FIELD_BASE(777780x00d0, 0x10, 284),
 PIN_FIELD_BASE(787880x00d0, 0x10, 244),
 PIN_FIELD_BASE(797980x00e0, 0x10, 44),
 PIN_FIELD_BASE(808080x00e0, 0x10, 04),
 PIN_FIELD_BASE(818120x00f0, 0x10, 284),
 PIN_FIELD_BASE(828220x00f0, 0x10, 284),
 PIN_FIELD_BASE(838320x00f0, 0x10, 284),
 PIN_FIELD_BASE(848470x0110, 0x10, 04),
 PIN_FIELD_BASE(858570x0110, 0x10, 04),
 PIN_FIELD_BASE(868670x0110, 0x10, 04),
 PIN_FIELD_BASE(878770x0110, 0x10, 04),
 PIN_FIELD_BASE(888850x0140, 0x10, 44),
 PIN_FIELD_BASE(898950x0140, 0x10, 44),
 PIN_FIELD_BASE(909050x0140, 0x10, 44),
 PIN_FIELD_BASE(919150x0140, 0x10, 44),
 PIN_FIELD_BASE(929250x0140, 0x10, 84),
 PIN_FIELD_BASE(939350x0140, 0x10, 84),
 PIN_FIELD_BASE(949450x0140, 0x10, 84),
 PIN_FIELD_BASE(959550x0140, 0x10, 84),
 PIN_FIELD_BASE(969650x0140, 0x10, 124),
 PIN_FIELD_BASE(979750x0140, 0x10, 84),
 PIN_FIELD_BASE(989850x0140, 0x10, 84),
 PIN_FIELD_BASE(999950x0140, 0x10, 84),
 PIN_FIELD_BASE(10010050x0140, 0x10, 84),
 PIN_FIELD_BASE(10110150x0140, 0x10, 84),
 PIN_FIELD_BASE(10210250x0140, 0x10, 84),
 PIN_FIELD_BASE(10310370x0100, 0x10, 84),
 PIN_FIELD_BASE(10410470x00f0, 0x10, 284),
 PIN_FIELD_BASE(10510570x0100, 0x10, 44),
 PIN_FIELD_BASE(10610670x0100, 0x10, 04),
 PIN_FIELD_BASE(10710770x0100, 0x10, 244),
 PIN_FIELD_BASE(10810870x0100, 0x10, 124),
 PIN_FIELD_BASE(10910970x0100, 0x10, 204),
 PIN_FIELD_BASE(11011070x0100, 0x10, 164),
 PIN_FIELD_BASE(11111170x0110, 0x10, 04),
 PIN_FIELD_BASE(11211280x00d0, 0x10, 204),
 PIN_FIELD_BASE(11311380x00d0, 0x10, 204),
 PIN_FIELD_BASE(11411480x00d0, 0x10, 204),
 PIN_FIELD_BASE(11511520x00f0, 0x10, 244),
 PIN_FIELD_BASE(11611620x00f0, 0x10, 284),
 PIN_FIELD_BASE(11711720x00f0, 0x10, 284),
 PIN_FIELD_BASE(11811820x00f0, 0x10, 284),
 PIN_FIELD_BASE(11911910x00e0, 0x10, 244),
 PIN_FIELD_BASE(12012010x00e0, 0x10, 204),
 PIN_FIELD_BASE(12112110x00e0, 0x10, 164),
 PIN_FIELD_BASE(12212210x00e0, 0x10, 124),
 PIN_FIELD_BASE(12312310x00d0, 0x10, 284),
 PIN_FIELD_BASE(12412410x00d0, 0x10, 244),
 PIN_FIELD_BASE(12512510x00d0, 0x10, 204),
 PIN_FIELD_BASE(12612610x00d0, 0x10, 164),
 PIN_FIELD_BASE(12712710x00e0, 0x10, 84),
 PIN_FIELD_BASE(12812810x00d0, 0x10, 124),
 PIN_FIELD_BASE(12912910x00e0, 0x10, 04),
 PIN_FIELD_BASE(13013010x00e0, 0x10, 284),
 PIN_FIELD_BASE(13113110x00d0, 0x10, 44),
 PIN_FIELD_BASE(13213210x00d0, 0x10, 84),
 PIN_FIELD_BASE(13313310x00f0, 0x10, 04),
 PIN_FIELD_BASE(13413410x00e0, 0x10, 44),
 PIN_FIELD_BASE(13513510x00d0, 0x10, 04),
 PIN_FIELD_BASE(13613610x00f0, 0x10, 44),
 PIN_FIELD_BASE(13713720x00f0, 0x10, 284),
 PIN_FIELD_BASE(13813820x00f0, 0x10, 284),
 PIN_FIELD_BASE(13913910x00f0, 0x10, 124),
 PIN_FIELD_BASE(14014010x00f0, 0x10, 124),
 PIN_FIELD_BASE(14114110x00f0, 0x10, 124),
 PIN_FIELD_BASE(14214210x00f0, 0x10, 124),
 PIN_FIELD_BASE(14314310x00f0, 0x10, 124),
 PIN_FIELD_BASE(14414410x00f0, 0x10, 124),
 PIN_FIELD_BASE(14514510x00f0, 0x10, 84),
 PIN_FIELD_BASE(14614610x00f0, 0x10, 84),
 PIN_FIELD_BASE(14714710x00f0, 0x10, 84),
 PIN_FIELD_BASE(14814810x00f0, 0x10, 84),
 PIN_FIELD_BASE(14914910x00f0, 0x10, 84),
 PIN_FIELD_BASE(15015030x0120, 0x10, 84),
 PIN_FIELD_BASE(15115110x00f0, 0x10, 164),
 PIN_FIELD_BASE(15215230x0120, 0x10, 84),
 PIN_FIELD_BASE(15315330x0120, 0x10, 84),
 PIN_FIELD_BASE(15415430x0120, 0x10, 84),
 PIN_FIELD_BASE(15515530x0120, 0x10, 84),
 PIN_FIELD_BASE(15615650x0130, 0x10, 244),
 PIN_FIELD_BASE(15715750x0130, 0x10, 204),
 PIN_FIELD_BASE(15815850x0130, 0x10, 164),
 PIN_FIELD_BASE(15915960x00a0, 0x10, 84),
 PIN_FIELD_BASE(16016050x0140, 0x10, 04),
 PIN_FIELD_BASE(16116150x0130, 0x10, 44),
 PIN_FIELD_BASE(16216250x0130, 0x10, 04),
 PIN_FIELD_BASE(16316360x00a0, 0x10, 44),
 PIN_FIELD_BASE(16416450x0130, 0x10, 124),
 PIN_FIELD_BASE(16516550x0130, 0x10, 84),
 PIN_FIELD_BASE(16616660x00a0, 0x10, 04),
 PIN_FIELD_BASE(16716750x0130, 0x10, 284),
 PIN_FIELD_BASE(16816830x0110, 0x10, 124),
 PIN_FIELD_BASE(16916930x0110, 0x10, 84),
 PIN_FIELD_BASE(17017030x0110, 0x10, 164),
 PIN_FIELD_BASE(17117130x0110, 0x10, 204),
 PIN_FIELD_BASE(17217230x0110, 0x10, 244),
 PIN_FIELD_BASE(17317330x0110, 0x10, 284),
 PIN_FIELD_BASE(17417490x0110, 0x10, 164),
 PIN_FIELD_BASE(17517590x0110, 0x10, 124),
 PIN_FIELD_BASE(17617690x0110, 0x10, 204),
 PIN_FIELD_BASE(17717790x0110, 0x10, 244),
 PIN_FIELD_BASE(17817890x0110, 0x10, 284),
 PIN_FIELD_BASE(17917990x0120, 0x10, 04),
 PIN_FIELD_BASE(18018050x0140, 0x10, 164),
 PIN_FIELD_BASE(18118150x0140, 0x10, 204),
 PIN_FIELD_BASE(18218290x0120, 0x10, 84),
};

static const struct mtk_pin_field_calc mt8189_pin_rdsel_range[] = {
 PIN_FIELD_BASE(0070x00d0, 0x10, 02),
 PIN_FIELD_BASE(1180x00a0, 0x10, 02),
 PIN_FIELD_BASE(2280x00a0, 0x10, 22),
 PIN_FIELD_BASE(3380x00a0, 0x10, 42),
 PIN_FIELD_BASE(4480x00a0, 0x10, 62),
 PIN_FIELD_BASE(5580x00a0, 0x10, 82),
 PIN_FIELD_BASE(6670x00d0, 0x10, 22),
 PIN_FIELD_BASE(7770x00d0, 0x10, 42),
 PIN_FIELD_BASE(8870x00d0, 0x10, 62),
 PIN_FIELD_BASE(9970x00d0, 0x10, 82),
 PIN_FIELD_BASE(101070x00d0, 0x10, 102),
 PIN_FIELD_BASE(111170x00d0, 0x10, 122),
 PIN_FIELD_BASE(121220x00c0, 0x10, 62),
 PIN_FIELD_BASE(131320x00c0, 0x10, 82),
 PIN_FIELD_BASE(141430x00d0, 0x10, 02),
 PIN_FIELD_BASE(151530x00d0, 0x10, 22),
 PIN_FIELD_BASE(161620x00c0, 0x10, 102),
 PIN_FIELD_BASE(171720x00c0, 0x10, 122),
 PIN_FIELD_BASE(181870x00d0, 0x10, 302),
 PIN_FIELD_BASE(191970x00d0, 0x10, 302),
 PIN_FIELD_BASE(202070x00d0, 0x10, 302),
 PIN_FIELD_BASE(212170x00d0, 0x10, 302),
 PIN_FIELD_BASE(222290x00c0, 0x10, 02),
 PIN_FIELD_BASE(232390x00c0, 0x10, 22),
 PIN_FIELD_BASE(242490x00c0, 0x10, 42),
 PIN_FIELD_BASE(252540x00a0, 0x10, 62),
 PIN_FIELD_BASE(262640x00a0, 0x10, 42),
 PIN_FIELD_BASE(272720x00c0, 0x10, 22),
 PIN_FIELD_BASE(282820x00c0, 0x10, 42),
 PIN_FIELD_BASE(292940x00a0, 0x10, 42),
 PIN_FIELD_BASE(303020x00c0, 0x10, 02),
 PIN_FIELD_BASE(313130x00e0, 0x10, 162),
 PIN_FIELD_BASE(323210x00b0, 0x10, 82),
 PIN_FIELD_BASE(333330x00e0, 0x10, 202),
 PIN_FIELD_BASE(343430x00e0, 0x10, 142),
 PIN_FIELD_BASE(353530x00e0, 0x10, 122),
 PIN_FIELD_BASE(363630x00e0, 0x10, 162),
 PIN_FIELD_BASE(373730x00e0, 0x10, 142),
 PIN_FIELD_BASE(383830x00e0, 0x10, 142),
 PIN_FIELD_BASE(393930x00e0, 0x10, 162),
 PIN_FIELD_BASE(404030x00e0, 0x10, 162),
 PIN_FIELD_BASE(414130x00e0, 0x10, 162),
 PIN_FIELD_BASE(424230x00e0, 0x10, 162),
 PIN_FIELD_BASE(434330x00e0, 0x10, 162),
 PIN_FIELD_BASE(444470x00d0, 0x10, 302),
 PIN_FIELD_BASE(454570x00d0, 0x10, 302),
 PIN_FIELD_BASE(464670x00d0, 0x10, 302),
 PIN_FIELD_BASE(474770x00d0, 0x10, 302),
 PIN_FIELD_BASE(484840x00a0, 0x10, 42),
 PIN_FIELD_BASE(494940x00a0, 0x10, 22),
 PIN_FIELD_BASE(505040x00a0, 0x10, 02),
 PIN_FIELD_BASE(515180x00a0, 0x10, 102),
 PIN_FIELD_BASE(525280x00a0, 0x10, 102),
 PIN_FIELD_BASE(535380x00a0, 0x10, 102),
 PIN_FIELD_BASE(545480x00a0, 0x10, 102),
 PIN_FIELD_BASE(555540x00a0, 0x10, 62),
 PIN_FIELD_BASE(565640x00a0, 0x10, 62),
 PIN_FIELD_BASE(575720x00c0, 0x10, 122),
 PIN_FIELD_BASE(585820x00c0, 0x10, 122),
 PIN_FIELD_BASE(595920x00c0, 0x10, 122),
 PIN_FIELD_BASE(606020x00c0, 0x10, 122),
 PIN_FIELD_BASE(616120x00c0, 0x10, 122),
 PIN_FIELD_BASE(626220x00c0, 0x10, 122),
 PIN_FIELD_BASE(636320x00c0, 0x10, 122),
 PIN_FIELD_BASE(646420x00c0, 0x10, 122),
 PIN_FIELD_BASE(656590x00d0, 0x10, 122),
 PIN_FIELD_BASE(666690x00d0, 0x10, 122),
 PIN_FIELD_BASE(676790x00d0, 0x10, 122),
 PIN_FIELD_BASE(686890x00d0, 0x10, 122),
 PIN_FIELD_BASE(696920x00c0, 0x10, 162),
 PIN_FIELD_BASE(707020x00c0, 0x10, 142),
 PIN_FIELD_BASE(717120x00c0, 0x10, 202),
 PIN_FIELD_BASE(727220x00c0, 0x10, 182),
 PIN_FIELD_BASE(737320x00c0, 0x10, 242),
 PIN_FIELD_BASE(747420x00c0, 0x10, 222),
 PIN_FIELD_BASE(757530x00e0, 0x10, 182),
 PIN_FIELD_BASE(767620x00c0, 0x10, 262),
 PIN_FIELD_BASE(777780x00a0, 0x10, 142),
 PIN_FIELD_BASE(787880x00a0, 0x10, 122),
 PIN_FIELD_BASE(797980x00a0, 0x10, 182),
 PIN_FIELD_BASE(808080x00a0, 0x10, 162),
 PIN_FIELD_BASE(818120x00c0, 0x10, 122),
 PIN_FIELD_BASE(828220x00c0, 0x10, 122),
 PIN_FIELD_BASE(838320x00c0, 0x10, 122),
 PIN_FIELD_BASE(848470x00d0, 0x10, 302),
 PIN_FIELD_BASE(858570x00d0, 0x10, 302),
 PIN_FIELD_BASE(868670x00d0, 0x10, 302),
 PIN_FIELD_BASE(878770x00d0, 0x10, 302),
 PIN_FIELD_BASE(888850x00f0, 0x10, 242),
 PIN_FIELD_BASE(898950x00f0, 0x10, 242),
 PIN_FIELD_BASE(909050x00f0, 0x10, 242),
 PIN_FIELD_BASE(919150x00f0, 0x10, 242),
 PIN_FIELD_BASE(929250x00f0, 0x10, 262),
 PIN_FIELD_BASE(939350x00f0, 0x10, 262),
 PIN_FIELD_BASE(949450x00f0, 0x10, 262),
 PIN_FIELD_BASE(959550x00f0, 0x10, 262),
 PIN_FIELD_BASE(969650x00f0, 0x10, 282),
 PIN_FIELD_BASE(979750x00f0, 0x10, 262),
 PIN_FIELD_BASE(989850x00f0, 0x10, 262),
 PIN_FIELD_BASE(999950x00f0, 0x10, 262),
 PIN_FIELD_BASE(10010050x00f0, 0x10, 262),
 PIN_FIELD_BASE(10110150x00f0, 0x10, 262),
 PIN_FIELD_BASE(10210250x00f0, 0x10, 262),
 PIN_FIELD_BASE(10310370x00d0, 0x10, 202),
 PIN_FIELD_BASE(10410470x00d0, 0x10, 142),
 PIN_FIELD_BASE(10510570x00d0, 0x10, 182),
 PIN_FIELD_BASE(10610670x00d0, 0x10, 162),
 PIN_FIELD_BASE(10710770x00d0, 0x10, 282),
 PIN_FIELD_BASE(10810870x00d0, 0x10, 222),
 PIN_FIELD_BASE(10910970x00d0, 0x10, 262),
 PIN_FIELD_BASE(11011070x00d0, 0x10, 242),
 PIN_FIELD_BASE(11111170x00d0, 0x10, 302),
 PIN_FIELD_BASE(11211280x00a0, 0x10, 102),
 PIN_FIELD_BASE(11311380x00a0, 0x10, 102),
 PIN_FIELD_BASE(11411480x00a0, 0x10, 102),
 PIN_FIELD_BASE(11511520x00c0, 0x10, 122),
 PIN_FIELD_BASE(11611620x00c0, 0x10, 122),
 PIN_FIELD_BASE(11711720x00c0, 0x10, 122),
 PIN_FIELD_BASE(11811820x00c0, 0x10, 122),
 PIN_FIELD_BASE(11911910x00a0, 0x10, 282),
 PIN_FIELD_BASE(12012010x00a0, 0x10, 262),
 PIN_FIELD_BASE(12112110x00a0, 0x10, 242),
 PIN_FIELD_BASE(12212210x00a0, 0x10, 222),
 PIN_FIELD_BASE(12312310x00a0, 0x10, 142),
 PIN_FIELD_BASE(12412410x00a0, 0x10, 122),
 PIN_FIELD_BASE(12512510x00a0, 0x10, 102),
 PIN_FIELD_BASE(12612610x00a0, 0x10, 82),
 PIN_FIELD_BASE(12712710x00a0, 0x10, 202),
 PIN_FIELD_BASE(12812810x00a0, 0x10, 62),
 PIN_FIELD_BASE(12912910x00a0, 0x10, 162),
 PIN_FIELD_BASE(13013010x00a0, 0x10, 302),
 PIN_FIELD_BASE(13113110x00a0, 0x10, 22),
 PIN_FIELD_BASE(13213210x00a0, 0x10, 42),
 PIN_FIELD_BASE(13313310x00b0, 0x10, 02),
 PIN_FIELD_BASE(13413410x00a0, 0x10, 182),
 PIN_FIELD_BASE(13513510x00a0, 0x10, 02),
 PIN_FIELD_BASE(13613610x00b0, 0x10, 22),
 PIN_FIELD_BASE(13713720x00c0, 0x10, 122),
 PIN_FIELD_BASE(13813820x00c0, 0x10, 122),
 PIN_FIELD_BASE(13913910x00b0, 0x10, 62),
 PIN_FIELD_BASE(14014010x00b0, 0x10, 62),
 PIN_FIELD_BASE(14114110x00b0, 0x10, 62),
 PIN_FIELD_BASE(14214210x00b0, 0x10, 62),
 PIN_FIELD_BASE(14314310x00b0, 0x10, 62),
 PIN_FIELD_BASE(14414410x00b0, 0x10, 62),
 PIN_FIELD_BASE(14514510x00b0, 0x10, 42),
 PIN_FIELD_BASE(14614610x00b0, 0x10, 42),
 PIN_FIELD_BASE(14714710x00b0, 0x10, 42),
 PIN_FIELD_BASE(14814810x00b0, 0x10, 42),
 PIN_FIELD_BASE(14914910x00b0, 0x10, 42),
 PIN_FIELD_BASE(15015030x00e0, 0x10, 162),
 PIN_FIELD_BASE(15115110x00b0, 0x10, 82),
 PIN_FIELD_BASE(15215230x00e0, 0x10, 162),
 PIN_FIELD_BASE(15315330x00e0, 0x10, 162),
 PIN_FIELD_BASE(15415430x00e0, 0x10, 162),
 PIN_FIELD_BASE(15515530x00e0, 0x10, 162),
 PIN_FIELD_BASE(15615650x00f0, 0x10, 66),
 PIN_FIELD_BASE(15715750x00f0, 0x10, 06),
 PIN_FIELD_BASE(15815850x00e0, 0x10, 246),
 PIN_FIELD_BASE(15915960x0080, 0x10, 126),
 PIN_FIELD_BASE(16016050x00f0, 0x10, 186),
 PIN_FIELD_BASE(16116150x00e0, 0x10, 66),
 PIN_FIELD_BASE(16216250x00e0, 0x10, 06),
 PIN_FIELD_BASE(16316360x0080, 0x10, 66),
 PIN_FIELD_BASE(16416450x00e0, 0x10, 186),
 PIN_FIELD_BASE(16516550x00e0, 0x10, 126),
 PIN_FIELD_BASE(16616660x0080, 0x10, 06),
 PIN_FIELD_BASE(16716750x00f0, 0x10, 126),
 PIN_FIELD_BASE(16816830x00d0, 0x10, 106),
 PIN_FIELD_BASE(16916930x00d0, 0x10, 46),
 PIN_FIELD_BASE(17017030x00d0, 0x10, 166),
 PIN_FIELD_BASE(17117130x00d0, 0x10, 226),
 PIN_FIELD_BASE(17217230x00e0, 0x10, 06),
 PIN_FIELD_BASE(17317330x00e0, 0x10, 66),
 PIN_FIELD_BASE(17417490x00c0, 0x10, 126),
 PIN_FIELD_BASE(17517590x00c0, 0x10, 66),
 PIN_FIELD_BASE(17617690x00c0, 0x10, 186),
 PIN_FIELD_BASE(17717790x00c0, 0x10, 246),
 PIN_FIELD_BASE(17817890x00d0, 0x10, 06),
 PIN_FIELD_BASE(17917990x00d0, 0x10, 66),
 PIN_FIELD_BASE(18018050x00f0, 0x10, 302),
 PIN_FIELD_BASE(18118150x0100, 0x10, 02),
 PIN_FIELD_BASE(18218290x00d0, 0x10, 142),
};

static const struct mtk_pin_field_calc mt8189_pin_pupd_range[] = {
 PIN_FIELD_BASE(444470x0090, 0x10, 01),
 PIN_FIELD_BASE(454570x0090, 0x10, 11),
 PIN_FIELD_BASE(464670x0090, 0x10, 21),
 PIN_FIELD_BASE(474770x0090, 0x10, 31),
 PIN_FIELD_BASE(15615650x00a0, 0x10, 61),
 PIN_FIELD_BASE(15715750x00a0, 0x10, 51),
 PIN_FIELD_BASE(15815850x00a0, 0x10, 41),
 PIN_FIELD_BASE(15915960x0050, 0x10, 21),
 PIN_FIELD_BASE(16016050x00a0, 0x10, 81),
 PIN_FIELD_BASE(16116150x00a0, 0x10, 11),
 PIN_FIELD_BASE(16216250x00a0, 0x10, 01),
 PIN_FIELD_BASE(16316360x0050, 0x10, 11),
 PIN_FIELD_BASE(16416450x00a0, 0x10, 31),
 PIN_FIELD_BASE(16516550x00a0, 0x10, 21),
 PIN_FIELD_BASE(16616660x0050, 0x10, 01),
 PIN_FIELD_BASE(16716750x00a0, 0x10, 71),
 PIN_FIELD_BASE(16816830x0090, 0x10, 11),
 PIN_FIELD_BASE(16916930x0090, 0x10, 01),
 PIN_FIELD_BASE(17017030x0090, 0x10, 21),
 PIN_FIELD_BASE(17117130x0090, 0x10, 31),
 PIN_FIELD_BASE(17217230x0090, 0x10, 41),
 PIN_FIELD_BASE(17317330x0090, 0x10, 51),
 PIN_FIELD_BASE(17417490x0080, 0x10, 11),
 PIN_FIELD_BASE(17517590x0080, 0x10, 01),
 PIN_FIELD_BASE(17617690x0080, 0x10, 21),
 PIN_FIELD_BASE(17717790x0080, 0x10, 31),
 PIN_FIELD_BASE(17817890x0080, 0x10, 41),
 PIN_FIELD_BASE(17917990x0080, 0x10, 51),
};

static const struct mtk_pin_field_calc mt8189_pin_r0_range[] = {
 PIN_FIELD_BASE(444470x00b0, 0x10, 01),
 PIN_FIELD_BASE(454570x00b0, 0x10, 11),
 PIN_FIELD_BASE(464670x00b0, 0x10, 21),
 PIN_FIELD_BASE(474770x00b0, 0x10, 31),
 PIN_FIELD_BASE(15615650x00c0, 0x10, 61),
 PIN_FIELD_BASE(15715750x00c0, 0x10, 51),
 PIN_FIELD_BASE(15815850x00c0, 0x10, 41),
 PIN_FIELD_BASE(15915960x0060, 0x10, 21),
 PIN_FIELD_BASE(16016050x00c0, 0x10, 81),
 PIN_FIELD_BASE(16116150x00c0, 0x10, 11),
 PIN_FIELD_BASE(16216250x00c0, 0x10, 01),
 PIN_FIELD_BASE(16316360x0060, 0x10, 11),
 PIN_FIELD_BASE(16416450x00c0, 0x10, 31),
 PIN_FIELD_BASE(16516550x00c0, 0x10, 21),
 PIN_FIELD_BASE(16616660x0060, 0x10, 01),
 PIN_FIELD_BASE(16716750x00c0, 0x10, 71),
 PIN_FIELD_BASE(16816830x00b0, 0x10, 11),
 PIN_FIELD_BASE(16916930x00b0, 0x10, 01),
 PIN_FIELD_BASE(17017030x00b0, 0x10, 21),
 PIN_FIELD_BASE(17117130x00b0, 0x10, 31),
 PIN_FIELD_BASE(17217230x00b0, 0x10, 41),
 PIN_FIELD_BASE(17317330x00b0, 0x10, 51),
 PIN_FIELD_BASE(17417490x00a0, 0x10, 11),
 PIN_FIELD_BASE(17517590x00a0, 0x10, 01),
 PIN_FIELD_BASE(17617690x00a0, 0x10, 21),
 PIN_FIELD_BASE(17717790x00a0, 0x10, 31),
 PIN_FIELD_BASE(17817890x00a0, 0x10, 41),
 PIN_FIELD_BASE(17917990x00a0, 0x10, 51),
};

static const struct mtk_pin_field_calc mt8189_pin_r1_range[] = {
 PIN_FIELD_BASE(444470x00c0, 0x10, 01),
 PIN_FIELD_BASE(454570x00c0, 0x10, 11),
 PIN_FIELD_BASE(464670x00c0, 0x10, 21),
 PIN_FIELD_BASE(474770x00c0, 0x10, 31),
 PIN_FIELD_BASE(15615650x00d0, 0x10, 61),
 PIN_FIELD_BASE(15715750x00d0, 0x10, 51),
 PIN_FIELD_BASE(15815850x00d0, 0x10, 41),
 PIN_FIELD_BASE(15915960x0070, 0x10, 21),
 PIN_FIELD_BASE(16016050x00d0, 0x10, 81),
 PIN_FIELD_BASE(16116150x00d0, 0x10, 11),
 PIN_FIELD_BASE(16216250x00d0, 0x10, 01),
 PIN_FIELD_BASE(16316360x0070, 0x10, 11),
 PIN_FIELD_BASE(16416450x00d0, 0x10, 31),
 PIN_FIELD_BASE(16516550x00d0, 0x10, 21),
 PIN_FIELD_BASE(16616660x0070, 0x10, 01),
 PIN_FIELD_BASE(16716750x00d0, 0x10, 71),
 PIN_FIELD_BASE(16816830x00c0, 0x10, 11),
 PIN_FIELD_BASE(16916930x00c0, 0x10, 01),
 PIN_FIELD_BASE(17017030x00c0, 0x10, 21),
 PIN_FIELD_BASE(17117130x00c0, 0x10, 31),
 PIN_FIELD_BASE(17217230x00c0, 0x10, 41),
 PIN_FIELD_BASE(17317330x00c0, 0x10, 51),
 PIN_FIELD_BASE(17417490x00b0, 0x10, 11),
 PIN_FIELD_BASE(17517590x00b0, 0x10, 01),
 PIN_FIELD_BASE(17617690x00b0, 0x10, 21),
 PIN_FIELD_BASE(17717790x00b0, 0x10, 31),
 PIN_FIELD_BASE(17817890x00b0, 0x10, 41),
 PIN_FIELD_BASE(17917990x00b0, 0x10, 51),
};

static const struct mtk_pin_field_calc mt8189_pin_pu_range[] = {
 PIN_FIELD_BASE(0070x00a0, 0x10, 51),
 PIN_FIELD_BASE(1180x0090, 0x10, 31),
 PIN_FIELD_BASE(2280x0090, 0x10, 41),
 PIN_FIELD_BASE(3380x0090, 0x10, 51),
 PIN_FIELD_BASE(4480x0090, 0x10, 61),
 PIN_FIELD_BASE(5580x0090, 0x10, 71),
 PIN_FIELD_BASE(6670x00a0, 0x10, 61),
 PIN_FIELD_BASE(7770x00a0, 0x10, 71),
 PIN_FIELD_BASE(8870x00a0, 0x10, 81),
 PIN_FIELD_BASE(9970x00a0, 0x10, 91),
 PIN_FIELD_BASE(101070x00a0, 0x10, 101),
 PIN_FIELD_BASE(111170x00a0, 0x10, 111),
 PIN_FIELD_BASE(121220x00b0, 0x10, 51),
 PIN_FIELD_BASE(131320x00b0, 0x10, 61),
 PIN_FIELD_BASE(141430x00a0, 0x10, 01),
 PIN_FIELD_BASE(151530x00a0, 0x10, 11),
 PIN_FIELD_BASE(161620x00b0, 0x10, 71),
 PIN_FIELD_BASE(171720x00b0, 0x10, 81),
 PIN_FIELD_BASE(181870x00a0, 0x10, 01),
 PIN_FIELD_BASE(191970x00a0, 0x10, 21),
 PIN_FIELD_BASE(202070x00a0, 0x10, 11),
 PIN_FIELD_BASE(212170x00a0, 0x10, 31),
 PIN_FIELD_BASE(222290x0090, 0x10, 01),
 PIN_FIELD_BASE(232390x0090, 0x10, 11),
 PIN_FIELD_BASE(242490x0090, 0x10, 21),
 PIN_FIELD_BASE(252540x0090, 0x10, 21),
 PIN_FIELD_BASE(262640x0090, 0x10, 11),
 PIN_FIELD_BASE(272720x00b0, 0x10, 11),
 PIN_FIELD_BASE(282820x00b0, 0x10, 21),
 PIN_FIELD_BASE(292940x0090, 0x10, 01),
 PIN_FIELD_BASE(303020x00b0, 0x10, 01),
 PIN_FIELD_BASE(313130x00a0, 0x10, 131),
 PIN_FIELD_BASE(323210x0090, 0x10, 301),
 PIN_FIELD_BASE(333330x00a0, 0x10, 151),
 PIN_FIELD_BASE(343430x00a0, 0x10, 141),
 PIN_FIELD_BASE(353530x00a0, 0x10, 171),
 PIN_FIELD_BASE(363630x00a0, 0x10, 161),
 PIN_FIELD_BASE(373730x00a0, 0x10, 191),
 PIN_FIELD_BASE(383830x00a0, 0x10, 181),
 PIN_FIELD_BASE(393930x00a0, 0x10, 51),
 PIN_FIELD_BASE(404030x00a0, 0x10, 21),
 PIN_FIELD_BASE(414130x00a0, 0x10, 31),
 PIN_FIELD_BASE(424230x00a0, 0x10, 41),
 PIN_FIELD_BASE(434330x00a0, 0x10, 61),
 PIN_FIELD_BASE(484840x0090, 0x10, 51),
 PIN_FIELD_BASE(494940x0090, 0x10, 41),
 PIN_FIELD_BASE(505040x0090, 0x10, 31),
 PIN_FIELD_BASE(515180x0090, 0x10, 81),
 PIN_FIELD_BASE(525280x0090, 0x10, 101),
 PIN_FIELD_BASE(535380x0090, 0x10, 91),
 PIN_FIELD_BASE(545480x0090, 0x10, 111),
 PIN_FIELD_BASE(555540x0090, 0x10, 61),
 PIN_FIELD_BASE(565640x0090, 0x10, 71),
 PIN_FIELD_BASE(575720x00b0, 0x10, 131),
 PIN_FIELD_BASE(585820x00b0, 0x10, 171),
 PIN_FIELD_BASE(595920x00b0, 0x10, 141),
 PIN_FIELD_BASE(606020x00b0, 0x10, 181),
 PIN_FIELD_BASE(616120x00b0, 0x10, 151),
 PIN_FIELD_BASE(626220x00b0, 0x10, 191),
 PIN_FIELD_BASE(636320x00b0, 0x10, 161),
 PIN_FIELD_BASE(646420x00b0, 0x10, 201),
 PIN_FIELD_BASE(656590x0090, 0x10, 41),
 PIN_FIELD_BASE(666690x0090, 0x10, 61),
 PIN_FIELD_BASE(676790x0090, 0x10, 51),
 PIN_FIELD_BASE(686890x0090, 0x10, 71),
 PIN_FIELD_BASE(696920x00b0, 0x10, 221),
 PIN_FIELD_BASE(707020x00b0, 0x10, 211),
 PIN_FIELD_BASE(717120x00b0, 0x10, 241),
 PIN_FIELD_BASE(727220x00b0, 0x10, 231),
 PIN_FIELD_BASE(737320x00b0, 0x10, 261),
 PIN_FIELD_BASE(747420x00b0, 0x10, 251),
 PIN_FIELD_BASE(757530x00a0, 0x10, 71),
 PIN_FIELD_BASE(767620x00b0, 0x10, 271),
 PIN_FIELD_BASE(777780x0090, 0x10, 131),
 PIN_FIELD_BASE(787880x0090, 0x10, 121),
 PIN_FIELD_BASE(797980x0090, 0x10, 151),
 PIN_FIELD_BASE(808080x0090, 0x10, 141),
 PIN_FIELD_BASE(818120x00b0, 0x10, 291),
 PIN_FIELD_BASE(828220x00b0, 0x10, 281),
 PIN_FIELD_BASE(838320x00b0, 0x10, 301),
 PIN_FIELD_BASE(848470x00a0, 0x10, 221),
 PIN_FIELD_BASE(858570x00a0, 0x10, 231),
 PIN_FIELD_BASE(868670x00a0, 0x10, 241),
 PIN_FIELD_BASE(878770x00a0, 0x10, 251),
 PIN_FIELD_BASE(888850x00b0, 0x10, 111),
 PIN_FIELD_BASE(898950x00b0, 0x10, 101),
 PIN_FIELD_BASE(909050x00b0, 0x10, 131),
 PIN_FIELD_BASE(919150x00b0, 0x10, 121),
 PIN_FIELD_BASE(929250x00b0, 0x10, 71),
 PIN_FIELD_BASE(939350x00b0, 0x10, 81),
 PIN_FIELD_BASE(949450x00b0, 0x10, 141),
 PIN_FIELD_BASE(959550x00b0, 0x10, 61),
 PIN_FIELD_BASE(969650x00b0, 0x10, 91),
 PIN_FIELD_BASE(979750x00b0, 0x10, 01),
 PIN_FIELD_BASE(989850x00b0, 0x10, 51),
 PIN_FIELD_BASE(999950x00b0, 0x10, 31),
 PIN_FIELD_BASE(10010050x00b0, 0x10, 41),
 PIN_FIELD_BASE(10110150x00b0, 0x10, 11),
 PIN_FIELD_BASE(10210250x00b0, 0x10, 21),
 PIN_FIELD_BASE(10310370x00a0, 0x10, 151),
 PIN_FIELD_BASE(10410470x00a0, 0x10, 121),
 PIN_FIELD_BASE(10510570x00a0, 0x10, 141),
 PIN_FIELD_BASE(10610670x00a0, 0x10, 131),
 PIN_FIELD_BASE(10710770x00a0, 0x10, 191),
 PIN_FIELD_BASE(10810870x00a0, 0x10, 161),
 PIN_FIELD_BASE(10910970x00a0, 0x10, 181),
 PIN_FIELD_BASE(11011070x00a0, 0x10, 171),
 PIN_FIELD_BASE(11111170x00a0, 0x10, 41),
 PIN_FIELD_BASE(11211280x0090, 0x10, 01),
 PIN_FIELD_BASE(11311380x0090, 0x10, 11),
 PIN_FIELD_BASE(11411480x0090, 0x10, 21),
 PIN_FIELD_BASE(11511520x00b0, 0x10, 91),
 PIN_FIELD_BASE(11611620x00b0, 0x10, 121),
 PIN_FIELD_BASE(11711720x00b0, 0x10, 101),
 PIN_FIELD_BASE(11811820x00b0, 0x10, 111),
 PIN_FIELD_BASE(11911910x0090, 0x10, 261),
 PIN_FIELD_BASE(12012010x0090, 0x10, 251),
 PIN_FIELD_BASE(12112110x0090, 0x10, 241),
 PIN_FIELD_BASE(12212210x0090, 0x10, 231),
 PIN_FIELD_BASE(12312310x0090, 0x10, 191),
 PIN_FIELD_BASE(12412410x0090, 0x10, 181),
 PIN_FIELD_BASE(12512510x0090, 0x10, 171),
 PIN_FIELD_BASE(12612610x0090, 0x10, 161),
 PIN_FIELD_BASE(12712710x0090, 0x10, 221),
 PIN_FIELD_BASE(12812810x0090, 0x10, 151),
 PIN_FIELD_BASE(12912910x0090, 0x10, 201),
 PIN_FIELD_BASE(13013010x0090, 0x10, 271),
 PIN_FIELD_BASE(13113110x0090, 0x10, 131),
 PIN_FIELD_BASE(13213210x0090, 0x10, 141),
 PIN_FIELD_BASE(13313310x0090, 0x10, 281),
 PIN_FIELD_BASE(13413410x0090, 0x10, 211),
 PIN_FIELD_BASE(13513510x0090, 0x10, 111),
 PIN_FIELD_BASE(13613610x0090, 0x10, 121),
 PIN_FIELD_BASE(13713720x00b0, 0x10, 31),
 PIN_FIELD_BASE(13813820x00b0, 0x10, 41),
 PIN_FIELD_BASE(13913910x0090, 0x10, 31),
 PIN_FIELD_BASE(14014010x0090, 0x10, 41),
 PIN_FIELD_BASE(14114110x0090, 0x10, 01),
 PIN_FIELD_BASE(14214210x0090, 0x10, 11),
 PIN_FIELD_BASE(14314310x0090, 0x10, 21),
 PIN_FIELD_BASE(14414410x0090, 0x10, 51),
 PIN_FIELD_BASE(14514510x0090, 0x10, 61),
 PIN_FIELD_BASE(14614610x0090, 0x10, 71),
 PIN_FIELD_BASE(14714710x0090, 0x10, 81),
 PIN_FIELD_BASE(14814810x0090, 0x10, 91),
 PIN_FIELD_BASE(14914910x0090, 0x10, 101),
 PIN_FIELD_BASE(15015030x00a0, 0x10, 81),
 PIN_FIELD_BASE(15115110x0090, 0x10, 291),
 PIN_FIELD_BASE(15215230x00a0, 0x10, 91),
 PIN_FIELD_BASE(15315330x00a0, 0x10, 101),
 PIN_FIELD_BASE(15415430x00a0, 0x10, 111),
 PIN_FIELD_BASE(15515530x00a0, 0x10, 121),
 PIN_FIELD_BASE(18018050x00b0, 0x10, 151),
 PIN_FIELD_BASE(18118150x00b0, 0x10, 161),
 PIN_FIELD_BASE(18218290x0090, 0x10, 31),
};

static const struct mtk_pin_field_calc mt8189_pin_pd_range[] = {
 PIN_FIELD_BASE(0070x0080, 0x10, 51),
 PIN_FIELD_BASE(1180x0080, 0x10, 31),
 PIN_FIELD_BASE(2280x0080, 0x10, 41),
 PIN_FIELD_BASE(3380x0080, 0x10, 51),
 PIN_FIELD_BASE(4480x0080, 0x10, 61),
 PIN_FIELD_BASE(5580x0080, 0x10, 71),
 PIN_FIELD_BASE(6670x0080, 0x10, 61),
 PIN_FIELD_BASE(7770x0080, 0x10, 71),
 PIN_FIELD_BASE(8870x0080, 0x10, 81),
 PIN_FIELD_BASE(9970x0080, 0x10, 91),
 PIN_FIELD_BASE(101070x0080, 0x10, 101),
 PIN_FIELD_BASE(111170x0080, 0x10, 111),
 PIN_FIELD_BASE(121220x00a0, 0x10, 51),
 PIN_FIELD_BASE(131320x00a0, 0x10, 61),
 PIN_FIELD_BASE(141430x0080, 0x10, 01),
 PIN_FIELD_BASE(151530x0080, 0x10, 11),
 PIN_FIELD_BASE(161620x00a0, 0x10, 71),
 PIN_FIELD_BASE(171720x00a0, 0x10, 81),
 PIN_FIELD_BASE(181870x0080, 0x10, 01),
 PIN_FIELD_BASE(191970x0080, 0x10, 21),
 PIN_FIELD_BASE(202070x0080, 0x10, 11),
 PIN_FIELD_BASE(212170x0080, 0x10, 31),
 PIN_FIELD_BASE(222290x0070, 0x10, 01),
 PIN_FIELD_BASE(232390x0070, 0x10, 11),
 PIN_FIELD_BASE(242490x0070, 0x10, 21),
 PIN_FIELD_BASE(252540x0080, 0x10, 21),
 PIN_FIELD_BASE(262640x0080, 0x10, 11),
 PIN_FIELD_BASE(272720x00a0, 0x10, 11),
 PIN_FIELD_BASE(282820x00a0, 0x10, 21),
 PIN_FIELD_BASE(292940x0080, 0x10, 01),
 PIN_FIELD_BASE(303020x00a0, 0x10, 01),
 PIN_FIELD_BASE(313130x0080, 0x10, 131),
 PIN_FIELD_BASE(323210x0080, 0x10, 301),
 PIN_FIELD_BASE(333330x0080, 0x10, 151),
 PIN_FIELD_BASE(343430x0080, 0x10, 141),
 PIN_FIELD_BASE(353530x0080, 0x10, 171),
 PIN_FIELD_BASE(363630x0080, 0x10, 161),
 PIN_FIELD_BASE(373730x0080, 0x10, 191),
 PIN_FIELD_BASE(383830x0080, 0x10, 181),
 PIN_FIELD_BASE(393930x0080, 0x10, 51),
 PIN_FIELD_BASE(404030x0080, 0x10, 21),
 PIN_FIELD_BASE(414130x0080, 0x10, 31),
 PIN_FIELD_BASE(424230x0080, 0x10, 41),
 PIN_FIELD_BASE(434330x0080, 0x10, 61),
 PIN_FIELD_BASE(484840x0080, 0x10, 51),
 PIN_FIELD_BASE(494940x0080, 0x10, 41),
 PIN_FIELD_BASE(505040x0080, 0x10, 31),
 PIN_FIELD_BASE(515180x0080, 0x10, 81),
 PIN_FIELD_BASE(525280x0080, 0x10, 101),
 PIN_FIELD_BASE(535380x0080, 0x10, 91),
 PIN_FIELD_BASE(545480x0080, 0x10, 111),
 PIN_FIELD_BASE(555540x0080, 0x10, 61),
 PIN_FIELD_BASE(565640x0080, 0x10, 71),
 PIN_FIELD_BASE(575720x00a0, 0x10, 131),
 PIN_FIELD_BASE(585820x00a0, 0x10, 171),
 PIN_FIELD_BASE(595920x00a0, 0x10, 141),
 PIN_FIELD_BASE(606020x00a0, 0x10, 181),
 PIN_FIELD_BASE(616120x00a0, 0x10, 151),
 PIN_FIELD_BASE(626220x00a0, 0x10, 191),
 PIN_FIELD_BASE(636320x00a0, 0x10, 161),
 PIN_FIELD_BASE(646420x00a0, 0x10, 201),
 PIN_FIELD_BASE(656590x0070, 0x10, 41),
 PIN_FIELD_BASE(666690x0070, 0x10, 61),
 PIN_FIELD_BASE(676790x0070, 0x10, 51),
 PIN_FIELD_BASE(686890x0070, 0x10, 71),
 PIN_FIELD_BASE(696920x00a0, 0x10, 221),
 PIN_FIELD_BASE(707020x00a0, 0x10, 211),
 PIN_FIELD_BASE(717120x00a0, 0x10, 241),
 PIN_FIELD_BASE(727220x00a0, 0x10, 231),
 PIN_FIELD_BASE(737320x00a0, 0x10, 261),
 PIN_FIELD_BASE(747420x00a0, 0x10, 251),
 PIN_FIELD_BASE(757530x0080, 0x10, 71),
 PIN_FIELD_BASE(767620x00a0, 0x10, 271),
 PIN_FIELD_BASE(777780x0080, 0x10, 131),
 PIN_FIELD_BASE(787880x0080, 0x10, 121),
 PIN_FIELD_BASE(797980x0080, 0x10, 151),
 PIN_FIELD_BASE(808080x0080, 0x10, 141),
 PIN_FIELD_BASE(818120x00a0, 0x10, 291),
 PIN_FIELD_BASE(828220x00a0, 0x10, 281),
 PIN_FIELD_BASE(838320x00a0, 0x10, 301),
 PIN_FIELD_BASE(848470x0080, 0x10, 221),
 PIN_FIELD_BASE(858570x0080, 0x10, 231),
 PIN_FIELD_BASE(868670x0080, 0x10, 241),
 PIN_FIELD_BASE(878770x0080, 0x10, 251),
 PIN_FIELD_BASE(888850x0090, 0x10, 111),
 PIN_FIELD_BASE(898950x0090, 0x10, 101),
 PIN_FIELD_BASE(909050x0090, 0x10, 131),
 PIN_FIELD_BASE(919150x0090, 0x10, 121),
 PIN_FIELD_BASE(929250x0090, 0x10, 71),
 PIN_FIELD_BASE(939350x0090, 0x10, 81),
 PIN_FIELD_BASE(949450x0090, 0x10, 141),
 PIN_FIELD_BASE(959550x0090, 0x10, 61),
 PIN_FIELD_BASE(969650x0090, 0x10, 91),
 PIN_FIELD_BASE(979750x0090, 0x10, 01),
 PIN_FIELD_BASE(989850x0090, 0x10, 51),
 PIN_FIELD_BASE(999950x0090, 0x10, 31),
 PIN_FIELD_BASE(10010050x0090, 0x10, 41),
 PIN_FIELD_BASE(10110150x0090, 0x10, 11),
 PIN_FIELD_BASE(10210250x0090, 0x10, 21),
 PIN_FIELD_BASE(10310370x0080, 0x10, 151),
 PIN_FIELD_BASE(10410470x0080, 0x10, 121),
 PIN_FIELD_BASE(10510570x0080, 0x10, 141),
 PIN_FIELD_BASE(10610670x0080, 0x10, 131),
 PIN_FIELD_BASE(10710770x0080, 0x10, 191),
 PIN_FIELD_BASE(10810870x0080, 0x10, 161),
 PIN_FIELD_BASE(10910970x0080, 0x10, 181),
 PIN_FIELD_BASE(11011070x0080, 0x10, 171),
 PIN_FIELD_BASE(11111170x0080, 0x10, 41),
 PIN_FIELD_BASE(11211280x0080, 0x10, 01),
 PIN_FIELD_BASE(11311380x0080, 0x10, 11),
 PIN_FIELD_BASE(11411480x0080, 0x10, 21),
 PIN_FIELD_BASE(11511520x00a0, 0x10, 91),
 PIN_FIELD_BASE(11611620x00a0, 0x10, 121),
 PIN_FIELD_BASE(11711720x00a0, 0x10, 101),
 PIN_FIELD_BASE(11811820x00a0, 0x10, 111),
 PIN_FIELD_BASE(11911910x0080, 0x10, 261),
 PIN_FIELD_BASE(12012010x0080, 0x10, 251),
 PIN_FIELD_BASE(12112110x0080, 0x10, 241),
 PIN_FIELD_BASE(12212210x0080, 0x10, 231),
 PIN_FIELD_BASE(12312310x0080, 0x10, 191),
 PIN_FIELD_BASE(12412410x0080, 0x10, 181),
 PIN_FIELD_BASE(12512510x0080, 0x10, 171),
 PIN_FIELD_BASE(12612610x0080, 0x10, 161),
 PIN_FIELD_BASE(12712710x0080, 0x10, 221),
 PIN_FIELD_BASE(12812810x0080, 0x10, 151),
 PIN_FIELD_BASE(12912910x0080, 0x10, 201),
 PIN_FIELD_BASE(13013010x0080, 0x10, 271),
 PIN_FIELD_BASE(13113110x0080, 0x10, 131),
 PIN_FIELD_BASE(13213210x0080, 0x10, 141),
 PIN_FIELD_BASE(13313310x0080, 0x10, 281),
 PIN_FIELD_BASE(13413410x0080, 0x10, 211),
 PIN_FIELD_BASE(13513510x0080, 0x10, 111),
 PIN_FIELD_BASE(13613610x0080, 0x10, 121),
 PIN_FIELD_BASE(13713720x00a0, 0x10, 31),
 PIN_FIELD_BASE(13813820x00a0, 0x10, 41),
 PIN_FIELD_BASE(13913910x0080, 0x10, 31),
 PIN_FIELD_BASE(14014010x0080, 0x10, 41),
 PIN_FIELD_BASE(14114110x0080, 0x10, 01),
 PIN_FIELD_BASE(14214210x0080, 0x10, 11),
 PIN_FIELD_BASE(14314310x0080, 0x10, 21),
 PIN_FIELD_BASE(14414410x0080, 0x10, 51),
 PIN_FIELD_BASE(14514510x0080, 0x10, 61),
 PIN_FIELD_BASE(14614610x0080, 0x10, 71),
 PIN_FIELD_BASE(14714710x0080, 0x10, 81),
 PIN_FIELD_BASE(14814810x0080, 0x10, 91),
 PIN_FIELD_BASE(14914910x0080, 0x10, 101),
 PIN_FIELD_BASE(15015030x0080, 0x10, 81),
 PIN_FIELD_BASE(15115110x0080, 0x10, 291),
 PIN_FIELD_BASE(15215230x0080, 0x10, 91),
 PIN_FIELD_BASE(15315330x0080, 0x10, 101),
 PIN_FIELD_BASE(15415430x0080, 0x10, 111),
 PIN_FIELD_BASE(15515530x0080, 0x10, 121),
 PIN_FIELD_BASE(18018050x0090, 0x10, 151),
 PIN_FIELD_BASE(18118150x0090, 0x10, 161),
 PIN_FIELD_BASE(18218290x0070, 0x10, 31),
};

static const struct mtk_pin_field_calc mt8189_pin_drv_range[] = {
 PIN_FIELD_BASE(0070x0000, 0x10, 153),
 PIN_FIELD_BASE(1180x0000, 0x10, 93),
 PIN_FIELD_BASE(2280x0000, 0x10, 123),
 PIN_FIELD_BASE(3380x0000, 0x10, 153),
 PIN_FIELD_BASE(4480x0000, 0x10, 183),
 PIN_FIELD_BASE(5580x0000, 0x10, 213),
 PIN_FIELD_BASE(6670x0000, 0x10, 183),
 PIN_FIELD_BASE(7770x0000, 0x10, 213),
 PIN_FIELD_BASE(8870x0000, 0x10, 243),
 PIN_FIELD_BASE(9970x0000, 0x10, 273),
 PIN_FIELD_BASE(101070x0010, 0x10, 03),
 PIN_FIELD_BASE(111170x0010, 0x10, 33),
 PIN_FIELD_BASE(121220x0000, 0x10, 153),
 PIN_FIELD_BASE(131320x0000, 0x10, 183),
 PIN_FIELD_BASE(141430x0000, 0x10, 03),
 PIN_FIELD_BASE(151530x0000, 0x10, 33),
 PIN_FIELD_BASE(161620x0000, 0x10, 213),
 PIN_FIELD_BASE(171720x0000, 0x10, 243),
 PIN_FIELD_BASE(181870x0000, 0x10, 03),
 PIN_FIELD_BASE(191970x0000, 0x10, 63),
 PIN_FIELD_BASE(202070x0000, 0x10, 33),
 PIN_FIELD_BASE(212170x0000, 0x10, 93),
 PIN_FIELD_BASE(222290x0000, 0x10, 03),
 PIN_FIELD_BASE(232390x0000, 0x10, 33),
 PIN_FIELD_BASE(242490x0000, 0x10, 63),
 PIN_FIELD_BASE(252540x0000, 0x10, 63),
 PIN_FIELD_BASE(262640x0000, 0x10, 33),
 PIN_FIELD_BASE(272720x0000, 0x10, 33),
 PIN_FIELD_BASE(282820x0000, 0x10, 63),
 PIN_FIELD_BASE(292940x0000, 0x10, 03),
 PIN_FIELD_BASE(303020x0000, 0x10, 03),
 PIN_FIELD_BASE(313130x0010, 0x10, 273),
 PIN_FIELD_BASE(323210x0030, 0x10, 03),
 PIN_FIELD_BASE(333330x0020, 0x10, 33),
 PIN_FIELD_BASE(343430x0020, 0x10, 03),
 PIN_FIELD_BASE(353530x0020, 0x10, 93),
 PIN_FIELD_BASE(363630x0020, 0x10, 63),
 PIN_FIELD_BASE(373730x0020, 0x10, 153),
 PIN_FIELD_BASE(383830x0020, 0x10, 123),
 PIN_FIELD_BASE(393930x0000, 0x10, 153),
 PIN_FIELD_BASE(404030x0000, 0x10, 63),
 PIN_FIELD_BASE(414130x0000, 0x10, 93),
 PIN_FIELD_BASE(424230x0000, 0x10, 123),
 PIN_FIELD_BASE(434330x0000, 0x10, 183),
 PIN_FIELD_BASE(444470x0020, 0x10, 03),
 PIN_FIELD_BASE(454570x0020, 0x10, 33),
 PIN_FIELD_BASE(464670x0020, 0x10, 63),
 PIN_FIELD_BASE(474770x0020, 0x10, 93),
 PIN_FIELD_BASE(484840x0000, 0x10, 153),
 PIN_FIELD_BASE(494940x0000, 0x10, 123),
 PIN_FIELD_BASE(505040x0000, 0x10, 93),
 PIN_FIELD_BASE(515180x0000, 0x10, 243),
 PIN_FIELD_BASE(525280x0010, 0x10, 03),
 PIN_FIELD_BASE(535380x0000, 0x10, 273),
 PIN_FIELD_BASE(545480x0010, 0x10, 33),
 PIN_FIELD_BASE(555540x0000, 0x10, 183),
 PIN_FIELD_BASE(565640x0000, 0x10, 213),
 PIN_FIELD_BASE(575720x0010, 0x10, 93),
 PIN_FIELD_BASE(585820x0010, 0x10, 213),
 PIN_FIELD_BASE(595920x0010, 0x10, 123),
 PIN_FIELD_BASE(606020x0010, 0x10, 243),
 PIN_FIELD_BASE(616120x0010, 0x10, 153),
 PIN_FIELD_BASE(626220x0010, 0x10, 273),
 PIN_FIELD_BASE(636320x0010, 0x10, 183),
 PIN_FIELD_BASE(646420x0020, 0x10, 03),
 PIN_FIELD_BASE(656590x0010, 0x10, 03),
 PIN_FIELD_BASE(666690x0010, 0x10, 63),
 PIN_FIELD_BASE(676790x0010, 0x10, 33),
 PIN_FIELD_BASE(686890x0010, 0x10, 93),
 PIN_FIELD_BASE(696920x0020, 0x10, 63),
 PIN_FIELD_BASE(707020x0020, 0x10, 33),
 PIN_FIELD_BASE(717120x0020, 0x10, 123),
 PIN_FIELD_BASE(727220x0020, 0x10, 93),
 PIN_FIELD_BASE(737320x0020, 0x10, 183),
 PIN_FIELD_BASE(747420x0020, 0x10, 153),
 PIN_FIELD_BASE(757530x0010, 0x10, 93),
 PIN_FIELD_BASE(767620x0020, 0x10, 213),
 PIN_FIELD_BASE(777780x0010, 0x10, 93),
 PIN_FIELD_BASE(787880x0010, 0x10, 63),
 PIN_FIELD_BASE(797980x0010, 0x10, 153),
 PIN_FIELD_BASE(808080x0010, 0x10, 123),
 PIN_FIELD_BASE(818120x0020, 0x10, 273),
 PIN_FIELD_BASE(828220x0020, 0x10, 243),
 PIN_FIELD_BASE(838320x0030, 0x10, 03),
 PIN_FIELD_BASE(848470x0020, 0x10, 123),
 PIN_FIELD_BASE(858570x0020, 0x10, 153),
 PIN_FIELD_BASE(868670x0020, 0x10, 183),
 PIN_FIELD_BASE(878770x0020, 0x10, 213),
 PIN_FIELD_BASE(888850x0020, 0x10, 03),
 PIN_FIELD_BASE(898950x0010, 0x10, 273),
 PIN_FIELD_BASE(909050x0020, 0x10, 63),
 PIN_FIELD_BASE(919150x0020, 0x10, 33),
 PIN_FIELD_BASE(929250x0010, 0x10, 183),
 PIN_FIELD_BASE(939350x0010, 0x10, 213),
 PIN_FIELD_BASE(949450x0020, 0x10, 93),
 PIN_FIELD_BASE(959550x0010, 0x10, 153),
 PIN_FIELD_BASE(969650x0010, 0x10, 243),
 PIN_FIELD_BASE(979750x0000, 0x10, 03),
 PIN_FIELD_BASE(989850x0000, 0x10, 153),
 PIN_FIELD_BASE(999950x0000, 0x10, 93),
 PIN_FIELD_BASE(10010050x0000, 0x10, 123),
 PIN_FIELD_BASE(10110150x0000, 0x10, 33),
 PIN_FIELD_BASE(10210250x0000, 0x10, 63),
 PIN_FIELD_BASE(10310370x0010, 0x10, 153),
 PIN_FIELD_BASE(10410470x0010, 0x10, 63),
 PIN_FIELD_BASE(10510570x0010, 0x10, 123),
 PIN_FIELD_BASE(10610670x0010, 0x10, 93),
 PIN_FIELD_BASE(10710770x0010, 0x10, 273),
 PIN_FIELD_BASE(10810870x0010, 0x10, 183),
 PIN_FIELD_BASE(10910970x0010, 0x10, 243),
 PIN_FIELD_BASE(11011070x0010, 0x10, 213),
 PIN_FIELD_BASE(11111170x0000, 0x10, 123),
 PIN_FIELD_BASE(11211280x0000, 0x10, 03),
 PIN_FIELD_BASE(11311380x0000, 0x10, 33),
 PIN_FIELD_BASE(11411480x0000, 0x10, 63),
 PIN_FIELD_BASE(11511520x0000, 0x10, 273),
 PIN_FIELD_BASE(11611620x0010, 0x10, 63),
 PIN_FIELD_BASE(11711720x0010, 0x10, 03),
 PIN_FIELD_BASE(11811820x0010, 0x10, 33),
 PIN_FIELD_BASE(11911910x0020, 0x10, 183),
 PIN_FIELD_BASE(12012010x0020, 0x10, 153),
 PIN_FIELD_BASE(12112110x0020, 0x10, 123),
 PIN_FIELD_BASE(12212210x0020, 0x10, 93),
 PIN_FIELD_BASE(12312310x0010, 0x10, 273),
 PIN_FIELD_BASE(12412410x0010, 0x10, 243),
 PIN_FIELD_BASE(12512510x0010, 0x10, 213),
 PIN_FIELD_BASE(12612610x0010, 0x10, 183),
 PIN_FIELD_BASE(12712710x0020, 0x10, 63),
 PIN_FIELD_BASE(12812810x0010, 0x10, 153),
 PIN_FIELD_BASE(12912910x0020, 0x10, 03),
 PIN_FIELD_BASE(13013010x0020, 0x10, 213),
 PIN_FIELD_BASE(13113110x0010, 0x10, 93),
 PIN_FIELD_BASE(13213210x0010, 0x10, 123),
 PIN_FIELD_BASE(13313310x0020, 0x10, 243),
 PIN_FIELD_BASE(13413410x0020, 0x10, 33),
 PIN_FIELD_BASE(13513510x0010, 0x10, 33),
 PIN_FIELD_BASE(13613610x0010, 0x10, 63),
 PIN_FIELD_BASE(13713720x0000, 0x10, 93),
 PIN_FIELD_BASE(13813820x0000, 0x10, 123),
 PIN_FIELD_BASE(13913910x0000, 0x10, 93),
 PIN_FIELD_BASE(14014010x0000, 0x10, 123),
 PIN_FIELD_BASE(14114110x0000, 0x10, 03),
 PIN_FIELD_BASE(14214210x0000, 0x10, 33),
 PIN_FIELD_BASE(14314310x0000, 0x10, 63),
 PIN_FIELD_BASE(14414410x0000, 0x10, 153),
 PIN_FIELD_BASE(14514510x0000, 0x10, 183),
 PIN_FIELD_BASE(14614610x0000, 0x10, 213),
 PIN_FIELD_BASE(14714710x0000, 0x10, 243),
 PIN_FIELD_BASE(14814810x0000, 0x10, 273),
 PIN_FIELD_BASE(14914910x0010, 0x10, 03),
 PIN_FIELD_BASE(15015030x0010, 0x10, 123),
 PIN_FIELD_BASE(15115110x0020, 0x10, 273),
 PIN_FIELD_BASE(15215230x0010, 0x10, 153),
 PIN_FIELD_BASE(15315330x0010, 0x10, 183),
 PIN_FIELD_BASE(15415430x0010, 0x10, 213),
 PIN_FIELD_BASE(15515530x0010, 0x10, 243),
 PIN_FIELD_BASE(15615650x0010, 0x10, 63),
 PIN_FIELD_BASE(15715750x0010, 0x10, 33),
 PIN_FIELD_BASE(15815850x0010, 0x10, 03),
 PIN_FIELD_BASE(15915960x0000, 0x10, 63),
 PIN_FIELD_BASE(16016050x0010, 0x10, 123),
 PIN_FIELD_BASE(16116150x0000, 0x10, 213),
 PIN_FIELD_BASE(16216250x0000, 0x10, 183),
 PIN_FIELD_BASE(16316360x0000, 0x10, 33),
 PIN_FIELD_BASE(16416450x0000, 0x10, 273),
 PIN_FIELD_BASE(16516550x0000, 0x10, 243),
 PIN_FIELD_BASE(16616660x0000, 0x10, 03),
 PIN_FIELD_BASE(16716750x0010, 0x10, 93),
 PIN_FIELD_BASE(16816830x0000, 0x10, 243),
 PIN_FIELD_BASE(16916930x0000, 0x10, 213),
 PIN_FIELD_BASE(17017030x0000, 0x10, 273),
 PIN_FIELD_BASE(17117130x0010, 0x10, 03),
 PIN_FIELD_BASE(17217230x0010, 0x10, 33),
 PIN_FIELD_BASE(17317330x0010, 0x10, 63),
 PIN_FIELD_BASE(17417490x0000, 0x10, 153),
 PIN_FIELD_BASE(17517590x0000, 0x10, 123),
 PIN_FIELD_BASE(17617690x0000, 0x10, 183),
 PIN_FIELD_BASE(17717790x0000, 0x10, 213),
 PIN_FIELD_BASE(17817890x0000, 0x10, 243),
 PIN_FIELD_BASE(17917990x0000, 0x10, 273),
 PIN_FIELD_BASE(18018050x0020, 0x10, 123),
 PIN_FIELD_BASE(18118150x0020, 0x10, 153),
 PIN_FIELD_BASE(18218290x0000, 0x10, 93),
};

static const struct mtk_pin_field_calc mt8189_pin_drv_adv_range[] = {
 PIN_FIELD_BASE(515180x0020, 0x10, 03),
 PIN_FIELD_BASE(525280x0020, 0x10, 63),
 PIN_FIELD_BASE(535380x0020, 0x10, 33),
 PIN_FIELD_BASE(545480x0020, 0x10, 93),
 PIN_FIELD_BASE(555540x0020, 0x10, 03),
 PIN_FIELD_BASE(565640x0020, 0x10, 33),
 PIN_FIELD_BASE(575720x0040, 0x10, 03),
 PIN_FIELD_BASE(585820x0040, 0x10, 123),
 PIN_FIELD_BASE(595920x0040, 0x10, 33),
 PIN_FIELD_BASE(606020x0040, 0x10, 153),
 PIN_FIELD_BASE(616120x0040, 0x10, 63),
 PIN_FIELD_BASE(626220x0040, 0x10, 183),
 PIN_FIELD_BASE(636320x0040, 0x10, 93),
 PIN_FIELD_BASE(646420x0040, 0x10, 213),
 PIN_FIELD_BASE(656590x0020, 0x10, 03),
 PIN_FIELD_BASE(666690x0020, 0x10, 63),
 PIN_FIELD_BASE(676790x0020, 0x10, 33),
 PIN_FIELD_BASE(686890x0020, 0x10, 93),
 PIN_FIELD_BASE(18018050x0030, 0x10, 03),
 PIN_FIELD_BASE(18118150x0030, 0x10, 33),
};

static const struct mtk_pin_field_calc mt8189_pin_rsel_range[] = {
 PIN_FIELD_BASE(515180x00b0, 0x10, 03),
 PIN_FIELD_BASE(525280x00b0, 0x10, 63),
 PIN_FIELD_BASE(535380x00b0, 0x10, 33),
 PIN_FIELD_BASE(545480x00b0, 0x10, 93),
 PIN_FIELD_BASE(555540x00b0, 0x10, 03),
 PIN_FIELD_BASE(565640x00b0, 0x10, 33),
 PIN_FIELD_BASE(575720x00d0, 0x10, 03),
 PIN_FIELD_BASE(585820x00d0, 0x10, 123),
 PIN_FIELD_BASE(595920x00d0, 0x10, 33),
 PIN_FIELD_BASE(606020x00d0, 0x10, 153),
 PIN_FIELD_BASE(616120x00d0, 0x10, 63),
 PIN_FIELD_BASE(626220x00d0, 0x10, 183),
 PIN_FIELD_BASE(636320x00d0, 0x10, 93),
 PIN_FIELD_BASE(646420x00d0, 0x10, 213),
 PIN_FIELD_BASE(656590x00e0, 0x10, 03),
 PIN_FIELD_BASE(666690x00e0, 0x10, 63),
 PIN_FIELD_BASE(676790x00e0, 0x10, 33),
 PIN_FIELD_BASE(686890x00e0, 0x10, 93),
 PIN_FIELD_BASE(18018050x0110, 0x10, 03),
 PIN_FIELD_BASE(18118150x0110, 0x10, 33),
};

static const struct mtk_pin_rsel mt8189_pin_rsel_val_range[] = {
 PIN_RSEL(51680x0, 7500075000),
 PIN_RSEL(51680x1, 100005000),
 PIN_RSEL(51680x2, 500075000),
 PIN_RSEL(51680x3, 40005000),
 PIN_RSEL(51680x4, 300075000),
 PIN_RSEL(51680x5, 20005000),
 PIN_RSEL(51680x6, 150075000),
 PIN_RSEL(51680x7, 10005000),
 PIN_RSEL(1801810x0, 7500075000),
 PIN_RSEL(1801810x1, 100005000),
 PIN_RSEL(1801810x2, 500075000),
 PIN_RSEL(1801810x3, 40005000),
 PIN_RSEL(1801810x4, 300075000),
 PIN_RSEL(1801810x5, 20005000),
 PIN_RSEL(1801810x6, 150075000),
 PIN_RSEL(1801810x7, 10005000),
};

static const unsigned int mt8189_pull_type[] = {
 MTK_PULL_PU_PD_TYPE, /*0*/
 MTK_PULL_PU_PD_TYPE, /*1*/
 MTK_PULL_PU_PD_TYPE, /*2*/
 MTK_PULL_PU_PD_TYPE, /*3*/
 MTK_PULL_PU_PD_TYPE, /*4*/
 MTK_PULL_PU_PD_TYPE, /*5*/
 MTK_PULL_PU_PD_TYPE, /*6*/
 MTK_PULL_PU_PD_TYPE, /*7*/
 MTK_PULL_PU_PD_TYPE, /*8*/
 MTK_PULL_PU_PD_TYPE, /*9*/
 MTK_PULL_PU_PD_TYPE, /*10*/
 MTK_PULL_PU_PD_TYPE, /*11*/
 MTK_PULL_PU_PD_TYPE, /*12*/
 MTK_PULL_PU_PD_TYPE, /*13*/
 MTK_PULL_PU_PD_TYPE, /*14*/
 MTK_PULL_PU_PD_TYPE, /*15*/
 MTK_PULL_PU_PD_TYPE, /*16*/
 MTK_PULL_PU_PD_TYPE, /*17*/
 MTK_PULL_PU_PD_TYPE, /*18*/
 MTK_PULL_PU_PD_TYPE, /*19*/
 MTK_PULL_PU_PD_TYPE, /*20*/
 MTK_PULL_PU_PD_TYPE, /*21*/
 MTK_PULL_PU_PD_TYPE, /*22*/
 MTK_PULL_PU_PD_TYPE, /*23*/
 MTK_PULL_PU_PD_TYPE, /*24*/
 MTK_PULL_PU_PD_TYPE, /*25*/
 MTK_PULL_PU_PD_TYPE, /*26*/
 MTK_PULL_PU_PD_TYPE, /*27*/
 MTK_PULL_PU_PD_TYPE, /*28*/
 MTK_PULL_PU_PD_TYPE, /*29*/
 MTK_PULL_PU_PD_TYPE, /*30*/
 MTK_PULL_PU_PD_TYPE, /*31*/
 MTK_PULL_PU_PD_TYPE, /*32*/
 MTK_PULL_PU_PD_TYPE, /*33*/
 MTK_PULL_PU_PD_TYPE, /*34*/
 MTK_PULL_PU_PD_TYPE, /*35*/
 MTK_PULL_PU_PD_TYPE, /*36*/
 MTK_PULL_PU_PD_TYPE, /*37*/
 MTK_PULL_PU_PD_TYPE, /*38*/
 MTK_PULL_PU_PD_TYPE, /*39*/
 MTK_PULL_PU_PD_TYPE, /*40*/
 MTK_PULL_PU_PD_TYPE, /*41*/
 MTK_PULL_PU_PD_TYPE, /*42*/
 MTK_PULL_PU_PD_TYPE, /*43*/
 MTK_PULL_PUPD_R1R0_TYPE, /*44*/
 MTK_PULL_PUPD_R1R0_TYPE, /*45*/
 MTK_PULL_PUPD_R1R0_TYPE, /*46*/
 MTK_PULL_PUPD_R1R0_TYPE, /*47*/
 MTK_PULL_PU_PD_TYPE, /*48*/
 MTK_PULL_PU_PD_TYPE, /*49*/
 MTK_PULL_PU_PD_TYPE, /*50*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*51*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*52*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*53*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*54*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*55*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*56*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*57*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*58*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*59*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*60*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*61*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*62*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*63*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*64*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*65*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*66*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*67*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*68*/
 MTK_PULL_PU_PD_TYPE, /*69*/
 MTK_PULL_PU_PD_TYPE, /*70*/
 MTK_PULL_PU_PD_TYPE, /*71*/
 MTK_PULL_PU_PD_TYPE, /*72*/
 MTK_PULL_PU_PD_TYPE, /*73*/
 MTK_PULL_PU_PD_TYPE, /*74*/
 MTK_PULL_PU_PD_TYPE, /*75*/
 MTK_PULL_PU_PD_TYPE, /*76*/
 MTK_PULL_PU_PD_TYPE, /*77*/
 MTK_PULL_PU_PD_TYPE, /*78*/
 MTK_PULL_PU_PD_TYPE, /*79*/
 MTK_PULL_PU_PD_TYPE, /*80*/
 MTK_PULL_PU_PD_TYPE, /*81*/
 MTK_PULL_PU_PD_TYPE, /*82*/
 MTK_PULL_PU_PD_TYPE, /*83*/
 MTK_PULL_PU_PD_TYPE, /*84*/
 MTK_PULL_PU_PD_TYPE, /*85*/
 MTK_PULL_PU_PD_TYPE, /*86*/
 MTK_PULL_PU_PD_TYPE, /*87*/
 MTK_PULL_PU_PD_TYPE, /*88*/
 MTK_PULL_PU_PD_TYPE, /*89*/
 MTK_PULL_PU_PD_TYPE, /*90*/
 MTK_PULL_PU_PD_TYPE, /*91*/
 MTK_PULL_PU_PD_TYPE, /*92*/
 MTK_PULL_PU_PD_TYPE, /*93*/
 MTK_PULL_PU_PD_TYPE, /*94*/
 MTK_PULL_PU_PD_TYPE, /*95*/
 MTK_PULL_PU_PD_TYPE, /*96*/
 MTK_PULL_PU_PD_TYPE, /*97*/
 MTK_PULL_PU_PD_TYPE, /*98*/
 MTK_PULL_PU_PD_TYPE, /*99*/
 MTK_PULL_PU_PD_TYPE, /*100*/
 MTK_PULL_PU_PD_TYPE, /*101*/
 MTK_PULL_PU_PD_TYPE, /*102*/
 MTK_PULL_PU_PD_TYPE, /*103*/
 MTK_PULL_PU_PD_TYPE, /*104*/
 MTK_PULL_PU_PD_TYPE, /*105*/
 MTK_PULL_PU_PD_TYPE, /*106*/
 MTK_PULL_PU_PD_TYPE, /*107*/
 MTK_PULL_PU_PD_TYPE, /*108*/
 MTK_PULL_PU_PD_TYPE, /*109*/
 MTK_PULL_PU_PD_TYPE, /*110*/
 MTK_PULL_PU_PD_TYPE, /*111*/
 MTK_PULL_PU_PD_TYPE, /*112*/
 MTK_PULL_PU_PD_TYPE, /*113*/
 MTK_PULL_PU_PD_TYPE, /*114*/
 MTK_PULL_PU_PD_TYPE, /*115*/
 MTK_PULL_PU_PD_TYPE, /*116*/
 MTK_PULL_PU_PD_TYPE, /*117*/
 MTK_PULL_PU_PD_TYPE, /*118*/
 MTK_PULL_PU_PD_TYPE, /*119*/
 MTK_PULL_PU_PD_TYPE, /*120*/
 MTK_PULL_PU_PD_TYPE, /*121*/
 MTK_PULL_PU_PD_TYPE, /*122*/
 MTK_PULL_PU_PD_TYPE, /*123*/
 MTK_PULL_PU_PD_TYPE, /*124*/
 MTK_PULL_PU_PD_TYPE, /*125*/
 MTK_PULL_PU_PD_TYPE, /*126*/
 MTK_PULL_PU_PD_TYPE, /*127*/
 MTK_PULL_PU_PD_TYPE, /*128*/
 MTK_PULL_PU_PD_TYPE, /*129*/
 MTK_PULL_PU_PD_TYPE, /*130*/
 MTK_PULL_PU_PD_TYPE, /*131*/
 MTK_PULL_PU_PD_TYPE, /*132*/
 MTK_PULL_PU_PD_TYPE, /*133*/
 MTK_PULL_PU_PD_TYPE, /*134*/
 MTK_PULL_PU_PD_TYPE, /*135*/
 MTK_PULL_PU_PD_TYPE, /*136*/
 MTK_PULL_PU_PD_TYPE, /*137*/
 MTK_PULL_PU_PD_TYPE, /*138*/
 MTK_PULL_PU_PD_TYPE, /*139*/
 MTK_PULL_PU_PD_TYPE, /*140*/
 MTK_PULL_PU_PD_TYPE, /*141*/
 MTK_PULL_PU_PD_TYPE, /*142*/
 MTK_PULL_PU_PD_TYPE, /*143*/
 MTK_PULL_PU_PD_TYPE, /*144*/
 MTK_PULL_PU_PD_TYPE, /*145*/
 MTK_PULL_PU_PD_TYPE, /*146*/
 MTK_PULL_PU_PD_TYPE, /*147*/
 MTK_PULL_PU_PD_TYPE, /*148*/
 MTK_PULL_PU_PD_TYPE, /*149*/
 MTK_PULL_PU_PD_TYPE, /*150*/
 MTK_PULL_PU_PD_TYPE, /*151*/
 MTK_PULL_PU_PD_TYPE, /*152*/
 MTK_PULL_PU_PD_TYPE, /*153*/
 MTK_PULL_PU_PD_TYPE, /*154*/
 MTK_PULL_PU_PD_TYPE, /*155*/
 MTK_PULL_PUPD_R1R0_TYPE, /*156*/
 MTK_PULL_PUPD_R1R0_TYPE, /*157*/
 MTK_PULL_PUPD_R1R0_TYPE, /*158*/
 MTK_PULL_PUPD_R1R0_TYPE, /*159*/
 MTK_PULL_PUPD_R1R0_TYPE, /*160*/
 MTK_PULL_PUPD_R1R0_TYPE, /*161*/
 MTK_PULL_PUPD_R1R0_TYPE, /*162*/
 MTK_PULL_PUPD_R1R0_TYPE, /*163*/
 MTK_PULL_PUPD_R1R0_TYPE, /*164*/
 MTK_PULL_PUPD_R1R0_TYPE, /*165*/
 MTK_PULL_PUPD_R1R0_TYPE, /*166*/
 MTK_PULL_PUPD_R1R0_TYPE, /*167*/
 MTK_PULL_PUPD_R1R0_TYPE, /*168*/
 MTK_PULL_PUPD_R1R0_TYPE, /*169*/
 MTK_PULL_PUPD_R1R0_TYPE, /*170*/
 MTK_PULL_PUPD_R1R0_TYPE, /*171*/
 MTK_PULL_PUPD_R1R0_TYPE, /*172*/
 MTK_PULL_PUPD_R1R0_TYPE, /*173*/
 MTK_PULL_PUPD_R1R0_TYPE, /*174*/
 MTK_PULL_PUPD_R1R0_TYPE, /*175*/
 MTK_PULL_PUPD_R1R0_TYPE, /*176*/
 MTK_PULL_PUPD_R1R0_TYPE, /*177*/
 MTK_PULL_PUPD_R1R0_TYPE, /*178*/
 MTK_PULL_PUPD_R1R0_TYPE, /*179*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*180*/
 MTK_PULL_PU_PD_RSEL_TYPE, /*181*/
 MTK_PULL_PU_PD_TYPE, /*182*/
};

static const struct mtk_pin_reg_calc mt8189_reg_cals[PINCTRL_PIN_REG_MAX] = {
 [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8189_pin_mode_range),
 [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8189_pin_dir_range),
 [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8189_pin_di_range),
 [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt8189_pin_do_range),
 [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt8189_pin_smt_range),
 [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt8189_pin_ies_range),
 [PINCTRL_PIN_REG_TDSEL] = MTK_RANGE(mt8189_pin_tdsel_range),
 [PINCTRL_PIN_REG_RDSEL] = MTK_RANGE(mt8189_pin_rdsel_range),
 [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt8189_pin_pupd_range),
 [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt8189_pin_r0_range),
 [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt8189_pin_r1_range),
 [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt8189_pin_pu_range),
 [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt8189_pin_pd_range),
 [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt8189_pin_drv_range),
 [PINCTRL_PIN_REG_DRV_ADV] = MTK_RANGE(mt8189_pin_drv_adv_range),
 [PINCTRL_PIN_REG_RSEL] = MTK_RANGE(mt8189_pin_rsel_range),
};

static const char * const mt8189_pinctrl_register_base_names[] = {
 "gpio_base""iocfg_bm0_base""iocfg_bm1_base""iocfg_bm2_base""iocfg_lm_base",
 "iocfg_lt0_base""iocfg_lt1_base""iocfg_rb0_base""iocfg_rb1_base",
 "iocfg_rt_base"
};

static const struct mtk_eint_hw mt8189_eint_hw = {
 .port_mask = 0xf,
 .ports  = 3,
 .ap_num  = 210,
 .db_cnt  = 32,
 .db_time = debounce_time_mt6765,
};

static const struct mtk_pin_soc mt8189_data = {
 .reg_cal = mt8189_reg_cals,
 .pins = mtk_pins_mt8189,
 .npins = ARRAY_SIZE(mtk_pins_mt8189),
 .ngrps = ARRAY_SIZE(mtk_pins_mt8189),
 .eint_pin = eint_pins_mt8189,
 .eint_hw = &mt8189_eint_hw,
 .nfuncs = 8,
 .gpio_m = 0,
 .base_names = mt8189_pinctrl_register_base_names,
 .nbase_names = ARRAY_SIZE(mt8189_pinctrl_register_base_names),
 .bias_set_combo = mtk_pinconf_bias_set_combo,
 .bias_get_combo = mtk_pinconf_bias_get_combo,
 .pull_type = mt8189_pull_type,
 .pin_rsel = mt8189_pin_rsel_val_range,
 .npin_rsel = ARRAY_SIZE(mt8189_pin_rsel_val_range),
 .drive_set = mtk_pinconf_drive_set_rev1,
 .drive_get = mtk_pinconf_drive_get_rev1,
 .adv_drive_set = mtk_pinconf_adv_drive_set_raw,
 .adv_drive_get = mtk_pinconf_adv_drive_get_raw,
};

static const struct of_device_id mt8189_pinctrl_of_match[] = {
 { .compatible = "mediatek,mt8189-pinctrl", .data = &mt8189_data },
 { /* sentinel */ }
};

static struct platform_driver mt8189_pinctrl_driver = {
 .driver = {
  .name = "mt8189-pinctrl",
  .of_match_table = mt8189_pinctrl_of_match,
  .pm = pm_sleep_ptr(&mtk_paris_pinctrl_pm_ops),
 },
 .probe = mtk_paris_pinctrl_probe,
};

static int __init mt8189_pinctrl_init(void)
{
 return platform_driver_register(&mt8189_pinctrl_driver);
}
arch_initcall(mt8189_pinctrl_init);

MODULE_DESCRIPTION("MediaTek MT8189 Pinctrl Driver");

Messung V0.5 in Prozent
C=94 H=100 G=96

¤ Dauer der Verarbeitung: 0.40 Sekunden  (vorverarbeitet am  2026-06-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.