/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-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-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-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 …]
|
D | mt8183-mt6358-ts3a227-max98357.txt | 4 - compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec 7 - mediatek,platform: the phandle of MT8183 ASoC platform 10 - mediatek,headset-codec: the phandles of ts3a227 codecs 11 - mediatek,ec-codec: the phandle of EC codecs. 12 See google,cros-ec-codec.txt for more details. 13 - mediatek,hdmi-codec: the phandles of HDMI codec 19 mediatek,headset-codec = <&ts3a227>; 20 mediatek,ec-codec = <&ec_codec>; 21 mediatek,hdmi-codec = <&it6505dptx>;
|
/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) 5 CFLAGS_cros_ec_sensorhub_ring.o:= -I$(src) 7 obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o 8 obj-$(CONFIG_CHROMEOS_PSTORE) += chromeos_pstore.o 9 obj-$(CONFIG_CHROMEOS_TBMC) += chromeos_tbmc.o 10 obj-$(CONFIG_CROS_EC) += cros_ec.o 11 obj-$(CONFIG_CROS_EC_I2C) += cros_ec_i2c.o 12 obj-$(CONFIG_CROS_EC_ISHTP) += cros_ec_ishtp.o [all …]
|
D | cros_ec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ChromeOS EC multi-function device 7 * The ChromeOS EC multi function device is used to mux all the requests 8 * to the EC device for its multiple features: keyboard controller, 39 ec_dev->last_event_time = cros_ec_get_time_ns(); in ec_irq_handler() 45 * cros_ec_handle_event() - process and forward pending events on EC 48 * Call this function in a loop when the kernel is notified that the EC has 67 if (wake_event && device_may_wakeup(ec_dev->dev)) in cros_ec_handle_event() 68 pm_wakeup_event(ec_dev->dev, 0); in cros_ec_handle_event() 71 blocking_notifier_call_chain(&ec_dev->event_notifier, in cros_ec_handle_event() [all …]
|
D | cros_usbpd_notify.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #define DRV_NAME "cros-usbpd-notify" 15 #define DRV_NAME_PLAT_ACPI "cros-usbpd-notify-acpi" 22 struct cros_ec_device *ec; member 27 * cros_usbpd_register_notify - Register a notifier callback for PD events. 31 * "GOOG0003" ACPI device. On non-ACPI platforms this will filter mkbp events 44 * cros_usbpd_unregister_notify - Unregister notifier callback for PD events. 57 * cros_ec_pd_command - Send a command to the EC. 59 * @ec_dev: EC device 60 * @command: EC command [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-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-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-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 …]
|
D | cros_ec_lid_angle.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * cros_ec_lid_angle - Driver for CrOS EC lid angle sensor. 8 * This driver uses the cros-ec interface to communicate with the Chrome OS 9 * EC about counter sensors. Counters are presented through 28 #define DRV_NAME "cros-ec-lid-angle" 56 st->param.cmd = MOTIONSENSE_CMD_LID_ANGLE; in cros_ec_sensors_read_lid_angle() 57 ret = cros_ec_motion_send_host_cmd(st, sizeof(st->resp->lid_angle)); in cros_ec_sensors_read_lid_angle() 59 dev_warn(&indio_dev->dev, "Unable to read lid angle\n"); in cros_ec_sensors_read_lid_angle() 63 *data = st->resp->lid_angle.value; in cros_ec_sensors_read_lid_angle() 75 mutex_lock(&st->core.cmd_lock); in cros_ec_lid_angle_read() [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-5.10/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 29 * struct cros_ec_pwm - per-PWM driver data 47 return -ENOMEM; in cros_ec_pwm_request() 61 static int cros_ec_pwm_set_duty(struct cros_ec_device *ec, u8 index, u16 duty) in cros_ec_pwm_set_duty() argument 72 msg->version = 0; in cros_ec_pwm_set_duty() 73 msg->command = EC_CMD_PWM_SET_DUTY; in cros_ec_pwm_set_duty() [all …]
|
/kernel/linux/linux-5.10/include/linux/iio/common/ |
D | cros_ec_sensors_core.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * ChromeOS EC sensor hub 24 /* EC returns sensor values using signed 16 bit registers */ 36 * struct cros_ec_sensors_core_state - state data for EC sensors IIO driver 37 * @ec: cros EC device structure 40 * @msg: cros EC command structure 55 * is always 8-byte aligned. 57 * @fifo_max_event_count: Size of the EC sensor FIFO 62 struct cros_ec_device *ec; member
|
/kernel/linux/linux-5.10/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" 14 stdout-path = "serial2:115200n8"; 23 * - Rails that only connect to the EC (or devices that the EC talks to) 25 * - Rails _are_ included if the rails go to the AP even if the AP 34 * - The EC controls the enable and the EC always enables a rail as 36 * - The rails are actually connected to each other by a jumper and 41 ppvar_sys: ppvar-sys { [all …]
|
/kernel/linux/linux-5.10/arch/arm64/boot/dts/mediatek/ |
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> 19 stdout-path = "serial0:115200n8"; 28 compatible = "fixed-clock"; 29 #clock-cells = <0>; 30 clock-frequency = <32768>; 31 clock-output-names = "clk32k"; 35 compatible = "regulator-fixed"; 36 regulator-name = "it6505_pp18"; [all …]
|
/kernel/linux/linux-5.10/drivers/iio/pressure/ |
D | cros_ec_baro.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cros_ec_baro - Driver for barometer sensor behind CrosEC. 43 int idx = chan->scan_index; in cros_ec_baro_read() 45 mutex_lock(&st->core.cmd_lock); in cros_ec_baro_read() 58 st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_RANGE; in cros_ec_baro_read() 59 st->core.param.sensor_range.data = EC_MOTION_SENSE_NO_VALUE; in cros_ec_baro_read() 61 ret = cros_ec_motion_send_host_cmd(&st->core, 0); in cros_ec_baro_read() 65 *val = st->core.resp->sensor_range.ret; in cros_ec_baro_read() 67 /* scale * in_pressure_raw --> kPa */ in cros_ec_baro_read() 72 ret = cros_ec_sensors_core_read(&st->core, chan, val, val2, in cros_ec_baro_read() [all …]
|
/kernel/linux/linux-5.10/drivers/iio/light/ |
D | cros_ec_light_prox.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cros_ec_light_prox - Driver for light and prox sensors behing CrosEC. 24 * We only represent one entry for light or proximity. EC is merging different 46 int idx = chan->scan_index; in cros_ec_light_prox_read() 48 mutex_lock(&st->core.cmd_lock); in cros_ec_light_prox_read() 52 if (chan->type == IIO_PROXIMITY) { in cros_ec_light_prox_read() 60 ret = -EINVAL; in cros_ec_light_prox_read() 64 if (chan->type == IIO_LIGHT) { in cros_ec_light_prox_read() 71 * pre-processed and represents the ambient light in cros_ec_light_prox_read() 77 ret = -EINVAL; in cros_ec_light_prox_read() [all …]
|