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/mfd/st,stmfx.yaml

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 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mfd/st,stmfx.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: STMicroelectonics Multi-Function eXpander (STMFX) bindings
    8 
    9 description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
   10                communication with the main MCU. Its main features are GPIO expansion,
   11                main MCU IDD measurement (IDD is the amount of current that flows
   12                through VDD) and resistive touchscreen controller.
   13 
   14 maintainers:
   15   - Amelie Delaunay <amelie.delaunay@foss.st.com>
   16 
   17 properties:
   18   compatible:
   19     const: st,stmfx-0300
   20 
   21   reg:
   22     enum: [ 0x42, 0x43 ]
   23 
   24   interrupts:
   25     maxItems: 1
   26 
   27   drive-open-drain: true
   28 
   29   vdd-supply: true
   30 
   31   pinctrl:
   32     type: object
   33 
   34     properties:
   35       compatible:
   36         const: st,stmfx-0300-pinctrl
   37 
   38       "#gpio-cells":
   39         const: 2
   40 
   41       "#interrupt-cells":
   42         const: 2
   43 
   44       gpio-controller: true
   45 
   46       interrupt-controller: true
   47 
   48       gpio-ranges:
   49         description: if all STMFX pins[24:0] are available (no other STMFX function in use),
   50                      you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
   51                      if agpio[3:0] are not available (STMFX Touchscreen function in use),
   52                      you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
   53                      if agpio[7:4] are not available (STMFX IDD function in use),
   54                      you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
   55         maxItems: 1
   56 
   57     patternProperties:
   58       "^[a-zA-Z]*-pins$":
   59         type: object
   60 
   61         allOf:
   62           - $ref: ../pinctrl/pinmux-node.yaml
   63 
   64         properties:
   65           pins: true
   66           bias-disable: true
   67           bias-pull-up: true
   68           bias-pull-pin-default: true
   69           bias-pull-down: true
   70           drive-open-drain: true
   71           drive-push-pull: true
   72           output-high: true
   73           output-low: true
   74 
   75     additionalProperties: false
   76 
   77     required:
   78       - compatible
   79       - "#gpio-cells"
   80       - "#interrupt-cells"
   81       - gpio-controller
   82       - interrupt-controller
   83       - gpio-ranges
   84 
   85 additionalProperties: false
   86 
   87 required:
   88   - compatible
   89   - reg
   90   - interrupts
   91 
   92 examples:
   93   - |
   94     #include <dt-bindings/interrupt-controller/arm-gic.h>
   95     i2c {
   96       #address-cells = <1>;
   97       #size-cells = <0>;
   98       stmfx@42 {
   99         compatible = "st,stmfx-0300";
  100         reg = <0x42>;
  101         interrupts = <8 IRQ_TYPE_EDGE_RISING>;
  102         interrupt-parent = <&gpioi>;
  103         vdd-supply = <&v3v3>;
  104 
  105         stmfx_pinctrl: pinctrl {
  106           compatible = "st,stmfx-0300-pinctrl";
  107           #gpio-cells = <2>;
  108           #interrupt-cells = <2>;
  109           gpio-controller;
  110           interrupt-controller;
  111           gpio-ranges = <&stmfx_pinctrl 0 0 24>;
  112 
  113           joystick_pins: joystick-pins {
  114             pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
  115             drive-push-pull;
  116             bias-pull-up;
  117           };
  118         };
  119       };
  120     };
  121 ...

Cache object: 46e4f8f2e762b989774c888c4b126730


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