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/google,cros-ec.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/google,cros-ec.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: ChromeOS Embedded Controller
    8 
    9 maintainers:
   10   - Benson Leung <bleung@chromium.org>
   11   - Guenter Roeck <groeck@chromium.org>
   12 
   13 description:
   14   Google's ChromeOS EC is a microcontroller which talks to the AP and
   15   implements various functions such as keyboard and battery charging.
   16   The EC can be connected through various interfaces (I2C, SPI, and others)
   17   and the compatible string specifies which interface is being used.
   18 
   19 properties:
   20   compatible:
   21     oneOf:
   22       - description:
   23           For implementations of the EC is connected through I2C.
   24         const: google,cros-ec-i2c
   25       - description:
   26           For implementations of the EC is connected through SPI.
   27         const: google,cros-ec-spi
   28       - description:
   29           For implementations of the EC is connected through RPMSG.
   30         const: google,cros-ec-rpmsg
   31 
   32   controller-data:
   33     description:
   34       SPI controller data, see bindings/spi/samsung,spi-peripheral-props.yaml
   35     type: object
   36 
   37   google,cros-ec-spi-pre-delay:
   38     description:
   39       This property specifies the delay in usecs between the
   40       assertion of the CS and the first clock pulse.
   41     $ref: /schemas/types.yaml#/definitions/uint32
   42     default: 0
   43 
   44   google,cros-ec-spi-msg-delay:
   45     description:
   46       This property specifies the delay in usecs between messages.
   47     $ref: /schemas/types.yaml#/definitions/uint32
   48     default: 0
   49 
   50   google,has-vbc-nvram:
   51     description:
   52       Some implementations of the EC include a small nvram space used to
   53       store verified boot context data. This boolean flag is used to specify
   54       whether this nvram is present or not.
   55     type: boolean
   56 
   57   mediatek,rpmsg-name:
   58     description:
   59       Must be defined if the cros-ec is a rpmsg device for a Mediatek
   60       ARM Cortex M4 Co-processor. Contains the name of the rpmsg
   61       device. Used to match the subnode to the rpmsg device announced by
   62       the SCP.
   63     $ref: "/schemas/types.yaml#/definitions/string"
   64 
   65   spi-max-frequency:
   66     description: Maximum SPI frequency of the device in Hz.
   67 
   68   reg:
   69     maxItems: 1
   70 
   71   interrupts:
   72     maxItems: 1
   73 
   74   wakeup-source:
   75     description: Button can wake-up the system.
   76 
   77   '#address-cells':
   78     const: 1
   79 
   80   '#size-cells':
   81     const: 0
   82 
   83   typec:
   84     $ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
   85 
   86   ec-pwm:
   87     $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
   88     deprecated: true
   89 
   90   pwm:
   91     $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
   92 
   93   kbd-led-backlight:
   94     $ref: "/schemas/chrome/google,cros-kbd-led-backlight.yaml#"
   95 
   96   keyboard-controller:
   97     $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
   98 
   99   proximity:
  100     $ref: "/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#"
  101 
  102   codecs:
  103     type: object
  104     additionalProperties: false
  105 
  106     properties:
  107       '#address-cells':
  108         const: 2
  109 
  110       '#size-cells':
  111         const: 1
  112 
  113     patternProperties:
  114       "^ec-codec@[a-f0-9]+$":
  115         type: object
  116         $ref: "/schemas/sound/google,cros-ec-codec.yaml#"
  117 
  118     required:
  119       - "#address-cells"
  120       - "#size-cells"
  121 
  122   cbas:
  123     type: object
  124 
  125     description:
  126       This device is used to signal when a detachable base is attached
  127       to a Chrome OS tablet. This device cannot be detected at runtime.
  128 
  129     properties:
  130       compatible:
  131         const: google,cros-cbas
  132 
  133     required:
  134       - compatible
  135 
  136     additionalProperties: false
  137 
  138 patternProperties:
  139   "^i2c-tunnel[0-9]*$":
  140     type: object
  141     $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
  142 
  143   "^regulator@[0-9]+$":
  144     type: object
  145     $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
  146 
  147   "^extcon[0-9]*$":
  148     type: object
  149     $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
  150 
  151 required:
  152   - compatible
  153 
  154 allOf:
  155   - if:
  156       properties:
  157         compatible:
  158           contains:
  159             enum:
  160               - google,cros-ec-i2c
  161               - google,cros-ec-rpmsg
  162     then:
  163       properties:
  164         google,cros-ec-spi-pre-delay: false
  165         google,cros-ec-spi-msg-delay: false
  166         spi-max-frequency: false
  167     else:
  168       $ref: /schemas/spi/spi-peripheral-props.yaml
  169 
  170 additionalProperties: false
  171 
  172 examples:
  173   # Example for I2C
  174   - |
  175     #include <dt-bindings/gpio/gpio.h>
  176     #include <dt-bindings/interrupt-controller/irq.h>
  177 
  178     i2c0 {
  179         #address-cells = <1>;
  180         #size-cells = <0>;
  181 
  182         cros-ec@1e {
  183             compatible = "google,cros-ec-i2c";
  184             reg = <0x1e>;
  185             interrupts = <6 0>;
  186             interrupt-parent = <&gpio0>;
  187         };
  188     };
  189 
  190   # Example for SPI
  191   - |
  192     #include <dt-bindings/gpio/gpio.h>
  193     #include <dt-bindings/interrupt-controller/irq.h>
  194 
  195     spi0 {
  196         #address-cells = <1>;
  197         #size-cells = <0>;
  198 
  199         cros-ec@0 {
  200             compatible = "google,cros-ec-spi";
  201             reg = <0x0>;
  202             google,cros-ec-spi-msg-delay = <30>;
  203             google,cros-ec-spi-pre-delay = <10>;
  204             interrupts = <99 0>;
  205             interrupt-parent = <&gpio7>;
  206             spi-max-frequency = <5000000>;
  207 
  208             proximity {
  209                 compatible = "google,cros-ec-mkbp-proximity";
  210             };
  211 
  212             cbas {
  213                 compatible = "google,cros-cbas";
  214             };
  215         };
  216     };
  217 
  218   # Example for RPMSG
  219   - |
  220     scp0 {
  221         cros-ec {
  222             compatible = "google,cros-ec-rpmsg";
  223         };
  224     };
  225 ...

Cache object: 39457b5e72b4254b7f7b53ced42d8159


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