| /linux/arch/powerpc/platforms/83xx/ |
| H A D | mcu_mpc8349emitx.c | 33 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 D | turris-omnia-mcu-gpio.c | 234 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 D | turris-omnia-mcu-keyctl.c | 27 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 D | turris-omnia-mcu-watchdog.c | 32 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 D | turris-omnia-mcu-base.c | 57 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 D | turris-omnia-mcu-sys-off-wakeup.c | 65 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 D | turris-omnia-mcu-trng.c | 25 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 D | Makefile | 3 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 D | turris-omnia-mcu.h | 116 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/net/wireless/mediatek/mt7601u/ |
| H A D | mcu.c | 70 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/net/ethernet/mediatek/ |
| H A D | mtk_wed_mcu.c | 69 wait_event_timeout(wo->mcu.wait, !skb_queue_empty(&wo->mcu.res_q), in mtk_wed_mcu_get_response() 71 return skb_dequeue(&wo->mcu.res_q); in mtk_wed_mcu_get_response() 76 skb_queue_tail(&wo->mcu.res_q, skb); in mtk_wed_mcu_rx_event() 77 wake_up(&wo->mcu.wait); in mtk_wed_mcu_rx_event() 140 wo->mcu.timeout = 20 * HZ; in mtk_wed_mcu_skb_send_msg() 147 u16 seq = ++wo->mcu.seq; in mtk_wed_mcu_skb_send_msg() 150 seq = ++wo->mcu.seq; in mtk_wed_mcu_skb_send_msg() 202 mutex_lock(&wo->mcu.mutex); in mtk_wed_mcu_send_msg() 208 expires = jiffies + wo->mcu.timeout; in mtk_wed_mcu_send_msg() 216 mutex_unlock(&wo->mcu.mutex); in mtk_wed_mcu_send_msg() [all …]
|
| /linux/drivers/nvmem/ |
| H A D | qnap-mcu-eeprom.c | 22 static int qnap_mcu_eeprom_read_block(struct qnap_mcu *mcu, unsigned int offset, in qnap_mcu_eeprom_read_block() argument 33 ret = qnap_mcu_exec(mcu, cmd, sizeof(cmd), reply, bytes + sizeof(cmd)); in qnap_mcu_eeprom_read_block() 52 struct qnap_mcu *mcu = priv; in qnap_mcu_eeprom_read() local 63 ret = qnap_mcu_eeprom_read_block(mcu, offset + pos, &buf[pos], to_read); in qnap_mcu_eeprom_read() 76 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_eeprom_probe() local 92 nvcfg.priv = mcu, in qnap_mcu_eeprom_probe()
|
| /linux/drivers/input/misc/ |
| H A D | qnap-mcu-input.c | 24 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 D | khadas_mcu_fan.c | 20 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/arch/arm64/boot/dts/renesas/ |
| H A D | r8a779g3-sparrow-hawk-rpi-display-2.dtsi | 17 pwms = <&mcu 0 255 0>; 29 gpio = <&mcu 1 GPIO_ACTIVE_HIGH>; 42 mcu: gpio@45 { label 82 reset-gpios = <&mcu 0 GPIO_ACTIVE_LOW>;
|
| /linux/arch/riscv/boot/dts/sophgo/ |
| H A D | sg2044-sophgo-srd3-10.dts | 59 mcu: syscon@17 { label 60 compatible = "sophgo,sg2044-hwmon-mcu", "sophgo,sg2042-hwmon-mcu";
|
| H A D | sg2042-evb-v2.dts | 30 thermal-sensors = <&mcu 0>; 84 thermal-sensors = <&mcu 1>; 132 mcu: syscon@17 { label 133 compatible = "sophgo,sg2042-hwmon-mcu";
|
| H A D | sg2042-milkv-pioneer.dts | 60 mcu: syscon@17 { label 61 compatible = "sophgo,sg2042-hwmon-mcu"; 195 thermal-sensors = <&mcu 0>; 249 thermal-sensors = <&mcu 1>;
|
| H A D | sg2042-evb-v1.dts | 42 thermal-sensors = <&mcu 0>; 96 thermal-sensors = <&mcu 1>; 144 mcu: syscon@17 { label 145 compatible = "sophgo,sg2042-hwmon-mcu";
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am62-lp-sk.dts | 307 mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins { 313 mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins { 319 mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins { 325 mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins { 331 mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins { 337 mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
|
| H A D | k3-j721s2-common-proc-board.dts | 238 mcu_uart0_pins_default: mcu-uart0-default-pins { 248 mcu_cpsw_pins_default: mcu-cpsw-default-pins { 265 mcu_mdio_pins_default: mcu-mdio-default-pins { 272 mcu_mcan0_pins_default: mcu-mcan0-default-pins { 279 mcu_mcan1_pins_default: mcu-mcan1-default-pins { 286 mcu_mcan0_gpio_pins_default: mcu-mcan0-gpio-default-pins { 293 mcu_mcan1_gpio_pins_default: mcu-mcan1-gpio-default-pins { 299 mcu_adc0_pins_default: mcu-adc0-default-pins { 312 mcu_adc1_pins_default: mcu-adc1-default-pins { 327 mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-default-pins {
|
| H A D | k3-am654-industrial-thermal.dtsi | 36 mcu_thermal: mcu-thermal { 42 mcu_crit: mcu-crit {
|
| /linux/Documentation/hwmon/ |
| H A D | sg2042-mcu.rst | 3 Kernel driver sg2042-mcu 12 Prefix: 'sg2042-mcu' 69 data in ``/sys/kernel/debug/sg2042-mcu/*/``.
|
| /linux/Documentation/devicetree/bindings/hwmon/ |
| H A D | nsa320-mcu.txt | 5 - compatible : "zyxel,nsa320-mcu" 13 compatible = "zyxel,nsa320-mcu";
|
| /linux/arch/arm/boot/dts/marvell/ |
| H A D | kirkwood-nsa320.dts | 52 pmx_mcu_data: pmx-mcu-data { 62 pmx_mcu_clk: pmx-mcu-clk { 67 pmx_mcu_act: pmx-mcu-act { 184 compatible = "zyxel,nsa320-mcu";
|