/Linux-v6.1/Documentation/devicetree/bindings/mfd/ |
D | google,cros-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Benson Leung <bleung@chromium.org> 11 - Guenter Roeck <groeck@chromium.org> 14 Google's ChromeOS EC is a microcontroller which talks to the AP and 16 The EC can be connected through various interfaces (I2C, SPI, and others) 22 - description: 23 For implementations of the EC is connected through I2C. [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/i2c/ |
D | google,cros-ec-i2c-tunnel.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: I2C bus that tunnels through the ChromeOS EC (cros-ec) 11 - Doug Anderson <dianders@chromium.org> 12 - Benson Leung <bleung@chromium.org> 15 On some ChromeOS board designs we've got a connection to the EC 17 other side of the EC (like a battery and PMIC). To get access to 18 those devices we need to tunnel our i2c commands through the EC. [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/display/bridge/ |
D | google,cros-ec-anx7688.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/google,cros-ec-anx7688.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ChromeOS EC ANX7688 HDMI to DP Converter through Type-C Port 10 - Nicolas Boichat <drinkcat@chromium.org> 13 ChromeOS EC ANX7688 is a display bridge that converts HDMI 2.0 to 14 DisplayPort 1.3 Ultra-HDi (4096x2160p60). It is an Analogix ANX7688 chip 16 (See google,cros-ec.yaml). It is accessed using I2C tunneling through 17 the EC and therefore its node should be a child of an EC I2C tunnel node [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/extcon/ |
D | extcon-usbc-cros-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/extcon/extcon-usbc-cros-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ChromeOS EC USB Type-C cable and accessories detection 10 - Benson Leung <bleung@chromium.org> 16 The node for this device must be under a cros-ec node like google,cros-ec-spi 17 or google,cros-ec-i2c. 21 const: google,extcon-usbc-cros-ec 23 google,usb-port-id: [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/qcom/ |
D | sc7280-idp-ec-h1.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 3 * sc7280 EC/H1 over SPI (common between IDP2 and CRD) 11 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 12 cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 14 cros_ec: ec@0 { 15 compatible = "google,cros-ec-spi"; 17 interrupt-parent = <&tlmm>; 19 pinctrl-names = "default"; 20 pinctrl-0 = <&ap_ec_int_l>; 21 spi-max-frequency = <3000000>; [all …]
|
D | sc7280-herobrine.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 16 #include <dt-bindings/input/gpio-keys.h> 17 #include <dt-bindings/input/input.h> 18 #include <dt-bindings/leds/common.h> 20 #include "sc7280-qcard.dtsi" 21 #include "sc7280-chrome-common.dtsi" 25 stdout-path = "serial0:115200n8"; 38 ppvar_sys: ppvar-sys-regulator { 39 compatible = "regulator-fixed"; 40 regulator-name = "ppvar_sys"; [all …]
|
/Linux-v6.1/drivers/i2c/busses/ |
D | i2c-cros-ec-tunnel.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Expose an I2C passthrough to the ChromeOS EC. 8 #include <linux/i2c.h> 17 * struct ec_i2c_device - Driver data for I2C tunnel 20 * @adap: I2C adapter 21 * @ec: Pointer to EC device 22 * @remote_bus: The EC bus number we tunnel to on the other side. 30 struct cros_ec_device *ec; member 39 * ec_i2c_count_message - Count bytes needed for ec_i2c_construct_message 41 * @i2c_msgs: The i2c messages to read [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | rk3288-veyron-chromebook.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 #include <dt-bindings/clock/rockchip,rk808.h> 10 #include <dt-bindings/input/input.h> 11 #include "rk3288-veyron.dtsi" 12 #include "rk3288-veyron-analog-audio.dtsi" 13 #include "rk3288-veyron-edp.dtsi" 14 #include "rk3288-veyron-sdmmc.dtsi" 22 gpio-charger { 23 compatible = "gpio-charger"; 24 charger-type = "mains"; [all …]
|
D | tegra124-nyan.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/input/input.h> 3 #include <dt-bindings/thermal/thermal.h> 8 rtc0 = "/i2c@7000d000/pmic@40"; 14 stdout-path = "serial0:115200n8"; 20 * missing a unit-address. However, the bootloader on these Chromebook 22 * Adding the unit-address causes the bootloader to create a /memory 34 /delete-node/ memory@80000000; 40 vdd-supply = <&vdd_3v3_hdmi>; 41 pll-supply = <&vdd_hdmi_pll>; [all …]
|
D | exynos5420-peach-pit.dts | 1 // SPDX-License-Identifier: GPL-2.0 8 /dts-v1/; 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/clock/maxim,max77802.h> 13 #include <dt-bindings/regulator/maxim,max77802.h> 14 #include <dt-bindings/sound/samsung-i2s.h> 16 #include "exynos5420-cpus.dtsi" 21 compatible = "google,pit-rev16", [all …]
|
D | exynos5800-peach-pi.dts | 1 // SPDX-License-Identifier: GPL-2.0 8 /dts-v1/; 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/clock/maxim,max77802.h> 13 #include <dt-bindings/regulator/maxim,max77802.h> 14 #include <dt-bindings/sound/samsung-i2s.h> 16 #include "exynos5420-cpus.dtsi" 21 compatible = "google,pi-rev16", [all …]
|
D | exynos5250-spring.dts | 1 // SPDX-License-Identifier: GPL-2.0 9 /dts-v1/; 10 #include <dt-bindings/clock/samsung,s2mps11.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interrupt-controller/irq.h> 13 #include <dt-bindings/input/input.h> 19 chassis-type = "laptop"; 28 stdout-path = "serial3:115200n8"; 31 gpio-keys { 32 compatible = "gpio-keys"; [all …]
|
D | rk3288-veyron-pinky.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 9 #include "rk3288-veyron-chromebook.dtsi" 10 #include "cros-ec-sbs.dtsi" 14 compatible = "google,veyron-pinky-rev2", "google,veyron-pinky", 17 /delete-node/backlight-regulator; 18 /delete-node/panel-regulator; 19 /delete-node/emmc-pwrseq; 20 /delete-node/vcc18-lcd; 24 /delete-property/power-supply; [all …]
|
D | cros-ec-sbs.dtsi | 2 * Smart battery dts fragment for devices that use cros-ec-sbs 6 * This file is dual-licensed: you can use it either under the terms 46 battery: sbs-battery@b { 47 compatible = "sbs,sbs-battery"; 49 sbs,i2c-retry-count = <2>; 50 sbs,poll-retry-count = <1>;
|
/Linux-v6.1/arch/arm64/boot/dts/mediatek/ |
D | mt8195-cherry.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/spmi/spmi.h> 26 stdout-path = "serial0:115200n8"; 35 pp3300_z5: regulator-pp3300-ldo-z5 { 36 compatible = "regulator-fixed"; 37 regulator-name = "pp3300_ldo_z5"; 38 regulator-always-on; 39 regulator-boot-on; 40 regulator-min-microvolt = <3300000>; [all …]
|
D | mt8192-asurada.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 6 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/spmi/spmi.h> 18 stdout-path = "serial0:115200n8"; 27 pp1800_ldo_g: regulator-1v8-g { 28 compatible = "regulator-fixed"; 29 regulator-name = "pp1800_ldo_g"; 30 regulator-always-on; 31 regulator-boot-on; [all …]
|
D | mt8183-kukui.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 21 stdout-path = "serial0:115200n8"; 25 compatible = "pwm-backlight"; 27 power-supply = <&bl_pp5000>; 28 enable-gpios = <&pio 176 0>; 29 brightness-levels = <0 1023>; 30 num-interpolated-steps = <1023>; 31 default-brightness-level = <576>; [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/rockchip/ |
D | rk3399-gru.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 * Copyright 2016-2017 Google, Inc 8 #include <dt-bindings/input/input.h> 10 #include "rk3399-op1-opp.dtsi" 19 stdout-path = "serial2:115200n8"; 28 * - Rails that only connect to the EC (or devices that the EC talks to) 30 * - Rails _are_ included if the rails go to the AP even if the AP 39 * - The EC controls the enable and the EC always enables a rail as 41 * - The rails are actually connected to each other by a jumper and 46 ppvar_sys: ppvar-sys { [all …]
|
D | rk3399-gru-chromebook.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Google Gru-Chromebook shared properties 8 #include "rk3399-gru.dtsi" 11 pp900_ap: pp900-ap { 12 compatible = "regulator-fixed"; 13 regulator-name = "pp900_ap"; 15 /* EC turns on w/ pp900_ap_en; always on for AP */ 16 regulator-always-on; 17 regulator-boot-on; 18 regulator-min-microvolt = <900000>; [all …]
|
/Linux-v6.1/drivers/platform/chrome/ |
D | cros_ec_i2c.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // I2C interface for ChromeOS Embedded Controller 10 #include <linux/i2c.h> 22 * byte 1-8 struct ec_host_request 23 * byte 10- response data 36 * byte 2-9 struct ec_host_response 37 * byte 10- response data 55 struct i2c_client *client = ec_dev->priv; in cros_ec_pkt_xfer_i2c() 56 int ret = -ENOMEM; in cros_ec_pkt_xfer_i2c() 69 i2c_msg[0].addr = client->addr; in cros_ec_pkt_xfer_i2c() [all …]
|
D | cros_ec_spi.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Number of EC preamble bytes we read at a time. Since it takes 24 * about 400-500us for the EC to respond there is not a lot of 25 * point in tuning this. If the EC could respond faster then 34 * Allow for a long time for the EC to respond. We support i2c 43 * not directly passing i2c through, but it's too late for that for 50 * for this, clocking in at 2-3ms. 57 * If we go too fast, the EC will miss the transaction. We know that we 58 * need at least 70 us with the 16 MHz STM32 EC, so go with 200 us to be 64 * struct cros_ec_spi - information about a SPI-connected EC [all …]
|
/Linux-v6.1/drivers/gpu/drm/bridge/ |
D | cros-ec-anx7688.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * CrOS EC ANX7688 HDMI->DP bridge driver 10 #include <linux/i2c.h> 58 if (!anx->filter) in cros_ec_anx7688_bridge_mode_fixup() 62 ret = regmap_bulk_read(anx->regmap, ANX7688_DP_BANDWIDTH_REG, regs, 2); in cros_ec_anx7688_bridge_mode_fixup() 81 requiredbw = mode->clock * 8 * 3; in cros_ec_anx7688_bridge_mode_fixup() 100 struct device *dev = &client->dev; in cros_ec_anx7688_bridge_probe() 108 return -ENOMEM; in cros_ec_anx7688_bridge_probe() 110 anx7688->client = client; in cros_ec_anx7688_bridge_probe() 113 anx7688->regmap = devm_regmap_init_i2c(client, &cros_ec_anx7688_regmap_config); in cros_ec_anx7688_bridge_probe() [all …]
|
/Linux-v6.1/include/linux/platform_data/ |
D | cros_ec_proto.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 29 * The EC is unresponsive for a time after a reboot command. Add a 35 * Max bus-specific overhead incurred by request/responses. 36 * I2C requires 1 additional byte for requests. 37 * I2C requires 2 additional bytes for responses. 45 * Command interface between EC and AP, for LPC, I2C and SPI interfaces. 62 * struct cros_ec_command - Information about a ChromeOS EC command. 66 * @insize: Max number of bytes to accept from the EC. 67 * @result: EC's response to the command (separate from communication failure). 68 * @data: Where to put the incoming data from EC and outgoing data to EC. [all …]
|
/Linux-v6.1/drivers/input/keyboard/ |
D | cros_ec_keyb.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // ChromeOS EC keyboard driver 6 // This driver uses the ChromeOS EC byte-level message-based protocol for 7 // communicating the keyboard state (which keys are pressed) from a keyboard EC 8 // to the AP over some bus (such as i2c, lpc, spi). The EC does debouncing, 10 // motivation for this is to keep the EC firmware as simple as possible, since 11 // it cannot be easily upgraded and EC flash/IRAM space is relatively 17 #include <linux/i2c.h> 19 #include <linux/input/vivaldi-fmap.h> 33 * struct cros_ec_keyb - Structure representing EC keyboard device [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/nvidia/ |
D | tegra132-norrin.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/input.h> 12 rtc0 = "/i2c@7000d000/as3722@40"; 18 stdout-path = "serial0:115200n8"; 30 vdd-supply = <&vdd_3v3_hdmi>; 31 pll-supply = <&vdd_hdmi_pll>; 32 hdmi-supply = <&vdd_5v0_hdmi>; 34 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 35 nvidia,hpd-gpio = [all …]
|