Home
last modified time | relevance | path

Searched refs:mcu (Results 1 – 25 of 155) sorted by relevance

1234567

/linux/arch/powerpc/platforms/83xx/ !
H A Dmcu_mpc8349emitx.c33 struct mcu { struct
40 static struct mcu *glob_mcu; argument
46 struct mcu *mcu = glob_mcu; in shutdown_thread_fn() local
49 ret = i2c_smbus_read_byte_data(mcu->client, MCU_REG_CTRL); in shutdown_thread_fn()
52 mcu->reg_ctrl = ret; in shutdown_thread_fn()
55 if (mcu->reg_ctrl & MCU_CTRL_BTN) { in shutdown_thread_fn()
56 i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL, in shutdown_thread_fn()
57 mcu->reg_ctrl & ~MCU_CTRL_BTN); in shutdown_thread_fn()
73 struct mcu *mcu = glob_mcu; in show_status() local
75 ret = i2c_smbus_read_byte_data(mcu->client, MCU_REG_CTRL); in show_status()
[all …]
/linux/drivers/platform/cznic/ !
H A Dturris-omnia-mcu-gpio.c234 static int omnia_ctl_cmd_locked(struct omnia_mcu *mcu, u8 cmd, u16 val, u16 mask) in omnia_ctl_cmd_locked() argument
258 return omnia_cmd_write(mcu->client, buf, len); in omnia_ctl_cmd_locked()
261 static int omnia_ctl_cmd(struct omnia_mcu *mcu, u8 cmd, u16 val, u16 mask) in omnia_ctl_cmd() argument
263 guard(mutex)(&mcu->lock); in omnia_ctl_cmd()
265 return omnia_ctl_cmd_locked(mcu, cmd, val, mask); in omnia_ctl_cmd()
278 struct omnia_mcu *mcu = gpiochip_get_data(gc); in omnia_gpio_get_direction() local
283 scoped_guard(mutex, &mcu->lock) { in omnia_gpio_get_direction()
284 val = omnia_cmd_read_bit(mcu->client, in omnia_gpio_get_direction()
306 struct omnia_mcu *mcu = gpiochip_get_data(gc); in omnia_gpio_direction_input() local
309 return omnia_ctl_cmd(mcu, OMNIA_CMD_EXT_CONTROL, in omnia_gpio_direction_input()
[all …]
H A Dturris-omnia-mcu-keyctl.c27 struct omnia_mcu *mcu = dev_id; in omnia_msg_signed_irq_handler() local
30 err = omnia_cmd_read(mcu->client, OMNIA_CMD_CRYPTO_COLLECT_SIGNATURE, in omnia_msg_signed_irq_handler()
35 guard(mutex)(&mcu->sign_lock); in omnia_msg_signed_irq_handler()
37 if (mcu->sign_requested) { in omnia_msg_signed_irq_handler()
38 mcu->sign_err = err; in omnia_msg_signed_irq_handler()
40 memcpy(mcu->signature, &reply[1], in omnia_msg_signed_irq_handler()
42 mcu->sign_requested = false; in omnia_msg_signed_irq_handler()
43 complete(&mcu->msg_signed); in omnia_msg_signed_irq_handler()
52 struct omnia_mcu *mcu = dev_get_drvdata(turris_signing_key_get_dev(key)); in omnia_mcu_sign() local
56 scoped_guard(mutex, &mcu->sign_lock) { in omnia_mcu_sign()
[all …]
H A Dturris-omnia-mcu-watchdog.c32 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_start() local
34 return omnia_cmd_write_u8(mcu->client, OMNIA_CMD_SET_WATCHDOG_STATE, 1); in omnia_wdt_start()
39 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_stop() local
41 return omnia_cmd_write_u8(mcu->client, OMNIA_CMD_SET_WATCHDOG_STATE, 0); in omnia_wdt_stop()
46 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_ping() local
48 return omnia_cmd_write_u8(mcu->client, OMNIA_CMD_SET_WATCHDOG_STATE, 1); in omnia_wdt_ping()
54 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_set_timeout() local
56 return omnia_cmd_write_u16(mcu->client, OMNIA_CMD_SET_WDT_TIMEOUT, in omnia_wdt_set_timeout()
62 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_get_timeleft() local
66 err = omnia_cmd_read_u16(mcu->client, OMNIA_CMD_GET_WDT_TIMELEFT, in omnia_wdt_get_timeleft()
[all …]
H A Dturris-omnia-mcu-base.c57 static int omnia_get_version_hash(struct omnia_mcu *mcu, bool bootloader, in omnia_get_version_hash() argument
64 err = omnia_cmd_read(mcu->client, in omnia_get_version_hash()
80 struct omnia_mcu *mcu = dev_get_drvdata(dev); in fw_version_hash_show() local
84 err = omnia_get_version_hash(mcu, bootloader, version); in fw_version_hash_show()
110 struct omnia_mcu *mcu = dev_get_drvdata(dev); in fw_features_show() local
112 return sysfs_emit(buf, "0x%x\n", mcu->features); in fw_features_show()
119 struct omnia_mcu *mcu = dev_get_drvdata(dev); in mcu_type_show() local
121 return sysfs_emit(buf, "%s\n", mcu->type); in mcu_type_show()
143 struct omnia_mcu *mcu = dev_get_drvdata(dev); in serial_number_show() local
145 return sysfs_emit(buf, "%016llX\n", mcu->board_serial_number); in serial_number_show()
[all …]
H A Dturris-omnia-mcu-sys-off-wakeup.c65 struct omnia_mcu *mcu = i2c_get_clientdata(client); in omnia_read_alarm() local
74 rtc_time64_to_tm(wakeup ?: mcu->rtc_alarm, &alrm->time); in omnia_read_alarm()
82 struct omnia_mcu *mcu = i2c_get_clientdata(client); in omnia_set_alarm() local
84 mcu->rtc_alarm = rtc_tm_to_time64(&alrm->time); in omnia_set_alarm()
88 mcu->rtc_alarm); in omnia_set_alarm()
96 struct omnia_mcu *mcu = i2c_get_clientdata(client); in omnia_alarm_irq_enable() local
99 enabled ? mcu->rtc_alarm : 0); in omnia_alarm_irq_enable()
111 struct omnia_mcu *mcu = data->cb_data; in omnia_power_off() local
117 if (mcu->front_button_poweron) in omnia_power_off()
134 err = omnia_cmd_write(mcu->client, cmd, sizeof(cmd)); in omnia_power_off()
[all …]
H A Dturris-omnia-mcu-trng.c25 struct omnia_mcu *mcu = dev_id; in omnia_trng_irq_handler() local
27 complete(&mcu->trng_entropy_ready); in omnia_trng_irq_handler()
34 struct omnia_mcu *mcu = container_of(rng, struct omnia_mcu, trng); in omnia_trng_read() local
38 if (!wait && !completion_done(&mcu->trng_entropy_ready)) in omnia_trng_read()
42 if (wait_for_completion_interruptible(&mcu->trng_entropy_ready)) in omnia_trng_read()
45 err = omnia_cmd_read(mcu->client, in omnia_trng_read()
59 int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument
61 struct device *dev = &mcu->client->dev; in omnia_mcu_register_trng()
65 if (!(mcu->features & OMNIA_FEAT_TRNG)) in omnia_mcu_register_trng()
74 err = omnia_cmd_read(mcu->client, OMNIA_CMD_TRNG_COLLECT_ENTROPY, in omnia_mcu_register_trng()
[all …]
H A DMakefile3 obj-$(CONFIG_TURRIS_OMNIA_MCU) += turris-omnia-mcu.o
4 turris-omnia-mcu-y := turris-omnia-mcu-base.o
5 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_GPIO) += turris-omnia-mcu-gpio.o
6 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_KEYCTL) += turris-omnia-mcu-keyctl.o
7 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_SYSOFF_WAKEUP) += turris-omnia-mcu-sys-off-wakeup.o
8 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_TRNG) += turris-omnia-mcu-trng.o
9 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_WATCHDOG) += turris-omnia-mcu-watchdog.o
H A Dturris-omnia-mcu.h116 int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu);
117 int omnia_mcu_request_irq(struct omnia_mcu *mcu, u32 spec,
120 static inline int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu) in omnia_mcu_register_gpiochip() argument
127 int omnia_mcu_register_keyctl(struct omnia_mcu *mcu);
129 static inline int omnia_mcu_register_keyctl(struct omnia_mcu *mcu) in omnia_mcu_register_keyctl() argument
137 int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu);
139 static inline int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu) in omnia_mcu_register_sys_off_and_wakeup() argument
146 int omnia_mcu_register_trng(struct omnia_mcu *mcu);
148 static inline int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument
155 int omnia_mcu_register_watchdog(struct omnia_mcu *mcu);
[all …]
/linux/drivers/mfd/ !
H A Dqnap-mcu.c81 static int qnap_mcu_write(struct qnap_mcu *mcu, const u8 *data, u8 data_size) in qnap_mcu_write() argument
87 dev_err(&mcu->serdev->dev, "data too big for transmit buffer"); in qnap_mcu_write()
94 serdev_device_write_flush(mcu->serdev); in qnap_mcu_write()
96 return serdev_device_write(mcu->serdev, tx, length, HZ); in qnap_mcu_write()
102 struct qnap_mcu *mcu = dev_get_drvdata(dev); in qnap_mcu_receive_buf() local
103 struct qnap_mcu_reply *reply = &mcu->reply; in qnap_mcu_receive_buf()
145 int qnap_mcu_exec(struct qnap_mcu *mcu, in qnap_mcu_exec() argument
151 struct qnap_mcu_reply *reply = &mcu->reply; in qnap_mcu_exec()
155 dev_err(&mcu->serdev->dev, "expected data too big for receive buffer"); in qnap_mcu_exec()
159 mutex_lock(&mcu->bus_lock); in qnap_mcu_exec()
[all …]
/linux/drivers/hwmon/ !
H A Dsg2042-mcu.c41 struct sg2042_mcu_data *mcu = seqf->private; \
43 ret = i2c_smbus_read_byte_data(mcu->client, (_reg)); \
60 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev); in reset_count_show() local
63 ret = i2c_smbus_read_byte_data(mcu->client, REG_RST_COUNT); in reset_count_show()
74 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev); in uptime_show() local
78 ret = i2c_smbus_read_i2c_block_data(mcu->client, REG_UPTIME, in uptime_show()
91 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev); in reset_reason_show() local
94 ret = i2c_smbus_read_byte_data(mcu->client, REG_RESET_REASON); in reset_reason_show()
105 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev); in repower_policy_show() local
109 ret = i2c_smbus_read_byte_data(mcu->client, REG_REPOWER_POLICY); in repower_policy_show()
[all …]
H A Dqnap-mcu-hwmon.c17 struct qnap_mcu *mcu; member
39 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_rpm()
57 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_pwm()
73 return qnap_mcu_exec_with_ack(hwm->mcu, cmd, sizeof(cmd)); in qnap_mcu_hwmon_set_pwm()
83 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_temp()
294 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_hwmon_probe() local
306 hwm->mcu = mcu; in qnap_mcu_hwmon_probe()
/linux/drivers/leds/ !
H A Dleds-qnap-mcu.c23 struct qnap_mcu *mcu; member
49 return qnap_mcu_exec_with_ack(err_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_err_led_set()
75 return qnap_mcu_exec_with_ack(err_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_err_led_blink_set()
78 static int qnap_mcu_register_err_led(struct device *dev, struct qnap_mcu *mcu, int num_err_led) in qnap_mcu_register_err_led() argument
87 err_led->mcu = mcu; in qnap_mcu_register_err_led()
113 struct qnap_mcu *mcu; member
142 return qnap_mcu_exec_with_ack(usb_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_usb_led_set()
166 return qnap_mcu_exec_with_ack(usb_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_usb_led_blink_set()
169 static int qnap_mcu_register_usb_led(struct device *dev, struct qnap_mcu *mcu) in qnap_mcu_register_usb_led() argument
178 usb_led->mcu = mcu; in qnap_mcu_register_usb_led()
[all …]
/linux/drivers/net/wireless/mediatek/mt76/ !
H A Dmt76x02_usb_mcu.c26 WARN_ON_ONCE(len / 8 != usb->mcu.rp_len); in mt76x02u_multiple_mcu_reads()
28 for (i = 0; i < usb->mcu.rp_len; i++) { in mt76x02u_multiple_mcu_reads()
29 u32 reg = get_unaligned_le32(data + 8 * i) - usb->mcu.base; in mt76x02u_multiple_mcu_reads()
32 WARN_ON_ONCE(usb->mcu.rp[i].reg != reg); in mt76x02u_multiple_mcu_reads()
33 usb->mcu.rp[i].value = val; in mt76x02u_multiple_mcu_reads()
40 u8 *data = usb->mcu.data; in mt76x02u_mcu_wait_resp()
52 if (usb->mcu.rp) in mt76x02u_mcu_wait_resp()
83 seq = ++dev->mcu.msg_seq & 0xf; in __mt76x02u_mcu_send_msg()
85 seq = ++dev->mcu.msg_seq & 0xf; in __mt76x02u_mcu_send_msg()
120 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_send_msg()
[all …]
H A Dmcu.c41 wait_event_timeout(dev->mcu.wait, in mt76_mcu_get_response()
42 (!skb_queue_empty(&dev->mcu.res_q) || in mt76_mcu_get_response()
45 return skb_dequeue(&dev->mcu.res_q); in mt76_mcu_get_response()
51 skb_queue_tail(&dev->mcu.res_q, skb); in mt76_mcu_rx_event()
52 wake_up(&dev->mcu.wait); in mt76_mcu_rx_event()
88 mutex_lock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg()
110 expires = jiffies + dev->mcu.timeout; in mt76_mcu_skb_send_and_get_msg()
132 mutex_unlock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg()
H A Dmt76x02_mcu.c51 mutex_lock(&mdev->mcu.mutex); in mt76x02_mcu_msg_send()
53 seq = ++mdev->mcu.msg_seq & 0xf; in mt76x02_mcu_msg_send()
55 seq = ++mdev->mcu.msg_seq & 0xf; in mt76x02_mcu_msg_send()
76 mutex_unlock(&mdev->mcu.mutex); in mt76x02_mcu_msg_send()
153 while ((skb = skb_dequeue(&dev->mt76.mcu.res_q)) != NULL) in mt76x02_mcu_cleanup()
H A Dsdio_txrx.c188 mt76s_tx_pick_quota(struct mt76_sdio *sdio, bool mcu, int buf_sz, in mt76s_tx_pick_quota() argument
196 if (mcu && sdio->hw_ver == MT76_CONNAC2_SDIO) in mt76s_tx_pick_quota()
199 if (mcu) { in mt76s_tx_pick_quota()
215 mt76s_tx_update_quota(struct mt76_sdio *sdio, bool mcu, int pse_size, in mt76s_tx_update_quota() argument
218 if (mcu) { in mt76s_tx_update_quota()
248 bool mcu = q == dev->q_mcu[MT_MCUQ_WM]; in mt76s_tx_run_queue() local
279 if (mt76s_tx_pick_quota(sdio, mcu, e->buf_sz, &pse_sz, in mt76s_tx_run_queue()
308 mt76s_tx_update_quota(sdio, mcu, pse_sz, ple_sz); in mt76s_tx_run_queue()
/linux/drivers/net/wireless/mediatek/mt7601u/ !
H A Dmcu.c70 struct urb *urb = dev->mcu.resp.urb; in mt7601u_mcu_wait_resp()
75 if (!wait_for_completion_timeout(&dev->mcu.resp_cmpl, in mt7601u_mcu_wait_resp()
82 rxfce = get_unaligned_le32(dev->mcu.resp.buf); in mt7601u_mcu_wait_resp()
86 &dev->mcu.resp, GFP_KERNEL, in mt7601u_mcu_wait_resp()
88 &dev->mcu.resp_cmpl); in mt7601u_mcu_wait_resp()
124 mutex_lock(&dev->mcu.mutex); in mt7601u_mcu_msg_send()
128 seq = ++dev->mcu.msg_seq & 0xf; in mt7601u_mcu_msg_send()
132 if (dev->mcu.resp_cmpl.done) in mt7601u_mcu_msg_send()
148 mutex_unlock(&dev->mcu.mutex); in mt7601u_mcu_msg_send()
495 mutex_init(&dev->mcu.mutex); in mt7601u_mcu_init()
[all …]
/linux/drivers/input/misc/ !
H A Dqnap-mcu-input.c24 struct qnap_mcu *mcu; member
39 ret = qnap_mcu_exec(idev->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_input_poll()
60 qnap_mcu_exec_with_ack(idev->mcu, cmd, sizeof(cmd)); in qnap_mcu_input_beeper_work()
94 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_input_probe() local
110 idev->mcu = mcu; in qnap_mcu_input_probe()
/linux/drivers/thermal/ !
H A Dkhadas_mcu_fan.c20 struct khadas_mcu *mcu; member
30 ret = regmap_write(ctx->mcu->regmap, KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG, in khadas_mcu_fan_set_level()
81 struct khadas_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in khadas_mcu_fan_probe() local
90 ctx->mcu = mcu; in khadas_mcu_fan_probe()
/linux/include/linux/mfd/ !
H A Dqnap-mcu.h20 int qnap_mcu_exec(struct qnap_mcu *mcu,
23 int qnap_mcu_exec_with_ack(struct qnap_mcu *mcu,
/linux/drivers/perf/ !
H A Dxgene_pmu.c343 XGENE_PMU_EVENT_ATTR(mcu-request, 0x12),
344 XGENE_PMU_EVENT_ATTR(mcu-rd-request, 0x13),
345 XGENE_PMU_EVENT_ATTR(mcu-hp-rd-request, 0x14),
346 XGENE_PMU_EVENT_ATTR(mcu-wr-request, 0x15),
347 XGENE_PMU_EVENT_ATTR(mcu-rd-proceed-all, 0x16),
348 XGENE_PMU_EVENT_ATTR(mcu-rd-proceed-cancel, 0x17),
349 XGENE_PMU_EVENT_ATTR(mcu-rd-response, 0x18),
350 XGENE_PMU_EVENT_ATTR(mcu-rd-proceed-speculative-all, 0x19),
351 XGENE_PMU_EVENT_ATTR(mcu-rd-proceed-speculative-cancel, 0x1a),
352 XGENE_PMU_EVENT_ATTR(mcu-wr-proceed-all, 0x1b),
[all …]
/linux/arch/riscv/boot/dts/sophgo/ !
H A Dsg2044-sophgo-srd3-10.dts59 mcu: syscon@17 { label
60 compatible = "sophgo,sg2044-hwmon-mcu", "sophgo,sg2042-hwmon-mcu";
H A Dsg2042-milkv-pioneer.dts60 mcu: syscon@17 { label
61 compatible = "sophgo,sg2042-hwmon-mcu";
159 thermal-sensors = <&mcu 0>;
213 thermal-sensors = <&mcu 1>;
/linux/arch/arm64/boot/dts/ti/ !
H A Dk3-j721s2-common-proc-board.dts209 mcu_uart0_pins_default: mcu-uart0-default-pins {
219 mcu_cpsw_pins_default: mcu-cpsw-default-pins {
236 mcu_mdio_pins_default: mcu-mdio-default-pins {
243 mcu_mcan0_pins_default: mcu-mcan0-default-pins {
250 mcu_mcan1_pins_default: mcu-mcan1-default-pins {
257 mcu_mcan0_gpio_pins_default: mcu-mcan0-gpio-default-pins {
264 mcu_mcan1_gpio_pins_default: mcu-mcan1-gpio-default-pins {
270 mcu_adc0_pins_default: mcu-adc0-default-pins {
283 mcu_adc1_pins_default: mcu-adc1-default-pins {
298 mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-default-pins {

1234567