mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-19 20:13:49 -04:00
Pull devicetree fixes and cleanups from Rob Herring:
- Fix a regression when probing a child device reusing the parent
device's DT node pointer
- Refactor of_parse_phandle*() variants to static inlines
- Drop Enric Balletbo i Serra as a maintainer
- Fix DT schemas with arrays incorrectly encoded as a matrix
- Drop unneeded pinctrl properties from schemas
- Add SPI peripheral schema to SPI based displays
- Clean-up several schema examples
- Clean-up trivial-devices.yaml comments
- Add missing, in use vendor prefixes: Wingtech, Thundercomm, Huawei,
F(x)tec, 8devices
* tag 'devicetree-fixes-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
dt-bindings: google,cros-ec: drop Enric Balletbo i Serra from maintainers
dt-bindings: display: bridge: drop Enric Balletbo i Serra from maintainers
of: Check 'of_node_reused' flag on of_match_device()
of: property: define of_property_read_u{8,16,32,64}_array() unconditionally
of: base: make small of_parse_phandle() variants static inline
dt-bindings: mfd: cirrus,madera: Fix 'interrupts' in example
dt-bindings: Fix array schemas encoded as matrices
dt-bindings: Drop unnecessary pinctrl properties
dt-bindings: rtc: st,stm32-rtc: Make each example a separate entry
dt-bindings: mmc: arm,pl18x: Make each example a separate entry
dt-bindings: display: Add SPI peripheral schema to SPI based displays
scripts/dtc: dtx_diff: remove broken example from help text
dt-bindings: trivial-devices: fix double spaces in comments
dt-bindings: trivial-devices: fix swapped comments
dt-bindings: vendor-prefixes: add Wingtech
dt-bindings: vendor-prefixes: add Thundercomm
dt-bindings: vendor-prefixes: add Huawei
dt-bindings: vendor-prefixes: add F(x)tec
dt-bindings: vendor-prefixes: add 8devices
dt-bindings: power: reset: gpio-restart: Correct default priority
220 lines
5.1 KiB
YAML
220 lines
5.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ChromeOS Embedded Controller
|
|
|
|
maintainers:
|
|
- Benson Leung <bleung@chromium.org>
|
|
- Guenter Roeck <groeck@chromium.org>
|
|
|
|
description:
|
|
Google's ChromeOS EC is a microcontroller which talks to the AP and
|
|
implements various functions such as keyboard and battery charging.
|
|
The EC can be connected through various interfaces (I2C, SPI, and others)
|
|
and the compatible string specifies which interface is being used.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- description:
|
|
For implementations of the EC is connected through I2C.
|
|
const: google,cros-ec-i2c
|
|
- description:
|
|
For implementations of the EC is connected through SPI.
|
|
const: google,cros-ec-spi
|
|
- description:
|
|
For implementations of the EC is connected through RPMSG.
|
|
const: google,cros-ec-rpmsg
|
|
|
|
controller-data:
|
|
description:
|
|
SPI controller data, see bindings/spi/spi-samsung.txt
|
|
type: object
|
|
|
|
google,cros-ec-spi-pre-delay:
|
|
description:
|
|
This property specifies the delay in usecs between the
|
|
assertion of the CS and the first clock pulse.
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
|
- default: 0
|
|
- minimum: 0
|
|
|
|
google,cros-ec-spi-msg-delay:
|
|
description:
|
|
This property specifies the delay in usecs between messages.
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
|
- default: 0
|
|
- minimum: 0
|
|
|
|
google,has-vbc-nvram:
|
|
description:
|
|
Some implementations of the EC include a small nvram space used to
|
|
store verified boot context data. This boolean flag is used to specify
|
|
whether this nvram is present or not.
|
|
type: boolean
|
|
|
|
mediatek,rpmsg-name:
|
|
description:
|
|
Must be defined if the cros-ec is a rpmsg device for a Mediatek
|
|
ARM Cortex M4 Co-processor. Contains the name pf the rpmsg
|
|
device. Used to match the subnode to the rpmsg device announced by
|
|
the SCP.
|
|
$ref: "/schemas/types.yaml#/definitions/string"
|
|
|
|
spi-max-frequency:
|
|
description: Maximum SPI frequency of the device in Hz.
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
wakeup-source:
|
|
description: Button can wake-up the system.
|
|
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 0
|
|
|
|
typec:
|
|
$ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
|
|
|
|
ec-pwm:
|
|
$ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
|
|
|
|
keyboard-controller:
|
|
$ref: "/schemas/input/google,cros-ec-keyb.yaml#"
|
|
|
|
proximity:
|
|
$ref: "/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#"
|
|
|
|
codecs:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
'#address-cells':
|
|
const: 2
|
|
|
|
'#size-cells':
|
|
const: 1
|
|
|
|
patternProperties:
|
|
"^ec-codec@[a-f0-9]+$":
|
|
type: object
|
|
$ref: "/schemas/sound/google,cros-ec-codec.yaml#"
|
|
|
|
required:
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
cbas:
|
|
type: object
|
|
|
|
description:
|
|
This device is used to signal when a detachable base is attached
|
|
to a Chrome OS tablet. This device cannot be detected at runtime.
|
|
|
|
properties:
|
|
compatible:
|
|
const: google,cros-cbas
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
patternProperties:
|
|
"^i2c-tunnel[0-9]*$":
|
|
type: object
|
|
$ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
|
|
|
|
"^regulator@[0-9]+$":
|
|
type: object
|
|
$ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
|
|
|
|
"^extcon[0-9]*$":
|
|
type: object
|
|
$ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
|
|
|
|
required:
|
|
- compatible
|
|
|
|
if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- google,cros-ec-i2c
|
|
- google,cros-ec-rpmsg
|
|
then:
|
|
properties:
|
|
google,cros-ec-spi-pre-delay: false
|
|
google,cros-ec-spi-msg-delay: false
|
|
spi-max-frequency: false
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
# Example for I2C
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
i2c0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cros-ec@1e {
|
|
compatible = "google,cros-ec-i2c";
|
|
reg = <0x1e>;
|
|
interrupts = <6 0>;
|
|
interrupt-parent = <&gpio0>;
|
|
};
|
|
};
|
|
|
|
# Example for SPI
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
spi0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cros-ec@0 {
|
|
compatible = "google,cros-ec-spi";
|
|
reg = <0x0>;
|
|
google,cros-ec-spi-msg-delay = <30>;
|
|
google,cros-ec-spi-pre-delay = <10>;
|
|
interrupts = <99 0>;
|
|
interrupt-parent = <&gpio7>;
|
|
spi-max-frequency = <5000000>;
|
|
|
|
proximity {
|
|
compatible = "google,cros-ec-mkbp-proximity";
|
|
};
|
|
|
|
cbas {
|
|
compatible = "google,cros-cbas";
|
|
};
|
|
};
|
|
};
|
|
|
|
# Example for RPMSG
|
|
- |
|
|
scp0 {
|
|
cros-ec {
|
|
compatible = "google,cros-ec-rpmsg";
|
|
};
|
|
};
|
|
...
|