2018-09-08 19:07:28 +08:00
// SPDX-License-Identifier: GPL-2.0
/*
* The MT7623 driver based on Linux generic pinctrl binding .
*
* Copyright ( C ) 2015 - 2018 MediaTek Inc .
* Author : Biao Huang < biao . huang @ mediatek . com >
* Ryder Lee < ryder . lee @ mediatek . com >
* Sean Wang < sean . wang @ mediatek . com >
*/
# include "pinctrl-moore.h"
# define PIN_BOND_REG0 0xb10
# define PIN_BOND_REG1 0xf20
# define PIN_BOND_REG2 0xef0
# define BOND_PCIE_CLR (0x77 << 3)
# define BOND_I2S_CLR 0x3
# define BOND_MSDC0E_CLR 0x1
# define PIN_FIELD15(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits) \
2018-09-08 19:07:30 +08:00
PIN_FIELD_CALC ( _s_pin , _e_pin , 0 , _s_addr , _x_addrs , _s_bit , \
2018-09-08 19:07:28 +08:00
_x_bits , 15 , false )
# define PIN_FIELD16(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits) \
2018-09-08 19:07:30 +08:00
PIN_FIELD_CALC ( _s_pin , _e_pin , 0 , _s_addr , _x_addrs , _s_bit , \
2018-09-08 19:07:28 +08:00
_x_bits , 16 , 0 )
2018-09-08 19:07:30 +08:00
# define PINS_FIELD16(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits) \
PIN_FIELD_CALC ( _s_pin , _e_pin , 0 , _s_addr , _x_addrs , _s_bit , \
2018-09-08 19:07:28 +08:00
_x_bits , 16 , 1 )
# define MT7623_PIN(_number, _name, _eint_n, _drv_grp) \
2018-09-08 19:07:32 +08:00
MTK_PIN ( _number , _name , 0 , _eint_n , _drv_grp )
2018-09-08 19:07:28 +08:00
static const struct mtk_pin_field_calc mt7623_pin_mode_range [ ] = {
PIN_FIELD15 ( 0 , 278 , 0x760 , 0x10 , 0 , 3 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_dir_range [ ] = {
PIN_FIELD16 ( 0 , 175 , 0x0 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 176 , 278 , 0xc0 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_di_range [ ] = {
PIN_FIELD16 ( 0 , 278 , 0x630 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_do_range [ ] = {
PIN_FIELD16 ( 0 , 278 , 0x500 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_ies_range [ ] = {
PINS_FIELD16 ( 0 , 6 , 0xb20 , 0x10 , 0 , 1 ) ,
PINS_FIELD16 ( 7 , 9 , 0xb20 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 10 , 13 , 0xb30 , 0x10 , 3 , 1 ) ,
PINS_FIELD16 ( 14 , 15 , 0xb30 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 16 , 17 , 0xb40 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 18 , 29 , 0xb40 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 30 , 32 , 0xb40 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 33 , 37 , 0xb40 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 38 , 38 , 0xb20 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 39 , 42 , 0xb40 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 43 , 45 , 0xb20 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 47 , 48 , 0xb20 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 49 , 49 , 0xb20 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 50 , 52 , 0xb20 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 53 , 56 , 0xb20 , 0x10 , 14 , 1 ) ,
PINS_FIELD16 ( 57 , 58 , 0xb20 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 59 , 59 , 0xb30 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 60 , 62 , 0xb30 , 0x10 , 0 , 1 ) ,
PINS_FIELD16 ( 63 , 65 , 0xb30 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 66 , 71 , 0xb30 , 0x10 , 2 , 1 ) ,
PINS_FIELD16 ( 72 , 74 , 0xb20 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 75 , 76 , 0xb30 , 0x10 , 3 , 1 ) ,
PINS_FIELD16 ( 77 , 78 , 0xb30 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 79 , 82 , 0xb30 , 0x10 , 5 , 1 ) ,
PINS_FIELD16 ( 83 , 84 , 0xb30 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 87 , 90 , 0xdb0 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 101 , 104 , 0xb30 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 107 , 110 , 0xd50 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 111 , 115 , 0xce0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 118 , 121 , 0xce0 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 122 , 125 , 0xb30 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 126 , 126 , 0xb20 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 127 , 142 , 0xb30 , 0x10 , 9 , 1 ) ,
PINS_FIELD16 ( 143 , 160 , 0xb30 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 161 , 168 , 0xb30 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 169 , 183 , 0xb30 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 184 , 186 , 0xb30 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 187 , 187 , 0xb30 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 188 , 188 , 0xb20 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 189 , 193 , 0xb30 , 0x10 , 15 , 1 ) ,
PINS_FIELD16 ( 194 , 198 , 0xb40 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 199 , 199 , 0xb20 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 200 , 202 , 0xb40 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 203 , 207 , 0xb40 , 0x10 , 2 , 1 ) ,
PINS_FIELD16 ( 208 , 209 , 0xb40 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 210 , 210 , 0xb40 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 211 , 235 , 0xb40 , 0x10 , 5 , 1 ) ,
PINS_FIELD16 ( 236 , 241 , 0xb40 , 0x10 , 6 , 1 ) ,
PINS_FIELD16 ( 242 , 243 , 0xb40 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 244 , 247 , 0xb40 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 248 , 248 , 0xb40 , 0x10 , 9 , 1 ) ,
PINS_FIELD16 ( 249 , 257 , 0xfc0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 260 , 260 , 0x3a0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 261 , 261 , 0xd50 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 262 , 277 , 0xb40 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 278 , 278 , 0xb40 , 0x10 , 13 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_smt_range [ ] = {
PINS_FIELD16 ( 0 , 6 , 0xb50 , 0x10 , 0 , 1 ) ,
PINS_FIELD16 ( 7 , 9 , 0xb50 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 10 , 13 , 0xb60 , 0x10 , 3 , 1 ) ,
PINS_FIELD16 ( 14 , 15 , 0xb60 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 16 , 17 , 0xb70 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 18 , 29 , 0xb70 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 30 , 32 , 0xb70 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 33 , 37 , 0xb70 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 38 , 38 , 0xb50 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 39 , 42 , 0xb70 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 43 , 45 , 0xb50 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 47 , 48 , 0xb50 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 49 , 49 , 0xb50 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 50 , 52 , 0xb50 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 53 , 56 , 0xb50 , 0x10 , 14 , 1 ) ,
PINS_FIELD16 ( 57 , 58 , 0xb50 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 59 , 59 , 0xb60 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 60 , 62 , 0xb60 , 0x10 , 0 , 1 ) ,
PINS_FIELD16 ( 63 , 65 , 0xb60 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 66 , 71 , 0xb60 , 0x10 , 2 , 1 ) ,
PINS_FIELD16 ( 72 , 74 , 0xb50 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 75 , 76 , 0xb60 , 0x10 , 3 , 1 ) ,
PINS_FIELD16 ( 77 , 78 , 0xb60 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 79 , 82 , 0xb60 , 0x10 , 5 , 1 ) ,
PINS_FIELD16 ( 83 , 84 , 0xb60 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 87 , 87 , 0xdc0 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 88 , 88 , 0xdc0 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 89 , 89 , 0xdc0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 90 , 90 , 0xdc0 , 0x10 , 15 , 1 ) ,
PINS_FIELD16 ( 101 , 104 , 0xb60 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 107 , 107 , 0xd60 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 108 , 108 , 0xd60 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 109 , 109 , 0xd60 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 110 , 110 , 0xd60 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 111 , 111 , 0xd00 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 112 , 112 , 0xd00 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 113 , 113 , 0xd00 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 114 , 114 , 0xd00 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 115 , 115 , 0xd10 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 118 , 118 , 0xcf0 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 119 , 119 , 0xcf0 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 120 , 120 , 0xcf0 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 121 , 121 , 0xcf0 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 122 , 125 , 0xb60 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 126 , 126 , 0xb50 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 127 , 142 , 0xb60 , 0x10 , 9 , 1 ) ,
PINS_FIELD16 ( 143 , 160 , 0xb60 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 161 , 168 , 0xb60 , 0x10 , 12 , 1 ) ,
PINS_FIELD16 ( 169 , 183 , 0xb60 , 0x10 , 10 , 1 ) ,
PINS_FIELD16 ( 184 , 186 , 0xb60 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 187 , 187 , 0xb60 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 188 , 188 , 0xb50 , 0x10 , 13 , 1 ) ,
PINS_FIELD16 ( 189 , 193 , 0xb60 , 0x10 , 15 , 1 ) ,
PINS_FIELD16 ( 194 , 198 , 0xb70 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 199 , 199 , 0xb50 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 200 , 202 , 0xb70 , 0x10 , 1 , 1 ) ,
PINS_FIELD16 ( 203 , 207 , 0xb70 , 0x10 , 2 , 1 ) ,
PINS_FIELD16 ( 208 , 209 , 0xb70 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 210 , 210 , 0xb70 , 0x10 , 4 , 1 ) ,
PINS_FIELD16 ( 211 , 235 , 0xb70 , 0x10 , 5 , 1 ) ,
PINS_FIELD16 ( 236 , 241 , 0xb70 , 0x10 , 6 , 1 ) ,
PINS_FIELD16 ( 242 , 243 , 0xb70 , 0x10 , 7 , 1 ) ,
PINS_FIELD16 ( 244 , 247 , 0xb70 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 248 , 248 , 0xb70 , 0x10 , 9 , 10 ) ,
PIN_FIELD16 ( 249 , 249 , 0x140 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 250 , 250 , 0x130 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 251 , 251 , 0x130 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 252 , 252 , 0x130 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 253 , 253 , 0x130 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 254 , 254 , 0xf40 , 0x10 , 15 , 1 ) ,
PIN_FIELD16 ( 255 , 255 , 0xf40 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 256 , 256 , 0xf40 , 0x10 , 7 , 1 ) ,
PIN_FIELD16 ( 257 , 257 , 0xf40 , 0x10 , 3 , 1 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 260 , 260 , 0x3a0 , 0x10 , 11 , 1 ) ,
PIN_FIELD16 ( 261 , 261 , 0x0b0 , 0x10 , 3 , 1 ) ,
PINS_FIELD16 ( 262 , 277 , 0xb70 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 278 , 278 , 0xb70 , 0x10 , 13 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_pullen_range [ ] = {
PIN_FIELD16 ( 0 , 278 , 0x150 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_pullsel_range [ ] = {
PIN_FIELD16 ( 0 , 278 , 0x280 , 0x10 , 0 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_drv_range [ ] = {
PINS_FIELD16 ( 0 , 6 , 0xf50 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 7 , 9 , 0xf50 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 10 , 13 , 0xf50 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 14 , 15 , 0xf50 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 16 , 17 , 0xf60 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 18 , 21 , 0xf60 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 22 , 26 , 0xf60 , 0x10 , 8 , 4 ) ,
PINS_FIELD16 ( 27 , 29 , 0xf60 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 30 , 32 , 0xf60 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 33 , 37 , 0xf70 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 38 , 38 , 0xf70 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 39 , 42 , 0xf70 , 0x10 , 8 , 4 ) ,
PINS_FIELD16 ( 43 , 45 , 0xf70 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 47 , 48 , 0xf80 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 49 , 49 , 0xf80 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 50 , 52 , 0xf70 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 53 , 56 , 0xf80 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 60 , 62 , 0xf90 , 0x10 , 8 , 4 ) ,
PINS_FIELD16 ( 63 , 65 , 0xf90 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 66 , 71 , 0xfa0 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 72 , 74 , 0xf80 , 0x10 , 4 , 4 ) ,
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 87 , 90 , 0xdb0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 107 , 110 , 0xd50 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 111 , 115 , 0xce0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 118 , 121 , 0xce0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 126 , 126 , 0xf80 , 0x10 , 4 , 4 ) ,
PIN_FIELD16 ( 188 , 188 , 0xf70 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 189 , 193 , 0xfe0 , 0x10 , 8 , 4 ) ,
PINS_FIELD16 ( 194 , 198 , 0xfe0 , 0x10 , 12 , 4 ) ,
PIN_FIELD16 ( 199 , 199 , 0xf50 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 200 , 202 , 0xfd0 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 203 , 207 , 0xfd0 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 208 , 209 , 0xfd0 , 0x10 , 8 , 4 ) ,
PIN_FIELD16 ( 210 , 210 , 0xfd0 , 0x10 , 12 , 4 ) ,
PINS_FIELD16 ( 211 , 235 , 0xff0 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 236 , 241 , 0xff0 , 0x10 , 4 , 4 ) ,
PINS_FIELD16 ( 242 , 243 , 0xff0 , 0x10 , 8 , 4 ) ,
PIN_FIELD16 ( 248 , 248 , 0xf00 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 249 , 256 , 0xfc0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 257 , 257 , 0xce0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 260 , 260 , 0x3a0 , 0x10 , 0 , 4 ) ,
PIN_FIELD16 ( 261 , 261 , 0xd50 , 0x10 , 0 , 4 ) ,
PINS_FIELD16 ( 262 , 277 , 0xf00 , 0x10 , 8 , 4 ) ,
PIN_FIELD16 ( 278 , 278 , 0xf70 , 0x10 , 8 , 4 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_tdsel_range [ ] = {
PINS_FIELD16 ( 262 , 276 , 0x4c0 , 0x10 , 0 , 4 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_pupd_range [ ] = {
/* MSDC0 */
PIN_FIELD16 ( 111 , 111 , 0xd00 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 112 , 112 , 0xd00 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 113 , 113 , 0xd00 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 114 , 114 , 0xd00 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 115 , 115 , 0xd10 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 118 , 118 , 0xcf0 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 119 , 119 , 0xcf0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 120 , 120 , 0xcf0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 121 , 121 , 0xcf0 , 0x10 , 0 , 1 ) ,
/* MSDC1 */
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 107 , 107 , 0xd60 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 108 , 108 , 0xd60 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 109 , 109 , 0xd60 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 110 , 110 , 0xc60 , 0x10 , 12 , 1 ) ,
/* MSDC1 */
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 87 , 87 , 0xdc0 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 88 , 88 , 0xdc0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 89 , 89 , 0xdc0 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 90 , 90 , 0xdc0 , 0x10 , 12 , 1 ) ,
/* MSDC0E */
PIN_FIELD16 ( 249 , 249 , 0x140 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 250 , 250 , 0x130 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 251 , 251 , 0x130 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 252 , 252 , 0x130 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 253 , 253 , 0x130 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 254 , 254 , 0xf40 , 0x10 , 12 , 1 ) ,
PIN_FIELD16 ( 255 , 255 , 0xf40 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 256 , 256 , 0xf40 , 0x10 , 4 , 1 ) ,
PIN_FIELD16 ( 257 , 257 , 0xf40 , 0x10 , 0 , 1 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 261 , 261 , 0x140 , 0x10 , 8 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_r1_range [ ] = {
/* MSDC0 */
PIN_FIELD16 ( 111 , 111 , 0xd00 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 112 , 112 , 0xd00 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 113 , 113 , 0xd00 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 114 , 114 , 0xd00 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 115 , 115 , 0xd10 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 118 , 118 , 0xcf0 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 119 , 119 , 0xcf0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 120 , 120 , 0xcf0 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 121 , 121 , 0xcf0 , 0x10 , 1 , 1 ) ,
/* MSDC1 */
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 107 , 107 , 0xd60 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 108 , 108 , 0xd60 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 109 , 109 , 0xd60 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 110 , 110 , 0xc60 , 0x10 , 13 , 1 ) ,
/* MSDC2 */
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 87 , 87 , 0xdc0 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 88 , 88 , 0xdc0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 89 , 89 , 0xdc0 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 90 , 90 , 0xdc0 , 0x10 , 13 , 1 ) ,
/* MSDC0E */
PIN_FIELD16 ( 249 , 249 , 0x140 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 250 , 250 , 0x130 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 251 , 251 , 0x130 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 252 , 252 , 0x130 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 253 , 253 , 0x130 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 254 , 254 , 0xf40 , 0x10 , 13 , 1 ) ,
PIN_FIELD16 ( 255 , 255 , 0xf40 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 256 , 256 , 0xf40 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 257 , 257 , 0xf40 , 0x10 , 1 , 1 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 9 , 1 ) ,
PIN_FIELD16 ( 261 , 261 , 0x140 , 0x10 , 9 , 1 ) ,
} ;
static const struct mtk_pin_field_calc mt7623_pin_r0_range [ ] = {
/* MSDC0 */
PIN_FIELD16 ( 111 , 111 , 0xd00 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 112 , 112 , 0xd00 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 113 , 113 , 0xd00 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 114 , 114 , 0xd00 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 115 , 115 , 0xd10 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 116 , 116 , 0xcd0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 117 , 117 , 0xcc0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 118 , 118 , 0xcf0 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 119 , 119 , 0xcf0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 120 , 120 , 0xcf0 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 121 , 121 , 0xcf0 , 0x10 , 2 , 1 ) ,
/* MSDC1 */
PIN_FIELD16 ( 105 , 105 , 0xd40 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 106 , 106 , 0xd30 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 107 , 107 , 0xd60 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 108 , 108 , 0xd60 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 109 , 109 , 0xd60 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 110 , 110 , 0xc60 , 0x10 , 14 , 1 ) ,
/* MSDC2 */
PIN_FIELD16 ( 85 , 85 , 0xda0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 86 , 86 , 0xd90 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 87 , 87 , 0xdc0 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 88 , 88 , 0xdc0 , 0x10 , 8 , 1 ) ,
PIN_FIELD16 ( 89 , 89 , 0xdc0 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 90 , 90 , 0xdc0 , 0x10 , 14 , 1 ) ,
/* MSDC0E */
PIN_FIELD16 ( 249 , 249 , 0x140 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 250 , 250 , 0x130 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 251 , 251 , 0x130 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 252 , 252 , 0x130 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 253 , 253 , 0x130 , 0x10 , 2 , 1 ) ,
PIN_FIELD16 ( 254 , 254 , 0xf40 , 0x10 , 14 , 1 ) ,
PIN_FIELD16 ( 255 , 255 , 0xf40 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 256 , 256 , 0xf40 , 0x10 , 6 , 1 ) ,
PIN_FIELD16 ( 257 , 257 , 0xf40 , 0x10 , 5 , 1 ) ,
PIN_FIELD16 ( 258 , 258 , 0xcb0 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 259 , 259 , 0xc90 , 0x10 , 10 , 1 ) ,
PIN_FIELD16 ( 261 , 261 , 0x140 , 0x10 , 10 , 1 ) ,
} ;
static const struct mtk_pin_reg_calc mt7623_reg_cals [ ] = {
[ PINCTRL_PIN_REG_MODE ] = MTK_RANGE ( mt7623_pin_mode_range ) ,
[ PINCTRL_PIN_REG_DIR ] = MTK_RANGE ( mt7623_pin_dir_range ) ,
[ PINCTRL_PIN_REG_DI ] = MTK_RANGE ( mt7623_pin_di_range ) ,
[ PINCTRL_PIN_REG_DO ] = MTK_RANGE ( mt7623_pin_do_range ) ,
[ PINCTRL_PIN_REG_SMT ] = MTK_RANGE ( mt7623_pin_smt_range ) ,
[ PINCTRL_PIN_REG_PULLSEL ] = MTK_RANGE ( mt7623_pin_pullsel_range ) ,
[ PINCTRL_PIN_REG_PULLEN ] = MTK_RANGE ( mt7623_pin_pullen_range ) ,
[ PINCTRL_PIN_REG_DRV ] = MTK_RANGE ( mt7623_pin_drv_range ) ,
[ PINCTRL_PIN_REG_TDSEL ] = MTK_RANGE ( mt7623_pin_tdsel_range ) ,
[ PINCTRL_PIN_REG_IES ] = MTK_RANGE ( mt7623_pin_ies_range ) ,
[ PINCTRL_PIN_REG_PUPD ] = MTK_RANGE ( mt7623_pin_pupd_range ) ,
[ PINCTRL_PIN_REG_R0 ] = MTK_RANGE ( mt7623_pin_r0_range ) ,
[ PINCTRL_PIN_REG_R1 ] = MTK_RANGE ( mt7623_pin_r1_range ) ,
} ;
static const struct mtk_pin_desc mt7623_pins [ ] = {
MT7623_PIN ( 0 , " PWRAP_SPI0_MI " , 148 , DRV_GRP3 ) ,
MT7623_PIN ( 1 , " PWRAP_SPI0_MO " , 149 , DRV_GRP3 ) ,
MT7623_PIN ( 2 , " PWRAP_INT " , 150 , DRV_GRP3 ) ,
MT7623_PIN ( 3 , " PWRAP_SPI0_CK " , 151 , DRV_GRP3 ) ,
MT7623_PIN ( 4 , " PWRAP_SPI0_CSN " , 152 , DRV_GRP3 ) ,
MT7623_PIN ( 5 , " PWRAP_SPI0_CK2 " , 153 , DRV_GRP3 ) ,
MT7623_PIN ( 6 , " PWRAP_SPI0_CSN2 " , 154 , DRV_GRP3 ) ,
MT7623_PIN ( 7 , " SPI1_CSN " , 155 , DRV_GRP3 ) ,
MT7623_PIN ( 8 , " SPI1_MI " , 156 , DRV_GRP3 ) ,
MT7623_PIN ( 9 , " SPI1_MO " , 157 , DRV_GRP3 ) ,
MT7623_PIN ( 10 , " RTC32K_CK " , 158 , DRV_GRP3 ) ,
MT7623_PIN ( 11 , " WATCHDOG " , 159 , DRV_GRP3 ) ,
MT7623_PIN ( 12 , " SRCLKENA " , 160 , DRV_GRP3 ) ,
MT7623_PIN ( 13 , " SRCLKENAI " , 161 , DRV_GRP3 ) ,
MT7623_PIN ( 14 , " URXD2 " , 162 , DRV_GRP1 ) ,
MT7623_PIN ( 15 , " UTXD2 " , 163 , DRV_GRP1 ) ,
MT7623_PIN ( 16 , " I2S5_DATA_IN " , 164 , DRV_GRP1 ) ,
MT7623_PIN ( 17 , " I2S5_BCK " , 165 , DRV_GRP1 ) ,
MT7623_PIN ( 18 , " PCM_CLK " , 166 , DRV_GRP1 ) ,
MT7623_PIN ( 19 , " PCM_SYNC " , 167 , DRV_GRP1 ) ,
MT7623_PIN ( 20 , " PCM_RX " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 21 , " PCM_TX " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 22 , " EINT0 " , 0 , DRV_GRP1 ) ,
MT7623_PIN ( 23 , " EINT1 " , 1 , DRV_GRP1 ) ,
MT7623_PIN ( 24 , " EINT2 " , 2 , DRV_GRP1 ) ,
MT7623_PIN ( 25 , " EINT3 " , 3 , DRV_GRP1 ) ,
MT7623_PIN ( 26 , " EINT4 " , 4 , DRV_GRP1 ) ,
MT7623_PIN ( 27 , " EINT5 " , 5 , DRV_GRP1 ) ,
MT7623_PIN ( 28 , " EINT6 " , 6 , DRV_GRP1 ) ,
MT7623_PIN ( 29 , " EINT7 " , 7 , DRV_GRP1 ) ,
MT7623_PIN ( 30 , " I2S5_LRCK " , 12 , DRV_GRP1 ) ,
MT7623_PIN ( 31 , " I2S5_MCLK " , 13 , DRV_GRP1 ) ,
MT7623_PIN ( 32 , " I2S5_DATA " , 14 , DRV_GRP1 ) ,
MT7623_PIN ( 33 , " I2S1_DATA " , 15 , DRV_GRP1 ) ,
MT7623_PIN ( 34 , " I2S1_DATA_IN " , 16 , DRV_GRP1 ) ,
MT7623_PIN ( 35 , " I2S1_BCK " , 17 , DRV_GRP1 ) ,
MT7623_PIN ( 36 , " I2S1_LRCK " , 18 , DRV_GRP1 ) ,
MT7623_PIN ( 37 , " I2S1_MCLK " , 19 , DRV_GRP1 ) ,
MT7623_PIN ( 38 , " I2S2_DATA " , 20 , DRV_GRP1 ) ,
MT7623_PIN ( 39 , " JTMS " , 21 , DRV_GRP3 ) ,
MT7623_PIN ( 40 , " JTCK " , 22 , DRV_GRP3 ) ,
MT7623_PIN ( 41 , " JTDI " , 23 , DRV_GRP3 ) ,
MT7623_PIN ( 42 , " JTDO " , 24 , DRV_GRP3 ) ,
MT7623_PIN ( 43 , " NCLE " , 25 , DRV_GRP1 ) ,
MT7623_PIN ( 44 , " NCEB1 " , 26 , DRV_GRP1 ) ,
MT7623_PIN ( 45 , " NCEB0 " , 27 , DRV_GRP1 ) ,
MT7623_PIN ( 46 , " IR " , 28 , DRV_FIXED ) ,
MT7623_PIN ( 47 , " NREB " , 29 , DRV_GRP1 ) ,
MT7623_PIN ( 48 , " NRNB " , 30 , DRV_GRP1 ) ,
MT7623_PIN ( 49 , " I2S0_DATA " , 31 , DRV_GRP1 ) ,
MT7623_PIN ( 50 , " I2S2_BCK " , 32 , DRV_GRP1 ) ,
MT7623_PIN ( 51 , " I2S2_DATA_IN " , 33 , DRV_GRP1 ) ,
MT7623_PIN ( 52 , " I2S2_LRCK " , 34 , DRV_GRP1 ) ,
MT7623_PIN ( 53 , " SPI0_CSN " , 35 , DRV_GRP1 ) ,
MT7623_PIN ( 54 , " SPI0_CK " , 36 , DRV_GRP1 ) ,
MT7623_PIN ( 55 , " SPI0_MI " , 37 , DRV_GRP1 ) ,
MT7623_PIN ( 56 , " SPI0_MO " , 38 , DRV_GRP1 ) ,
MT7623_PIN ( 57 , " SDA1 " , 39 , DRV_FIXED ) ,
MT7623_PIN ( 58 , " SCL1 " , 40 , DRV_FIXED ) ,
MT7623_PIN ( 59 , " RAMBUF_I_CLK " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 60 , " WB_RSTB " , 41 , DRV_GRP3 ) ,
MT7623_PIN ( 61 , " F2W_DATA " , 42 , DRV_GRP3 ) ,
MT7623_PIN ( 62 , " F2W_CLK " , 43 , DRV_GRP3 ) ,
MT7623_PIN ( 63 , " WB_SCLK " , 44 , DRV_GRP3 ) ,
MT7623_PIN ( 64 , " WB_SDATA " , 45 , DRV_GRP3 ) ,
MT7623_PIN ( 65 , " WB_SEN " , 46 , DRV_GRP3 ) ,
MT7623_PIN ( 66 , " WB_CRTL0 " , 47 , DRV_GRP3 ) ,
MT7623_PIN ( 67 , " WB_CRTL1 " , 48 , DRV_GRP3 ) ,
MT7623_PIN ( 68 , " WB_CRTL2 " , 49 , DRV_GRP3 ) ,
MT7623_PIN ( 69 , " WB_CRTL3 " , 50 , DRV_GRP3 ) ,
MT7623_PIN ( 70 , " WB_CRTL4 " , 51 , DRV_GRP3 ) ,
MT7623_PIN ( 71 , " WB_CRTL5 " , 52 , DRV_GRP3 ) ,
MT7623_PIN ( 72 , " I2S0_DATA_IN " , 53 , DRV_GRP1 ) ,
MT7623_PIN ( 73 , " I2S0_LRCK " , 54 , DRV_GRP1 ) ,
MT7623_PIN ( 74 , " I2S0_BCK " , 55 , DRV_GRP1 ) ,
MT7623_PIN ( 75 , " SDA0 " , 56 , DRV_FIXED ) ,
MT7623_PIN ( 76 , " SCL0 " , 57 , DRV_FIXED ) ,
MT7623_PIN ( 77 , " SDA2 " , 58 , DRV_FIXED ) ,
MT7623_PIN ( 78 , " SCL2 " , 59 , DRV_FIXED ) ,
MT7623_PIN ( 79 , " URXD0 " , 60 , DRV_FIXED ) ,
MT7623_PIN ( 80 , " UTXD0 " , 61 , DRV_FIXED ) ,
MT7623_PIN ( 81 , " URXD1 " , 62 , DRV_FIXED ) ,
MT7623_PIN ( 82 , " UTXD1 " , 63 , DRV_FIXED ) ,
MT7623_PIN ( 83 , " LCM_RST " , 64 , DRV_FIXED ) ,
MT7623_PIN ( 84 , " DSI_TE " , 65 , DRV_FIXED ) ,
MT7623_PIN ( 85 , " MSDC2_CMD " , 66 , DRV_GRP4 ) ,
MT7623_PIN ( 86 , " MSDC2_CLK " , 67 , DRV_GRP4 ) ,
MT7623_PIN ( 87 , " MSDC2_DAT0 " , 68 , DRV_GRP4 ) ,
MT7623_PIN ( 88 , " MSDC2_DAT1 " , 69 , DRV_GRP4 ) ,
MT7623_PIN ( 89 , " MSDC2_DAT2 " , 70 , DRV_GRP4 ) ,
MT7623_PIN ( 90 , " MSDC2_DAT3 " , 71 , DRV_GRP4 ) ,
MT7623_PIN ( 91 , " TDN3 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 92 , " TDP3 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 93 , " TDN2 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 94 , " TDP2 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 95 , " TCN " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 96 , " TCP " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 97 , " TDN1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 98 , " TDP1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 99 , " TDN0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 100 , " TDP0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 101 , " SPI2_CSN " , 74 , DRV_FIXED ) ,
MT7623_PIN ( 102 , " SPI2_MI " , 75 , DRV_FIXED ) ,
MT7623_PIN ( 103 , " SPI2_MO " , 76 , DRV_FIXED ) ,
MT7623_PIN ( 104 , " SPI2_CLK " , 77 , DRV_FIXED ) ,
MT7623_PIN ( 105 , " MSDC1_CMD " , 78 , DRV_GRP4 ) ,
MT7623_PIN ( 106 , " MSDC1_CLK " , 79 , DRV_GRP4 ) ,
MT7623_PIN ( 107 , " MSDC1_DAT0 " , 80 , DRV_GRP4 ) ,
MT7623_PIN ( 108 , " MSDC1_DAT1 " , 81 , DRV_GRP4 ) ,
MT7623_PIN ( 109 , " MSDC1_DAT2 " , 82 , DRV_GRP4 ) ,
MT7623_PIN ( 110 , " MSDC1_DAT3 " , 83 , DRV_GRP4 ) ,
MT7623_PIN ( 111 , " MSDC0_DAT7 " , 84 , DRV_GRP4 ) ,
MT7623_PIN ( 112 , " MSDC0_DAT6 " , 85 , DRV_GRP4 ) ,
MT7623_PIN ( 113 , " MSDC0_DAT5 " , 86 , DRV_GRP4 ) ,
MT7623_PIN ( 114 , " MSDC0_DAT4 " , 87 , DRV_GRP4 ) ,
MT7623_PIN ( 115 , " MSDC0_RSTB " , 88 , DRV_GRP4 ) ,
MT7623_PIN ( 116 , " MSDC0_CMD " , 89 , DRV_GRP4 ) ,
MT7623_PIN ( 117 , " MSDC0_CLK " , 90 , DRV_GRP4 ) ,
MT7623_PIN ( 118 , " MSDC0_DAT3 " , 91 , DRV_GRP4 ) ,
MT7623_PIN ( 119 , " MSDC0_DAT2 " , 92 , DRV_GRP4 ) ,
MT7623_PIN ( 120 , " MSDC0_DAT1 " , 93 , DRV_GRP4 ) ,
MT7623_PIN ( 121 , " MSDC0_DAT0 " , 94 , DRV_GRP4 ) ,
MT7623_PIN ( 122 , " CEC " , 95 , DRV_FIXED ) ,
MT7623_PIN ( 123 , " HTPLG " , 96 , DRV_FIXED ) ,
MT7623_PIN ( 124 , " HDMISCK " , 97 , DRV_FIXED ) ,
MT7623_PIN ( 125 , " HDMISD " , 98 , DRV_FIXED ) ,
MT7623_PIN ( 126 , " I2S0_MCLK " , 99 , DRV_GRP1 ) ,
MT7623_PIN ( 127 , " RAMBUF_IDATA0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 128 , " RAMBUF_IDATA1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 129 , " RAMBUF_IDATA2 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 130 , " RAMBUF_IDATA3 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 131 , " RAMBUF_IDATA4 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 132 , " RAMBUF_IDATA5 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 133 , " RAMBUF_IDATA6 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 134 , " RAMBUF_IDATA7 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 135 , " RAMBUF_IDATA8 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 136 , " RAMBUF_IDATA9 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 137 , " RAMBUF_IDATA10 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 138 , " RAMBUF_IDATA11 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 139 , " RAMBUF_IDATA12 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 140 , " RAMBUF_IDATA13 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 141 , " RAMBUF_IDATA14 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 142 , " RAMBUF_IDATA15 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 143 , " RAMBUF_ODATA0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 144 , " RAMBUF_ODATA1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 145 , " RAMBUF_ODATA2 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 146 , " RAMBUF_ODATA3 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 147 , " RAMBUF_ODATA4 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 148 , " RAMBUF_ODATA5 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 149 , " RAMBUF_ODATA6 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 150 , " RAMBUF_ODATA7 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 151 , " RAMBUF_ODATA8 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 152 , " RAMBUF_ODATA9 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 153 , " RAMBUF_ODATA10 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 154 , " RAMBUF_ODATA11 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 155 , " RAMBUF_ODATA12 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 156 , " RAMBUF_ODATA13 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 157 , " RAMBUF_ODATA14 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 158 , " RAMBUF_ODATA15 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 159 , " RAMBUF_BE0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 160 , " RAMBUF_BE1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 161 , " AP2PT_INT " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 162 , " AP2PT_INT_CLR " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 163 , " PT2AP_INT " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 164 , " PT2AP_INT_CLR " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 165 , " AP2UP_INT " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 166 , " AP2UP_INT_CLR " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 167 , " UP2AP_INT " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 168 , " UP2AP_INT_CLR " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 169 , " RAMBUF_ADDR0 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 170 , " RAMBUF_ADDR1 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 171 , " RAMBUF_ADDR2 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 172 , " RAMBUF_ADDR3 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 173 , " RAMBUF_ADDR4 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 174 , " RAMBUF_ADDR5 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 175 , " RAMBUF_ADDR6 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 176 , " RAMBUF_ADDR7 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 177 , " RAMBUF_ADDR8 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 178 , " RAMBUF_ADDR9 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 179 , " RAMBUF_ADDR10 " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 180 , " RAMBUF_RW " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 181 , " RAMBUF_LAST " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 182 , " RAMBUF_HP " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 183 , " RAMBUF_REQ " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 184 , " RAMBUF_ALE " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 185 , " RAMBUF_DLE " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 186 , " RAMBUF_WDLE " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 187 , " RAMBUF_O_CLK " , EINT_NA , DRV_FIXED ) ,
MT7623_PIN ( 188 , " I2S2_MCLK " , 100 , DRV_GRP1 ) ,
MT7623_PIN ( 189 , " I2S3_DATA " , 101 , DRV_GRP1 ) ,
MT7623_PIN ( 190 , " I2S3_DATA_IN " , 102 , DRV_GRP1 ) ,
MT7623_PIN ( 191 , " I2S3_BCK " , 103 , DRV_GRP1 ) ,
MT7623_PIN ( 192 , " I2S3_LRCK " , 104 , DRV_GRP1 ) ,
MT7623_PIN ( 193 , " I2S3_MCLK " , 105 , DRV_GRP1 ) ,
MT7623_PIN ( 194 , " I2S4_DATA " , 106 , DRV_GRP1 ) ,
MT7623_PIN ( 195 , " I2S4_DATA_IN " , 107 , DRV_GRP1 ) ,
MT7623_PIN ( 196 , " I2S4_BCK " , 108 , DRV_GRP1 ) ,
MT7623_PIN ( 197 , " I2S4_LRCK " , 109 , DRV_GRP1 ) ,
MT7623_PIN ( 198 , " I2S4_MCLK " , 110 , DRV_GRP1 ) ,
MT7623_PIN ( 199 , " SPI1_CLK " , 111 , DRV_GRP3 ) ,
MT7623_PIN ( 200 , " SPDIF_OUT " , 112 , DRV_GRP1 ) ,
MT7623_PIN ( 201 , " SPDIF_IN0 " , 113 , DRV_GRP1 ) ,
MT7623_PIN ( 202 , " SPDIF_IN1 " , 114 , DRV_GRP1 ) ,
MT7623_PIN ( 203 , " PWM0 " , 115 , DRV_GRP1 ) ,
MT7623_PIN ( 204 , " PWM1 " , 116 , DRV_GRP1 ) ,
MT7623_PIN ( 205 , " PWM2 " , 117 , DRV_GRP1 ) ,
MT7623_PIN ( 206 , " PWM3 " , 118 , DRV_GRP1 ) ,
MT7623_PIN ( 207 , " PWM4 " , 119 , DRV_GRP1 ) ,
MT7623_PIN ( 208 , " AUD_EXT_CK1 " , 120 , DRV_GRP1 ) ,
MT7623_PIN ( 209 , " AUD_EXT_CK2 " , 121 , DRV_GRP1 ) ,
MT7623_PIN ( 210 , " AUD_CLOCK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 211 , " DVP_RESET " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 212 , " DVP_CLOCK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 213 , " DVP_CS " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 214 , " DVP_CK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 215 , " DVP_DI " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 216 , " DVP_DO " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 217 , " AP_CS " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 218 , " AP_CK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 219 , " AP_DI " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 220 , " AP_DO " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 221 , " DVD_BCLK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 222 , " T8032_CLK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 223 , " AP_BCLK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 224 , " HOST_CS " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 225 , " HOST_CK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 226 , " HOST_DO0 " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 227 , " HOST_DO1 " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 228 , " SLV_CS " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 229 , " SLV_CK " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 230 , " SLV_DI0 " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 231 , " SLV_DI1 " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 232 , " AP2DSP_INT " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 233 , " AP2DSP_INT_CLR " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 234 , " DSP2AP_INT " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 235 , " DSP2AP_INT_CLR " , EINT_NA , DRV_GRP3 ) ,
MT7623_PIN ( 236 , " EXT_SDIO3 " , 122 , DRV_GRP1 ) ,
MT7623_PIN ( 237 , " EXT_SDIO2 " , 123 , DRV_GRP1 ) ,
MT7623_PIN ( 238 , " EXT_SDIO1 " , 124 , DRV_GRP1 ) ,
MT7623_PIN ( 239 , " EXT_SDIO0 " , 125 , DRV_GRP1 ) ,
MT7623_PIN ( 240 , " EXT_XCS " , 126 , DRV_GRP1 ) ,
MT7623_PIN ( 241 , " EXT_SCK " , 127 , DRV_GRP1 ) ,
MT7623_PIN ( 242 , " URTS2 " , 128 , DRV_GRP1 ) ,
MT7623_PIN ( 243 , " UCTS2 " , 129 , DRV_GRP1 ) ,
MT7623_PIN ( 244 , " HDMI_SDA_RX " , 130 , DRV_FIXED ) ,
MT7623_PIN ( 245 , " HDMI_SCL_RX " , 131 , DRV_FIXED ) ,
MT7623_PIN ( 246 , " MHL_SENCE " , 132 , DRV_FIXED ) ,
MT7623_PIN ( 247 , " HDMI_HPD_CBUS_RX " , 69 , DRV_FIXED ) ,
MT7623_PIN ( 248 , " HDMI_TESTOUTP_RX " , 133 , DRV_GRP1 ) ,
MT7623_PIN ( 249 , " MSDC0E_RSTB " , 134 , DRV_GRP4 ) ,
MT7623_PIN ( 250 , " MSDC0E_DAT7 " , 135 , DRV_GRP4 ) ,
MT7623_PIN ( 251 , " MSDC0E_DAT6 " , 136 , DRV_GRP4 ) ,
MT7623_PIN ( 252 , " MSDC0E_DAT5 " , 137 , DRV_GRP4 ) ,
MT7623_PIN ( 253 , " MSDC0E_DAT4 " , 138 , DRV_GRP4 ) ,
MT7623_PIN ( 254 , " MSDC0E_DAT3 " , 139 , DRV_GRP4 ) ,
MT7623_PIN ( 255 , " MSDC0E_DAT2 " , 140 , DRV_GRP4 ) ,
MT7623_PIN ( 256 , " MSDC0E_DAT1 " , 141 , DRV_GRP4 ) ,
MT7623_PIN ( 257 , " MSDC0E_DAT0 " , 142 , DRV_GRP4 ) ,
MT7623_PIN ( 258 , " MSDC0E_CMD " , 143 , DRV_GRP4 ) ,
MT7623_PIN ( 259 , " MSDC0E_CLK " , 144 , DRV_GRP4 ) ,
MT7623_PIN ( 260 , " MSDC0E_DSL " , 145 , DRV_GRP4 ) ,
MT7623_PIN ( 261 , " MSDC1_INS " , 146 , DRV_GRP4 ) ,
MT7623_PIN ( 262 , " G2_TXEN " , 8 , DRV_GRP1 ) ,
MT7623_PIN ( 263 , " G2_TXD3 " , 9 , DRV_GRP1 ) ,
MT7623_PIN ( 264 , " G2_TXD2 " , 10 , DRV_GRP1 ) ,
MT7623_PIN ( 265 , " G2_TXD1 " , 11 , DRV_GRP1 ) ,
MT7623_PIN ( 266 , " G2_TXD0 " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 267 , " G2_TXC " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 268 , " G2_RXC " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 269 , " G2_RXD0 " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 270 , " G2_RXD1 " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 271 , " G2_RXD2 " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 272 , " G2_RXD3 " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 273 , " ESW_INT " , 168 , DRV_GRP1 ) ,
MT7623_PIN ( 274 , " G2_RXDV " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 275 , " MDC " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 276 , " MDIO " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 277 , " ESW_RST " , EINT_NA , DRV_GRP1 ) ,
MT7623_PIN ( 278 , " JTAG_RESET " , 147 , DRV_GRP3 ) ,
MT7623_PIN ( 279 , " USB3_RES_BOND " , EINT_NA , DRV_GRP1 ) ,
} ;
/* List all groups consisting of these pins dedicated to the enablement of
* certain hardware block and the corresponding mode for all of the pins .
* The hardware probably has multiple combinations of these pinouts .
*/
/* AUDIO EXT CLK */
static int mt7623_aud_ext_clk0_pins [ ] = { 208 , } ;
static int mt7623_aud_ext_clk0_funcs [ ] = { 1 , } ;
static int mt7623_aud_ext_clk1_pins [ ] = { 209 , } ;
static int mt7623_aud_ext_clk1_funcs [ ] = { 1 , } ;
/* DISP PWM */
static int mt7623_disp_pwm_0_pins [ ] = { 72 , } ;
static int mt7623_disp_pwm_0_funcs [ ] = { 5 , } ;
static int mt7623_disp_pwm_1_pins [ ] = { 203 , } ;
static int mt7623_disp_pwm_1_funcs [ ] = { 2 , } ;
static int mt7623_disp_pwm_2_pins [ ] = { 208 , } ;
static int mt7623_disp_pwm_2_funcs [ ] = { 5 , } ;
/* ESW */
static int mt7623_esw_int_pins [ ] = { 273 , } ;
static int mt7623_esw_int_funcs [ ] = { 1 , } ;
static int mt7623_esw_rst_pins [ ] = { 277 , } ;
static int mt7623_esw_rst_funcs [ ] = { 1 , } ;
/* EPHY */
static int mt7623_ephy_pins [ ] = { 262 , 263 , 264 , 265 , 266 , 267 , 268 ,
269 , 270 , 271 , 272 , 274 , } ;
static int mt7623_ephy_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , } ;
/* EXT_SDIO */
static int mt7623_ext_sdio_pins [ ] = { 236 , 237 , 238 , 239 , 240 , 241 , } ;
static int mt7623_ext_sdio_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , } ;
/* HDMI RX */
static int mt7623_hdmi_rx_pins [ ] = { 247 , 248 , } ;
static int mt7623_hdmi_rx_funcs [ ] = { 1 , 1 } ;
static int mt7623_hdmi_rx_i2c_pins [ ] = { 244 , 245 , } ;
static int mt7623_hdmi_rx_i2c_funcs [ ] = { 1 , 1 } ;
/* HDMI TX */
static int mt7623_hdmi_cec_pins [ ] = { 122 , } ;
static int mt7623_hdmi_cec_funcs [ ] = { 1 , } ;
static int mt7623_hdmi_htplg_pins [ ] = { 123 , } ;
static int mt7623_hdmi_htplg_funcs [ ] = { 1 , } ;
static int mt7623_hdmi_i2c_pins [ ] = { 124 , 125 , } ;
static int mt7623_hdmi_i2c_funcs [ ] = { 1 , 1 } ;
/* I2C */
static int mt7623_i2c0_pins [ ] = { 75 , 76 , } ;
static int mt7623_i2c0_funcs [ ] = { 1 , 1 , } ;
static int mt7623_i2c1_0_pins [ ] = { 57 , 58 , } ;
static int mt7623_i2c1_0_funcs [ ] = { 1 , 1 , } ;
static int mt7623_i2c1_1_pins [ ] = { 242 , 243 , } ;
static int mt7623_i2c1_1_funcs [ ] = { 4 , 4 , } ;
static int mt7623_i2c1_2_pins [ ] = { 85 , 86 , } ;
static int mt7623_i2c1_2_funcs [ ] = { 3 , 3 , } ;
static int mt7623_i2c1_3_pins [ ] = { 105 , 106 , } ;
static int mt7623_i2c1_3_funcs [ ] = { 3 , 3 , } ;
static int mt7623_i2c1_4_pins [ ] = { 124 , 125 , } ;
static int mt7623_i2c1_4_funcs [ ] = { 4 , 4 , } ;
static int mt7623_i2c2_0_pins [ ] = { 77 , 78 , } ;
static int mt7623_i2c2_0_funcs [ ] = { 1 , 1 , } ;
static int mt7623_i2c2_1_pins [ ] = { 89 , 90 , } ;
static int mt7623_i2c2_1_funcs [ ] = { 3 , 3 , } ;
static int mt7623_i2c2_2_pins [ ] = { 109 , 110 , } ;
static int mt7623_i2c2_2_funcs [ ] = { 3 , 3 , } ;
static int mt7623_i2c2_3_pins [ ] = { 122 , 123 , } ;
static int mt7623_i2c2_3_funcs [ ] = { 4 , 4 , } ;
/* I2S */
static int mt7623_i2s0_pins [ ] = { 49 , 72 , 73 , 74 , 126 , } ;
static int mt7623_i2s0_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_i2s1_pins [ ] = { 33 , 34 , 35 , 36 , 37 , } ;
static int mt7623_i2s1_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_i2s2_bclk_lrclk_mclk_pins [ ] = { 50 , 52 , 188 , } ;
static int mt7623_i2s2_bclk_lrclk_mclk_funcs [ ] = { 1 , 1 , 1 , } ;
static int mt7623_i2s2_data_in_pins [ ] = { 51 , } ;
static int mt7623_i2s2_data_in_funcs [ ] = { 1 , } ;
static int mt7623_i2s2_data_0_pins [ ] = { 203 , } ;
static int mt7623_i2s2_data_0_funcs [ ] = { 9 , } ;
static int mt7623_i2s2_data_1_pins [ ] = { 38 , } ;
static int mt7623_i2s2_data_1_funcs [ ] = { 4 , } ;
static int mt7623_i2s3_bclk_lrclk_mclk_pins [ ] = { 191 , 192 , 193 , } ;
static int mt7623_i2s3_bclk_lrclk_mclk_funcs [ ] = { 1 , 1 , 1 , } ;
static int mt7623_i2s3_data_in_pins [ ] = { 190 , } ;
static int mt7623_i2s3_data_in_funcs [ ] = { 1 , } ;
static int mt7623_i2s3_data_0_pins [ ] = { 204 , } ;
static int mt7623_i2s3_data_0_funcs [ ] = { 9 , } ;
static int mt7623_i2s3_data_1_pins [ ] = { 2 , } ;
static int mt7623_i2s3_data_1_funcs [ ] = { 0 , } ;
static int mt7623_i2s4_pins [ ] = { 194 , 195 , 196 , 197 , 198 , } ;
static int mt7623_i2s4_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_i2s5_pins [ ] = { 16 , 17 , 30 , 31 , 32 , } ;
static int mt7623_i2s5_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , } ;
/* IR */
static int mt7623_ir_pins [ ] = { 46 , } ;
static int mt7623_ir_funcs [ ] = { 1 , } ;
/* LCD */
static int mt7623_mipi_tx_pins [ ] = { 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 ,
99 , 100 , } ;
static int mt7623_mipi_tx_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_dsi_te_pins [ ] = { 84 , } ;
static int mt7623_dsi_te_funcs [ ] = { 1 , } ;
static int mt7623_lcm_rst_pins [ ] = { 83 , } ;
static int mt7623_lcm_rst_funcs [ ] = { 1 , } ;
/* MDC/MDIO */
static int mt7623_mdc_mdio_pins [ ] = { 275 , 276 , } ;
static int mt7623_mdc_mdio_funcs [ ] = { 1 , 1 , } ;
/* MSDC */
static int mt7623_msdc0_pins [ ] = { 111 , 112 , 113 , 114 , 115 , 116 , 117 , 118 ,
119 , 120 , 121 , } ;
static int mt7623_msdc0_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_msdc1_pins [ ] = { 105 , 106 , 107 , 108 , 109 , 110 , } ;
static int mt7623_msdc1_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_msdc1_ins_pins [ ] = { 261 , } ;
static int mt7623_msdc1_ins_funcs [ ] = { 1 , } ;
static int mt7623_msdc1_wp_0_pins [ ] = { 29 , } ;
static int mt7623_msdc1_wp_0_funcs [ ] = { 1 , } ;
static int mt7623_msdc1_wp_1_pins [ ] = { 55 , } ;
static int mt7623_msdc1_wp_1_funcs [ ] = { 3 , } ;
static int mt7623_msdc1_wp_2_pins [ ] = { 209 , } ;
static int mt7623_msdc1_wp_2_funcs [ ] = { 2 , } ;
static int mt7623_msdc2_pins [ ] = { 85 , 86 , 87 , 88 , 89 , 90 , } ;
static int mt7623_msdc2_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , } ;
static int mt7623_msdc3_pins [ ] = { 249 , 250 , 251 , 252 , 253 , 254 , 255 , 256 ,
257 , 258 , 259 , 260 , } ;
static int mt7623_msdc3_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , } ;
/* NAND */
static int mt7623_nandc_pins [ ] = { 43 , 47 , 48 , 111 , 112 , 113 , 114 , 115 ,
116 , 117 , 118 , 119 , 120 , 121 , } ;
static int mt7623_nandc_funcs [ ] = { 1 , 1 , 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
4 , 4 , } ;
static int mt7623_nandc_ceb0_pins [ ] = { 45 , } ;
static int mt7623_nandc_ceb0_funcs [ ] = { 1 , } ;
static int mt7623_nandc_ceb1_pins [ ] = { 44 , } ;
static int mt7623_nandc_ceb1_funcs [ ] = { 1 , } ;
/* RTC */
static int mt7623_rtc_pins [ ] = { 10 , } ;
static int mt7623_rtc_funcs [ ] = { 1 , } ;
/* OTG */
static int mt7623_otg_iddig0_0_pins [ ] = { 29 , } ;
static int mt7623_otg_iddig0_0_funcs [ ] = { 1 , } ;
static int mt7623_otg_iddig0_1_pins [ ] = { 44 , } ;
static int mt7623_otg_iddig0_1_funcs [ ] = { 2 , } ;
static int mt7623_otg_iddig0_2_pins [ ] = { 236 , } ;
static int mt7623_otg_iddig0_2_funcs [ ] = { 2 , } ;
static int mt7623_otg_iddig1_0_pins [ ] = { 27 , } ;
static int mt7623_otg_iddig1_0_funcs [ ] = { 2 , } ;
static int mt7623_otg_iddig1_1_pins [ ] = { 47 , } ;
static int mt7623_otg_iddig1_1_funcs [ ] = { 2 , } ;
static int mt7623_otg_iddig1_2_pins [ ] = { 238 , } ;
static int mt7623_otg_iddig1_2_funcs [ ] = { 2 , } ;
static int mt7623_otg_drv_vbus0_0_pins [ ] = { 28 , } ;
static int mt7623_otg_drv_vbus0_0_funcs [ ] = { 1 , } ;
static int mt7623_otg_drv_vbus0_1_pins [ ] = { 45 , } ;
static int mt7623_otg_drv_vbus0_1_funcs [ ] = { 2 , } ;
static int mt7623_otg_drv_vbus0_2_pins [ ] = { 237 , } ;
static int mt7623_otg_drv_vbus0_2_funcs [ ] = { 2 , } ;
static int mt7623_otg_drv_vbus1_0_pins [ ] = { 26 , } ;
static int mt7623_otg_drv_vbus1_0_funcs [ ] = { 2 , } ;
static int mt7623_otg_drv_vbus1_1_pins [ ] = { 48 , } ;
static int mt7623_otg_drv_vbus1_1_funcs [ ] = { 2 , } ;
static int mt7623_otg_drv_vbus1_2_pins [ ] = { 239 , } ;
static int mt7623_otg_drv_vbus1_2_funcs [ ] = { 2 , } ;
/* PCIE */
static int mt7623_pcie0_0_perst_pins [ ] = { 208 , } ;
static int mt7623_pcie0_0_perst_funcs [ ] = { 3 , } ;
static int mt7623_pcie0_1_perst_pins [ ] = { 22 , } ;
static int mt7623_pcie0_1_perst_funcs [ ] = { 2 , } ;
static int mt7623_pcie1_0_perst_pins [ ] = { 209 , } ;
static int mt7623_pcie1_0_perst_funcs [ ] = { 3 , } ;
static int mt7623_pcie1_1_perst_pins [ ] = { 23 , } ;
static int mt7623_pcie1_1_perst_funcs [ ] = { 2 , } ;
static int mt7623_pcie2_0_perst_pins [ ] = { 24 , } ;
static int mt7623_pcie2_0_perst_funcs [ ] = { 2 , } ;
static int mt7623_pcie2_1_perst_pins [ ] = { 29 , } ;
static int mt7623_pcie2_1_perst_funcs [ ] = { 6 , } ;
static int mt7623_pcie0_0_wake_pins [ ] = { 28 , } ;
static int mt7623_pcie0_0_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie0_1_wake_pins [ ] = { 251 , } ;
static int mt7623_pcie0_1_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie1_0_wake_pins [ ] = { 27 , } ;
static int mt7623_pcie1_0_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie1_1_wake_pins [ ] = { 253 , } ;
static int mt7623_pcie1_1_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie2_0_wake_pins [ ] = { 26 , } ;
static int mt7623_pcie2_0_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie2_1_wake_pins [ ] = { 255 , } ;
static int mt7623_pcie2_1_wake_funcs [ ] = { 6 , } ;
static int mt7623_pcie0_clkreq_pins [ ] = { 250 , } ;
static int mt7623_pcie0_clkreq_funcs [ ] = { 6 , } ;
static int mt7623_pcie1_clkreq_pins [ ] = { 252 , } ;
static int mt7623_pcie1_clkreq_funcs [ ] = { 6 , } ;
static int mt7623_pcie2_clkreq_pins [ ] = { 254 , } ;
static int mt7623_pcie2_clkreq_funcs [ ] = { 6 , } ;
/* the pcie_*_rev are only used for MT7623 */
static int mt7623_pcie0_0_rev_perst_pins [ ] = { 208 , } ;
static int mt7623_pcie0_0_rev_perst_funcs [ ] = { 11 , } ;
static int mt7623_pcie0_1_rev_perst_pins [ ] = { 22 , } ;
static int mt7623_pcie0_1_rev_perst_funcs [ ] = { 10 , } ;
static int mt7623_pcie1_0_rev_perst_pins [ ] = { 209 , } ;
static int mt7623_pcie1_0_rev_perst_funcs [ ] = { 11 , } ;
static int mt7623_pcie1_1_rev_perst_pins [ ] = { 23 , } ;
static int mt7623_pcie1_1_rev_perst_funcs [ ] = { 10 , } ;
static int mt7623_pcie2_0_rev_perst_pins [ ] = { 24 , } ;
static int mt7623_pcie2_0_rev_perst_funcs [ ] = { 11 , } ;
static int mt7623_pcie2_1_rev_perst_pins [ ] = { 29 , } ;
static int mt7623_pcie2_1_rev_perst_funcs [ ] = { 14 , } ;
/* PCM */
static int mt7623_pcm_clk_0_pins [ ] = { 18 , } ;
static int mt7623_pcm_clk_0_funcs [ ] = { 1 , } ;
static int mt7623_pcm_clk_1_pins [ ] = { 17 , } ;
static int mt7623_pcm_clk_1_funcs [ ] = { 3 , } ;
static int mt7623_pcm_clk_2_pins [ ] = { 35 , } ;
static int mt7623_pcm_clk_2_funcs [ ] = { 3 , } ;
static int mt7623_pcm_clk_3_pins [ ] = { 50 , } ;
static int mt7623_pcm_clk_3_funcs [ ] = { 3 , } ;
static int mt7623_pcm_clk_4_pins [ ] = { 74 , } ;
static int mt7623_pcm_clk_4_funcs [ ] = { 3 , } ;
static int mt7623_pcm_clk_5_pins [ ] = { 191 , } ;
static int mt7623_pcm_clk_5_funcs [ ] = { 3 , } ;
static int mt7623_pcm_clk_6_pins [ ] = { 196 , } ;
static int mt7623_pcm_clk_6_funcs [ ] = { 3 , } ;
static int mt7623_pcm_sync_0_pins [ ] = { 19 , } ;
static int mt7623_pcm_sync_0_funcs [ ] = { 1 , } ;
static int mt7623_pcm_sync_1_pins [ ] = { 30 , } ;
static int mt7623_pcm_sync_1_funcs [ ] = { 3 , } ;
static int mt7623_pcm_sync_2_pins [ ] = { 36 , } ;
static int mt7623_pcm_sync_2_funcs [ ] = { 3 , } ;
static int mt7623_pcm_sync_3_pins [ ] = { 52 , } ;
static int mt7623_pcm_sync_3_funcs [ ] = { 31 , } ;
static int mt7623_pcm_sync_4_pins [ ] = { 73 , } ;
static int mt7623_pcm_sync_4_funcs [ ] = { 3 , } ;
static int mt7623_pcm_sync_5_pins [ ] = { 192 , } ;
static int mt7623_pcm_sync_5_funcs [ ] = { 3 , } ;
static int mt7623_pcm_sync_6_pins [ ] = { 197 , } ;
static int mt7623_pcm_sync_6_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_0_pins [ ] = { 20 , } ;
static int mt7623_pcm_rx_0_funcs [ ] = { 1 , } ;
static int mt7623_pcm_rx_1_pins [ ] = { 16 , } ;
static int mt7623_pcm_rx_1_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_2_pins [ ] = { 34 , } ;
static int mt7623_pcm_rx_2_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_3_pins [ ] = { 51 , } ;
static int mt7623_pcm_rx_3_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_4_pins [ ] = { 72 , } ;
static int mt7623_pcm_rx_4_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_5_pins [ ] = { 190 , } ;
static int mt7623_pcm_rx_5_funcs [ ] = { 3 , } ;
static int mt7623_pcm_rx_6_pins [ ] = { 195 , } ;
static int mt7623_pcm_rx_6_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_0_pins [ ] = { 21 , } ;
static int mt7623_pcm_tx_0_funcs [ ] = { 1 , } ;
static int mt7623_pcm_tx_1_pins [ ] = { 32 , } ;
static int mt7623_pcm_tx_1_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_2_pins [ ] = { 33 , } ;
static int mt7623_pcm_tx_2_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_3_pins [ ] = { 38 , } ;
static int mt7623_pcm_tx_3_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_4_pins [ ] = { 49 , } ;
static int mt7623_pcm_tx_4_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_5_pins [ ] = { 189 , } ;
static int mt7623_pcm_tx_5_funcs [ ] = { 3 , } ;
static int mt7623_pcm_tx_6_pins [ ] = { 194 , } ;
static int mt7623_pcm_tx_6_funcs [ ] = { 3 , } ;
/* PWM */
static int mt7623_pwm_ch1_0_pins [ ] = { 203 , } ;
static int mt7623_pwm_ch1_0_funcs [ ] = { 1 , } ;
static int mt7623_pwm_ch1_1_pins [ ] = { 208 , } ;
static int mt7623_pwm_ch1_1_funcs [ ] = { 2 , } ;
static int mt7623_pwm_ch1_2_pins [ ] = { 72 , } ;
static int mt7623_pwm_ch1_2_funcs [ ] = { 4 , } ;
static int mt7623_pwm_ch1_3_pins [ ] = { 88 , } ;
static int mt7623_pwm_ch1_3_funcs [ ] = { 3 , } ;
static int mt7623_pwm_ch1_4_pins [ ] = { 108 , } ;
static int mt7623_pwm_ch1_4_funcs [ ] = { 3 , } ;
static int mt7623_pwm_ch2_0_pins [ ] = { 204 , } ;
static int mt7623_pwm_ch2_0_funcs [ ] = { 1 , } ;
static int mt7623_pwm_ch2_1_pins [ ] = { 53 , } ;
static int mt7623_pwm_ch2_1_funcs [ ] = { 5 , } ;
static int mt7623_pwm_ch2_2_pins [ ] = { 88 , } ;
static int mt7623_pwm_ch2_2_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch2_3_pins [ ] = { 108 , } ;
static int mt7623_pwm_ch2_3_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch2_4_pins [ ] = { 209 , } ;
static int mt7623_pwm_ch2_4_funcs [ ] = { 5 , } ;
static int mt7623_pwm_ch3_0_pins [ ] = { 205 , } ;
static int mt7623_pwm_ch3_0_funcs [ ] = { 1 , } ;
static int mt7623_pwm_ch3_1_pins [ ] = { 55 , } ;
static int mt7623_pwm_ch3_1_funcs [ ] = { 5 , } ;
static int mt7623_pwm_ch3_2_pins [ ] = { 89 , } ;
static int mt7623_pwm_ch3_2_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch3_3_pins [ ] = { 109 , } ;
static int mt7623_pwm_ch3_3_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch4_0_pins [ ] = { 206 , } ;
static int mt7623_pwm_ch4_0_funcs [ ] = { 1 , } ;
static int mt7623_pwm_ch4_1_pins [ ] = { 90 , } ;
static int mt7623_pwm_ch4_1_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch4_2_pins [ ] = { 110 , } ;
static int mt7623_pwm_ch4_2_funcs [ ] = { 6 , } ;
static int mt7623_pwm_ch4_3_pins [ ] = { 124 , } ;
static int mt7623_pwm_ch4_3_funcs [ ] = { 5 , } ;
static int mt7623_pwm_ch5_0_pins [ ] = { 207 , } ;
static int mt7623_pwm_ch5_0_funcs [ ] = { 1 , } ;
static int mt7623_pwm_ch5_1_pins [ ] = { 125 , } ;
static int mt7623_pwm_ch5_1_funcs [ ] = { 5 , } ;
/* PWRAP */
static int mt7623_pwrap_pins [ ] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , } ;
static int mt7623_pwrap_funcs [ ] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , } ;
/* SPDIF */
static int mt7623_spdif_in0_0_pins [ ] = { 56 , } ;
static int mt7623_spdif_in0_0_funcs [ ] = { 3 , } ;
static int mt7623_spdif_in0_1_pins [ ] = { 201 , } ;
static int mt7623_spdif_in0_1_funcs [ ] = { 1 , } ;
static int mt7623_spdif_in1_0_pins [ ] = { 54 , } ;
static int mt7623_spdif_in1_0_funcs [ ] = { 3 , } ;
static int mt7623_spdif_in1_1_pins [ ] = { 202 , } ;
static int mt7623_spdif_in1_1_funcs [ ] = { 1 , } ;
static int mt7623_spdif_out_pins [ ] = { 202 , } ;
static int mt7623_spdif_out_funcs [ ] = { 1 , } ;
/* SPI */
static int mt7623_spi0_pins [ ] = { 53 , 54 , 55 , 56 , } ;
static int mt7623_spi0_funcs [ ] = { 1 , 1 , 1 , 1 , } ;
static int mt7623_spi1_pins [ ] = { 7 , 199 , 8 , 9 , } ;
static int mt7623_spi1_funcs [ ] = { 1 , 1 , 1 , 1 , } ;
static int mt7623_spi2_pins [ ] = { 101 , 104 , 102 , 103 , } ;
static int mt7623_spi2_funcs [ ] = { 1 , 1 , 1 , 1 , } ;
/* UART */
static int mt7623_uart0_0_txd_rxd_pins [ ] = { 79 , 80 , } ;
static int mt7623_uart0_0_txd_rxd_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart0_1_txd_rxd_pins [ ] = { 87 , 88 , } ;
static int mt7623_uart0_1_txd_rxd_funcs [ ] = { 5 , 5 , } ;
static int mt7623_uart0_2_txd_rxd_pins [ ] = { 107 , 108 , } ;
static int mt7623_uart0_2_txd_rxd_funcs [ ] = { 5 , 5 , } ;
static int mt7623_uart0_3_txd_rxd_pins [ ] = { 123 , 122 , } ;
static int mt7623_uart0_3_txd_rxd_funcs [ ] = { 5 , 5 , } ;
static int mt7623_uart0_rts_cts_pins [ ] = { 22 , 23 , } ;
static int mt7623_uart0_rts_cts_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart1_0_txd_rxd_pins [ ] = { 81 , 82 , } ;
static int mt7623_uart1_0_txd_rxd_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart1_1_txd_rxd_pins [ ] = { 89 , 90 , } ;
static int mt7623_uart1_1_txd_rxd_funcs [ ] = { 5 , 5 , } ;
static int mt7623_uart1_2_txd_rxd_pins [ ] = { 109 , 110 , } ;
static int mt7623_uart1_2_txd_rxd_funcs [ ] = { 5 , 5 , } ;
static int mt7623_uart1_rts_cts_pins [ ] = { 24 , 25 , } ;
static int mt7623_uart1_rts_cts_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart2_0_txd_rxd_pins [ ] = { 14 , 15 , } ;
static int mt7623_uart2_0_txd_rxd_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart2_1_txd_rxd_pins [ ] = { 200 , 201 , } ;
static int mt7623_uart2_1_txd_rxd_funcs [ ] = { 6 , 6 , } ;
static int mt7623_uart2_rts_cts_pins [ ] = { 242 , 243 , } ;
static int mt7623_uart2_rts_cts_funcs [ ] = { 1 , 1 , } ;
static int mt7623_uart3_txd_rxd_pins [ ] = { 242 , 243 , } ;
static int mt7623_uart3_txd_rxd_funcs [ ] = { 2 , 2 , } ;
static int mt7623_uart3_rts_cts_pins [ ] = { 26 , 27 , } ;
static int mt7623_uart3_rts_cts_funcs [ ] = { 1 , 1 , } ;
/* Watchdog */
static int mt7623_watchdog_0_pins [ ] = { 11 , } ;
static int mt7623_watchdog_0_funcs [ ] = { 1 , } ;
static int mt7623_watchdog_1_pins [ ] = { 121 , } ;
static int mt7623_watchdog_1_funcs [ ] = { 5 , } ;
static const struct group_desc mt7623_groups [ ] = {
PINCTRL_PIN_GROUP ( " aud_ext_clk0 " , mt7623_aud_ext_clk0 ) ,
PINCTRL_PIN_GROUP ( " aud_ext_clk1 " , mt7623_aud_ext_clk1 ) ,
PINCTRL_PIN_GROUP ( " dsi_te " , mt7623_dsi_te ) ,
PINCTRL_PIN_GROUP ( " disp_pwm_0 " , mt7623_disp_pwm_0 ) ,
PINCTRL_PIN_GROUP ( " disp_pwm_1 " , mt7623_disp_pwm_1 ) ,
PINCTRL_PIN_GROUP ( " disp_pwm_2 " , mt7623_disp_pwm_2 ) ,
PINCTRL_PIN_GROUP ( " ephy " , mt7623_ephy ) ,
PINCTRL_PIN_GROUP ( " esw_int " , mt7623_esw_int ) ,
PINCTRL_PIN_GROUP ( " esw_rst " , mt7623_esw_rst ) ,
PINCTRL_PIN_GROUP ( " ext_sdio " , mt7623_ext_sdio ) ,
PINCTRL_PIN_GROUP ( " hdmi_cec " , mt7623_hdmi_cec ) ,
PINCTRL_PIN_GROUP ( " hdmi_htplg " , mt7623_hdmi_htplg ) ,
PINCTRL_PIN_GROUP ( " hdmi_i2c " , mt7623_hdmi_i2c ) ,
PINCTRL_PIN_GROUP ( " hdmi_rx " , mt7623_hdmi_rx ) ,
PINCTRL_PIN_GROUP ( " hdmi_rx_i2c " , mt7623_hdmi_rx_i2c ) ,
PINCTRL_PIN_GROUP ( " i2c0 " , mt7623_i2c0 ) ,
PINCTRL_PIN_GROUP ( " i2c1_0 " , mt7623_i2c1_0 ) ,
PINCTRL_PIN_GROUP ( " i2c1_1 " , mt7623_i2c1_1 ) ,
PINCTRL_PIN_GROUP ( " i2c1_2 " , mt7623_i2c1_2 ) ,
PINCTRL_PIN_GROUP ( " i2c1_3 " , mt7623_i2c1_3 ) ,
PINCTRL_PIN_GROUP ( " i2c1_4 " , mt7623_i2c1_4 ) ,
PINCTRL_PIN_GROUP ( " i2c2_0 " , mt7623_i2c2_0 ) ,
PINCTRL_PIN_GROUP ( " i2c2_1 " , mt7623_i2c2_1 ) ,
PINCTRL_PIN_GROUP ( " i2c2_2 " , mt7623_i2c2_2 ) ,
PINCTRL_PIN_GROUP ( " i2c2_3 " , mt7623_i2c2_3 ) ,
PINCTRL_PIN_GROUP ( " i2s0 " , mt7623_i2s0 ) ,
PINCTRL_PIN_GROUP ( " i2s1 " , mt7623_i2s1 ) ,
PINCTRL_PIN_GROUP ( " i2s4 " , mt7623_i2s4 ) ,
PINCTRL_PIN_GROUP ( " i2s5 " , mt7623_i2s5 ) ,
PINCTRL_PIN_GROUP ( " i2s2_bclk_lrclk_mclk " , mt7623_i2s2_bclk_lrclk_mclk ) ,
PINCTRL_PIN_GROUP ( " i2s3_bclk_lrclk_mclk " , mt7623_i2s3_bclk_lrclk_mclk ) ,
PINCTRL_PIN_GROUP ( " i2s2_data_in " , mt7623_i2s2_data_in ) ,
PINCTRL_PIN_GROUP ( " i2s3_data_in " , mt7623_i2s3_data_in ) ,
PINCTRL_PIN_GROUP ( " i2s2_data_0 " , mt7623_i2s2_data_0 ) ,
PINCTRL_PIN_GROUP ( " i2s2_data_1 " , mt7623_i2s2_data_1 ) ,
PINCTRL_PIN_GROUP ( " i2s3_data_0 " , mt7623_i2s3_data_0 ) ,
PINCTRL_PIN_GROUP ( " i2s3_data_1 " , mt7623_i2s3_data_1 ) ,
PINCTRL_PIN_GROUP ( " ir " , mt7623_ir ) ,
PINCTRL_PIN_GROUP ( " lcm_rst " , mt7623_lcm_rst ) ,
PINCTRL_PIN_GROUP ( " mdc_mdio " , mt7623_mdc_mdio ) ,
PINCTRL_PIN_GROUP ( " mipi_tx " , mt7623_mipi_tx ) ,
PINCTRL_PIN_GROUP ( " msdc0 " , mt7623_msdc0 ) ,
PINCTRL_PIN_GROUP ( " msdc1 " , mt7623_msdc1 ) ,
PINCTRL_PIN_GROUP ( " msdc1_ins " , mt7623_msdc1_ins ) ,
PINCTRL_PIN_GROUP ( " msdc1_wp_0 " , mt7623_msdc1_wp_0 ) ,
PINCTRL_PIN_GROUP ( " msdc1_wp_1 " , mt7623_msdc1_wp_1 ) ,
PINCTRL_PIN_GROUP ( " msdc1_wp_2 " , mt7623_msdc1_wp_2 ) ,
PINCTRL_PIN_GROUP ( " msdc2 " , mt7623_msdc2 ) ,
PINCTRL_PIN_GROUP ( " msdc3 " , mt7623_msdc3 ) ,
PINCTRL_PIN_GROUP ( " nandc " , mt7623_nandc ) ,
PINCTRL_PIN_GROUP ( " nandc_ceb0 " , mt7623_nandc_ceb0 ) ,
PINCTRL_PIN_GROUP ( " nandc_ceb1 " , mt7623_nandc_ceb1 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig0_0 " , mt7623_otg_iddig0_0 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig0_1 " , mt7623_otg_iddig0_1 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig0_2 " , mt7623_otg_iddig0_2 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig1_0 " , mt7623_otg_iddig1_0 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig1_1 " , mt7623_otg_iddig1_1 ) ,
PINCTRL_PIN_GROUP ( " otg_iddig1_2 " , mt7623_otg_iddig1_2 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus0_0 " , mt7623_otg_drv_vbus0_0 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus0_1 " , mt7623_otg_drv_vbus0_1 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus0_2 " , mt7623_otg_drv_vbus0_2 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus1_0 " , mt7623_otg_drv_vbus1_0 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus1_1 " , mt7623_otg_drv_vbus1_1 ) ,
PINCTRL_PIN_GROUP ( " otg_drv_vbus1_2 " , mt7623_otg_drv_vbus1_2 ) ,
PINCTRL_PIN_GROUP ( " pcie0_0_perst " , mt7623_pcie0_0_perst ) ,
PINCTRL_PIN_GROUP ( " pcie0_1_perst " , mt7623_pcie0_1_perst ) ,
PINCTRL_PIN_GROUP ( " pcie1_0_perst " , mt7623_pcie1_0_perst ) ,
PINCTRL_PIN_GROUP ( " pcie1_1_perst " , mt7623_pcie1_1_perst ) ,
PINCTRL_PIN_GROUP ( " pcie1_1_perst " , mt7623_pcie1_1_perst ) ,
PINCTRL_PIN_GROUP ( " pcie0_0_rev_perst " , mt7623_pcie0_0_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie0_1_rev_perst " , mt7623_pcie0_1_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie1_0_rev_perst " , mt7623_pcie1_0_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie1_1_rev_perst " , mt7623_pcie1_1_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie2_0_rev_perst " , mt7623_pcie2_0_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie2_1_rev_perst " , mt7623_pcie2_1_rev_perst ) ,
PINCTRL_PIN_GROUP ( " pcie2_0_perst " , mt7623_pcie2_0_perst ) ,
PINCTRL_PIN_GROUP ( " pcie2_1_perst " , mt7623_pcie2_1_perst ) ,
PINCTRL_PIN_GROUP ( " pcie0_0_wake " , mt7623_pcie0_0_wake ) ,
PINCTRL_PIN_GROUP ( " pcie0_1_wake " , mt7623_pcie0_1_wake ) ,
PINCTRL_PIN_GROUP ( " pcie1_0_wake " , mt7623_pcie1_0_wake ) ,
PINCTRL_PIN_GROUP ( " pcie1_1_wake " , mt7623_pcie1_1_wake ) ,
PINCTRL_PIN_GROUP ( " pcie2_0_wake " , mt7623_pcie2_0_wake ) ,
PINCTRL_PIN_GROUP ( " pcie2_1_wake " , mt7623_pcie2_1_wake ) ,
PINCTRL_PIN_GROUP ( " pcie0_clkreq " , mt7623_pcie0_clkreq ) ,
PINCTRL_PIN_GROUP ( " pcie1_clkreq " , mt7623_pcie1_clkreq ) ,
PINCTRL_PIN_GROUP ( " pcie2_clkreq " , mt7623_pcie2_clkreq ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_0 " , mt7623_pcm_clk_0 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_1 " , mt7623_pcm_clk_1 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_2 " , mt7623_pcm_clk_2 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_3 " , mt7623_pcm_clk_3 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_4 " , mt7623_pcm_clk_4 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_5 " , mt7623_pcm_clk_5 ) ,
PINCTRL_PIN_GROUP ( " pcm_clk_6 " , mt7623_pcm_clk_6 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_0 " , mt7623_pcm_sync_0 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_1 " , mt7623_pcm_sync_1 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_2 " , mt7623_pcm_sync_2 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_3 " , mt7623_pcm_sync_3 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_4 " , mt7623_pcm_sync_4 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_5 " , mt7623_pcm_sync_5 ) ,
PINCTRL_PIN_GROUP ( " pcm_sync_6 " , mt7623_pcm_sync_6 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_0 " , mt7623_pcm_rx_0 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_1 " , mt7623_pcm_rx_1 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_2 " , mt7623_pcm_rx_2 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_3 " , mt7623_pcm_rx_3 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_4 " , mt7623_pcm_rx_4 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_5 " , mt7623_pcm_rx_5 ) ,
PINCTRL_PIN_GROUP ( " pcm_rx_6 " , mt7623_pcm_rx_6 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_0 " , mt7623_pcm_tx_0 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_1 " , mt7623_pcm_tx_1 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_2 " , mt7623_pcm_tx_2 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_3 " , mt7623_pcm_tx_3 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_4 " , mt7623_pcm_tx_4 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_5 " , mt7623_pcm_tx_5 ) ,
PINCTRL_PIN_GROUP ( " pcm_tx_6 " , mt7623_pcm_tx_6 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch1_0 " , mt7623_pwm_ch1_0 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch1_1 " , mt7623_pwm_ch1_1 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch1_2 " , mt7623_pwm_ch1_2 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch1_3 " , mt7623_pwm_ch1_3 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch1_4 " , mt7623_pwm_ch1_4 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch2_0 " , mt7623_pwm_ch2_0 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch2_1 " , mt7623_pwm_ch2_1 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch2_2 " , mt7623_pwm_ch2_2 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch2_3 " , mt7623_pwm_ch2_3 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch2_4 " , mt7623_pwm_ch2_4 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch3_0 " , mt7623_pwm_ch3_0 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch3_1 " , mt7623_pwm_ch3_1 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch3_2 " , mt7623_pwm_ch3_2 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch3_3 " , mt7623_pwm_ch3_3 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch4_0 " , mt7623_pwm_ch4_0 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch4_1 " , mt7623_pwm_ch4_1 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch4_2 " , mt7623_pwm_ch4_2 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch4_3 " , mt7623_pwm_ch4_3 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch5_0 " , mt7623_pwm_ch5_0 ) ,
PINCTRL_PIN_GROUP ( " pwm_ch5_1 " , mt7623_pwm_ch5_1 ) ,
PINCTRL_PIN_GROUP ( " pwrap " , mt7623_pwrap ) ,
PINCTRL_PIN_GROUP ( " rtc " , mt7623_rtc ) ,
PINCTRL_PIN_GROUP ( " spdif_in0_0 " , mt7623_spdif_in0_0 ) ,
PINCTRL_PIN_GROUP ( " spdif_in0_1 " , mt7623_spdif_in0_1 ) ,
PINCTRL_PIN_GROUP ( " spdif_in1_0 " , mt7623_spdif_in1_0 ) ,
PINCTRL_PIN_GROUP ( " spdif_in1_1 " , mt7623_spdif_in1_1 ) ,
PINCTRL_PIN_GROUP ( " spdif_out " , mt7623_spdif_out ) ,
PINCTRL_PIN_GROUP ( " spi0 " , mt7623_spi0 ) ,
PINCTRL_PIN_GROUP ( " spi1 " , mt7623_spi1 ) ,
PINCTRL_PIN_GROUP ( " spi2 " , mt7623_spi2 ) ,
PINCTRL_PIN_GROUP ( " uart0_0_txd_rxd " , mt7623_uart0_0_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart0_1_txd_rxd " , mt7623_uart0_1_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart0_2_txd_rxd " , mt7623_uart0_2_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart0_3_txd_rxd " , mt7623_uart0_3_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart1_0_txd_rxd " , mt7623_uart1_0_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart1_1_txd_rxd " , mt7623_uart1_1_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart1_2_txd_rxd " , mt7623_uart1_2_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart2_0_txd_rxd " , mt7623_uart2_0_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart2_1_txd_rxd " , mt7623_uart2_1_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart3_txd_rxd " , mt7623_uart3_txd_rxd ) ,
PINCTRL_PIN_GROUP ( " uart0_rts_cts " , mt7623_uart0_rts_cts ) ,
PINCTRL_PIN_GROUP ( " uart1_rts_cts " , mt7623_uart1_rts_cts ) ,
PINCTRL_PIN_GROUP ( " uart2_rts_cts " , mt7623_uart2_rts_cts ) ,
PINCTRL_PIN_GROUP ( " uart3_rts_cts " , mt7623_uart3_rts_cts ) ,
PINCTRL_PIN_GROUP ( " watchdog_0 " , mt7623_watchdog_0 ) ,
PINCTRL_PIN_GROUP ( " watchdog_1 " , mt7623_watchdog_1 ) ,
} ;
/* Joint those groups owning the same capability in user point of view which
* allows that people tend to use through the device tree .
*/
static const char * mt7623_aud_clk_groups [ ] = { " aud_ext_clk0 " ,
" aud_ext_clk1 " , } ;
static const char * mt7623_disp_pwm_groups [ ] = { " disp_pwm_0 " , " disp_pwm_1 " ,
" disp_pwm_2 " , } ;
static const char * mt7623_ethernet_groups [ ] = { " esw_int " , " esw_rst " ,
" ephy " , " mdc_mdio " , } ;
static const char * mt7623_ext_sdio_groups [ ] = { " ext_sdio " , } ;
static const char * mt7623_hdmi_groups [ ] = { " hdmi_cec " , " hdmi_htplg " ,
" hdmi_i2c " , " hdmi_rx " ,
" hdmi_rx_i2c " , } ;
static const char * mt7623_i2c_groups [ ] = { " i2c0 " , " i2c1_0 " , " i2c1_1 " ,
" i2c1_2 " , " i2c1_3 " , " i2c1_4 " ,
" i2c2_0 " , " i2c2_1 " , " i2c2_2 " ,
" i2c2_3 " , } ;
static const char * mt7623_i2s_groups [ ] = { " i2s0 " , " i2s1 " ,
" i2s2_bclk_lrclk_mclk " ,
" i2s3_bclk_lrclk_mclk " ,
" i2s4 " , " i2s5 " ,
" i2s2_data_in " , " i2s3_data_in " ,
" i2s2_data_0 " , " i2s2_data_1 " ,
" i2s3_data_0 " , " i2s3_data_1 " , } ;
static const char * mt7623_ir_groups [ ] = { " ir " , } ;
static const char * mt7623_lcd_groups [ ] = { " dsi_te " , " lcm_rst " , " mipi_tx " , } ;
static const char * mt7623_msdc_groups [ ] = { " msdc0 " , " msdc1 " , " msdc1_ins " ,
" msdc1_wp_0 " , " msdc1_wp_1 " ,
" msdc1_wp_2 " , " msdc2 " ,
" msdc3 " , } ;
static const char * mt7623_nandc_groups [ ] = { " nandc " , " nandc_ceb0 " ,
" nandc_ceb1 " , } ;
static const char * mt7623_otg_groups [ ] = { " otg_iddig0_0 " , " otg_iddig0_1 " ,
" otg_iddig0_2 " , " otg_iddig1_0 " ,
" otg_iddig1_1 " , " otg_iddig1_2 " ,
" otg_drv_vbus0_0 " ,
" otg_drv_vbus0_1 " ,
" otg_drv_vbus0_2 " ,
" otg_drv_vbus1_0 " ,
" otg_drv_vbus1_1 " ,
" otg_drv_vbus1_2 " , } ;
static const char * mt7623_pcie_groups [ ] = { " pcie0_0_perst " , " pcie0_1_perst " ,
" pcie1_0_perst " , " pcie1_1_perst " ,
" pcie2_0_perst " , " pcie2_1_perst " ,
" pcie0_0_rev_perst " ,
" pcie0_1_rev_perst " ,
" pcie1_0_rev_perst " ,
" pcie1_1_rev_perst " ,
" pcie2_0_rev_perst " ,
" pcie2_1_rev_perst " ,
" pcie0_0_wake " , " pcie0_1_wake " ,
" pcie2_0_wake " , " pcie2_1_wake " ,
" pcie0_clkreq " , " pcie1_clkreq " ,
" pcie2_clkreq " , } ;
static const char * mt7623_pcm_groups [ ] = { " pcm_clk_0 " , " pcm_clk_1 " ,
" pcm_clk_2 " , " pcm_clk_3 " ,
" pcm_clk_4 " , " pcm_clk_5 " ,
" pcm_clk_6 " , " pcm_sync_0 " ,
" pcm_sync_1 " , " pcm_sync_2 " ,
" pcm_sync_3 " , " pcm_sync_4 " ,
" pcm_sync_5 " , " pcm_sync_6 " ,
" pcm_rx_0 " , " pcm_rx_1 " ,
" pcm_rx_2 " , " pcm_rx_3 " ,
" pcm_rx_4 " , " pcm_rx_5 " ,
" pcm_rx_6 " , " pcm_tx_0 " ,
" pcm_tx_1 " , " pcm_tx_2 " ,
" pcm_tx_3 " , " pcm_tx_4 " ,
" pcm_tx_5 " , " pcm_tx_6 " , } ;
static const char * mt7623_pwm_groups [ ] = { " pwm_ch1_0 " , " pwm_ch1_1 " ,
" pwm_ch1_2 " , " pwm_ch2_0 " ,
" pwm_ch2_1 " , " pwm_ch2_2 " ,
" pwm_ch3_0 " , " pwm_ch3_1 " ,
" pwm_ch3_2 " , " pwm_ch4_0 " ,
" pwm_ch4_1 " , " pwm_ch4_2 " ,
" pwm_ch4_3 " , " pwm_ch5_0 " ,
" pwm_ch5_1 " , " pwm_ch5_2 " ,
" pwm_ch6_0 " , " pwm_ch6_1 " ,
" pwm_ch6_2 " , " pwm_ch6_3 " ,
" pwm_ch7_0 " , " pwm_ch7_1 " ,
" pwm_ch7_2 " , } ;
static const char * mt7623_pwrap_groups [ ] = { " pwrap " , } ;
static const char * mt7623_rtc_groups [ ] = { " rtc " , } ;
static const char * mt7623_spi_groups [ ] = { " spi0 " , " spi2 " , " spi2 " , } ;
static const char * mt7623_spdif_groups [ ] = { " spdif_in0_0 " , " spdif_in0_1 " ,
" spdif_in1_0 " , " spdif_in1_1 " ,
" spdif_out " , } ;
static const char * mt7623_uart_groups [ ] = { " uart0_0_txd_rxd " ,
" uart0_1_txd_rxd " ,
" uart0_2_txd_rxd " ,
" uart0_3_txd_rxd " ,
" uart1_0_txd_rxd " ,
" uart1_1_txd_rxd " ,
" uart1_2_txd_rxd " ,
" uart2_0_txd_rxd " ,
" uart2_1_txd_rxd " ,
" uart3_txd_rxd " ,
" uart0_rts_cts " ,
" uart1_rts_cts " ,
" uart2_rts_cts " ,
" uart3_rts_cts " , } ;
static const char * mt7623_wdt_groups [ ] = { " watchdog_0 " , " watchdog_1 " , } ;
static const struct function_desc mt7623_functions [ ] = {
{ " audck " , mt7623_aud_clk_groups , ARRAY_SIZE ( mt7623_aud_clk_groups ) } ,
{ " disp " , mt7623_disp_pwm_groups , ARRAY_SIZE ( mt7623_disp_pwm_groups ) } ,
{ " eth " , mt7623_ethernet_groups , ARRAY_SIZE ( mt7623_ethernet_groups ) } ,
{ " sdio " , mt7623_ext_sdio_groups , ARRAY_SIZE ( mt7623_ext_sdio_groups ) } ,
{ " hdmi " , mt7623_hdmi_groups , ARRAY_SIZE ( mt7623_hdmi_groups ) } ,
{ " i2c " , mt7623_i2c_groups , ARRAY_SIZE ( mt7623_i2c_groups ) } ,
{ " i2s " , mt7623_i2s_groups , ARRAY_SIZE ( mt7623_i2s_groups ) } ,
{ " ir " , mt7623_ir_groups , ARRAY_SIZE ( mt7623_ir_groups ) } ,
{ " lcd " , mt7623_lcd_groups , ARRAY_SIZE ( mt7623_lcd_groups ) } ,
{ " msdc " , mt7623_msdc_groups , ARRAY_SIZE ( mt7623_msdc_groups ) } ,
{ " nand " , mt7623_nandc_groups , ARRAY_SIZE ( mt7623_nandc_groups ) } ,
{ " otg " , mt7623_otg_groups , ARRAY_SIZE ( mt7623_otg_groups ) } ,
{ " pcie " , mt7623_pcie_groups , ARRAY_SIZE ( mt7623_pcie_groups ) } ,
{ " pcm " , mt7623_pcm_groups , ARRAY_SIZE ( mt7623_pcm_groups ) } ,
{ " pwm " , mt7623_pwm_groups , ARRAY_SIZE ( mt7623_pwm_groups ) } ,
{ " pwrap " , mt7623_pwrap_groups , ARRAY_SIZE ( mt7623_pwrap_groups ) } ,
{ " rtc " , mt7623_rtc_groups , ARRAY_SIZE ( mt7623_rtc_groups ) } ,
{ " spi " , mt7623_spi_groups , ARRAY_SIZE ( mt7623_spi_groups ) } ,
{ " spdif " , mt7623_spdif_groups , ARRAY_SIZE ( mt7623_spdif_groups ) } ,
{ " uart " , mt7623_uart_groups , ARRAY_SIZE ( mt7623_uart_groups ) } ,
{ " watchdog " , mt7623_wdt_groups , ARRAY_SIZE ( mt7623_wdt_groups ) } ,
} ;
static const struct mtk_eint_hw mt7623_eint_hw = {
. port_mask = 6 ,
. ports = 6 ,
. ap_num = 169 ,
. db_cnt = 20 ,
} ;
static struct mtk_pin_soc mt7623_data = {
. reg_cal = mt7623_reg_cals ,
2018-09-08 19:07:32 +08:00
. pins = mt7623_pins ,
2018-09-08 19:07:28 +08:00
. npins = ARRAY_SIZE ( mt7623_pins ) ,
. grps = mt7623_groups ,
. ngrps = ARRAY_SIZE ( mt7623_groups ) ,
. funcs = mt7623_functions ,
. nfuncs = ARRAY_SIZE ( mt7623_functions ) ,
. eint_hw = & mt7623_eint_hw ,
. gpio_m = 0 ,
. ies_present = true ,
2018-09-08 19:07:30 +08:00
. base_names = mtk_default_register_base_names ,
. nbase_names = ARRAY_SIZE ( mtk_default_register_base_names ) ,
2018-09-08 19:07:28 +08:00
. bias_disable_set = mtk_pinconf_bias_disable_set_rev1 ,
. bias_disable_get = mtk_pinconf_bias_disable_get_rev1 ,
. bias_set = mtk_pinconf_bias_set_rev1 ,
. bias_get = mtk_pinconf_bias_get_rev1 ,
. drive_set = mtk_pinconf_drive_set_rev1 ,
. drive_get = mtk_pinconf_drive_get_rev1 ,
. adv_pull_get = mtk_pinconf_adv_pull_get ,
. adv_pull_set = mtk_pinconf_adv_pull_set ,
} ;
/*
* There are some specific pins have mux functions greater than 8 ,
* and if we want to switch thees high modes we need to disable
* bonding constraints firstly .
*/
static void mt7623_bonding_disable ( struct platform_device * pdev )
{
struct mtk_pinctrl * hw = platform_get_drvdata ( pdev ) ;
2018-09-08 19:07:30 +08:00
mtk_rmw ( hw , 0 , PIN_BOND_REG0 , BOND_PCIE_CLR , BOND_PCIE_CLR ) ;
mtk_rmw ( hw , 0 , PIN_BOND_REG1 , BOND_I2S_CLR , BOND_I2S_CLR ) ;
mtk_rmw ( hw , 0 , PIN_BOND_REG2 , BOND_MSDC0E_CLR , BOND_MSDC0E_CLR ) ;
2018-09-08 19:07:28 +08:00
}
static const struct of_device_id mt7623_pctrl_match [ ] = {
{ . compatible = " mediatek,mt7623-moore-pinctrl " , } ,
{ }
} ;
static int mt7623_pinctrl_probe ( struct platform_device * pdev )
{
int err ;
err = mtk_moore_pinctrl_probe ( pdev , & mt7623_data ) ;
if ( err )
return err ;
mt7623_bonding_disable ( pdev ) ;
return 0 ;
}
static struct platform_driver mtk_pinctrl_driver = {
. probe = mt7623_pinctrl_probe ,
. driver = {
. name = " mt7623-moore-pinctrl " ,
. of_match_table = mt7623_pctrl_match ,
} ,
} ;
static int __init mtk_pinctrl_init ( void )
{
return platform_driver_register ( & mtk_pinctrl_driver ) ;
}
arch_initcall ( mtk_pinctrl_init ) ;