/linux-6.12.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 connected through I2C. [all …]
|
/linux-6.12.1/drivers/mfd/ |
D | cros_ec_dev.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 #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-gpio", }, 82 { .name = "cros-ec-rtc", }, 86 { .name = "cros-ec-sensorhub", }, 90 { .name = "cros-charge-control", }, 91 { .name = "cros-usbpd-charger", }, [all …]
|
/linux-6.12.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-6.12.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-6.12.1/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 …]
|
/linux-6.12.1/drivers/platform/chrome/ |
D | cros_ec_sensorhub.c | 1 // SPDX-License-Identifier: GPL-2.0 20 #define DRV_NAME "cros-ec-sensorhub" 54 struct cros_ec_command *msg = sensorhub->msg; in cros_ec_sensorhub_register() 55 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register() local 60 msg->version = 1; in cros_ec_sensorhub_register() 61 msg->insize = sizeof(struct ec_response_motion_sense); in cros_ec_sensorhub_register() 62 msg->outsize = sizeof(struct ec_params_motion_sense); in cros_ec_sensorhub_register() 64 for (i = 0; i < sensorhub->sensor_num; i++) { in cros_ec_sensorhub_register() 65 sensorhub->params->cmd = MOTIONSENSE_CMD_INFO; in cros_ec_sensorhub_register() 66 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_ACPI) += chromeos_acpi.o 8 obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o 9 obj-$(CONFIG_CHROMEOS_PRIVACY_SCREEN) += chromeos_privacy_screen.o 10 obj-$(CONFIG_CHROMEOS_PSTORE) += chromeos_pstore.o 11 obj-$(CONFIG_CHROMEOS_TBMC) += chromeos_tbmc.o 12 obj-$(CONFIG_CROS_EC) += cros_ec.o [all …]
|
/linux-6.12.1/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> 11 - Tzung-Bi Shih <tzungbi@kernel.org> 14 Google's ChromeOS EC codec is a digital mic codec provided by the 15 Embedded Controller (EC) and is controlled via a host-command 16 interface. An EC codec node should only be found inside the "codecs" [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/remoteproc/ |
D | mtk,scp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tinghan Shen <tinghan.shen@mediatek.com> 13 This binding provides support for ARM Cortex M4 Co-processor found on some 19 - mediatek,mt8183-scp 20 - mediatek,mt8186-scp 21 - mediatek,mt8188-scp 22 - mediatek,mt8188-scp-dual 23 - mediatek,mt8192-scp [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
D | google,cros-kbd-led-backlight.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/chrome/google,cros-kbd-led-backlight.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tzung-Bi Shih <tzungbi@kernel.org> 14 const: google,cros-kbd-led-backlight 17 - compatible 22 - | 24 #address-cells = <1>; 25 #size-cells = <0>; [all …]
|
/linux-6.12.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-6.12.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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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> 15 Google's ChromeOS EC Keyboard is a simple matrix keyboard 16 implemented on a separate EC (Embedded Controller) device. It provides 17 a message for reading key scans from the EC. These are then converted [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/iio/proximity/ |
D | google,cros-ec-mkbp-proximity.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ChromeOS EC MKBP Proximity Sensor 10 - Stephen Boyd <swboyd@chromium.org> 11 - Benson Leung <bleung@chromium.org> 14 Google's ChromeOS EC sometimes has the ability to detect user proximity. 15 This is implemented on the EC as near/far logic and exposed to the OS 20 const: google,cros-ec-mkbp-proximity [all …]
|
/linux-6.12.1/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 #include <dt-bindings/mfd/cros_ec.h> 19 * struct cros_ec_pwm_device - Driver data for EC PWM 21 * @ec: Pointer to EC device 25 struct cros_ec_device *ec; member 44 return -EINVAL; in cros_ec_dt_type_to_pwm_type() 51 struct cros_ec_device *ec = ec_pwm->ec; in cros_ec_pwm_set_duty() local 62 msg->version = 0; in cros_ec_pwm_set_duty() 63 msg->command = EC_CMD_PWM_SET_DUTY; in cros_ec_pwm_set_duty() [all …]
|
/linux-6.12.1/arch/arm/boot/dts/rockchip/ |
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 …]
|
/linux-6.12.1/arch/arm/boot/dts/ |
D | cros-ec-keyboard.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Keyboard dts fragment for devices that use cros-ec-keyboard 8 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/input/cros-ec-keyboard.h> 12 keyboard_controller: keyboard-controller { 13 compatible = "google,cros-ec-keyb"; 14 keypad,num-rows = <8>; 15 keypad,num-columns = <13>; 16 google,needs-ghost-filter;
|
/linux-6.12.1/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. 45 int idx = chan->scan_index; in cros_ec_sensors_read() 47 mutex_lock(&st->core.cmd_lock); in cros_ec_sensors_read() 51 ret = st->core.read_ec_sensors_data(indio_dev, 1 << idx, &data); in cros_ec_sensors_read() 58 st->core.param.cmd = MOTIONSENSE_CMD_SENSOR_OFFSET; in cros_ec_sensors_read() 59 st->core.param.sensor_offset.flags = 0; in cros_ec_sensors_read() 61 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 29 #define DRV_NAME "cros-ec-lid-angle" 57 st->param.cmd = MOTIONSENSE_CMD_LID_ANGLE; in cros_ec_sensors_read_lid_angle() 58 ret = cros_ec_motion_send_host_cmd(st, sizeof(st->resp->lid_angle)); in cros_ec_sensors_read_lid_angle() 60 dev_warn(&indio_dev->dev, "Unable to read lid angle\n"); in cros_ec_sensors_read_lid_angle() 64 *data = st->resp->lid_angle.value; in cros_ec_sensors_read_lid_angle() 76 mutex_lock(&st->core.cmd_lock); in cros_ec_lid_angle_read() [all …]
|
/linux-6.12.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. 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 …]
|
/linux-6.12.1/drivers/iio/proximity/ |
D | cros_ec_mkbp_proximity.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for cros-ec proximity sensor exposed through MKBP switch 27 struct cros_ec_device *ec; member 75 msg->command = EC_CMD_MKBP_INFO; in cros_ec_mkbp_proximity_query() 76 msg->version = 1; in cros_ec_mkbp_proximity_query() 77 msg->outsize = sizeof(*params); in cros_ec_mkbp_proximity_query() 78 msg->insize = insize; in cros_ec_mkbp_proximity_query() 80 params->info_type = EC_MKBP_INFO_CURRENT; in cros_ec_mkbp_proximity_query() 81 params->event_type = EC_MKBP_EVENT_SWITCH; in cros_ec_mkbp_proximity_query() 88 dev_warn(ec_dev->dev, "wrong result size: %d != %zu\n", ret, in cros_ec_mkbp_proximity_query() [all …]
|
/linux-6.12.1/drivers/gpio/ |
D | gpio-cros-ec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * This driver provides the ability to control GPIOs on the Chrome OS EC. 23 /* Prefix all names to avoid collisions with EC <-> AP nets */ 24 static const char cros_ec_gpio_prefix[] = "EC:"; 29 const char *name = gc->names[gpio] + strlen(cros_ec_gpio_prefix); in cros_ec_gpio_set() 44 dev_err(gc->parent, "error setting gpio%d (%s) on EC: %d\n", gpio, name, ret); in cros_ec_gpio_set() 49 const char *name = gc->names[gpio] + strlen(cros_ec_gpio_prefix); in cros_ec_gpio_get() 58 return -EINVAL; in cros_ec_gpio_get() 63 dev_err(gc->parent, "error getting gpio%d (%s) on EC: %d\n", gpio, name, ret); in cros_ec_gpio_get() 75 const char *name = gc->names[gpio] + strlen(cros_ec_gpio_prefix); in cros_ec_gpio_get_direction() [all …]
|