| /linux/drivers/counter/ |
| H A D | ftm-quaddec.c | 5 * This module implements a driver for decoding the FTM quadrature 9 #include <linux/fsl/ftm.h> 19 #define FTM_FIELD_UPDATE(ftm, offset, mask, val) \ argument 22 ftm_read(ftm, offset, &flags); \ 25 ftm_write(ftm, offset, flags); \ 35 static void ftm_read(struct ftm_quaddec *ftm, uint32_t offset, uint32_t *data) in ftm_read() argument 37 if (ftm->big_endian) in ftm_read() 38 *data = ioread32be(ftm->ftm_base + offset); in ftm_read() 40 *data = ioread32(ftm->ftm_base + offset); in ftm_read() 43 static void ftm_write(struct ftm_quaddec *ftm, uint32_t offset, uint32_t data) in ftm_write() argument [all …]
|
| H A D | Makefile | 16 obj-$(CONFIG_FTM_QUADDEC) += ftm-quaddec.o
|
| /linux/net/wireless/ |
| H A D | pmsr.c | 20 if (!(rdev->wiphy.pmsr_capa->ftm.bandwidths & BIT(out->chandef.width))) { in pmsr_parse_ftm() 21 NL_SET_ERR_MSG(info->extack, "FTM: unsupported bandwidth"); in pmsr_parse_ftm() 33 out->ftm.requested = true; in pmsr_parse_ftm() 42 "FTM: must specify preamble"); in pmsr_parse_ftm() 47 if (!(capa->ftm.preambles & BIT(preamble))) { in pmsr_parse_ftm() 50 "FTM: invalid preamble"); in pmsr_parse_ftm() 54 out->ftm.preamble = preamble; in pmsr_parse_ftm() 56 out->ftm.burst_period = 0; in pmsr_parse_ftm() 58 out->ftm.burst_period = in pmsr_parse_ftm() 61 out->ftm.asap = !!tb[NL80211_PMSR_FTM_REQ_ATTR_ASAP]; in pmsr_parse_ftm() [all …]
|
| H A D | core.c | 768 if (WARN_ON(wiphy->pmsr_capa && !wiphy->pmsr_capa->ftm.supported)) in wiphy_register() 771 if (wiphy->pmsr_capa && wiphy->pmsr_capa->ftm.supported) { in wiphy_register() 772 if (WARN_ON(!wiphy->pmsr_capa->ftm.asap && in wiphy_register() 773 !wiphy->pmsr_capa->ftm.non_asap)) in wiphy_register() 775 if (WARN_ON(!wiphy->pmsr_capa->ftm.preambles || in wiphy_register() 776 !wiphy->pmsr_capa->ftm.bandwidths)) in wiphy_register() 778 if (WARN_ON(wiphy->pmsr_capa->ftm.preambles & in wiphy_register() 785 if (WARN_ON((wiphy->pmsr_capa->ftm.trigger_based || in wiphy_register() 786 wiphy->pmsr_capa->ftm.non_trigger_based) && in wiphy_register() 787 !(wiphy->pmsr_capa->ftm.preambles & in wiphy_register() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | ftm-initiator.c | 15 #include "ftm-initiator.h" 94 IWL_ERR(mld, "Unsupported BW in FTM request (%d)\n", in iwl_mld_ftm_set_target_chandef() 100 if (peer->ftm.trigger_based || peer->ftm.non_trigger_based) in iwl_mld_ftm_set_target_chandef() 121 if (peer->ftm.asap) in iwl_mld_ftm_set_target_flags() 124 if (peer->ftm.request_lci) in iwl_mld_ftm_set_target_flags() 127 if (peer->ftm.request_civicloc) in iwl_mld_ftm_set_target_flags() 138 if (peer->ftm.trigger_based) in iwl_mld_ftm_set_target_flags() 140 else if (peer->ftm.non_trigger_based) in iwl_mld_ftm_set_target_flags() 143 if ((peer->ftm.trigger_based || peer->ftm.non_trigger_based) && in iwl_mld_ftm_set_target_flags() 144 peer->ftm.lmr_feedback) in iwl_mld_ftm_set_target_flags() [all …]
|
| H A D | ftm-initiator.h | 9 * struct ftm_initiator_data - FTM initiator data 11 * @req: a pointer to cfg80211 FTM request 12 * @req_wdev: a pointer to the wdev that requested the current FTM request 13 * @responses: the number of responses received for the current FTM session.
|
| H A D | Makefile | 7 iwlmld-y += low_latency.o mlo.o ptp.o time_sync.o ftm-initiator.o nan.o
|
| /linux/Documentation/devicetree/bindings/timer/ |
| H A D | fsl,ftm-timer.yaml | 4 $id: http://devicetree.org/schemas/timer/fsl,ftm-timer.yaml# 7 title: Freescale FlexTimer Module (FTM) Timer 14 const: fsl,ftm-timer 32 - const: ftm-evt 33 - const: ftm-src 34 - const: ftm-evt-counter-en 35 - const: ftm-src-counter-en 53 ftm@400b8000 { 54 compatible = "fsl,ftm-timer"; 58 clock-names = "ftm-evt", "ftm-src", "ftm-evt-counter-en", "ftm-src-counter-en";
|
| /linux/drivers/clocksource/ |
| H A D | timer-fsl-ftm.c | 3 * Freescale FlexTimer Module (FTM) timer driver. 18 #include <linux/fsl/ftm.h> 99 * The CNT register contains the FTM counter value. in ftm_reset_counter() 123 /* Force the value of CNTIN to be loaded into the FTM counter */ in ftm_set_next_event() 129 * The TOF (the overflow flag) bit is set when the FTM counter in ftm_set_next_event() 170 .name = "Freescale ftm timer", 189 "Freescale ftm timer", &ftm_clockevent); in ftm_clockevent_init() 191 pr_err("ftm: setup irq failed: %d\n", err); in ftm_clockevent_init() 217 err = clocksource_mmio_init(priv->clksrc_base + FTM_CNT, "fsl-ftm", in ftm_clocksource_init() 221 pr_err("ftm: init clock source mmio failed: %d\n", err); in ftm_clocksource_init() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
| H A D | ftm-initiator.c | 82 result.ftm.burst_index = mvm->ftm_initiator.responses[i]; in iwl_mvm_ftm_restart() 240 IWL_ERR(mvm, "Unsupported BW in FTM request (%d)\n", in iwl_mvm_ftm_target_chandef_v1() 291 IWL_ERR(mvm, "Unsupported BW in FTM request (%d)\n", in iwl_mvm_ftm_target_chandef_v2() 297 if (peer->ftm.trigger_based || peer->ftm.non_trigger_based) in iwl_mvm_ftm_target_chandef_v2() 321 cpu_to_le16(peer->ftm.burst_period); in iwl_mvm_ftm_put_target_v2() 322 target->samples_per_burst = peer->ftm.ftms_per_burst; in iwl_mvm_ftm_put_target_v2() 323 target->num_of_bursts = peer->ftm.num_bursts_exp; in iwl_mvm_ftm_put_target_v2() 324 target->measure_type = 0; /* regular two-sided FTM */ in iwl_mvm_ftm_put_target_v2() 325 target->retries_per_sample = peer->ftm.ftmr_retries; in iwl_mvm_ftm_put_target_v2() 326 target->asap_mode = peer->ftm.asap; in iwl_mvm_ftm_put_target_v2() [all …]
|
| H A D | Makefile | 9 iwlmvm-y += ftm-responder.o ftm-initiator.o
|
| /linux/Documentation/devicetree/bindings/pwm/ |
| H A D | fsl,vf610-ftm-pwm.yaml | 4 $id: http://devicetree.org/schemas/pwm/fsl,vf610-ftm-pwm.yaml# 7 title: Freescale FlexTimer Module (FTM) PWM controller 10 The same FTM PWM device can have a different endianness on different SoCs. The 13 for the endianness of the FTM PWM block as integrated into the existing SoCs: 15 SoC | FTM-PWM endianness 31 - fsl,vf610-ftm-pwm 32 - fsl,imx8qm-ftm-pwm 33 - nxp,s32g2-ftm-pwm 35 - const: nxp,s32g3-ftm-pwm 36 - const: nxp,s32g2-ftm-pwm [all …]
|
| /linux/Documentation/devicetree/bindings/rtc/ |
| H A D | fsl,ls-ftm-alarm.yaml | 4 $id: http://devicetree.org/schemas/rtc/fsl,ls-ftm-alarm.yaml# 7 title: Freescale FlexTimer Module (FTM) Alarm 15 - fsl,ls1012a-ftm-alarm 16 - fsl,ls1021a-ftm-alarm 17 - fsl,ls1028a-ftm-alarm 18 - fsl,ls1043a-ftm-alarm 19 - fsl,ls1046a-ftm-alarm 20 - fsl,ls1088a-ftm-alarm 21 - fsl,ls208xa-ftm-alarm 22 - fsl,lx2160a-ftm-alarm [all …]
|
| /linux/drivers/rtc/ |
| H A D | rtc-fsl-ftm-alarm.c | 3 * Freescale FlexTimer Module (FTM) alarm device driver. 17 #include <linux/fsl/ftm.h> 88 * If the FTM counter reaches the FTM_MOD value between in ftm_irq_acknowledge() 100 * FTMx_CONF[NUMTOF] was seted as nonzero and FTM counter in ftm_irq_acknowledge() 104 * (FTM counter doesn't always reache the FTM_MOD anyway), in ftm_irq_acknowledge() 132 * The CNT register contains the FTM counter value. in ftm_reset_counter() 225 * The TOF (the overflow flag) bit is set when the FTM counter in ftm_rtc_set_alarm() 300 { .compatible = "fsl,ls1012a-ftm-alarm", }, 301 { .compatible = "fsl,ls1021a-ftm-alarm", }, 302 { .compatible = "fsl,ls1028a-ftm-alarm", }, [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/fw/api/ |
| H A D | location.h | 44 * @TOF_RESPONDER_CONFIG_CMD: FTM responder configuration, one of 52 * @TOF_RESPONDER_DYN_CONFIG_CMD: FTM dynamic configuration, 71 * @TOF_RESPONDER_STATS: FTM responder statistics notification, 208 * @IWL_TOF_RESPONDER_FLAGS_SESSION_ID: send the session id in the initial FTM 516 * @ftm_format_and_bw20M: FTM Channel Spacing/Format for 20MHz: recommended 518 * @ftm_format_and_bw40M: FTM Channel Spacing/Format for 40MHz: recommended 520 * @ftm_format_and_bw80M: FTM Channel Spacing/Format for 80MHz: recommended 598 * enum iwl_initiator_ap_flags - per responder FTM configuration flags 602 * @IWL_INITIATOR_AP_FLAGS_DYN_ACK: Send HT/VHT ack for FTM frames. If not set, 608 * @IWL_INITIATOR_AP_FLAGS_MCSI_REPORT: Send the MCSI for each FTM frame to the [all …]
|
| H A D | datapath.h | 185 * struct iwl_time_sync_cfg_cmd - TM/FTM time sync measurement configuration 189 * @peer_addr: peer address with which TM/FTM measurements are required 247 * @ftm: FTM specific vendor element 248 * @ftm.element_id: element id of vendor specific ie 249 * @ftm.length: length of vendor specific ie 250 * @ftm.reserved: for alignment 251 * @ftm.data: vendor specific data blob 258 /* Differentiate between FTM and TM specific Vendor elements */ 265 } ftm; member 276 * for TM/FTM, along with additional meta data. [all …]
|
| H A D | commands.h | 271 * measurement notification for TM/FTM. Sent on receipt of 273 * frame for FTM protocol from peer device along with additional 280 * measurement confirmation notification for TM/FTM. Sent on 281 * receipt of Ack from peer for previously Tx'ed TM/FTM
|
| /linux/include/linux/fsl/ |
| H A D | ftm.h | 17 #define FTM_EXTTRIG 0x6C /* FTM External Trigger */ 24 #define FTM_FLTPOL 0x88 /* FTM Fault Input Polarity */ 26 #define FTM_INVCTRL 0x90 /* FTM Inverting Control */ 27 #define FTM_SWOCTRL 0x94 /* FTM Software Output Control */ 28 #define FTM_PWMLOAD 0x98 /* FTM PWM Load */
|
| /linux/Documentation/devicetree/bindings/counter/ |
| H A D | fsl,ftm-quaddec.yaml | 4 $id: http://devicetree.org/schemas/counter/fsl,ftm-quaddec.yaml# 17 const: fsl,ftm-quaddec 33 compatible = "fsl,ftm-quaddec";
|
| /linux/drivers/net/wireless/ath/ath10k/ |
| H A D | testmode.c | 81 struct wmi_ftm_cmd *ftm = (struct wmi_ftm_cmd *)skb->data; in ath10k_tm_event_segmented() local 89 if (skb->len < sizeof(*ftm)) { in ath10k_tm_event_segmented() 90 ath10k_warn(ar, "Invalid ftm event length: %d\n", skb->len); in ath10k_tm_event_segmented() 95 __le32_to_cpu(ftm->seg_hdr.segmentinfo)); in ath10k_tm_event_segmented() 97 __le32_to_cpu(ftm->seg_hdr.segmentinfo)); in ath10k_tm_event_segmented() 98 datalen = skb->len - sizeof(*ftm); in ath10k_tm_event_segmented() 99 buf_pos = ftm->data; in ath10k_tm_event_segmented() 109 ath10k_warn(ar, "Invalid ftm event length at %u: %u\n", in ath10k_tm_event_segmented() 557 "cmd wmi ftm cmd_id %d buffer length %d\n", in ath10k_tm_cmd_tlv() 599 ath10k_warn(ar, "failed to send wmi ftm command: %d\n", ret); in ath10k_tm_cmd_tlv()
|
| /linux/drivers/pwm/ |
| H A D | pwm-fsl-ftm.c | 3 * Freescale FlexTimer Module (FTM) PWM Driver 20 #include <linux/fsl/ftm.h> 243 * The Freescale FTM controller supports only a single period for in fsl_pwm_apply_config() 552 { .compatible = "fsl,vf610-ftm-pwm", .data = &vf610_ftm_pwm }, 553 { .compatible = "fsl,imx8qm-ftm-pwm", .data = &imx8qm_ftm_pwm }, 554 { .compatible = "nxp,s32g2-ftm-pwm", .data = &s32g2_ftm_pwm }, 561 .name = "fsl-ftm-pwm", 571 MODULE_ALIAS("platform:fsl-ftm-pwm");
|
| /linux/drivers/net/wireless/ath/ath11k/ |
| H A D | testmode.c | 110 "event wmi cmd_id %d ftm event msg %p datalen %d\n", in ath11k_tm_process_event() 144 ath11k_warn(ab, "Invalid ftm event length at %d: %d\n", in ath11k_tm_process_event() 204 ath11k_warn(ab, "failed to parse ftm event tlv: %d\n", ret); in ath11k_tm_wmi_event_segmented() 210 ath11k_warn(ab, "failed to fetch ftm msg\n"); in ath11k_tm_wmi_event_segmented() 218 ath11k_warn(ab, "Failed to process ftm event\n"); in ath11k_tm_wmi_event_segmented() 422 "cmd wmi ftm cmd_id %d buffer length %d\n", in ath11k_tm_cmd_wmi_ftm() 459 ath11k_warn(ar->ab, "failed to send wmi ftm command: %d\n", ret); in ath11k_tm_cmd_wmi_ftm()
|
| /linux/arch/arm/boot/dts/nxp/ls/ |
| H A D | ls1021a.dtsi | 394 compatible = "fsl,ftm-quaddec"; 401 compatible = "fsl,ftm-quaddec"; 408 compatible = "fsl,ftm-quaddec"; 415 compatible = "fsl,ftm-quaddec"; 516 compatible = "fsl,vf610-ftm-pwm"; 528 compatible = "fsl,vf610-ftm-pwm"; 540 compatible = "fsl,vf610-ftm-pwm"; 552 compatible = "fsl,vf610-ftm-pwm"; 564 compatible = "fsl,vf610-ftm-pwm"; 576 compatible = "fsl,vf610-ftm-pwm"; [all …]
|
| /linux/arch/arm/boot/dts/nxp/vf/ |
| H A D | vfxxx.dtsi | 241 compatible = "fsl,vf610-ftm-pwm"; 254 compatible = "fsl,vf610-ftm-pwm"; 609 ftm: ftm@400b8000 { label 610 compatible = "fsl,ftm-timer"; 613 clock-names = "ftm-evt", "ftm-src", 614 "ftm-evt-counter-en", "ftm-src-counter-en";
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-ls1028a.dtsi | 1236 compatible = "fsl,vf610-ftm-pwm"; 1247 compatible = "fsl,vf610-ftm-pwm"; 1258 compatible = "fsl,vf610-ftm-pwm"; 1269 compatible = "fsl,vf610-ftm-pwm"; 1280 compatible = "fsl,vf610-ftm-pwm"; 1291 compatible = "fsl,vf610-ftm-pwm"; 1302 compatible = "fsl,vf610-ftm-pwm"; 1313 compatible = "fsl,vf610-ftm-pwm"; 1331 compatible = "fsl,ls1028a-ftm-alarm"; 1339 compatible = "fsl,ls1028a-ftm-alarm";
|