xref: /linux/drivers/pinctrl/freescale/pinctrl-imxrt1050.c (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1debc8b0bSGiulio Benetti // SPDX-License-Identifier: GPL-2.0
2debc8b0bSGiulio Benetti /*
3debc8b0bSGiulio Benetti  * Copyright (C) 2020
4debc8b0bSGiulio Benetti  * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
5debc8b0bSGiulio Benetti  */
6debc8b0bSGiulio Benetti 
7debc8b0bSGiulio Benetti #include <linux/err.h>
8debc8b0bSGiulio Benetti #include <linux/init.h>
9*060f03e9SRob Herring #include <linux/of.h>
10debc8b0bSGiulio Benetti #include <linux/pinctrl/pinctrl.h>
11debc8b0bSGiulio Benetti #include <linux/platform_device.h>
12debc8b0bSGiulio Benetti 
13debc8b0bSGiulio Benetti #include "pinctrl-imx.h"
14debc8b0bSGiulio Benetti 
15debc8b0bSGiulio Benetti enum imxrt1050_pads {
1652d13b1dSJesse Taube 	IMXRT1050_PAD_RESERVE0,
1752d13b1dSJesse Taube 	IMXRT1050_PAD_RESERVE1,
1852d13b1dSJesse Taube 	IMXRT1050_PAD_RESERVE2,
1952d13b1dSJesse Taube 	IMXRT1050_PAD_RESERVE3,
2052d13b1dSJesse Taube 	IMXRT1050_PAD_RESERVE4,
2152d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_00,
2252d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_01,
2352d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_02,
2452d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_03,
2552d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_04,
2652d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_05,
2752d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_06,
2852d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_07,
2952d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_08,
3052d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_09,
3152d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_10,
3252d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_11,
3352d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_12,
3452d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_13,
3552d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_14,
3652d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_15,
3752d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_16,
3852d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_17,
3952d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_18,
4052d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_19,
4152d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_20,
4252d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_21,
4352d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_22,
4452d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_23,
4552d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_24,
4652d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_25,
4752d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_26,
4852d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_27,
4952d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_28,
5052d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_29,
5152d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_30,
5252d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_31,
5352d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_32,
5452d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_33,
5552d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_34,
5652d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_35,
5752d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_36,
5852d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_37,
5952d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_38,
6052d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_39,
6152d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_40,
6252d13b1dSJesse Taube 	IMXRT1050_PAD_EMC_41,
6352d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_00,
6452d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_01,
6552d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_02,
6652d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_03,
6752d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_04,
6852d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_05,
6952d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_06,
7052d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_07,
7152d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_08,
7252d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_09,
7352d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_10,
7452d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_11,
7552d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_12,
7652d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_13,
7752d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_14,
7852d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B0_15,
7952d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_00,
8052d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_01,
8152d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_02,
8252d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_03,
8352d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_04,
8452d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_05,
8552d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_06,
8652d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_07,
8752d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_08,
8852d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_09,
8952d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_10,
9052d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_11,
9152d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_12,
9252d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_13,
9352d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_14,
9452d13b1dSJesse Taube 	IMXRT1050_PAD_AD_B1_15,
9552d13b1dSJesse Taube 	IMXRT1050_PAD_B0_00,
9652d13b1dSJesse Taube 	IMXRT1050_PAD_B0_01,
9752d13b1dSJesse Taube 	IMXRT1050_PAD_B0_02,
9852d13b1dSJesse Taube 	IMXRT1050_PAD_B0_03,
9952d13b1dSJesse Taube 	IMXRT1050_PAD_B0_04,
10052d13b1dSJesse Taube 	IMXRT1050_PAD_B0_05,
10152d13b1dSJesse Taube 	IMXRT1050_PAD_B0_06,
10252d13b1dSJesse Taube 	IMXRT1050_PAD_B0_07,
10352d13b1dSJesse Taube 	IMXRT1050_PAD_B0_08,
10452d13b1dSJesse Taube 	IMXRT1050_PAD_B0_09,
10552d13b1dSJesse Taube 	IMXRT1050_PAD_B0_10,
10652d13b1dSJesse Taube 	IMXRT1050_PAD_B0_11,
10752d13b1dSJesse Taube 	IMXRT1050_PAD_B0_12,
10852d13b1dSJesse Taube 	IMXRT1050_PAD_B0_13,
10952d13b1dSJesse Taube 	IMXRT1050_PAD_B0_14,
11052d13b1dSJesse Taube 	IMXRT1050_PAD_B0_15,
11152d13b1dSJesse Taube 	IMXRT1050_PAD_B1_00,
11252d13b1dSJesse Taube 	IMXRT1050_PAD_B1_01,
11352d13b1dSJesse Taube 	IMXRT1050_PAD_B1_02,
11452d13b1dSJesse Taube 	IMXRT1050_PAD_B1_03,
11552d13b1dSJesse Taube 	IMXRT1050_PAD_B1_04,
11652d13b1dSJesse Taube 	IMXRT1050_PAD_B1_05,
11752d13b1dSJesse Taube 	IMXRT1050_PAD_B1_06,
11852d13b1dSJesse Taube 	IMXRT1050_PAD_B1_07,
11952d13b1dSJesse Taube 	IMXRT1050_PAD_B1_08,
12052d13b1dSJesse Taube 	IMXRT1050_PAD_B1_09,
12152d13b1dSJesse Taube 	IMXRT1050_PAD_B1_10,
12252d13b1dSJesse Taube 	IMXRT1050_PAD_B1_11,
12352d13b1dSJesse Taube 	IMXRT1050_PAD_B1_12,
12452d13b1dSJesse Taube 	IMXRT1050_PAD_B1_13,
12552d13b1dSJesse Taube 	IMXRT1050_PAD_B1_14,
12652d13b1dSJesse Taube 	IMXRT1050_PAD_B1_15,
12752d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_00,
12852d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_01,
12952d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_02,
13052d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_03,
13152d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_04,
13252d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B0_05,
13352d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_00,
13452d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_01,
13552d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_02,
13652d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_03,
13752d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_04,
13852d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_05,
13952d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_06,
14052d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_07,
14152d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_08,
14252d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_09,
14352d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_10,
14452d13b1dSJesse Taube 	IMXRT1050_PAD_SD_B1_11,
145debc8b0bSGiulio Benetti };
146debc8b0bSGiulio Benetti 
147debc8b0bSGiulio Benetti /* Pad names for the pinmux subsystem */
148debc8b0bSGiulio Benetti static const struct pinctrl_pin_desc imxrt1050_pinctrl_pads[] = {
149debc8b0bSGiulio Benetti 	IMX_PINCTRL_PIN(IMXRT1050_PAD_RESERVE0),
150debc8b0bSGiulio Benetti 	IMX_PINCTRL_PIN(IMXRT1050_PAD_RESERVE1),
151debc8b0bSGiulio Benetti 	IMX_PINCTRL_PIN(IMXRT1050_PAD_RESERVE2),
152debc8b0bSGiulio Benetti 	IMX_PINCTRL_PIN(IMXRT1050_PAD_RESERVE3),
153debc8b0bSGiulio Benetti 	IMX_PINCTRL_PIN(IMXRT1050_PAD_RESERVE4),
15452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_00),
15552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_01),
15652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_02),
15752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_03),
15852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_04),
15952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_05),
16052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_06),
16152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_07),
16252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_08),
16352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_09),
16452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_10),
16552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_11),
16652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_12),
16752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_13),
16852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_14),
16952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_15),
17052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_16),
17152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_17),
17252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_18),
17352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_19),
17452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_20),
17552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_21),
17652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_22),
17752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_23),
17852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_24),
17952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_25),
18052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_26),
18152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_27),
18252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_28),
18352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_29),
18452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_30),
18552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_31),
18652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_32),
18752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_33),
18852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_34),
18952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_35),
19052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_36),
19152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_37),
19252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_38),
19352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_39),
19452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_40),
19552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_EMC_41),
19652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_00),
19752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_01),
19852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_02),
19952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_03),
20052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_04),
20152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_05),
20252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_06),
20352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_07),
20452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_08),
20552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_09),
20652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_10),
20752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_11),
20852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_12),
20952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_13),
21052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_14),
21152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B0_15),
21252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_00),
21352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_01),
21452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_02),
21552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_03),
21652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_04),
21752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_05),
21852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_06),
21952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_07),
22052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_08),
22152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_09),
22252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_10),
22352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_11),
22452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_12),
22552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_13),
22652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_14),
22752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_AD_B1_15),
22852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_00),
22952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_01),
23052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_02),
23152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_03),
23252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_04),
23352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_05),
23452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_06),
23552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_07),
23652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_08),
23752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_09),
23852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_10),
23952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_11),
24052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_12),
24152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_13),
24252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_14),
24352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B0_15),
24452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_00),
24552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_01),
24652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_02),
24752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_03),
24852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_04),
24952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_05),
25052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_06),
25152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_07),
25252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_08),
25352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_09),
25452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_10),
25552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_11),
25652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_12),
25752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_13),
25852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_14),
25952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_B1_15),
26052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_00),
26152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_01),
26252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_02),
26352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_03),
26452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_04),
26552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B0_05),
26652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_00),
26752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_01),
26852d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_02),
26952d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_03),
27052d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_04),
27152d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_05),
27252d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_06),
27352d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_07),
27452d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_08),
27552d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_09),
27652d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_10),
27752d13b1dSJesse Taube 	IMX_PINCTRL_PIN(IMXRT1050_PAD_SD_B1_11),
278debc8b0bSGiulio Benetti };
279debc8b0bSGiulio Benetti 
280debc8b0bSGiulio Benetti static const struct imx_pinctrl_soc_info imxrt1050_pinctrl_info = {
281debc8b0bSGiulio Benetti 	.pins = imxrt1050_pinctrl_pads,
282debc8b0bSGiulio Benetti 	.npins = ARRAY_SIZE(imxrt1050_pinctrl_pads),
283debc8b0bSGiulio Benetti 	.gpr_compatible = "fsl,imxrt1050-iomuxc-gpr",
284debc8b0bSGiulio Benetti };
285debc8b0bSGiulio Benetti 
286debc8b0bSGiulio Benetti static const struct of_device_id imxrt1050_pinctrl_of_match[] = {
287debc8b0bSGiulio Benetti 	{ .compatible = "fsl,imxrt1050-iomuxc", .data = &imxrt1050_pinctrl_info, },
288debc8b0bSGiulio Benetti 	{ /* sentinel */ }
289debc8b0bSGiulio Benetti };
290debc8b0bSGiulio Benetti 
imxrt1050_pinctrl_probe(struct platform_device * pdev)291debc8b0bSGiulio Benetti static int imxrt1050_pinctrl_probe(struct platform_device *pdev)
292debc8b0bSGiulio Benetti {
293debc8b0bSGiulio Benetti 	return imx_pinctrl_probe(pdev, &imxrt1050_pinctrl_info);
294debc8b0bSGiulio Benetti }
295debc8b0bSGiulio Benetti 
296debc8b0bSGiulio Benetti static struct platform_driver imxrt1050_pinctrl_driver = {
297debc8b0bSGiulio Benetti 	.driver = {
298debc8b0bSGiulio Benetti 		.name = "imxrt1050-pinctrl",
299debc8b0bSGiulio Benetti 		.of_match_table = of_match_ptr(imxrt1050_pinctrl_of_match),
300debc8b0bSGiulio Benetti 		.suppress_bind_attrs = true,
301debc8b0bSGiulio Benetti 	},
302debc8b0bSGiulio Benetti 	.probe = imxrt1050_pinctrl_probe,
303debc8b0bSGiulio Benetti };
304debc8b0bSGiulio Benetti 
imxrt1050_pinctrl_init(void)305debc8b0bSGiulio Benetti static int __init imxrt1050_pinctrl_init(void)
306debc8b0bSGiulio Benetti {
307debc8b0bSGiulio Benetti 	return platform_driver_register(&imxrt1050_pinctrl_driver);
308debc8b0bSGiulio Benetti }
309debc8b0bSGiulio Benetti arch_initcall(imxrt1050_pinctrl_init);
310