The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/pinctrl/pinctrl-atlas7.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 CSR SiRFatlas7 pinmux controller
    2 
    3 Required properties:
    4 - compatible    : "sirf,atlas7-ioc"
    5 - reg           : Address range of the pinctrl registers
    6 
    7 For example, pinctrl might have properties like the following:
    8         pinctrl: ioc@18880000 {
    9                         compatible = "sirf,atlas7-ioc";
   10                         reg = <0x18880000 0x1000>;
   11 
   12                         a_ac97_pmx: ac97@0 {
   13                                 ac97 {
   14                                         groups = "audio_ac97_grp";
   15                                         function = "audio_ac97";
   16                                 };
   17                         };
   18 
   19                         ...
   20 
   21                         sd2_pmx: sd2@0 {
   22                                 sd2 {
   23                                         groups = "sd2_grp0";
   24                                         function = "sd2";
   25                                 };
   26                         };
   27 
   28                         ...
   29 
   30 
   31                         sample0_cfg: sample0@0 {
   32                                 sample0 {
   33                                         pins = "ldd_0", "ldd_1";
   34                                         bias-pull-up;
   35                                 };
   36                         };
   37 
   38                         sample1_cfg: sample1@0 {
   39                                 sample1 {
   40                                         pins = "ldd_2", "ldd_3";
   41                                         input-schmitt-enable;
   42                                 };
   43                         };
   44 
   45                         sample2_cfg: sample2@0 {
   46                                 sample2 {
   47                                         groups = "uart4_nopause_grp";
   48                                         bias-pull-down;
   49                                 };
   50                         };
   51 
   52                         sample3_cfg: sample3@0 {
   53                                 sample3 {
   54                                         pins = "ldd_4", "ldd_5";
   55                                         drive-strength = <2>;
   56                                 };
   57                         };
   58         };
   59 
   60 Please refer to pinctrl-bindings.txt in this directory for details of the common
   61 pinctrl bindings used by client devices.
   62 
   63 SiRFatlas7's pinmux nodes act as a container for an arbitrary number of subnodes.
   64 Each of these subnodes represents some desired configuration for a group of pins.
   65 
   66 Required subnode-properties:
   67 - groups : An array of strings. Each string contains the name of a group.
   68 - function: A string containing the name of the function to mux to the
   69   group.
   70 
   71   Valid values for group and function names can be found from looking at the
   72   group and function arrays in driver files:
   73   drivers/pinctrl/pinctrl-sirf.c
   74 
   75 For example, pinctrl might have subnodes like the following:
   76         sd0_pmx: sd0@0 {
   77                 sd0 {
   78                         groups = "sd0_grp";
   79                         function = "sd0";
   80                 };
   81         };
   82 
   83         sd1_pmx0: sd1@0 {
   84                 sd1 {
   85                         groups = "sd1_grp0";
   86                         function = "sd1_m0";
   87                 };
   88         };
   89 
   90         sd1_pmx1: sd1@1 {
   91                 sd1 {
   92                         groups = "sd1_grp1";
   93                         function = "sd1_m1";
   94                 };
   95         };
   96 
   97 For a specific board, if it wants to use sd1,
   98 it can add the following to its board-specific .dts file.
   99 sd1: sd@12340000 {
  100         pinctrl-names = "default";
  101         pinctrl-0 = <&sd1_pmx0>;
  102 }
  103 
  104 or
  105 
  106 sd1: sd@12340000 {
  107         pinctrl-names = "default";
  108         pinctrl-0 = <&sd1_pmx1>;
  109 }

Cache object: c6a2e5d1631fb4193deaa453e66f6f41


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.