| /kernel/linux/linux-5.10/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 - Enric Balletbo i Serra <enric.balletbo@collabora.com> 12 - Guenter Roeck <groeck@chromium.org> 15 Google's ChromeOS EC is a microcontroller which talks to the AP and 17 The EC can be connected through various interfaces (I2C, SPI, and others) 23 - description: [all …]
|
| /kernel/linux/linux-5.10/drivers/mfd/ |
| D | cros_ec_dev.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * cros_ec_dev - expose the Chrome OS Embedded Controller to user-space 19 #define DRV_NAME "cros-ec-dev" 27 * struct cros_feature_to_name - CrOS feature id to name/short description. 39 * struct cros_feature_to_cells - CrOS feature id to mfd cells association. 74 { .name = "cros-ec-cec", }, 78 { .name = "cros-ec-rtc", }, 82 { .name = "cros-ec-sensorhub", }, 86 { .name = "cros-usbpd-charger", }, 87 { .name = "cros-usbpd-logger", }, [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/i2c/ |
| D | i2c-cros-ec-tunnel.txt | 1 I2C bus that tunnels through the ChromeOS EC (cros-ec) 3 On some ChromeOS board designs we've got a connection to the EC (embedded 5 the EC (like a battery and PMIC). To get access to those devices we need 6 to tunnel our i2c commands through the EC. 8 The node for this device should be under a cros-ec node like google,cros-ec-spi 9 or google,cros-ec-i2c. 13 - compatible: google,cros-ec-i2c-tunnel 14 - google,remote-bus: The EC bus we'd like to talk to. 17 - One node per I2C device connected to the tunnelled I2C bus. 21 cros-ec@0 { [all …]
|
| /kernel/linux/linux-5.10/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> 13 - Enric Balletbo i Serra <enric.balletbo@collabora.com> 16 On some ChromeOS board designs we've got a connection to the EC 18 other side of the EC (like a battery and PMIC). To get access to [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/mfd/ |
| D | cros-ec.txt | 3 Google's ChromeOS EC is a Cortex-M device which talks to the AP and 6 The EC can be connect through various means (I2C, SPI, LPC) and the 8 its own driver which connects to the top level interface-agnostic EC driver. 9 Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to 10 the top-level driver. 13 - compatible: "google,cros-ec-i2c" 14 - reg: I2C slave address 17 - compatible: "google,cros-ec-spi" 18 - reg: SPI chip select 21 - google,cros-ec-spi-pre-delay: Some implementations of the EC need a little [all …]
|
| /kernel/linux/linux-5.10/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> 11 - Enric Balletbo i Serra <enric.balletbo@collabora.com> 17 The node for this device must be under a cros-ec node like google,cros-ec-spi 18 or google,cros-ec-i2c. 22 const: google,extcon-usbc-cros-ec [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/extcon/ |
| D | extcon-usbc-cros-ec.txt | 1 ChromeOS EC USB Type-C cable and accessories detection 7 The node for this device must be under a cros-ec node like google,cros-ec-spi 8 or google,cros-ec-i2c. 11 - compatible: Should be "google,extcon-usbc-cros-ec". 12 - google,usb-port-id: Specifies the USB port ID to use. 15 cros-ec@0 { 16 compatible = "google,cros-ec-i2c"; 21 compatible = "google,extcon-usbc-cros-ec"; 22 google,usb-port-id = <0>;
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | google,cros-ec-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Audio codec controlled by ChromeOS EC 10 - Cheng-Yi Chiang <cychiang@chromium.org> 13 Google's ChromeOS EC codec is a digital mic codec provided by the 14 Embedded Controller (EC) and is controlled via a host-command 15 interface. An EC codec node should only be found inside the "codecs" 16 subnode of a cros-ec node. [all …]
|
| /kernel/linux/linux-5.10/drivers/platform/chrome/ |
| D | cros_ec_sensorhub.c | 1 // SPDX-License-Identifier: GPL-2.0 19 #define DRV_NAME "cros-ec-sensorhub" 53 struct cros_ec_command *msg = sensorhub->msg; in cros_ec_sensorhub_register() 54 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register() local 59 msg->version = 1; in cros_ec_sensorhub_register() 60 msg->insize = sizeof(struct ec_response_motion_sense); in cros_ec_sensorhub_register() 61 msg->outsize = sizeof(struct ec_params_motion_sense); in cros_ec_sensorhub_register() 63 for (i = 0; i < sensorhub->sensor_num; i++) { in cros_ec_sensorhub_register() 64 sensorhub->params->cmd = MOTIONSENSE_CMD_INFO; in cros_ec_sensorhub_register() 65 sensorhub->params->info.sensor_num = i; in cros_ec_sensorhub_register() [all …]
|
| D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 # tell define_trace.h where to find the cros ec trace header 4 CFLAGS_cros_ec_trace.o:= -I$(src) 6 obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o 7 obj-$(CONFIG_CHROMEOS_PSTORE) += chromeos_pstore.o 8 obj-$(CONFIG_CHROMEOS_TBMC) += chromeos_tbmc.o 9 obj-$(CONFIG_CROS_EC) += cros_ec.o 10 obj-$(CONFIG_CROS_EC_I2C) += cros_ec_i2c.o 11 obj-$(CONFIG_CROS_EC_ISHTP) += cros_ec_ishtp.o 12 obj-$(CONFIG_CROS_EC_RPMSG) += cros_ec_rpmsg.o [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/pwm/ |
| D | google,cros-ec-pwm.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/pwm/google,cros-ec-pwm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PWM controlled by ChromeOS EC 10 - Thierry Reding <thierry.reding@gmail.com> 11 - '"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>' 14 Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller 15 (EC) and controlled via a host-command interface. 16 An EC PWM node should be only found as a sub-node of the EC node (see [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/pwm/ |
| D | google,cros-ec-pwm.txt | 1 * PWM controlled by ChromeOS EC 3 Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller 4 (EC) and controlled via a host-command interface. 6 An EC PWM node should be only found as a sub-node of the EC node (see 7 Documentation/devicetree/bindings/mfd/cros-ec.txt). 10 - compatible: Must contain "google,cros-ec-pwm" 11 - #pwm-cells: Should be 1. The cell specifies the PWM index. 14 cros-ec@0 { 15 compatible = "google,cros-ec-spi"; 19 cros_ec_pwm: ec-pwm { [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/chrome/ |
| D | google,cros-ec-typec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/chrome/google,cros-ec-typec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Google Chrome OS EC(Embedded Controller) Type C port driver. 10 - Benson Leung <bleung@chromium.org> 11 - Prashant Malani <pmalani@chromium.org> 14 Chrome OS devices have an Embedded Controller(EC) which has access to 17 cros-ec node like google,cros-ec-spi. 21 const: google,cros-ec-typec [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | debugfs-cros-ec | 1 What: /sys/kernel/debug/<cros-ec-device>/console_log 5 If the EC supports the CONSOLE_READ command type, this file 6 can be used to grab the EC logs. The kernel polls for the log 10 What: /sys/kernel/debug/<cros-ec-device>/panicinfo 14 This file dumps the EC panic information from the previous 16 type is supported by the EC. 18 What: /sys/kernel/debug/<cros-ec-device>/pdinfo 23 information for all the USB PD/type-C ports available. If 27 What: /sys/kernel/debug/<cros-ec-device>/uptime 31 A u32 providing the time since EC booted in ms. This is [all …]
|
| /kernel/linux/linux-4.19/drivers/mfd/ |
| D | cros_ec_dev.c | 2 * cros_ec_dev - expose the Chrome OS Embedded Controller to user-space 31 #define DRV_NAME "cros-ec-dev" 51 static int ec_get_version(struct cros_ec_dev *ec, char *str, int maxlen) in ec_get_version() argument 55 "unknown", "read-only", "read-write", "invalid", in ec_get_version() 62 return -ENOMEM; in ec_get_version() 64 msg->version = 0; in ec_get_version() 65 msg->command = EC_CMD_GET_VERSION + ec->cmd_offset; in ec_get_version() 66 msg->insize = sizeof(*resp); in ec_get_version() 67 msg->outsize = 0; in ec_get_version() 69 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in ec_get_version() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/regulator/ |
| D | google,cros-ec-regulator.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/regulator/google,cros-ec-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ChromeOS EC controlled voltage regulators 10 - Pi-Hsun Shih <pihsun@chromium.org> 17 - $ref: "regulator.yaml#" 21 const: google,cros-ec-regulator 25 description: Identifier for the voltage regulator to ChromeOS EC. 28 - compatible [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/input/ |
| D | google,cros-ec-keyb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: ChromeOS EC Keyboard 11 - Simon Glass <sjg@chromium.org> 12 - Benson Leung <bleung@chromium.org> 13 - Enric Balletbo i Serra <enric.balletbo@collabora.com> 16 Google's ChromeOS EC Keyboard is a simple matrix keyboard 17 implemented on a separate EC (Embedded Controller) device. It provides [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/input/ |
| D | cros-ec-keyb.txt | 1 ChromeOS EC Keyboard 3 Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on 4 a separate EC (Embedded Controller) device. It provides a message for reading 5 key scans from the EC. These are then converted into keycodes for processing 8 This binding is based on matrix-keymap.txt and extends/modifies it as follows: 11 - compatible: "google,cros-ec-keyb" 14 - google,needs-ghost-filter: True to enable a ghost filter for the matrix 15 keyboard. This is recommended if the EC does not have its own logic or 21 cros-ec-keyb { 22 compatible = "google,cros-ec-keyb"; [all …]
|
| /kernel/linux/linux-4.19/drivers/iio/common/cros_ec_sensors/ |
| D | cros_ec_sensors.c | 2 * cros_ec_sensors - Driver for Chrome OS Embedded Controller sensors. 15 * This driver uses the cros-ec interface to communicate with the Chrome OS 16 * EC about sensors data. Data access is presented through iio sysfs. 54 int idx = chan->scan_index; in cros_ec_sensors_read() 56 mutex_lock(&st->core.cmd_lock); in cros_ec_sensors_read() 60 ret = st->core.read_ec_sensors_data(indio_dev, 1 << idx, &data); in cros_ec_sensors_read() 67 st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_OFFSET; in cros_ec_sensors_read() 68 st->core.param.sensor_offset.flags = 0; in cros_ec_sensors_read() 70 ret = cros_ec_motion_send_host_cmd(&st->core, 0); in cros_ec_sensors_read() 76 st->core.calib[i] = in cros_ec_sensors_read() [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/common/cros_ec_sensors/ |
| D | cros_ec_sensors.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cros_ec_sensors - Driver for Chrome OS Embedded Controller sensors. 7 * This driver uses the cros-ec interface to communicate with the Chrome OS 8 * EC about sensors data. Data access is presented through iio sysfs. 44 int idx = chan->scan_index; in cros_ec_sensors_read() 46 mutex_lock(&st->core.cmd_lock); in cros_ec_sensors_read() 50 ret = st->core.read_ec_sensors_data(indio_dev, 1 << idx, &data); in cros_ec_sensors_read() 57 st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_OFFSET; in cros_ec_sensors_read() 58 st->core.param.sensor_offset.flags = 0; in cros_ec_sensors_read() 60 ret = cros_ec_motion_send_host_cmd(&st->core, 0); in cros_ec_sensors_read() [all …]
|
| /kernel/linux/linux-4.19/drivers/pwm/ |
| D | pwm-cros-ec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Expose a PWM controlled by the ChromeOS EC to the host processor. 16 * struct cros_ec_pwm_device - Driver data for EC PWM 19 * @ec: Pointer to EC device 24 struct cros_ec_device *ec; member 33 static int cros_ec_pwm_set_duty(struct cros_ec_device *ec, u8 index, u16 duty) in cros_ec_pwm_set_duty() argument 44 msg->version = 0; in cros_ec_pwm_set_duty() 45 msg->command = EC_CMD_PWM_SET_DUTY; in cros_ec_pwm_set_duty() 46 msg->insize = 0; in cros_ec_pwm_set_duty() 47 msg->outsize = sizeof(*params); in cros_ec_pwm_set_duty() [all …]
|
| /kernel/linux/linux-5.10/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. 17 * struct ec_i2c_device - Driver data for I2C tunnel 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 61 * ec_i2c_construct_message - construct a message to go to the EC 64 * a format that the EC understands. 84 params->port = bus_num; in ec_i2c_construct_message() [all …]
|
| /kernel/linux/linux-4.19/drivers/i2c/busses/ |
| D | i2c-cros-ec-tunnel.c | 9 * Expose an I2C passthrough to the ChromeOS EC. 22 * struct ec_i2c_device - Driver data for I2C tunnel 26 * @ec: Pointer to EC device 27 * @remote_bus: The EC bus number we tunnel to on the other side. 35 struct cros_ec_device *ec; member 44 * ec_i2c_count_message - Count bytes needed for ec_i2c_construct_message 66 * ec_i2c_construct_message - construct a message to go to the EC 69 * a format that the EC understands. 89 params->port = bus_num; in ec_i2c_construct_message() 90 params->num_msgs = num; in ec_i2c_construct_message() [all …]
|
| /kernel/linux/linux-4.19/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-sdmmc.dtsi" 22 compatible = "pwm-backlight"; 23 brightness-levels = < 56 default-brightness-level = <128>; 57 enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; [all …]
|