~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Broadcom BCM2835 GPIO (and pinmux) controller
  2 
  3 The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt
  4 controller, and pinmux/control device.
  5 
  6 Required properties:
  7 - compatible: "brcm,bcm2835-gpio"
  8 - compatible: should be one of:
  9   "brcm,bcm2835-gpio" - BCM2835 compatible pinctrl
 10   "brcm,bcm7211-gpio" - BCM7211 compatible pinctrl
 11   "brcm,bcm2711-gpio" - BCM2711 compatible pinctrl
 12   "brcm,bcm7211-gpio" - BCM7211 compatible pinctrl
 13 - reg: Should contain the physical address of the GPIO module's registers.
 14 - gpio-controller: Marks the device node as a GPIO controller.
 15 - #gpio-cells : Should be two. The first cell is the pin number and the
 16   second cell is used to specify optional parameters:
 17   - bit 0 specifies polarity (0 for normal, 1 for inverted)
 18 - interrupts : The interrupt outputs from the controller. One interrupt per
 19   individual bank followed by the "all banks" interrupt. For BCM7211, an
 20   additional set of per-bank interrupt line and an "all banks" wake-up
 21   interrupt may be specified.
 22 - interrupt-controller: Marks the device node as an interrupt controller.
 23 - #interrupt-cells : Should be 2.
 24   The first cell is the GPIO number.
 25   The second cell is used to specify flags:
 26     bits[3:0] trigger type and level flags:
 27       1 = low-to-high edge triggered.
 28       2 = high-to-low edge triggered.
 29       4 = active high level-sensitive.
 30       8 = active low level-sensitive.
 31     Valid combinations are 1, 2, 3, 4, 8.
 32 
 33 Please refer to ../gpio/gpio.txt for a general description of GPIO bindings.
 34 
 35 Please refer to pinctrl-bindings.txt in this directory for details of the
 36 common pinctrl bindings used by client devices, including the meaning of the
 37 phrase "pin configuration node".
 38 
 39 Each pin configuration node lists the pin(s) to which it applies, and one or
 40 more of the mux function to select on those pin(s), and pull-up/down
 41 configuration. Each subnode only affects those parameters that are explicitly
 42 listed. In other words, a subnode that lists only a mux function implies no
 43 information about any pull configuration. Similarly, a subnode that lists only
 44 a pul parameter implies no information about the mux function.
 45 
 46 The BCM2835 pin configuration and multiplexing supports the generic bindings.
 47 For details on each properties, you can refer to ./pinctrl-bindings.txt.
 48 
 49 Required sub-node properties:
 50   - pins
 51   - function
 52 
 53 Optional sub-node properties:
 54   - bias-disable
 55   - bias-pull-up
 56   - bias-pull-down
 57   - output-high
 58   - output-low
 59 
 60 Legacy pin configuration and multiplexing binding:
 61 *** (Its use is deprecated, use generic multiplexing and configuration
 62 bindings instead)
 63 
 64 Required subnode-properties:
 65 - brcm,pins: An array of cells. Each cell contains the ID of a pin. Valid IDs
 66   are the integer GPIO IDs; 0==GPIO0, 1==GPIO1, ... 53==GPIO53.
 67 
 68 Optional subnode-properties:
 69 - brcm,function: Integer, containing the function to mux to the pin(s):
 70   0: GPIO in
 71   1: GPIO out
 72   2: alt5
 73   3: alt4
 74   4: alt0
 75   5: alt1
 76   6: alt2
 77   7: alt3
 78 - brcm,pull: Integer, representing the pull-down/up to apply to the pin(s):
 79   0: none
 80   1: down
 81   2: up
 82 
 83 Each of brcm,function and brcm,pull may contain either a single value which
 84 will be applied to all pins in brcm,pins, or 1 value for each entry in
 85 brcm,pins.
 86 
 87 Example:
 88 
 89         gpio: gpio {
 90                 compatible = "brcm,bcm2835-gpio";
 91                 reg = <0x2200000 0xb4>;
 92                 interrupts = <2 17>, <2 19>, <2 18>, <2 20>;
 93 
 94                 gpio-controller;
 95                 #gpio-cells = <2>;
 96 
 97                 interrupt-controller;
 98                 #interrupt-cells = <2>;
 99         };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php