.. | .. |
---|
256 | 256 | |
---|
257 | 257 | #define BM_OBE_ENABLED BIT(17) |
---|
258 | 258 | #define BM_IBE_ENABLED BIT(16) |
---|
259 | | -#define BM_LK_ENABLED BIT(15) |
---|
260 | 259 | #define BM_MUX_MODE 0xf00 |
---|
261 | 260 | #define BP_MUX_MODE 8 |
---|
262 | | -#define BM_PULL_ENABLED BIT(1) |
---|
263 | | - |
---|
264 | | -static const struct imx_cfg_params_decode imx7ulp_cfg_decodes[] = { |
---|
265 | | - IMX_CFG_PARAMS_DECODE(PIN_CONFIG_DRIVE_STRENGTH, BIT(6), 6), |
---|
266 | | - IMX_CFG_PARAMS_DECODE(PIN_CONFIG_DRIVE_PUSH_PULL, BIT(5), 5), |
---|
267 | | - IMX_CFG_PARAMS_DECODE(PIN_CONFIG_SLEW_RATE, BIT(2), 2), |
---|
268 | | - IMX_CFG_PARAMS_DECODE(PIN_CONFIG_BIAS_DISABLE, BIT(1), 1), |
---|
269 | | - IMX_CFG_PARAMS_DECODE(PIN_CONFIG_BIAS_PULL_UP, BIT(0), 0), |
---|
270 | | - |
---|
271 | | - IMX_CFG_PARAMS_DECODE_INVERT(PIN_CONFIG_DRIVE_OPEN_DRAIN, BIT(5), 5), |
---|
272 | | - IMX_CFG_PARAMS_DECODE_INVERT(PIN_CONFIG_BIAS_PULL_DOWN, BIT(0), 0), |
---|
273 | | -}; |
---|
274 | | - |
---|
275 | | -static void imx7ulp_cfg_params_fixup(unsigned long *configs, |
---|
276 | | - unsigned int num_configs, |
---|
277 | | - u32 *raw_config) |
---|
278 | | -{ |
---|
279 | | - enum pin_config_param param; |
---|
280 | | - u32 param_val; |
---|
281 | | - int i; |
---|
282 | | - |
---|
283 | | - /* lock field disabled */ |
---|
284 | | - *raw_config &= ~BM_LK_ENABLED; |
---|
285 | | - |
---|
286 | | - for (i = 0; i < num_configs; i++) { |
---|
287 | | - param = pinconf_to_config_param(configs[i]); |
---|
288 | | - param_val = pinconf_to_config_argument(configs[i]); |
---|
289 | | - |
---|
290 | | - if ((param == PIN_CONFIG_BIAS_PULL_UP) || |
---|
291 | | - (param == PIN_CONFIG_BIAS_PULL_DOWN)) { |
---|
292 | | - /* pull enabled */ |
---|
293 | | - *raw_config |= BM_PULL_ENABLED; |
---|
294 | | - |
---|
295 | | - return; |
---|
296 | | - } |
---|
297 | | - } |
---|
298 | | -} |
---|
299 | 261 | |
---|
300 | 262 | static int imx7ulp_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, |
---|
301 | 263 | struct pinctrl_gpio_range *range, |
---|
.. | .. |
---|
326 | 288 | .gpio_set_direction = imx7ulp_pmx_gpio_set_direction, |
---|
327 | 289 | .mux_mask = BM_MUX_MODE, |
---|
328 | 290 | .mux_shift = BP_MUX_MODE, |
---|
329 | | - .generic_pinconf = true, |
---|
330 | | - .decodes = imx7ulp_cfg_decodes, |
---|
331 | | - .num_decodes = ARRAY_SIZE(imx7ulp_cfg_decodes), |
---|
332 | | - .fixup = imx7ulp_cfg_params_fixup, |
---|
333 | 291 | }; |
---|
334 | 292 | |
---|
335 | 293 | static const struct of_device_id imx7ulp_pinctrl_of_match[] = { |
---|