Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / arch / arm / dts / poplar-pinctrl.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Pinctrl dts file for HiSilicon Poplar board
4  *
5  * Copyright (c) 2016-2018 HiSilicon Technologies Co., Ltd.
6  */
7
8 #include <dt-bindings/pinctrl/hisi.h>
9
10 /* value, enable bits, disable bits, mask */
11 #define PINCTRL_PULLDOWN(value, enable, disable, mask) \
12         (value << 13) (enable << 13) (disable << 13) (mask << 13)
13 #define PINCTRL_PULLUP(value, enable, disable, mask) \
14         (value << 12) (enable << 12) (disable << 12) (mask << 12)
15 #define PINCTRL_SLEW_RATE(value, mask)    (value << 8) (mask << 8)
16 #define PINCTRL_DRV_STRENGTH(value, mask) (value << 4) (mask << 4)
17
18 &pmx0 {
19         emmc_pins_1: emmc-pins-1 {
20                 pinctrl-single,pins = <
21                         0x000 MUX_M2
22                         0x004 MUX_M2
23                         0x008 MUX_M2
24                         0x00c MUX_M2
25                         0x010 MUX_M2
26                         0x014 MUX_M2
27                         0x018 MUX_M2
28                         0x01c MUX_M2
29                         0x024 MUX_M2
30                 >;
31                 pinctrl-single,bias-pulldown = <
32                         PINCTRL_PULLDOWN(0, 1, 0, 1)
33                 >;
34                 pinctrl-single,bias-pullup = <
35                         PINCTRL_PULLUP(0, 1, 0, 1)
36                 >;
37                 pinctrl-single,slew-rate = <
38                         PINCTRL_SLEW_RATE(1, 1)
39                 >;
40                 pinctrl-single,drive-strength = <
41                         PINCTRL_DRV_STRENGTH(0xb, 0xf)
42                 >;
43         };
44
45         emmc_pins_2: emmc-pins-2 {
46                 pinctrl-single,pins = <
47                         0x028 MUX_M2
48                 >;
49                 pinctrl-single,bias-pulldown = <
50                         PINCTRL_PULLDOWN(0, 1, 0, 1)
51                 >;
52                 pinctrl-single,bias-pullup = <
53                         PINCTRL_PULLUP(0, 1, 0, 1)
54                 >;
55                 pinctrl-single,slew-rate = <
56                         PINCTRL_SLEW_RATE(1, 1)
57                 >;
58                 pinctrl-single,drive-strength = <
59                         PINCTRL_DRV_STRENGTH(0x9, 0xf)
60                 >;
61         };
62
63         emmc_pins_3: emmc-pins-3 {
64                 pinctrl-single,pins = <
65                         0x02c MUX_M2
66                 >;
67                 pinctrl-single,bias-pulldown = <
68                         PINCTRL_PULLDOWN(0, 1, 0, 1)
69                 >;
70                 pinctrl-single,bias-pullup = <
71                         PINCTRL_PULLUP(0, 1, 0, 1)
72                 >;
73                 pinctrl-single,slew-rate = <
74                         PINCTRL_SLEW_RATE(1, 1)
75                 >;
76                 pinctrl-single,drive-strength = <
77                         PINCTRL_DRV_STRENGTH(3, 3)
78                 >;
79         };
80
81         emmc_pins_4: emmc-pins-4 {
82                 pinctrl-single,pins = <
83                         0x030 MUX_M2
84                 >;
85                 pinctrl-single,bias-pulldown = <
86                         PINCTRL_PULLDOWN(1, 1, 0, 1)
87                 >;
88                 pinctrl-single,bias-pullup = <
89                         PINCTRL_PULLUP(0, 1, 0, 1)
90                 >;
91                 pinctrl-single,slew-rate = <
92                         PINCTRL_SLEW_RATE(1, 1)
93                 >;
94                 pinctrl-single,drive-strength = <
95                         PINCTRL_DRV_STRENGTH(3, 3)
96                 >;
97         };
98 };