mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 00:04:01 -04:00
Various properties in the cros-ec binding only apply to different compatible strings. For example, the interrupts and reg property are required for all cros-ec devices except for the rpmsg version. Add some conditions to update the availability of properties so that they can't be used with compatibles that don't support them. This reveals that many of the examples in bindings that use cros-ec were missing the interrupts property. Add the property to make those bindings whole again. Reviewed-by: Rob Herring <robh@kernel.org> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: <devicetree@vger.kernel.org> Cc: <chrome-platform@lists.linux.dev> Cc: Guenter Roeck <groeck@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Cc: Craig Hesling <hesling@chromium.org> Cc: Tom Hughes <tomhughes@chromium.org> Cc: Alexandru M Stan <amstan@chromium.org> Cc: Tzung-Bi Shih <tzungbi@kernel.org> Cc: Matthias Kaehlcke <mka@chromium.org> Cc: Benson Leung <bleung@chromium.org> Cc: Lee Jones <lee.jones@linaro.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org> Link: https://lore.kernel.org/r/20221026003641.2688765-2-swboyd@chromium.org
67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: I2C bus that tunnels through the ChromeOS EC (cros-ec)
|
|
|
|
maintainers:
|
|
- Doug Anderson <dianders@chromium.org>
|
|
- Benson Leung <bleung@chromium.org>
|
|
|
|
description: |
|
|
On some ChromeOS board designs we've got a connection to the EC
|
|
(embedded controller) but no direct connection to some devices on the
|
|
other side of the EC (like a battery and PMIC). To get access to
|
|
those devices we need to tunnel our i2c commands through the EC.
|
|
|
|
The node for this device should be under a cros-ec node like
|
|
google,cros-ec-spi or google,cros-ec-i2c.
|
|
|
|
allOf:
|
|
- $ref: i2c-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: google,cros-ec-i2c-tunnel
|
|
|
|
google,remote-bus:
|
|
description: The EC bus we'd like to talk to.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
required:
|
|
- compatible
|
|
- google,remote-bus
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
spi0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cros-ec@0 {
|
|
compatible = "google,cros-ec-spi";
|
|
reg = <0>;
|
|
spi-max-frequency = <5000000>;
|
|
interrupts = <99 0>;
|
|
|
|
i2c-tunnel {
|
|
compatible = "google,cros-ec-i2c-tunnel";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
google,remote-bus = <0>;
|
|
|
|
battery: sbs-battery@b {
|
|
compatible = "sbs,sbs-battery";
|
|
reg = <0xb>;
|
|
sbs,poll-retry-count = <1>;
|
|
};
|
|
};
|
|
};
|
|
};
|