| # do not edit this file, it will be overwritten on update |
| |
| ACTION!="add|change|move|bind", GOTO="mm_qcom_soc_end" |
| |
| # Process only known wwan, net and rpmsg ports |
| SUBSYSTEM=="net", DRIVERS=="bam-dmux", GOTO="mm_qcom_soc_process" |
| SUBSYSTEM=="net", DRIVERS=="ipa", GOTO="mm_qcom_soc_process" |
| SUBSYSTEM=="wwan", DRIVERS=="qcom-q6v5-mss", GOTO="mm_qcom_soc_process" |
| SUBSYSTEM=="rpmsg", DRIVERS=="qcom-q6v5-mss", GOTO="mm_qcom_soc_process" |
| GOTO="mm_qcom_soc_end" |
| |
| LABEL="mm_qcom_soc_process" |
| |
| # Flag the port as being part of the SoC |
| ENV{ID_MM_QCOM_SOC}="1" |
| |
| # |
| # Add a common physdev UID to all ports in the Qualcomm SoC, so that they |
| # are all bound together to the same modem object. |
| # |
| # The MSM8916, MSM8974, .... Qualcomm SoCs use the combination of RPMSG/WWAN |
| # based control ports plus BAM-DMUX based network ports. |
| # |
| ENV{ID_MM_PHYSDEV_UID}="qcom-soc" |
| |
| # port type hints for the rpmsgexport-ed ports |
| SUBSYSTEM=="rpmsg", ATTR{name}=="DATA*", ATTR{name}=="*_CNTL", ENV{ID_MM_PORT_TYPE_QMI}="1" |
| SUBSYSTEM=="rpmsg", ATTR{name}=="DATA*", ATTR{name}!="*_CNTL", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" |
| |
| # ignore every other port without explicit hints |
| SUBSYSTEM=="rpmsg", ENV{ID_MM_PORT_TYPE_QMI}!="1", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}!="1", ENV{ID_MM_PORT_IGNORE}="1" |
| |
| # explicitly ignore ports intended for USB tethering (DATA40, DATA40_CNTL) |
| SUBSYSTEM=="rpmsg", ATTR{name}=="DATA40*", ENV{ID_MM_PORT_IGNORE}="1" |
| KERNEL=="rmnet_usb*", ENV{ID_MM_PORT_IGNORE}="1" |
| |
| # flag all rpmsg ports under this plugin as candidate |
| KERNEL=="rpmsg*", SUBSYSTEM=="rpmsg", ENV{ID_MM_CANDIDATE}="1" |
| |
| LABEL="mm_qcom_soc_end" |