/openbmc/linux/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 - 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 …]
|
/openbmc/u-boot/include/ |
H A D | cros_ec.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 20 struct gpio_desc ec_int; /* GPIO used as EC interrupt line */ 25 * These two buffers will always be dword-aligned and include enough 26 * space for up to 7 word-alignment bytes also, so we can ensure that 27 * the body of the message is always dword-aligned (64-bit). 40 * Hard-code the number of columns we happen to know we have right now. It 51 /* Holds information about the Chrome EC */ 53 struct fmap_entry flash; /* Address and size of EC flash */ 55 * Byte value of erased flash, or -1 if not known. It is normally 63 * Read the ID of the CROS-EC device [all …]
|
/openbmc/linux/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 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-rtc", }, 82 { .name = "cros-ec-sensorhub", }, 86 { .name = "cros-usbpd-charger", }, 87 { .name = "cros-usbpd-logger", }, [all …]
|
/openbmc/linux/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> 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 …]
|
/openbmc/linux/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> 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 …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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> 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 …]
|
/openbmc/linux/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 | 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 …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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 …]
|
H A 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/bridge/ |
H A 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 …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A 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 …]
|
/openbmc/linux/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 …]
|
/openbmc/u-boot/cmd/ |
H A D | cros_ec.c | 1 // SPDX-License-Identifier: GPL-2.0+ 13 #include <dm/device-internal.h> 14 #include <dm/uclass-internal.h> 24 * @return flash region (EC_FLASH_REGION_...) or -1 on error 39 return -1; in cros_ec_decode_region() 45 * @param dev CROS-EC device to read/write 49 * @return 0 for ok, 1 for a usage error or -ve for ec command error 55 uint32_t offset, size = -1U, region_size; in do_read_write() 61 region = cros_ec_decode_region(argc - 2, argv + 2); in do_read_write() 62 if (region == -1) in do_read_write() [all …]
|
/openbmc/linux/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> 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 …]
|
/openbmc/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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/iio/proximity/ |
H A 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 …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | rk3288-veyron-chromebook.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/rockchip,rk808.h> 9 #include <dt-bindings/input/input.h> 10 #include "rk3288-veyron.dtsi" 19 gpio_keys: gpio-keys { 20 pinctrl-0 = <&pwr_key_h &ap_lid_int_l>; 25 linux,input-type = <5>; /* EV_SW */ 26 debounce-interval = <1>; 27 gpio-key,wakeup; 31 gpio-charger { [all …]
|
/openbmc/linux/arch/arm/boot/dts/rockchip/ |
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 …]
|
/openbmc/linux/arch/arm/boot/dts/ |
H A 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;
|
/openbmc/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 …]
|
/openbmc/u-boot/tools/binman/etype/ |
H A D | cros_ec_rw.py | 1 # SPDX-License-Identifier: GPL-2.0+ 5 # Entry-type module for a Chromium OS EC image (read-write section) 12 """A blob entry which contains a Chromium OS read-write EC image 15 - cros-ec-rw-path: Filename containing the EC image 17 This entry holds a Chromium OS EC (embedded controller) image, for use in 18 updating the EC on startup via software sync. 22 'cros-ec-rw')
|
/openbmc/linux/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 #include <dt-bindings/mfd/cros_ec.h> 19 * struct cros_ec_pwm_device - Driver data for EC PWM 22 * @ec: Pointer to EC device 28 struct cros_ec_device *ec; member 34 * struct cros_ec_pwm - per-PWM driver data 52 return -ENOMEM; in cros_ec_pwm_request() 76 return -EINVAL; in cros_ec_dt_type_to_pwm_type() 83 struct cros_ec_device *ec = ec_pwm->ec; in cros_ec_pwm_set_duty() local [all …]
|