linux/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
<<
>>
Prefs
   1ST Ericsson abx500 pinmux controller
   2
   3Required properties:
   4- compatible: "stericsson,ab8500-gpio",  "stericsson,ab8540-gpio",
   5              "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
   6
   7Please refer to pinctrl-bindings.txt in this directory for details of the
   8common pinctrl bindings used by client devices, including the meaning of the
   9phrase "pin configuration node".
  10
  11ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
  12subnodes. Each of these subnodes represents some desired configuration for a
  13pin, a group, or a list of pins or groups. This configuration can include the
  14mux function to select on those pin(s)/group(s), and various pin configuration
  15parameters, such as input, output, pull up, pull down...
  16
  17The name of each subnode is not important; all subnodes should be enumerated
  18and processed purely based on their content.
  19
  20Required subnode-properties:
  21- ste,pins : An array of strings. Each string contains the name of a pin or
  22    group.
  23
  24Optional subnode-properties:
  25- ste,function: A string containing the name of the function to mux to the
  26  pin or group.
  27
  28- generic pin configuration option to use. Example :
  29
  30        default_cfg {
  31                ste,pins = "GPIO1";
  32                bias-disable;
  33        };
  34
  35- ste,config: Handle of pin configuration node containing the generic
  36  pinconfig options to use, as described in pinctrl-bindings.txt in
  37  this directory. Example :
  38
  39        pcfg_bias_disable: pcfg_bias_disable {
  40                bias-disable;
  41        };
  42
  43        default_cfg {
  44                ste,pins = "GPIO1";
  45                ste.config = <&pcfg_bias_disable>;
  46        };
  47
  48Example board file extract:
  49
  50&pinctrl_abx500 {
  51        pinctrl-names = "default";
  52        pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>;
  53
  54        sysclkreq2 {
  55                sysclkreq2_default_mode: sysclkreq2_default {
  56                        default_mux {
  57                                ste,function = "sysclkreq";
  58                                ste,pins = "sysclkreq2_d_1";
  59                        };
  60                        default_cfg {
  61                                ste,pins = "GPIO1";
  62                                bias-disable;
  63                        };
  64                };
  65        };
  66        sysclkreq3 {
  67                sysclkreq3_default_mode: sysclkreq3_default {
  68                        default_mux {
  69                                ste,function = "sysclkreq";
  70                                ste,pins = "sysclkreq3_d_1";
  71                        };
  72                        default_cfg {
  73                                ste,pins = "GPIO2";
  74                                output-low;
  75                        };
  76                };
  77        };
  78        gpio3 {
  79                gpio3_default_mode: gpio3_default {
  80                        default_mux {
  81                                ste,function = "gpio";
  82                                ste,pins = "gpio3_a_1";
  83                        };
  84                        default_cfg {
  85                                ste,pins = "GPIO3";
  86                                output-low;
  87                        };
  88                };
  89        };
  90        sysclkreq6 {
  91                sysclkreq6_default_mode: sysclkreq6_default {
  92                        default_mux {
  93                                ste,function = "sysclkreq";
  94                                ste,pins = "sysclkreq6_d_1";
  95                        };
  96                        default_cfg {
  97                                ste,pins = "GPIO4";
  98                                bias-disable;
  99                        };
 100                };
 101        };
 102        pwmout1 {
 103                pwmout1_default_mode: pwmout1_default {
 104                        default_mux {
 105                                ste,function = "pwmout";
 106                                ste,pins = "pwmout1_d_1";
 107                        };
 108                        default_cfg {
 109                                ste,pins = "GPIO14";
 110                                output-low;
 111                        };
 112                };
 113        };
 114        pwmout2 {
 115                pwmout2_default_mode: pwmout2_default {
 116                        pwmout2_default_mux {
 117                                ste,function = "pwmout";
 118                                ste,pins = "pwmout2_d_1";
 119                        };
 120                        pwmout2_default_cfg {
 121                                ste,pins = "GPIO15";
 122                                output-low;
 123                        };
 124                };
 125        };
 126        pwmout3 {
 127                pwmout3_default_mode: pwmout3_default {
 128                        pwmout3_default_mux {
 129                                ste,function = "pwmout";
 130                                ste,pins = "pwmout3_d_1";
 131                        };
 132                        pwmout3_default_cfg {
 133                                ste,pins = "GPIO16";
 134                                output-low;
 135                        };
 136                };
 137        };
 138        adi1 {
 139
 140                adi1_default_mode: adi1_default {
 141                        adi1_default_mux {
 142                                ste,function = "adi1";
 143                                ste,pins = "adi1_d_1";
 144                        };
 145                        adi1_default_cfg1 {
 146                                ste,pins = "GPIO17","GPIO19","GPIO20";
 147                                bias-disable;
 148                        };
 149                        adi1_default_cfg2 {
 150                                ste,pins = "GPIO18";
 151                                output-low;
 152                        };
 153                };
 154        };
 155        dmic12 {
 156                dmic12_default_mode: dmic12_default {
 157                        dmic12_default_mux {
 158                                ste,function = "dmic";
 159                                ste,pins = "dmic12_d_1";
 160                        };
 161                        dmic12_default_cfg1 {
 162                                ste,pins = "GPIO27";
 163                                output-low;
 164                        };
 165                        dmic12_default_cfg2 {
 166                                ste,pins = "GPIO28";
 167                                bias-disable;
 168                        };
 169                };
 170        };
 171        dmic34 {
 172                dmic34_default_mode: dmic34_default {
 173                        dmic34_default_mux {
 174                                ste,function = "dmic";
 175                                ste,pins = "dmic34_d_1";
 176                        };
 177                        dmic34_default_cfg1 {
 178                                ste,pins = "GPIO29";
 179                                output-low;
 180                        };
 181                        dmic34_default_cfg2 {
 182                                ste,pins = "GPIO30";
 183                                bias-disable;{
 184
 185                        };
 186                };
 187        };
 188        dmic56 {
 189                dmic56_default_mode: dmic56_default {
 190                        dmic56_default_mux {
 191                                ste,function = "dmic";
 192                                ste,pins = "dmic56_d_1";
 193                        };
 194                        dmic56_default_cfg1 {
 195                                ste,pins = "GPIO31";
 196                                output-low;
 197                        };
 198                        dmic56_default_cfg2 {
 199                                ste,pins = "GPIO32";
 200                                bias-disable;
 201                        };
 202                };
 203        };
 204        sysclkreq5 {
 205                sysclkreq5_default_mode: sysclkreq5_default {
 206                        sysclkreq5_default_mux {
 207                                ste,function = "sysclkreq";
 208                                ste,pins = "sysclkreq5_d_1";
 209                        };
 210                        sysclkreq5_default_cfg {
 211                                ste,pins = "GPIO42";
 212                                output-low;
 213                        };
 214                };
 215        };
 216        batremn {
 217                batremn_default_mode: batremn_default {
 218                        batremn_default_mux {
 219                                ste,function = "batremn";
 220                                ste,pins = "batremn_d_1";
 221                        };
 222                        batremn_default_cfg {
 223                                ste,pins = "GPIO43";
 224                                bias-disable;
 225                        };
 226                };
 227        };
 228        service {
 229                service_default_mode: service_default {
 230                        service_default_mux {
 231                                ste,function = "service";
 232                                ste,pins = "service_d_1";
 233                        };
 234                        service_default_cfg {
 235                                ste,pins = "GPIO44";
 236                                bias-disable;
 237                        };
 238                };
 239        };
 240        pwrctrl0 {
 241                pwrctrl0_default_mux: pwrctrl0_mux {
 242                        pwrctrl0_default_mux {
 243                                ste,function = "pwrctrl";
 244                                ste,pins = "pwrctrl0_d_1";
 245                        };
 246                };
 247                pwrctrl0_default_mode: pwrctrl0_default {
 248                        pwrctrl0_default_cfg {
 249                                ste,pins = "GPIO45";
 250                                bias-disable;
 251                        };
 252                };
 253        };
 254        pwrctrl1 {
 255                pwrctrl1_default_mux: pwrctrl1_mux {
 256                        pwrctrl1_default_mux {
 257                                ste,function = "pwrctrl";
 258                                ste,pins = "pwrctrl1_d_1";
 259                        };
 260                };
 261                pwrctrl1_default_mode: pwrctrl1_default {
 262                        pwrctrl1_default_cfg {
 263                                ste,pins = "GPIO46";
 264                                bias-disable;
 265                        };
 266                };
 267        };
 268        pwmextvibra1 {
 269                pwmextvibra1_default_mode: pwmextvibra1_default {
 270                        pwmextvibra1_default_mux {
 271                                ste,function = "pwmextvibra";
 272                                ste,pins = "pwmextvibra1_d_1";
 273                        };
 274                        pwmextvibra1_default_cfg {
 275                                ste,pins = "GPIO47";
 276                                bias-disable;
 277                        };
 278                };
 279        };
 280        pwmextvibra2 {
 281                pwmextvibra2_default_mode: pwmextvibra2_default {
 282                        pwmextvibra2_default_mux {
 283                                ste,function = "pwmextvibra";
 284                                ste,pins = "pwmextvibra2_d_1";
 285                        };
 286                        pwmextvibra1_default_cfg {
 287                                ste,pins = "GPIO48";
 288                                bias-disable;
 289                        };
 290                };
 291        };
 292        gpio51 {
 293                gpio51_default_mode: gpio51_default {
 294                                gpio51_default_mux {
 295                                ste,function = "gpio";
 296                                ste,pins = "gpio51_a_1";
 297                        };
 298                        gpio51_default_cfg {
 299                                ste,pins = "GPIO51";
 300                                output-low;
 301                        };
 302                };
 303        };
 304        gpio52 {
 305                gpio52_default_mode: gpio52_default {
 306                        gpio52_default_mux {
 307                                ste,function = "gpio";
 308                                ste,pins = "gpio52_a_1";
 309                        };
 310                        gpio52_default_cfg {
 311                                ste,pins = "GPIO52";
 312                                bias-pull-down;
 313                        };
 314                };
 315        };
 316        gpio53 {
 317                gpio53_default_mode: gpio53_default {
 318                        gpio53_default_mux {
 319                                ste,function = "gpio";
 320                                ste,pins = "gpio53_a_1";
 321                        };
 322                        gpio53_default_cfg {
 323                                ste,pins = "GPIO53";
 324                                bias-pull-down;
 325                        };
 326                };
 327        };
 328        gpio54 {
 329                gpio54_default_mode: gpio54_default {
 330                        gpio54_default_mux {
 331                                ste,function = "gpio";
 332                                ste,pins = "gpio54_a_1";
 333                        };
 334                        gpio54_default_cfg {
 335                                ste,pins = "GPIO54";
 336                                output-low;
 337                        };
 338                };
 339        };
 340        pdmclkdat {
 341                pdmclkdat_default_mode: pdmclkdat_default {
 342                        pdmclkdat_default_mux {
 343                                ste,function = "pdm";
 344                                ste,pins = "pdmclkdat_d_1";
 345                        };
 346                        pdmclkdat_default_cfg {
 347                                ste,pins = "GPIO55", "GPIO56";
 348                                bias-disable;
 349                        };
 350                };
 351        };
 352};
 353