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/qcom,msm8960-pinctrl.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 Qualcomm MSM8960 TLMM block
    2 
    3 This binding describes the Top Level Mode Multiplexer block found in the
    4 MSM8960 platform.
    5 
    6 - compatible:
    7         Usage: required
    8         Value type: <string>
    9         Definition: must be "qcom,msm8960-pinctrl"
   10 
   11 - reg:
   12         Usage: required
   13         Value type: <prop-encoded-array>
   14         Definition: the base address and size of the TLMM register space.
   15 
   16 - interrupts:
   17         Usage: required
   18         Value type: <prop-encoded-array>
   19         Definition: should specify the TLMM summary IRQ.
   20 
   21 - interrupt-controller:
   22         Usage: required
   23         Value type: <none>
   24         Definition: identifies this node as an interrupt controller
   25 
   26 - #interrupt-cells:
   27         Usage: required
   28         Value type: <u32>
   29         Definition: must be 2. Specifying the pin number and flags, as defined
   30                     in <dt-bindings/interrupt-controller/irq.h>
   31 
   32 - gpio-controller:
   33         Usage: required
   34         Value type: <none>
   35         Definition: identifies this node as a gpio controller
   36 
   37 - #gpio-cells:
   38         Usage: required
   39         Value type: <u32>
   40         Definition: must be 2. Specifying the pin number and flags, as defined
   41                     in <dt-bindings/gpio/gpio.h>
   42 
   43 - gpio-ranges:
   44         Usage: required
   45         Definition:  see ../gpio/gpio.txt
   46 
   47 - gpio-reserved-ranges:
   48         Usage: optional
   49         Definition: see ../gpio/gpio.txt
   50 
   51 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
   52 a general description of GPIO and interrupt bindings.
   53 
   54 Please refer to pinctrl-bindings.txt in this directory for details of the
   55 common pinctrl bindings used by client devices, including the meaning of the
   56 phrase "pin configuration node".
   57 
   58 The pin configuration nodes act as a container for an arbitrary number of
   59 subnodes. Each of these subnodes represents some desired configuration for a
   60 pin, a group, or a list of pins or groups. This configuration can include the
   61 mux function to select on those pin(s)/group(s), and various pin configuration
   62 parameters, such as pull-up, drive strength, etc.
   63 
   64 
   65 PIN CONFIGURATION NODES:
   66 
   67 The name of each subnode is not important; all subnodes should be enumerated
   68 and processed purely based on their content.
   69 
   70 Each subnode only affects those parameters that are explicitly listed. In
   71 other words, a subnode that lists a mux function but no pin configuration
   72 parameters implies no information about any pin configuration parameters.
   73 Similarly, a pin subnode that describes a pullup parameter implies no
   74 information about e.g. the mux function.
   75 
   76 
   77 The following generic properties as defined in pinctrl-bindings.txt are valid
   78 to specify in a pin configuration subnode:
   79 
   80 - pins:
   81         Usage: required
   82         Value type: <string-array>
   83         Definition: List of gpio pins affected by the properties specified in
   84                     this subnode.  Valid pins are:
   85                     gpio0-gpio151,
   86                     sdc1_clk,
   87                     sdc1_cmd,
   88                     sdc1_data
   89                     sdc3_clk,
   90                     sdc3_cmd,
   91                     sdc3_data
   92 
   93 - function:
   94         Usage: required
   95         Value type: <string>
   96         Definition: Specify the alternative function to be configured for the
   97                     specified pins. Functions are only valid for gpio pins.
   98                     Valid values are:
   99                     audio_pcm, bt, cam_mclk0, cam_mclk1, cam_mclk2,
  100                     codec_mic_i2s, codec_spkr_i2s, ext_gps, fm, gps_blanking,
  101                     gps_pps_in, gps_pps_out, gp_clk_0a, gp_clk_0b, gp_clk_1a,
  102                     gp_clk_1b, gp_clk_2a, gp_clk_2b, gp_mn, gp_pdm_0a,
  103                     gp_pdm_0b, gp_pdm_1a, gp_pdm_1b, gp_pdm_2a, gp_pdm_2b, gpio,
  104                     gsbi1, gsbi1_spi_cs1_n, gsbi1_spi_cs2a_n, gsbi1_spi_cs2b_n,
  105                     gsbi1_spi_cs3_n, gsbi2, gsbi2_spi_cs1_n, gsbi2_spi_cs2_n,
  106                     gsbi2_spi_cs3_n, gsbi3, gsbi4, gsbi4_3d_cam_i2c_l,
  107                     gsbi4_3d_cam_i2c_r, gsbi5, gsbi5_3d_cam_i2c_l,
  108                     gsbi5_3d_cam_i2c_r, gsbi6, gsbi7, gsbi8, gsbi9, gsbi10,
  109                     gsbi11, gsbi11_spi_cs1a_n, gsbi11_spi_cs1b_n,
  110                     gsbi11_spi_cs2a_n, gsbi11_spi_cs2b_n, gsbi11_spi_cs3_n,
  111                     gsbi12, hdmi_cec, hdmi_ddc_clock, hdmi_ddc_data,
  112                     hdmi_hot_plug_detect, hsic, mdp_vsync, mi2s, mic_i2s,
  113                     pmb_clk, pmb_ext_ctrl, ps_hold, rpm_wdog, sdc2, sdc4, sdc5,
  114                     slimbus1, slimbus2, spkr_i2s, ssbi1, ssbi2, ssbi_ext_gps,
  115                     ssbi_pmic2, ssbi_qpa1, ssbi_ts, tsif1, tsif2, ts_eoc,
  116                     usb_fs1, usb_fs1_oe, usb_fs1_oe_n, usb_fs2, usb_fs2_oe,
  117                     usb_fs2_oe_n, vfe_camif_timer1_a, vfe_camif_timer1_b,
  118                     vfe_camif_timer2, vfe_camif_timer3_a, vfe_camif_timer3_b,
  119                     vfe_camif_timer4_a, vfe_camif_timer4_b, vfe_camif_timer4_c,
  120                     vfe_camif_timer5_a, vfe_camif_timer5_b, vfe_camif_timer6_a,
  121                     vfe_camif_timer6_b, vfe_camif_timer6_c, vfe_camif_timer7_a,
  122                     vfe_camif_timer7_b, vfe_camif_timer7_c, wlan
  123 
  124 - bias-disable:
  125         Usage: optional
  126         Value type: <none>
  127         Definition: The specified pins should be configured as no pull.
  128 
  129 - bias-pull-down:
  130         Usage: optional
  131         Value type: <none>
  132         Definition: The specified pins should be configured as pull down.
  133 
  134 - bias-pull-up:
  135         Usage: optional
  136         Value type: <none>
  137         Definition: The specified pins should be configured as pull up.
  138 
  139 - output-high:
  140         Usage: optional
  141         Value type: <none>
  142         Definition: The specified pins are configured in output mode, driven
  143                     high.
  144                     Not valid for sdc pins.
  145 
  146 - output-low:
  147         Usage: optional
  148         Value type: <none>
  149         Definition: The specified pins are configured in output mode, driven
  150                     low.
  151                     Not valid for sdc pins.
  152 
  153 - drive-strength:
  154         Usage: optional
  155         Value type: <u32>
  156         Definition: Selects the drive strength for the specified pins, in mA.
  157                     Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
  158 
  159 Example:
  160 
  161         msmgpio: pinctrl@800000 {
  162                 compatible = "qcom,msm8960-pinctrl";
  163                 reg = <0x800000 0x4000>;
  164 
  165                 gpio-controller;
  166                 #gpio-cells = <2>;
  167                 gpio-ranges = <&msmgpio 0 0 152>;
  168                 interrupt-controller;
  169                 #interrupt-cells = <2>;
  170                 interrupts = <0 16 0x4>;
  171 
  172                 gsbi8_uart: gsbi8-uart {
  173                         mux {
  174                                 pins = "gpio34", "gpio35";
  175                                 function = "gsbi8";
  176                         };
  177 
  178                         tx {
  179                                 pins = "gpio34";
  180                                 drive-strength = <4>;
  181                                 bias-disable;
  182                         };
  183 
  184                         rx {
  185                                 pins = "gpio35";
  186                                 drive-strength = <2>;
  187                                 bias-pull-up;
  188                         };
  189                 };
  190         };

Cache object: a94ec0990f503635a4e9b23a6b8cedfa


[ 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.