2022-08-18 15:50:12 +08:00
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright ( C ) 2022 MediaTek Inc .
* Author : Hui Liu < hui . liu @ mediatek . com >
*
*/
# include <linux/module.h>
# include "pinctrl-mtk-mt8188.h"
# include "pinctrl-paris.h"
/* MT8188 have multiple bases to program pin configuration listed as the below:
* iocfg [ 0 ] : 0x10005000 , iocfg [ 1 ] : 0x11c00000 , iocfg [ 2 ] : 0x11e10000 ,
* iocfg [ 3 ] : 0x11e20000 , iocfg [ 4 ] : 0x11ea0000
* _i_based could be used to indicate what base the pin should be mapped into .
*/
# 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 , \
32 , 0 )
# 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 , \
32 , 1 )
static const struct mtk_pin_field_calc mt8188_pin_mode_range [ ] = {
PIN_FIELD ( 0 , 177 , 0x0300 , 0x10 , 0 , 4 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_dir_range [ ] = {
PIN_FIELD ( 0 , 177 , 0x0000 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_di_range [ ] = {
PIN_FIELD ( 0 , 177 , 0x0200 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_do_range [ ] = {
PIN_FIELD ( 0 , 177 , 0x0100 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_smt_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x0170 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x0170 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x0170 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x0170 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x0170 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x0170 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x0170 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x0170 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x0170 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x0170 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x0170 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x0170 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x0160 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x0160 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x0160 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x0160 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x00e0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x00e0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x00e0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x0170 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x0170 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x0170 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x0170 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x0170 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x0170 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x0170 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x0170 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x0170 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x0170 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x0170 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x0170 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x0170 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x0170 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x0170 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x0170 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x0170 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x0160 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x0160 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x0160 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x0160 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x0170 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x0170 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x0170 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0170 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0170 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0160 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0160 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0170 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0170 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0170 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0170 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0160 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0170 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x00e0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x00e0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x00e0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x00e0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x0180 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x0170 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x0180 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x0180 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x0180 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x0180 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x0180 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x0180 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x0180 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x0180 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x00e0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x00e0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x00e0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x00e0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x0160 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x0160 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x0160 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x0160 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x0160 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x0160 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x0160 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x0160 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x0160 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x0160 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x0160 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x0160 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x0160 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x0160 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x0160 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x0160 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x0160 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x0160 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x0160 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x0160 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x0160 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x0160 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x0160 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x0160 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x0160 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x0160 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x0160 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x0160 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x0160 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x0160 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x0160 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x00d0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x00d0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x00d0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x00d0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x0160 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x0160 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x0160 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x0160 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x0160 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x0160 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0170 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0170 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0170 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0170 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0170 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0170 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0170 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0170 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0170 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0170 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0170 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0170 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0170 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0170 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0170 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0170 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0170 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0170 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0170 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0170 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0160 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0160 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0160 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0160 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0160 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0160 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0160 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0160 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0160 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0160 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0160 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0160 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x00e0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x00e0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x00e0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x00e0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x00e0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x00e0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x00d0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x00d0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x00d0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x00d0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x00d0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x00d0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0160 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0160 , 0x10 , 28 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_ies_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x0080 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x0080 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x0080 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x0080 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x0080 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x0080 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x0090 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x0090 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x0090 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x0090 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x0090 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x0090 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x0070 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x0070 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x0070 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x0070 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x0040 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x0040 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x0050 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x0050 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x0050 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x0050 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x0050 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x0050 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x0050 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x0080 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x0080 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x0080 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x0080 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x0080 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x0080 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x0090 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x0090 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x00a0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x00a0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x00a0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x00a0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x0090 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x0090 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x0090 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x0090 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x0090 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x0080 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x0080 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x0080 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x0080 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x0040 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x0090 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x0090 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x0090 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x0040 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x0040 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x0040 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0040 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0040 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0090 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0090 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0080 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0080 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0090 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0090 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0090 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0090 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0080 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0080 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0050 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0050 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0050 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0050 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x0090 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x0090 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x0090 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x0090 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x0090 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x0090 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x0090 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x0090 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x0090 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x0090 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x0050 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x0050 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x0050 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x0050 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x0080 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x0080 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x0080 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x0090 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x0090 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x0090 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x0090 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x0090 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x0090 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x0080 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x0080 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x0080 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x0080 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x0080 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x0080 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x0080 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x0080 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x0080 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x0070 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x0070 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x0070 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x0070 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x0070 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x0070 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x0080 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x0070 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x0080 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x0070 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x0070 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x0070 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x0080 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x0080 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x0080 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x0080 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x0080 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x0080 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x0080 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x0080 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x0040 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x0040 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x0040 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x0040 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x0070 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x0070 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x0070 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x0070 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x0070 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x0070 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0080 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0080 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0080 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0080 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0080 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0080 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0080 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0080 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0080 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0080 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0080 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0080 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0080 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0080 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0080 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0080 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0080 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0080 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0080 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0080 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0070 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0070 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0070 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0070 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0070 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0070 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0070 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0070 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0070 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0070 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0070 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0070 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x0050 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x0050 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x0050 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x0050 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x0050 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x0050 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x0040 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x0040 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x0040 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x0040 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x0040 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x0040 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0080 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0080 , 0x10 , 28 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_tdsel_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x01b0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x01b0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x01b0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x01b0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x01c0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x01c0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x01c0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x01b0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x01b0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x01b0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x01b0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x01c0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x0190 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x0190 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x0190 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x0190 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x0100 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x0100 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x0110 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x0110 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x0110 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x0110 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x0100 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x0100 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x0100 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x01c0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x01c0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x01c0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x01c0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x01c0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x01c0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x01c0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x01c0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x01c0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x01c0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x01c0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x01c0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x01c0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x01c0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x01c0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x01d0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x01d0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x01a0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x01a0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x01a0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x01a0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x0100 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x01c0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x01c0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x01c0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x0100 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x0100 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x0100 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0100 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0100 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x01c0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x01c0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x01a0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x01a0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x01c0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x01c0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x01c0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x01c0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x01a0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x01a0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0110 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0110 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0110 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0110 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x01d0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x01d0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x01e0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x01d0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x01d0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x01d0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x01e0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x01e0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x01e0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x01e0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x0110 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x0110 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x0110 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x0110 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x01b0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x01b0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x01b0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x01b0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x01b0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x01a0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x01a0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x01a0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x01a0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x01a0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x01a0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x01b0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x01a0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x01b0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x01a0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x01a0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x01a0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x01b0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x01b0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x01b0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x01a0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x01a0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x01a0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x01a0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x01a0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x01a0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x01a0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x01a0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x01a0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x01a0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x00f0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x0100 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x0100 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x00f0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x01b0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x01b0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x01b0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x01b0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x01b0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x01b0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x01a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x01a0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x01a0 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x01a0 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x01d0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x01d0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x01d0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x01d0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x01d0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x01d0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x01d0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x01d0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x01a0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x01a0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x01a0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x01a0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x01d0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x01d0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x01c0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x01c0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0190 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0190 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0180 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0180 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0190 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0180 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0180 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0180 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0180 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0180 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0180 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0190 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x0100 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x0100 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x0100 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x0100 , 0x10 , 24 , 4 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x0100 , 0x10 , 28 , 4 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x0110 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x00f0 , 0x10 , 4 , 4 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x00f0 , 0x10 , 0 , 4 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x00f0 , 0x10 , 8 , 4 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x00f0 , 0x10 , 12 , 4 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x00f0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x00f0 , 0x10 , 20 , 4 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x01b0 , 0x10 , 16 , 4 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x01b0 , 0x10 , 16 , 4 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_rdsel_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x0130 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x0130 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x0130 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x0140 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x0140 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x0140 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x0130 , 0x10 , 26 , 2 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x0130 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x0130 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x0140 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x0140 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x0130 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x0130 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x0130 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x0130 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x00b0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x00b0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x00c0 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x00c0 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x00c0 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x00c0 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x00b0 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x00b0 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x00b0 , 0x10 , 4 , 2 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x0140 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x0140 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x0140 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x0140 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x0140 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x0140 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x0140 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x0140 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x0140 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x0140 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x0140 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x0130 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x0140 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x0130 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x0140 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x00b0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x00b0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x00b0 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x00b0 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x00b0 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x00b0 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0140 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0140 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0140 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0140 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0140 , 0x10 , 0 , 2 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x00c0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x00c0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x00c0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x00c0 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x0150 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x0150 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x0150 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x0150 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x0150 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x0150 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x0150 , 0x10 , 26 , 2 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x0150 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x0150 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x0150 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x00c0 , 0x10 , 18 , 2 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x00c0 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x00c0 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x00c0 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x0140 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x0130 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x0130 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x0130 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x0130 , 0x10 , 22 , 2 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x0140 , 0x10 , 4 , 2 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x0140 , 0x10 , 6 , 2 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x0140 , 0x10 , 2 , 2 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x0140 , 0x10 , 16 , 2 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x0140 , 0x10 , 4 , 2 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x0140 , 0x10 , 4 , 2 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x0140 , 0x10 , 4 , 2 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x0140 , 0x10 , 6 , 2 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x0140 , 0x10 , 6 , 2 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x0140 , 0x10 , 6 , 2 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x0130 , 0x10 , 20 , 2 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x0130 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x0130 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x0130 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x0130 , 0x10 , 24 , 2 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x0130 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x0130 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x0130 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x0130 , 0x10 , 28 , 2 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x0130 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x0130 , 0x10 , 30 , 2 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x00b0 , 0x10 , 6 , 2 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x00b0 , 0x10 , 12 , 2 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x00b0 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x00b0 , 0x10 , 8 , 2 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x0140 , 0x10 , 8 , 2 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x0140 , 0x10 , 8 , 2 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x0140 , 0x10 , 8 , 2 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x0140 , 0x10 , 8 , 2 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x0140 , 0x10 , 10 , 2 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0120 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0130 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0130 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0130 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0140 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0140 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0150 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0150 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0150 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0150 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0150 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0150 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0120 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0120 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0120 , 0x10 , 18 , 6 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0120 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0150 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0150 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0140 , 0x10 , 4 , 6 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0140 , 0x10 , 4 , 6 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0120 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0120 , 0x10 , 18 , 6 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0120 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0120 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0130 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0110 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0110 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0120 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0110 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0110 , 0x10 , 18 , 6 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0110 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0130 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x00b0 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x00b0 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x00b0 , 0x10 , 18 , 6 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x00b0 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x00c0 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x00c0 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x00a0 , 0x10 , 6 , 6 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x00a0 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x00a0 , 0x10 , 12 , 6 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x00a0 , 0x10 , 18 , 6 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x00a0 , 0x10 , 24 , 6 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x00b0 , 0x10 , 0 , 6 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0140 , 0x10 , 14 , 2 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0140 , 0x10 , 14 , 2 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_pupd_range [ ] = {
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x00c0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x00c0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x00c0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x00c0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x00d0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x00d0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x00d0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x00d0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x00d0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x00d0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x00d0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x00d0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x00d0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x00d0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x00d0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x00d0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x00d0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x00d0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x00d0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x00d0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x00d0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x00d0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x00c0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x00c0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x00c0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x00c0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x00c0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x00c0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x00c0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x00c0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x00c0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x00c0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x00c0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x00c0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x0070 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x0070 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x0070 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x0070 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x0070 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x0070 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x0060 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x0060 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x0060 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x0060 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x0060 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x0060 , 0x10 , 5 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_r0_range [ ] = {
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x00f0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x00f0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x00f0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x00f0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0100 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0100 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0100 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0100 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0100 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0100 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0100 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0100 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0100 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0100 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0100 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0100 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0100 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0100 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0100 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0100 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0100 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0100 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0100 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0100 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x00f0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x00f0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x00f0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x00f0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x00f0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x00f0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x00f0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x00f0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x00f0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x00f0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x00f0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x00f0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x0090 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x0090 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x0090 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x0090 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x0090 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x0090 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x0080 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x0080 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x0080 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x0080 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x0080 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x0080 , 0x10 , 5 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_r1_range [ ] = {
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x0100 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x0100 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x0100 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x0100 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0110 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0110 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0110 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0110 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0110 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0110 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0110 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0110 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0110 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0110 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0110 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0110 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0110 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0110 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0110 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0110 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0110 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0110 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0110 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0110 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0100 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0100 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0100 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0100 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0100 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0100 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0100 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0100 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0100 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0100 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0100 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0100 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x00a0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x00a0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x00a0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x00a0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x00a0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x00a0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x0090 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x0090 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x0090 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x0090 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x0090 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x0090 , 0x10 , 5 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_pu_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x00e0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x00e0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x00e0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x00e0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x00e0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x00e0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x00e0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x00e0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x00e0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x00e0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x00e0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x00d0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x00d0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x00d0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x00d0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x0070 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x0070 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x0080 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x0080 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x0080 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x0080 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x0080 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x0080 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x0080 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x00e0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x00e0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x00e0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x00e0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x00e0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x00e0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x00f0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x00f0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x00f0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x00f0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x00f0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x00f0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x00e0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x00e0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x00e0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x00e0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x00e0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x0070 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x00e0 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x00e0 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x00e0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x0070 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x0070 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x0070 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0070 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0070 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x00e0 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x00e0 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x00e0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x00e0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x00e0 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x00e0 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x00e0 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x00e0 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x00e0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x00e0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0080 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0080 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0080 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0080 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x00f0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x00f0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x00f0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x00f0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x00f0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x00f0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x00f0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x00f0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x00f0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x00f0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x0080 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x0080 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x0080 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x0080 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x00e0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x00e0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x00e0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x00e0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x00e0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x00e0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x00e0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x00e0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x00e0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x00e0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x00e0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x00e0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x00e0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x00d0 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x00e0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x00e0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x00d0 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x00e0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x00d0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x00d0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x00d0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x00d0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x00d0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x00d0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x00d0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x00d0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x00d0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x00d0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x00d0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x00d0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x00d0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x00d0 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x00d0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x00d0 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x00d0 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x00d0 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x00d0 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x00d0 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x0070 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x0070 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x0070 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x0070 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x00d0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x00d0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x00d0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x00d0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x00d0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x00d0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x00e0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x00e0 , 0x10 , 12 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_pd_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x00b0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x00b0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x00b0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x00b0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x00b0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x00b0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x00b0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x00b0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x00b0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x00b0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x00b0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x00b0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x00a0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x00a0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x00a0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x00a0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x0050 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x0050 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x0060 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x0060 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x0060 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x0060 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x0060 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x0060 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x0060 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x00b0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x00b0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x00b0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x00b0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x00b0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x00b0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x00c0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x00c0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x00c0 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x00c0 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x00c0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x00c0 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x00b0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x00b0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x00b0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x00b0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x00b0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x0050 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x00b0 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x00b0 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x00b0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x0050 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x0050 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x0050 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0050 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0050 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x00b0 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x00b0 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x00b0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x00b0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x00b0 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x00b0 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x00b0 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x00b0 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x00b0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x00b0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0060 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0060 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0060 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0060 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x00c0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x00c0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x00c0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x00c0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x00c0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x00c0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x00c0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x00c0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x00c0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x00c0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x0060 , 0x10 , 12 , 1 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x0060 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x0060 , 0x10 , 14 , 1 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x0060 , 0x10 , 13 , 1 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x00b0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x00b0 , 0x10 , 15 , 1 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x00b0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x00b0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x00b0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x00b0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x00b0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x00b0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x00b0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x00b0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x00b0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x00b0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x00b0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x00a0 , 0x10 , 31 , 1 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x00b0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x00b0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x00a0 , 0x10 , 30 , 1 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x00b0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x00a0 , 0x10 , 0 , 1 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x00a0 , 0x10 , 5 , 1 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x00a0 , 0x10 , 3 , 1 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x00a0 , 0x10 , 4 , 1 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x00a0 , 0x10 , 1 , 1 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x00a0 , 0x10 , 2 , 1 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x00a0 , 0x10 , 21 , 1 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x00a0 , 0x10 , 16 , 1 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x00a0 , 0x10 , 22 , 1 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x00a0 , 0x10 , 17 , 1 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x00a0 , 0x10 , 18 , 1 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x00a0 , 0x10 , 19 , 1 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x00a0 , 0x10 , 20 , 1 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x00a0 , 0x10 , 28 , 1 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x00a0 , 0x10 , 23 , 1 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x00a0 , 0x10 , 29 , 1 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x00a0 , 0x10 , 24 , 1 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x00a0 , 0x10 , 25 , 1 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x00a0 , 0x10 , 26 , 1 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x00a0 , 0x10 , 27 , 1 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x0050 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x0050 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x0050 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x0050 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x00a0 , 0x10 , 6 , 1 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x00a0 , 0x10 , 7 , 1 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x00a0 , 0x10 , 8 , 1 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x00a0 , 0x10 , 9 , 1 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x00a0 , 0x10 , 10 , 1 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x00a0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x00b0 , 0x10 , 11 , 1 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x00b0 , 0x10 , 12 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_drv_range [ ] = {
PIN_FIELD_BASE ( 0 , 0 , 1 , 0x0000 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 1 , 1 , 1 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 2 , 2 , 1 , 0x0010 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 3 , 3 , 1 , 0x0010 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 4 , 4 , 1 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 5 , 5 , 1 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 6 , 6 , 1 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 7 , 7 , 1 , 0x0010 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 8 , 8 , 1 , 0x0010 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 9 , 9 , 1 , 0x0010 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 10 , 10 , 1 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 11 , 11 , 1 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 12 , 12 , 2 , 0x0010 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 13 , 13 , 2 , 0x0010 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 14 , 14 , 2 , 0x0020 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 15 , 15 , 2 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 16 , 16 , 3 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 17 , 17 , 3 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 18 , 18 , 4 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 19 , 19 , 4 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 20 , 20 , 4 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 21 , 21 , 4 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 22 , 22 , 4 , 0x0000 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 23 , 23 , 4 , 0x0000 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 24 , 24 , 4 , 0x0000 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 25 , 25 , 1 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 26 , 26 , 1 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 27 , 27 , 1 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 28 , 28 , 1 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 29 , 29 , 1 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 30 , 30 , 1 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 31 , 31 , 1 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 32 , 32 , 1 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 33 , 33 , 1 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 34 , 34 , 1 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 35 , 35 , 1 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 36 , 36 , 1 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 37 , 37 , 1 , 0x0010 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 38 , 38 , 1 , 0x0010 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 39 , 39 , 1 , 0x0010 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 40 , 40 , 1 , 0x0010 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 41 , 41 , 1 , 0x0020 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 42 , 42 , 2 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 43 , 43 , 2 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 44 , 44 , 2 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 45 , 45 , 2 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 46 , 46 , 3 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 47 , 47 , 1 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 48 , 48 , 1 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 49 , 49 , 1 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 50 , 50 , 3 , 0x0000 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 51 , 51 , 3 , 0x0000 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 52 , 52 , 3 , 0x0000 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0000 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0000 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0020 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0030 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0030 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0030 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0030 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0030 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0030 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0030 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0030 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0010 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0010 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0010 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0010 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 69 , 69 , 1 , 0x0030 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 70 , 70 , 1 , 0x0030 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 71 , 71 , 1 , 0x0040 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 72 , 72 , 1 , 0x0030 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 73 , 73 , 1 , 0x0030 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 74 , 74 , 1 , 0x0030 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 75 , 75 , 1 , 0x0040 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 76 , 76 , 1 , 0x0040 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 77 , 77 , 1 , 0x0040 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 78 , 78 , 1 , 0x0040 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 79 , 79 , 4 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 80 , 80 , 4 , 0x0010 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 81 , 81 , 4 , 0x0010 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 82 , 82 , 4 , 0x0010 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 83 , 83 , 2 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 84 , 84 , 2 , 0x0020 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 85 , 85 , 2 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 86 , 86 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 87 , 87 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 88 , 88 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 89 , 89 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 90 , 90 , 2 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 91 , 91 , 2 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 92 , 92 , 2 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 93 , 93 , 2 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 94 , 94 , 2 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 95 , 95 , 2 , 0x0020 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 96 , 96 , 2 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 97 , 97 , 2 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 98 , 98 , 2 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 99 , 99 , 2 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 100 , 100 , 2 , 0x0030 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 101 , 101 , 2 , 0x0000 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 102 , 102 , 2 , 0x0000 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 103 , 103 , 2 , 0x0000 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 104 , 104 , 2 , 0x0000 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 105 , 105 , 2 , 0x0000 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 106 , 106 , 2 , 0x0000 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 107 , 107 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 108 , 108 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 109 , 109 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 110 , 110 , 2 , 0x0020 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 111 , 111 , 2 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 112 , 112 , 2 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 113 , 113 , 2 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 114 , 114 , 2 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 115 , 115 , 2 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 116 , 116 , 2 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 117 , 117 , 2 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 118 , 118 , 2 , 0x0020 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 119 , 119 , 2 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 120 , 120 , 2 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 121 , 121 , 3 , 0x0010 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 122 , 122 , 3 , 0x0010 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 123 , 123 , 3 , 0x0010 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 124 , 124 , 3 , 0x0010 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 125 , 125 , 2 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 126 , 126 , 2 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 127 , 127 , 2 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 128 , 128 , 2 , 0x0020 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 129 , 129 , 2 , 0x0020 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 130 , 130 , 2 , 0x0020 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 131 , 131 , 1 , 0x0000 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 132 , 132 , 1 , 0x0000 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 133 , 133 , 1 , 0x0000 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 134 , 134 , 1 , 0x0000 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 135 , 135 , 1 , 0x0020 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 136 , 136 , 1 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 137 , 137 , 1 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 138 , 138 , 1 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 139 , 139 , 1 , 0x0020 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 140 , 140 , 1 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 141 , 141 , 1 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 142 , 142 , 1 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 143 , 143 , 1 , 0x0000 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 144 , 144 , 1 , 0x0000 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 145 , 145 , 1 , 0x0000 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 146 , 146 , 1 , 0x0000 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 147 , 147 , 1 , 0x0020 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 148 , 148 , 1 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 149 , 149 , 1 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 150 , 150 , 1 , 0x0020 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 151 , 151 , 2 , 0x0010 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 152 , 152 , 2 , 0x0010 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 153 , 153 , 2 , 0x0010 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 154 , 154 , 2 , 0x0010 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 155 , 155 , 2 , 0x0010 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 156 , 156 , 2 , 0x0000 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 157 , 157 , 2 , 0x0000 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 158 , 158 , 2 , 0x0010 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 159 , 159 , 2 , 0x0010 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 160 , 160 , 2 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 161 , 161 , 2 , 0x0000 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 162 , 162 , 2 , 0x0010 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 163 , 163 , 4 , 0x0000 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 164 , 164 , 4 , 0x0000 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 165 , 165 , 4 , 0x0000 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 166 , 166 , 4 , 0x0000 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 167 , 167 , 4 , 0x0000 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 168 , 168 , 4 , 0x0000 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 169 , 169 , 3 , 0x0000 , 0x10 , 18 , 3 ) ,
PIN_FIELD_BASE ( 170 , 170 , 3 , 0x0000 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 171 , 171 , 3 , 0x0000 , 0x10 , 21 , 3 ) ,
PIN_FIELD_BASE ( 172 , 172 , 3 , 0x0000 , 0x10 , 24 , 3 ) ,
PIN_FIELD_BASE ( 173 , 173 , 3 , 0x0000 , 0x10 , 27 , 3 ) ,
PIN_FIELD_BASE ( 174 , 174 , 3 , 0x0010 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0030 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0030 , 0x10 , 3 , 3 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_drv_adv_range [ ] = {
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x0020 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x0020 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0060 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0060 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0050 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0050 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0060 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0060 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0060 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0060 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0050 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0050 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x0030 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x0030 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x0030 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x0030 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0050 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0050 , 0x10 , 15 , 3 ) ,
} ;
static const struct mtk_pin_field_calc mt8188_pin_rsel_range [ ] = {
PIN_FIELD_BASE ( 53 , 53 , 3 , 0x00c0 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 54 , 54 , 3 , 0x00c0 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 55 , 55 , 1 , 0x0160 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 56 , 56 , 1 , 0x0160 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 57 , 57 , 2 , 0x0150 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 58 , 58 , 2 , 0x0150 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 59 , 59 , 1 , 0x0160 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 60 , 60 , 1 , 0x0160 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 61 , 61 , 1 , 0x0160 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 62 , 62 , 1 , 0x0160 , 0x10 , 15 , 3 ) ,
PIN_FIELD_BASE ( 63 , 63 , 2 , 0x0150 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 64 , 64 , 2 , 0x0150 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 65 , 65 , 4 , 0x00d0 , 0x10 , 0 , 3 ) ,
PIN_FIELD_BASE ( 66 , 66 , 4 , 0x00d0 , 0x10 , 6 , 3 ) ,
PIN_FIELD_BASE ( 67 , 67 , 4 , 0x00d0 , 0x10 , 3 , 3 ) ,
PIN_FIELD_BASE ( 68 , 68 , 4 , 0x00d0 , 0x10 , 9 , 3 ) ,
PIN_FIELD_BASE ( 175 , 175 , 2 , 0x0150 , 0x10 , 12 , 3 ) ,
PIN_FIELD_BASE ( 176 , 176 , 2 , 0x0150 , 0x10 , 15 , 3 ) ,
} ;
static const struct mtk_pin_rsel mt8188_pin_rsel_val_range [ ] = {
PIN_RSEL ( 53 , 68 , 0x0 , 75000 , 75000 ) ,
PIN_RSEL ( 53 , 68 , 0x1 , 10000 , 5000 ) ,
PIN_RSEL ( 53 , 68 , 0x2 , 5000 , 75000 ) ,
PIN_RSEL ( 53 , 68 , 0x3 , 4000 , 5000 ) ,
PIN_RSEL ( 53 , 68 , 0x4 , 3000 , 75000 ) ,
PIN_RSEL ( 53 , 68 , 0x5 , 2000 , 5000 ) ,
PIN_RSEL ( 53 , 68 , 0x6 , 1500 , 75000 ) ,
PIN_RSEL ( 53 , 68 , 0x7 , 1000 , 5000 ) ,
PIN_RSEL ( 175 , 176 , 0x0 , 75000 , 75000 ) ,
PIN_RSEL ( 175 , 176 , 0x1 , 10000 , 5000 ) ,
PIN_RSEL ( 175 , 176 , 0x2 , 5000 , 75000 ) ,
PIN_RSEL ( 175 , 176 , 0x3 , 4000 , 5000 ) ,
PIN_RSEL ( 175 , 176 , 0x4 , 3000 , 75000 ) ,
PIN_RSEL ( 175 , 176 , 0x5 , 2000 , 5000 ) ,
PIN_RSEL ( 175 , 176 , 0x6 , 1500 , 75000 ) ,
PIN_RSEL ( 175 , 176 , 0x7 , 1000 , 5000 ) ,
} ;
static const unsigned int mt8188_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_PUPD_R1R0_TYPE , /*42*/
MTK_PULL_PUPD_R1R0_TYPE , /*43*/
MTK_PULL_PUPD_R1R0_TYPE , /*44*/
MTK_PULL_PUPD_R1R0_TYPE , /*45*/
MTK_PULL_PU_PD_TYPE , /*46*/
MTK_PULL_PU_PD_TYPE , /*47*/
MTK_PULL_PU_PD_TYPE , /*48*/
MTK_PULL_PU_PD_TYPE , /*49*/
MTK_PULL_PU_PD_TYPE , /*50*/
MTK_PULL_PU_PD_TYPE , /*51*/
MTK_PULL_PU_PD_TYPE , /*52*/
MTK_PULL_PU_PD_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_PUPD_R1R0_TYPE , /*131*/
MTK_PULL_PUPD_R1R0_TYPE , /*132*/
MTK_PULL_PUPD_R1R0_TYPE , /*133*/
MTK_PULL_PUPD_R1R0_TYPE , /*134*/
MTK_PULL_PUPD_R1R0_TYPE , /*135*/
MTK_PULL_PUPD_R1R0_TYPE , /*136*/
MTK_PULL_PUPD_R1R0_TYPE , /*137*/
MTK_PULL_PUPD_R1R0_TYPE , /*138*/
MTK_PULL_PUPD_R1R0_TYPE , /*139*/
MTK_PULL_PUPD_R1R0_TYPE , /*140*/
MTK_PULL_PUPD_R1R0_TYPE , /*141*/
MTK_PULL_PUPD_R1R0_TYPE , /*142*/
MTK_PULL_PUPD_R1R0_TYPE , /*143*/
MTK_PULL_PUPD_R1R0_TYPE , /*144*/
MTK_PULL_PUPD_R1R0_TYPE , /*145*/
MTK_PULL_PUPD_R1R0_TYPE , /*146*/
MTK_PULL_PUPD_R1R0_TYPE , /*147*/
MTK_PULL_PUPD_R1R0_TYPE , /*148*/
MTK_PULL_PUPD_R1R0_TYPE , /*149*/
MTK_PULL_PUPD_R1R0_TYPE , /*150*/
MTK_PULL_PUPD_R1R0_TYPE , /*151*/
MTK_PULL_PUPD_R1R0_TYPE , /*152*/
MTK_PULL_PUPD_R1R0_TYPE , /*153*/
MTK_PULL_PUPD_R1R0_TYPE , /*154*/
MTK_PULL_PUPD_R1R0_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_PU_PD_RSEL_TYPE , /*175*/
MTK_PULL_PU_PD_RSEL_TYPE , /*176*/
} ;
static const struct mtk_pin_reg_calc mt8188_reg_cals [ PINCTRL_PIN_REG_MAX ] = {
[ PINCTRL_PIN_REG_MODE ] = MTK_RANGE ( mt8188_pin_mode_range ) ,
[ PINCTRL_PIN_REG_DIR ] = MTK_RANGE ( mt8188_pin_dir_range ) ,
[ PINCTRL_PIN_REG_DI ] = MTK_RANGE ( mt8188_pin_di_range ) ,
[ PINCTRL_PIN_REG_DO ] = MTK_RANGE ( mt8188_pin_do_range ) ,
[ PINCTRL_PIN_REG_SMT ] = MTK_RANGE ( mt8188_pin_smt_range ) ,
[ PINCTRL_PIN_REG_IES ] = MTK_RANGE ( mt8188_pin_ies_range ) ,
[ PINCTRL_PIN_REG_TDSEL ] = MTK_RANGE ( mt8188_pin_tdsel_range ) ,
[ PINCTRL_PIN_REG_RDSEL ] = MTK_RANGE ( mt8188_pin_rdsel_range ) ,
[ PINCTRL_PIN_REG_PUPD ] = MTK_RANGE ( mt8188_pin_pupd_range ) ,
[ PINCTRL_PIN_REG_R0 ] = MTK_RANGE ( mt8188_pin_r0_range ) ,
[ PINCTRL_PIN_REG_R1 ] = MTK_RANGE ( mt8188_pin_r1_range ) ,
[ PINCTRL_PIN_REG_PU ] = MTK_RANGE ( mt8188_pin_pu_range ) ,
[ PINCTRL_PIN_REG_PD ] = MTK_RANGE ( mt8188_pin_pd_range ) ,
[ PINCTRL_PIN_REG_DRV ] = MTK_RANGE ( mt8188_pin_drv_range ) ,
[ PINCTRL_PIN_REG_DRV_ADV ] = MTK_RANGE ( mt8188_pin_drv_adv_range ) ,
[ PINCTRL_PIN_REG_RSEL ] = MTK_RANGE ( mt8188_pin_rsel_range ) ,
} ;
static const char * const mt8188_pinctrl_register_base_name [ ] = {
" iocfg0 " , " iocfg_rm " , " iocfg_lt " , " iocfg_lm " , " iocfg_rt " ,
} ;
static const struct mtk_eint_hw mt8188_eint_hw = {
. port_mask = 0xf ,
. ports = 7 ,
. ap_num = 225 ,
. db_cnt = 32 ,
2022-11-11 10:41:06 +01:00
. db_time = debounce_time_mt6765 ,
2022-08-18 15:50:12 +08:00
} ;
static const struct mtk_pin_soc mt8188_data = {
. reg_cal = mt8188_reg_cals ,
. pins = mtk_pins_mt8188 ,
. npins = ARRAY_SIZE ( mtk_pins_mt8188 ) ,
. ngrps = ARRAY_SIZE ( mtk_pins_mt8188 ) ,
. eint_hw = & mt8188_eint_hw ,
. nfuncs = 8 ,
. gpio_m = 0 ,
. base_names = mt8188_pinctrl_register_base_name ,
. nbase_names = ARRAY_SIZE ( mt8188_pinctrl_register_base_name ) ,
. pull_type = mt8188_pull_type ,
. pin_rsel = mt8188_pin_rsel_val_range ,
. npin_rsel = ARRAY_SIZE ( mt8188_pin_rsel_val_range ) ,
. bias_set_combo = mtk_pinconf_bias_set_combo ,
. bias_get_combo = mtk_pinconf_bias_get_combo ,
. 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 mt8188_pinctrl_of_match [ ] = {
{ . compatible = " mediatek,mt8188-pinctrl " , . data = & mt8188_data } ,
{ }
} ;
static struct platform_driver mt8188_pinctrl_driver = {
. driver = {
. name = " mt8188-pinctrl " ,
. of_match_table = mt8188_pinctrl_of_match ,
. pm = & mtk_paris_pinctrl_pm_ops
} ,
. probe = mtk_paris_pinctrl_probe ,
} ;
static int __init mt8188_pinctrl_init ( void )
{
return platform_driver_register ( & mt8188_pinctrl_driver ) ;
}
arch_initcall ( mt8188_pinctrl_init ) ;
MODULE_DESCRIPTION ( " MediaTek MT8188 Pinctrl Driver " ) ;