| /linux-6.15/arch/powerpc/platforms/83xx/ |
| H A D | mcu_mpc8349emitx.c | 33 struct mcu { struct 46 struct mcu *mcu = glob_mcu; in shutdown_thread_fn() local 73 struct mcu *mcu = glob_mcu; in show_status() local 86 struct mcu *mcu = glob_mcu; in mcu_power_off() local 97 struct mcu *mcu = gpiochip_get_data(gc); in mcu_gpio_set() local 116 static int mcu_gpiochip_add(struct mcu *mcu) in mcu_gpiochip_add() argument 133 static void mcu_gpiochip_remove(struct mcu *mcu) in mcu_gpiochip_remove() argument 141 struct mcu *mcu; in mcu_probe() local 144 mcu = kzalloc(sizeof(*mcu), GFP_KERNEL); in mcu_probe() 145 if (!mcu) in mcu_probe() [all …]
|
| /linux-6.15/drivers/platform/cznic/ |
| H A D | turris-omnia-mcu-gpio.c | 688 rising = mcu->rising & mcu->mask; in omnia_irq_bus_sync_unlock() 689 falling = mcu->falling & mcu->mask; in omnia_irq_bus_sync_unlock() 709 mcu->is_cached &= mcu->both; in omnia_irq_bus_sync_unlock() 775 len = omnia_irq_compute_pending_length(mcu->rising & mcu->mask, in omnia_irq_read_pending_new() 776 mcu->falling & mcu->mask); in omnia_irq_read_pending_new() 798 mcu->is_cached |= mcu->both & (rising ^ falling); in omnia_irq_read_pending_new() 799 mcu->cached = (mcu->cached | rising) & ~falling; in omnia_irq_read_pending_new() 911 rising &= mcu->rising & mcu->mask; in omnia_irq_read_pending_old() 912 falling &= mcu->falling & mcu->mask; in omnia_irq_read_pending_old() 1042 err = devm_gpiochip_add_data(dev, &mcu->gc, mcu); in omnia_mcu_register_gpiochip() [all …]
|
| H A D | turris-omnia-mcu-watchdog.c | 93 struct device *dev = &mcu->client->dev; in omnia_mcu_register_watchdog() 97 if (!(mcu->features & OMNIA_FEAT_WDT_PING)) in omnia_mcu_register_watchdog() 100 mcu->wdt.info = &omnia_wdt_info; in omnia_mcu_register_watchdog() 101 mcu->wdt.ops = &omnia_wdt_ops; in omnia_mcu_register_watchdog() 102 mcu->wdt.parent = dev; in omnia_mcu_register_watchdog() 103 mcu->wdt.min_timeout = 1; in omnia_mcu_register_watchdog() 104 mcu->wdt.max_timeout = 65535 / DECI; in omnia_mcu_register_watchdog() 106 mcu->wdt.timeout = WATCHDOG_TIMEOUT; in omnia_mcu_register_watchdog() 109 watchdog_set_drvdata(&mcu->wdt, mcu); in omnia_mcu_register_watchdog() 111 omnia_wdt_set_timeout(&mcu->wdt, mcu->wdt.timeout); in omnia_mcu_register_watchdog() [all …]
|
| H A D | turris-omnia-mcu-base.c | 64 err = omnia_cmd_read(mcu->client, in omnia_get_version_hash() 283 &mcu->features); in omnia_mcu_read_features() 293 mcu->features = features16; in omnia_mcu_read_features() 296 mcu->features &= GENMASK(15, 0); in omnia_mcu_read_features() 348 memcpy(mcu->board_first_mac, &reply[9], sizeof(mcu->board_first_mac)); in omnia_mcu_read_board_info() 350 mcu->board_revision = reply[15]; in omnia_mcu_read_board_info() 358 struct omnia_mcu *mcu; in omnia_mcu_probe() local 364 mcu = devm_kzalloc(dev, sizeof(*mcu), GFP_KERNEL); in omnia_mcu_probe() 365 if (!mcu) in omnia_mcu_probe() 368 mcu->client = client; in omnia_mcu_probe() [all …]
|
| H A D | turris-omnia-mcu-sys-off-wakeup.c | 88 mcu->rtc_alarm); in omnia_set_alarm() 117 if (mcu->front_button_poweron) in omnia_power_off() 136 dev_err(&mcu->client->dev, in omnia_power_off() 157 dev_err(&mcu->client->dev, in omnia_restart() 189 mcu->front_button_poweron = val; in front_button_poweron_store() 225 omnia_restart, mcu); in omnia_mcu_register_sys_off_and_wakeup() 239 omnia_power_off, mcu); in omnia_mcu_register_sys_off_and_wakeup() 245 if (IS_ERR(mcu->rtcdev)) in omnia_mcu_register_sys_off_and_wakeup() 249 mcu->rtcdev->ops = &omnia_rtc_ops; in omnia_mcu_register_sys_off_and_wakeup() 250 mcu->rtcdev->range_max = U32_MAX; in omnia_mcu_register_sys_off_and_wakeup() [all …]
|
| H A D | turris-omnia-mcu-trng.c | 28 struct omnia_mcu *mcu = dev_id; in omnia_trng_irq_handler() local 30 complete(&mcu->trng_entropy_ready); in omnia_trng_irq_handler() 48 err = omnia_cmd_read(mcu->client, in omnia_trng_read() 62 int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument 64 struct device *dev = &mcu->client->dev; in omnia_mcu_register_trng() 68 if (!(mcu->features & OMNIA_FEAT_TRNG)) in omnia_mcu_register_trng() 87 init_completion(&mcu->trng_entropy_ready); in omnia_mcu_register_trng() 91 mcu); in omnia_mcu_register_trng() 95 mcu->trng.name = "turris-omnia-mcu-trng"; in omnia_mcu_register_trng() 96 mcu->trng.read = omnia_trng_read; 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_SYSOFF_WAKEUP) += turris-omnia-mcu-sys-off-wakeup.o 7 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_TRNG) += turris-omnia-mcu-trng.o 8 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_WATCHDOG) += turris-omnia-mcu-watchdog.o
|
| H A D | turris-omnia-mcu.h | 96 int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu); 98 static inline int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu) in omnia_mcu_register_gpiochip() argument 106 int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu); 108 static inline int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu) in omnia_mcu_register_sys_off_and_wakeup() argument 115 int omnia_mcu_register_trng(struct omnia_mcu *mcu); 117 static inline int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument 124 int omnia_mcu_register_watchdog(struct omnia_mcu *mcu); 126 static inline int omnia_mcu_register_watchdog(struct omnia_mcu *mcu) in omnia_mcu_register_watchdog() argument
|
| /linux-6.15/drivers/mfd/ |
| H A D | qnap-mcu.c | 159 mutex_lock(&mcu->bus_lock); in qnap_mcu_exec() 177 dev_err(&mcu->serdev->dev, in qnap_mcu_exec() 185 mutex_unlock(&mcu->bus_lock); in qnap_mcu_exec() 267 struct qnap_mcu *mcu; in qnap_mcu_probe() local 270 mcu = devm_kzalloc(dev, sizeof(*mcu), GFP_KERNEL); in qnap_mcu_probe() 271 if (!mcu) in qnap_mcu_probe() 274 mcu->serdev = serdev; in qnap_mcu_probe() 275 dev_set_drvdata(dev, mcu); in qnap_mcu_probe() 278 if (!mcu->variant) in qnap_mcu_probe() 281 mutex_init(&mcu->bus_lock); in qnap_mcu_probe() [all …]
|
| /linux-6.15/drivers/hwmon/ |
| H A D | sg2042-mcu.c | 222 guard(mutex)(&mcu->mutex); in sg2042_mcu_write() 296 debugfs_create_file("pcb_version", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 298 debugfs_create_file("mcu_type", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 300 debugfs_create_file("board_type", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 307 struct sg2042_mcu_data *mcu; in sg2042_mcu_i2c_probe() local 314 mcu = devm_kmalloc(dev, sizeof(*mcu), GFP_KERNEL); in sg2042_mcu_i2c_probe() 315 if (!mcu) in sg2042_mcu_i2c_probe() 318 mutex_init(&mcu->mutex); in sg2042_mcu_i2c_probe() 319 mcu->client = client; in sg2042_mcu_i2c_probe() 324 mcu, in sg2042_mcu_i2c_probe() [all …]
|
| H A D | qnap-mcu-hwmon.c | 18 struct qnap_mcu *mcu; member 40 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_rpm() 58 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_pwm() 74 return qnap_mcu_exec_with_ack(hwm->mcu, cmd, sizeof(cmd)); in qnap_mcu_hwmon_set_pwm() 84 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_temp() 295 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_hwmon_probe() local 307 hwm->mcu = mcu; in qnap_mcu_hwmon_probe()
|
| /linux-6.15/drivers/leds/ |
| H A D | leds-qnap-mcu.c | 23 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() 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() 178 usb_led->mcu = mcu; in qnap_mcu_register_usb_led() 195 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_leds_probe() local 200 ret = qnap_mcu_register_err_led(&pdev->dev, mcu, i); in qnap_mcu_leds_probe() [all …]
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/ |
| H A D | mt76x02_usb_mcu.c | 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() 120 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_send_msg() 122 mutex_unlock(&dev->mcu.mutex); in mt76x02u_mcu_send_msg() 156 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_wr_rp() 192 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_rd_rp() 194 usb->mcu.rp = data; in mt76x02u_mcu_rd_rp() 195 usb->mcu.rp_len = n; in mt76x02u_mcu_rd_rp() 196 usb->mcu.base = base; in mt76x02u_mcu_rd_rp() [all …]
|
| H A D | mcu.c | 41 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() 84 mutex_lock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg() 106 expires = jiffies + dev->mcu.timeout; in mt76_mcu_skb_send_and_get_msg() 128 mutex_unlock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg()
|
| H A D | mt76x02_mcu.c | 51 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()
|
| /linux-6.15/Documentation/devicetree/bindings/iio/ |
| H A D | samsung,sensorhub-rinato.yaml | 28 ap-mcu-gpios: 33 mcu-ap-gpios: 38 mcu-reset-gpios: 47 - ap-mcu-gpios 48 - mcu-ap-gpios 49 - mcu-reset-gpios 68 ap-mcu-gpios = <&gpx0 0 0>; 69 mcu-ap-gpios = <&gpx0 4 0>; 70 mcu-reset-gpios = <&gpx0 5 0>;
|
| /linux-6.15/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-6.15/drivers/net/wireless/mediatek/mt7601u/ |
| H A D | mcu.c | 70 struct urb *urb = dev->mcu.resp.urb; 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() 514 init_completion(&dev->mcu.resp_cmpl); in mt7601u_mcu_cmd_init() 521 &dev->mcu.resp, GFP_KERNEL, in mt7601u_mcu_cmd_init() [all …]
|
| /linux-6.15/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-6.15/Documentation/devicetree/bindings/thermal/ |
| H A D | mediatek,lvts-thermal.yaml | 24 - mediatek,mt8188-lvts-mcu 26 - mediatek,mt8192-lvts-mcu 28 - mediatek,mt8195-lvts-mcu 67 - mediatek,mt8188-lvts-mcu 69 - mediatek,mt8192-lvts-mcu 85 - mediatek,mt8195-lvts-mcu 117 compatible = "mediatek,mt8195-lvts-mcu";
|
| /linux-6.15/Documentation/devicetree/bindings/mfd/ |
| H A D | qnap,ts433-mcu.yaml | 4 $id: http://devicetree.org/schemas/mfd/qnap,ts433-mcu.yaml# 19 - qnap,ts433-mcu 34 mcu { 35 compatible = "qnap,ts433-mcu";
|
| H A D | fsl,mcu-mpc8349emitx.yaml | 4 $id: http://devicetree.org/schemas/mfd/fsl,mcu-mpc8349emitx.yaml# 22 - const: fsl,mcu-mpc8349emitx 46 mcu@a { 49 "fsl,mcu-mpc8349emitx";
|
| /linux-6.15/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-6.15/Documentation/devicetree/bindings/hwmon/ |
| H A D | sophgo,sg2042-hwmon-mcu.yaml | 4 $id: http://devicetree.org/schemas/hwmon/sophgo,sg2042-hwmon-mcu.yaml# 14 const: sophgo,sg2042-hwmon-mcu 39 compatible = "sophgo,sg2042-hwmon-mcu";
|
| /linux-6.15/arch/riscv/boot/dts/sophgo/ |
| H A D | sg2042-milkv-pioneer.dts | 56 mcu: syscon@17 { label 57 compatible = "sophgo,sg2042-hwmon-mcu"; 87 thermal-sensors = <&mcu 0>; 141 thermal-sensors = <&mcu 1>;
|