| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/include/ |
| H A D | cros_ec.h | 6 * SPDX-License-Identifier: GPL-2.0+ 21 struct gpio_desc ec_int; /* GPIO used as EC interrupt line */ 26 * These two buffers will always be dword-aligned and include enough 27 * space for up to 7 word-alignment bytes also, so we can ensure that 28 * the body of the message is always dword-aligned (64-bit). 41 * Hard-code the number of columns we happen to know we have right now. It 52 /* Holds information about the Chrome EC */ 54 struct fmap_entry flash; /* Address and size of EC flash */ 56 * Byte value of erased flash, or -1 if not known. It is normally 64 * Read the ID of the CROS-EC device [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mfd/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/i2c/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/extcon/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/platform/chrome/ |
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pwm/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/chrome/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/ABI/testing/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/cmd/ |
| H A D | cros_ec.c | 7 * SPDX-License-Identifier: GPL-2.0+ 14 #include <dm/device-internal.h> 15 #include <dm/uclass-internal.h> 27 * @return flash region (EC_FLASH_REGION_...) or -1 on error 42 return -1; in cros_ec_decode_region() 48 * @param dev CROS-EC device to read/write 52 * @return 0 for ok, 1 for a usage error or -ve for ec command error 58 uint32_t offset, size = -1U, region_size; in do_read_write() 64 region = cros_ec_decode_region(argc - 2, argv + 2); in do_read_write() 65 if (region == -1) in do_read_write() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/regulator/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/input/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/misc/ |
| H A D | cros-ec.txt | 8 - compatible = "google,cros-ec" 11 - spi-max-frequency : Sets the maximum frequency (in Hz) for SPI bus 13 - i2c-max-frequency : Sets the maximum frequency (in Hz) for I2C bus 15 - ec-interrupt : Selects the EC interrupt, defined as a GPIO according 17 - optimise-flash-write : Boolean property - if present then flash blocks 18 containing all 0xff will not be written, since we assume that the EC 22 to the EC (e.g. i2c, spi, lpc). The reg property (as usual) will indicate 30 cros-ec@0 { 32 compatible = "google,cros-ec"; 33 spi-max-frequency = <5000000>; [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | rk3288-veyron-chromebook.dtsi | 6 * SPDX-License-Identifier: GPL-2.0 9 #include <dt-bindings/clock/rockchip,rk808.h> 10 #include <dt-bindings/input/input.h> 11 #include "rk3288-veyron.dtsi" 20 gpio_keys: gpio-keys { 21 pinctrl-0 = <&pwr_key_h &ap_lid_int_l>; 26 linux,input-type = <5>; /* EV_SW */ 27 debounce-interval = <1>; 28 gpio-key,wakeup; 32 gpio-charger { [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm/boot/dts/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/input/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/iio/common/cros_ec_sensors/ |
| H A 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 …]
|
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/i2c/busses/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/drivers/misc/ |
| H A D | cros_ec.c | 6 * SPDX-License-Identifier: GPL-2.0+ 10 * This is the interface to the Chrome OS EC. It provides keyboard functions, 12 * provided to enable the EC software to be updated, talk to the EC's I2C bus 13 * and store a small amount of data in a memory which persists while the EC 27 #include <asm-generic/gpio.h> 28 #include <dm/device-internal.h> 30 #include <dm/uclass-internal.h> 53 if (cmd != -1) in cros_ec_dump_data() 62 * Calculate a simple 8-bit checksum of a data block 82 * @param dev CROS-EC device [all …]
|
| /OK3568_Linux_fs/kernel/drivers/pwm/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/ |
| H A 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 …]
|