/openbmc/linux/drivers/misc/echo/ |
H A D | echo.c | 106 static inline void lms_adapt_bg(struct oslec_state *ec, int clean, int shift) in lms_adapt_bg() argument 122 offset2 = ec->curr_pos; in lms_adapt_bg() 123 offset1 = ec->taps - offset2; in lms_adapt_bg() 125 for (i = ec->taps - 1; i >= offset1; i--) { in lms_adapt_bg() 126 exp = (ec->fir_state_bg.history[i - offset1] * factor); in lms_adapt_bg() 127 ec->fir_taps16[1][i] += (int16_t) ((exp + (1 << 14)) >> 15); in lms_adapt_bg() 130 exp = (ec->fir_state_bg.history[i + offset2] * factor); in lms_adapt_bg() 131 ec->fir_taps16[1][i] += (int16_t) ((exp + (1 << 14)) >> 15); in lms_adapt_bg() 145 struct oslec_state *ec; in oslec_create() local 149 ec = kzalloc(sizeof(*ec), GFP_KERNEL); in oslec_create() [all …]
|
/openbmc/linux/drivers/acpi/ |
H A D | ec.c | 3 * ec.c - ACPI Embedded Controller Driver (v3) 17 #define pr_fmt(fmt) "ACPI: EC: " fmt 38 /* EC status register */ 43 #define ACPI_EC_FLAG_SCI 0x20 /* EC-SCI occurred */ 47 * This leads to lots of practical timing issues for the host EC driver. 48 * The following variations are defined (from the target EC firmware's 57 * kind of EC firmware has implemented an event queue and will 77 /* EC commands */ 86 #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */ 88 #define ACPI_EC_UDELAY_POLL 550 /* Wait 1ms for EC transaction polling */ [all …]
|
/openbmc/linux/arch/arm/mach-rpc/ |
H A D | ecard.c | 58 ecard_t *ec; member 70 void (*init)(ecard_t *ec); 77 static void atomwide_3p_quirk(ecard_t *ec); 121 struct expansion_card *ec = req->ec; in ecard_task_reset() local 124 res = ec->slot_no == 8 in ecard_task_reset() 125 ? &ec->resource[ECARD_RES_MEMC] in ecard_task_reset() 126 : ec->easi in ecard_task_reset() 127 ? &ec->resource[ECARD_RES_EASI] in ecard_task_reset() 128 : &ec->resource[ECARD_RES_IOCSYNC]; in ecard_task_reset() 130 ecard_loader_reset(res->start, ec->loader); in ecard_task_reset() [all …]
|
/openbmc/linux/drivers/md/ |
H A D | dm-ebs-target.c | 37 static inline sector_t __sector_to_block(struct ebs_c *ec, sector_t sector) in __sector_to_block() argument 39 return sector >> ec->block_shift; in __sector_to_block() 48 static inline unsigned int __nr_blocks(struct ebs_c *ec, struct bio *bio) in __nr_blocks() argument 50 sector_t end_sector = __block_mod(bio->bi_iter.bi_sector, ec->u_bs) + bio_sectors(bio); in __nr_blocks() 52 return __sector_to_block(ec, end_sector) + (__block_mod(end_sector, ec->u_bs) ? 1 : 0); in __nr_blocks() 65 static int __ebs_rw_bvec(struct ebs_c *ec, enum req_op op, struct bio_vec *bv, in __ebs_rw_bvec() argument 72 unsigned int buf_off = to_bytes(__block_mod(iter->bi_sector, ec->u_bs)); in __ebs_rw_bvec() 73 sector_t block = __sector_to_block(ec, iter->bi_sector); in __ebs_rw_bvec() 83 cur_len = min(dm_bufio_get_block_size(ec->bufio) - buf_off, bv_len); in __ebs_rw_bvec() 86 if (op == REQ_OP_READ || buf_off || bv_len < dm_bufio_get_block_size(ec->bufio)) in __ebs_rw_bvec() [all …]
|
/openbmc/linux/drivers/platform/chrome/wilco_ec/ |
H A D | core.c | 7 * This is the entry point for the drivers that control the Wilco EC. 14 #include <linux/platform_data/wilco-ec.h> 19 #define DRV_NAME "wilco-ec" 40 struct wilco_ec_device *ec; in wilco_ec_probe() local 43 ec = devm_kzalloc(dev, sizeof(*ec), GFP_KERNEL); in wilco_ec_probe() 44 if (!ec) in wilco_ec_probe() 47 platform_set_drvdata(pdev, ec); in wilco_ec_probe() 48 ec->dev = dev; in wilco_ec_probe() 49 mutex_init(&ec->mailbox_lock); in wilco_ec_probe() 51 ec->data_size = sizeof(struct wilco_ec_response) + EC_MAILBOX_DATA_SIZE; in wilco_ec_probe() [all …]
|
H A D | mailbox.c | 7 * The Wilco EC is similar to a typical ChromeOS embedded controller. 9 * protocol, but with some important differences. The EC firmware does 21 #include <linux/platform_data/wilco-ec.h> 32 /* Version of EC protocol */ 41 /* EC response flags */ 43 #define EC_CMDR_PENDING BIT(1) /* Write pending to EC */ 44 #define EC_CMDR_BUSY BIT(2) /* EC is busy processing a command */ 48 * wilco_ec_response_timed_out() - Wait for EC response. 49 * @ec: EC device. 51 * Return: true if EC timed out, false if EC did not time out. [all …]
|
H A D | keyboard_leds.c | 7 * Since the EC will never change the backlight level of its own accord, 14 #include <linux/platform_data/wilco-ec.h> 22 struct wilco_ec_device *ec; member 33 * struct wilco_keyboard_leds_msg - Message to/from EC for keyboard LED control. 35 * @status: Set by EC to 0 on success, 0xFF on failure. 55 static int send_kbbl_msg(struct wilco_ec_device *ec, in send_kbbl_msg() argument 69 ret = wilco_ec_mailbox(ec, &msg); in send_kbbl_msg() 71 dev_err(ec->dev, in send_kbbl_msg() 79 static int set_kbbl(struct wilco_ec_device *ec, enum led_brightness brightness) in set_kbbl() argument 91 ret = send_kbbl_msg(ec, &request, &response); in set_kbbl() [all …]
|
/openbmc/u-boot/drivers/misc/ |
H A D | cros_ec_sandbox.c | 23 * Ultimately it shold be possible to connect an Chrome OS EC emulation 31 * into key scan data, passed back from the EC as key scan messages. The 36 * 3. Save/restore of EC state, so that the vboot context, flash memory 38 * since the EC is supposed to continue running even if the AP resets. 41 * to enter recovery mode. The EC passes this to U-Boot through the normal 47 * 6. Hashing of the EC image, again to support software sync. 50 * the EC image in with U-Boot (Vic has demonstrated a prototype for this). 64 * struct ec_state - Information about the EC state 66 * @vbnv_context: Vboot context data stored by EC 67 * @ec_config: FDT config information about the EC (e.g. flashmap) [all …]
|
/openbmc/linux/drivers/platform/olpc/ |
H A D | olpc-ec.c | 19 #include <linux/olpc-ec.h> 42 /* Pending EC commands */ 49 * EC event mask to be applied during suspend (defining wakeup 55 * Running an EC command while suspending means we don't always finish 56 * the command before the machine suspends. This means that the EC 58 * of time (while the OS is asleep) the EC times out and restarts its 61 * the EC... and everyone's uphappy. 79 struct olpc_ec_priv *ec = container_of(w, struct olpc_ec_priv, worker); in olpc_ec_worker() local 84 spin_lock_irqsave(&ec->cmd_q_lock, flags); in olpc_ec_worker() 85 if (!list_empty(&ec->cmd_q)) { in olpc_ec_worker() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/mfd/ |
H A D | google,cros-ec.yaml | 4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml# 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) 23 For implementations of the EC connected through I2C. 24 const: google,cros-ec-i2c 26 For implementations of the EC connected through SPI. 27 const: google,cros-ec-spi 31 - const: google,cros-ec-fp 32 - const: google,cros-ec-spi 34 For implementations of the EC connected through RPMSG. [all …]
|
/openbmc/linux/drivers/mfd/ |
H A D | cros_ec_dev.c | 20 #define DRV_NAME "cros-ec-dev" 74 { .name = "cros-ec-cec", }, 78 { .name = "cros-ec-rtc", }, 82 { .name = "cros-ec-sensorhub", }, 113 { .name = "cros-ec-chardev", }, 114 { .name = "cros-ec-debugfs", }, 115 { .name = "cros-ec-sysfs", }, 119 { .name = "cros-ec-pchg", }, 123 { .name = "cros-ec-lightbar", } 127 { .name = "cros-ec-vbc", } [all …]
|
H A D | ntxec.c | 150 struct ntxec *ec; in ntxec_probe() local 156 ec = devm_kmalloc(&client->dev, sizeof(*ec), GFP_KERNEL); in ntxec_probe() 157 if (!ec) in ntxec_probe() 160 ec->dev = &client->dev; in ntxec_probe() 162 ec->regmap = devm_regmap_init_i2c(client, ®map_config); in ntxec_probe() 163 if (IS_ERR(ec->regmap)) { in ntxec_probe() 164 dev_err(ec->dev, "Failed to set up regmap for device\n"); in ntxec_probe() 165 return PTR_ERR(ec->regmap); in ntxec_probe() 169 res = regmap_read(ec->regmap, NTXEC_REG_VERSION, &version); in ntxec_probe() 171 dev_err(ec->dev, "Failed to read firmware version number\n"); in ntxec_probe() [all …]
|
/openbmc/linux/crypto/ |
H A D | sm2.c | 66 static int __sm2_set_pub_key(struct mpi_ec_ctx *ec, 69 static int sm2_ec_ctx_init(struct mpi_ec_ctx *ec) in sm2_ec_ctx_init() argument 89 ec->Q = mpi_point_new(0); in sm2_ec_ctx_init() 90 if (!ec->Q) in sm2_ec_ctx_init() 94 ec->G = mpi_point_new(0); in sm2_ec_ctx_init() 95 if (!ec->G) { in sm2_ec_ctx_init() 96 mpi_point_release(ec->Q); in sm2_ec_ctx_init() 100 mpi_set(ec->G->x, x); in sm2_ec_ctx_init() 101 mpi_set(ec->G->y, y); in sm2_ec_ctx_init() 102 mpi_set_ui(ec->G->z, 1); in sm2_ec_ctx_init() [all …]
|
H A D | jitterentropy.c | 153 * @ec [in] Reference to entropy collector 155 static void jent_apt_reset(struct rand_data *ec, unsigned int delta_masked) in jent_apt_reset() argument 158 ec->apt_count = 0; in jent_apt_reset() 159 ec->apt_base = delta_masked; in jent_apt_reset() 160 ec->apt_observations = 0; in jent_apt_reset() 166 * @ec [in] Reference to entropy collector 169 static void jent_apt_insert(struct rand_data *ec, unsigned int delta_masked) in jent_apt_insert() argument 172 if (!ec->apt_base_set) { in jent_apt_insert() 173 ec->apt_base = delta_masked; in jent_apt_insert() 174 ec->apt_base_set = 1; in jent_apt_insert() [all …]
|
/openbmc/linux/drivers/platform/chrome/ |
H A D | cros_ec_sensorhub.c | 19 #define DRV_NAME "cros-ec-sensorhub" 54 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register() local 67 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_sensorhub_register() 69 dev_warn(dev, "no info for EC sensor %d : %d/%d\n", in cros_ec_sensorhub_register() 76 name = "cros-ec-accel"; in cros_ec_sensorhub_register() 79 name = "cros-ec-baro"; in cros_ec_sensorhub_register() 82 name = "cros-ec-gyro"; in cros_ec_sensorhub_register() 85 name = "cros-ec-mag"; in cros_ec_sensorhub_register() 88 name = "cros-ec-prox"; in cros_ec_sensorhub_register() 91 name = "cros-ec-light"; in cros_ec_sensorhub_register() [all …]
|
H A D | cros_ec_debugfs.c | 2 // Debug logs for the ChromeOS EC 20 #define DRV_NAME "cros-ec-debugfs" 32 * struct cros_ec_debugfs - EC debugging information. 34 * @ec: EC device this debugfs information belongs to 37 * @read_msg: preallocated EC command and buffer to read console log 39 * @log_poll_work: recurring task to poll EC for new console log data 42 * when EC panic 45 struct cros_ec_dev *ec; member 47 /* EC log */ 52 /* EC panicinfo */ [all …]
|
H A D | Kconfig | 70 Controller (EC) providing keyboard, battery and power services. 72 protocol for talking to the EC is defined by the bus driver. 83 EC through an I2C bus. This uses a simple byte-level protocol with 91 If you say Y here, you get support for talking to the ChromeOS EC 93 checksum. Also since there's no addition EC-to-host interrupt, this 104 If you say Y here, you get support for talking to the ChromeOS EC 117 If you say Y here, you get support for talking to the ChromeOS EC 118 through a SPI bus, using a byte-level protocol. Since the EC's 126 If you say Y here, you get support for talking to the ChromeOS EC 136 If you say Y here, you get support for talking to the ChromeOS EC [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 27 What: /sys/kernel/debug/<cros-ec-device>/uptime 31 A u32 providing the time since EC booted in ms. This is 32 is used for synchronizing the AP host time with the EC [all …]
|
/openbmc/service-config-manager/src/ |
H A D | utils.cpp | 18 void checkAndThrowInternalFailure(boost::system::error_code& ec, in checkAndThrowInternalFailure() argument 21 if (ec) in checkAndThrowInternalFailure() 23 std::string msgToLog = ec.message() + (msg.empty() ? "" : " - " + msg); in checkAndThrowInternalFailure() 35 boost::system::error_code ec; in systemdDaemonReload() local 36 conn->yield_method_call<>(yield, ec, sysdService, sysdObjPath, sysdMgrIntf, in systemdDaemonReload() 38 checkAndThrowInternalFailure(ec, "daemon-reload operation failed"); in systemdDaemonReload() 59 boost::system::error_code ec; in systemdUnitAction() local 61 yield, ec, sysdService, sysdObjPath, sysdMgrIntf, actionMethod, in systemdUnitAction() 63 checkAndThrowInternalFailure(ec, in systemdUnitAction() 71 ec.clear(); in systemdUnitAction() [all …]
|
/openbmc/u-boot/include/ |
H A D | cros_ec.h | 20 struct gpio_desc ec_int; /* GPIO used as EC interrupt line */ 51 /* Holds information about the Chrome EC */ 53 struct fmap_entry flash; /* Address and size of EC flash */ 63 * Read the ID of the CROS-EC device 65 * The ID is a string identifying the CROS-EC device. 67 * @param dev CROS-EC device 75 * Read a keyboard scan from the CROS-EC device 79 * @param dev CROS-EC device 86 * Read which image is currently running on the CROS-EC device. 88 * @param dev CROS-EC device [all …]
|
/openbmc/linux/include/linux/platform_data/ |
H A D | wilco-ec.h | 15 #define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */ 31 * @data_buffer: Buffer used for EC communication. The same buffer 33 * @data_size: Size of the data buffer used for EC communication. 75 * @result: Result code from the EC. Non-zero indicates an error. 91 * @WILCO_EC_MSG_LEGACY: Legacy EC messages for standard EC behavior. 92 * @WILCO_EC_MSG_PROPERTY: Get/Set/Sync EC controlled NVRAM property. 93 * @WILCO_EC_MSG_TELEMETRY: Request telemetry data from the EC. 105 * @request_size: Number of bytes to send to the EC. 107 * @response_size: Number of bytes to read from EC. 121 * wilco_ec_mailbox() - Send request to the EC and receive the response. [all …]
|
H A D | cros_ec_proto.h | 29 * The EC is unresponsive for a time after a reboot command. Add a 45 * EC panic is not covered by the standard (0-F) ACPI notify values. 46 * Arbitrarily choosing B0 to notify ec panic, which is in the 84-BF 52 * Command interface between EC and AP, for LPC, I2C and SPI interfaces. 69 * struct cros_ec_command - Information about a ChromeOS EC command. 73 * @insize: Max number of bytes to accept from the EC. 74 * @result: EC's response to the command (separate from communication failure). 75 * @data: Where to put the incoming data from EC and outgoing data to EC. 87 * struct cros_ec_device - Information about a ChromeOS EC device. 91 * @cmd_readmem: Direct read of the EC memory-mapped region, if supported. [all …]
|
/openbmc/linux/drivers/ata/ |
H A D | pata_icside.c | 64 struct expansion_card *ec; member 83 /* Prototype: pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) 86 static void pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v5() argument 88 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v5() 93 /* Prototype: pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) 96 static void pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqdisable_arcin_v5() argument 98 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqdisable_arcin_v5() 110 /* Prototype: pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) 113 static void pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v6() argument 115 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v6() [all …]
|
/openbmc/linux/arch/arm/include/asm/ |
H A D | ecard.h | 113 void (*irqenable)(ecard_t *ec, int irqnr); 114 void (*irqdisable)(ecard_t *ec, int irqnr); 115 int (*irqpending)(ecard_t *ec); 116 void (*fiqenable)(ecard_t *ec, int fiqnr); 117 void (*fiqdisable)(ecard_t *ec, int fiqnr); 118 int (*fiqpending)(ecard_t *ec); 130 #define ecard_resource_start(ec,nr) ((ec)->resource[nr].start) argument 131 #define ecard_resource_end(ec,nr) ((ec)->resource[nr].end) argument 132 #define ecard_resource_len(ec,nr) ((ec)->resource[nr].end - \ argument 133 (ec)->resource[nr].start + 1) [all …]
|
/openbmc/linux/drivers/scsi/arm/ |
H A D | powertec.c | 62 struct expansion_card *ec; member 68 /* Prototype: void powertecscsi_irqenable(ec, irqnr) 70 * Params : ec - expansion card structure 74 powertecscsi_irqenable(struct expansion_card *ec, int irqnr) in powertecscsi_irqenable() argument 76 struct powertec_info *info = ec->irq_data; in powertecscsi_irqenable() 80 /* Prototype: void powertecscsi_irqdisable(ec, irqnr) 82 * Params : ec - expansion card structure 86 powertecscsi_irqdisable(struct expansion_card *ec, int irqnr) in powertecscsi_irqdisable() argument 88 struct powertec_info *info = ec->irq_data; in powertecscsi_irqdisable() 193 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in powertecscsi_info() [all …]
|