Backport support for Telit FN920C04 and FN990B40 modems
Subsystems (3)
cover Backport support for Telit FN920C04 and FN990B40 modems
Hi,
these two patches are backports for 6.12.y of the following commits:
commit d2b91b3097c693f784393a28801a3885778615df
bus: mhi: host: pci_generic: Add Telit FN920C04 modem support
commit 00559ba3ae740e7544b48fb509b2b97f56615892
bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
The cherry-pick of the original commits don't apply so I made this patches after fixing the conflict.
Regards
Daniele Palmas (2):
bus: mhi: host: pci_generic: Add Telit FN920C04 modem support
bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
drivers/bus/mhi/host/pci_generic.c | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+)
Signature · 1 line
2.52.0
PATCH 1/2 bus: mhi: host: pci_generic: Add Telit FN920C04 modem support
From: Daniele Palmas <[email protected]>
commit 6348f62ef7ecc5855b710a7d4ea682425c38bb80 upstream.
Add SDX35 based modem Telit FN920C04.
$ lspci -vv
01:00.0 Unassigned class [ff00]: Qualcomm Device 011a
Subsystem: Device 1c5d:2020--- drivers/bus/mhi/host/pci_generic.c | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
drivers/bus/mhi/host/pci_generic.c +39 -0
@@ -698,6 +698,42 @@ static const struct mhi_pci_dev_info mhi_telit_fe990a_info = { .mru_default = 32768, }; +static const struct mhi_channel_config mhi_telit_fn920c04_channels[] = { +MHI_CHANNEL_CONFIG_UL_SBL (2 ,"SAHARA" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL_SBL (3 ,"SAHARA" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (4 ,"DIAG" ,64 ,1 ), +MHI_CHANNEL_CONFIG_DL (5 ,"DIAG" ,64 ,1 ), +MHI_CHANNEL_CONFIG_UL (14 ,"QMI" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL (15 ,"QMI" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (32 ,"DUN" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL (33 ,"DUN" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL_FP (34 ,"FIREHOSE" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL_FP (35 ,"FIREHOSE" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (92 ,"DUN2" ,32 ,1 ), +MHI_CHANNEL_CONFIG_DL (93 ,"DUN2" ,32 ,1 ), +MHI_CHANNEL_CONFIG_HW_UL (100 ,"IP_HW0" ,128 ,2 ), +MHI_CHANNEL_CONFIG_HW_DL (101 ,"IP_HW0" ,128 ,3 ), +}; + +static const struct mhi_controller_config modem_telit_fn920c04_config = { + .max_channels =128 , + .timeout_ms =50000 , + .num_channels =ARRAY_SIZE (mhi_telit_fn920c04_channels), + .ch_cfg = mhi_telit_fn920c04_channels, + .num_events =ARRAY_SIZE (mhi_telit_fn990_events), + .event_cfg = mhi_telit_fn990_events, +}; + +static const struct mhi_pci_dev_info mhi_telit_fn920c04_info = { + .name ="telit-fn920c04" , + .config = &modem_telit_fn920c04_config, + .bar_num =MHI_PCI_DEFAULT_BAR_NUM , + .dma_data_width =32 , + .sideband_wake = false, + .mru_default =32768 , + .edl_trigger = true, +}; +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { .name ="netprisma-lcur57" , .edl ="qcom/prog_firehose_sdx24.mbn" ,
@@ -720,6 +756,9 @@ static const struct mhi_pci_dev_info mhi_netprisma_fcun69_info = {/* Keep the list sorted based on the PID. New VID should be added as the last entry */ static const struct pci_device_id mhi_pci_id_table[] = { +/* Telit FN920C04 (sdx35) */ + {PCI_DEVICE_SUB (PCI_VENDOR_ID_QCOM ,0x011a ,0x1c5d ,0x2020 ), + .driver_data = (kernel_ulong_t) &mhi_telit_fn920c04_info }, {PCI_DEVICE (PCI_VENDOR_ID_QCOM ,0x0304 ), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, {PCI_DEVICE_SUB (PCI_VENDOR_ID_QCOM ,0x0306 ,PCI_VENDOR_ID_QCOM ,0x010c ),
Signature · 1 line
2.52.0
Patch "bus: mhi: host: pci_generic: Add Telit FN920C04 modem support" has been added to the 6.12-stable tree
This is a note to let you know that I've just added the patch titled
bus: mhi: host: pci_generic: Add Telit FN920C04 modem support
to the 6.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
bus-mhi-host-pci_generic-add-telit-fn920c04-modem-support.patch
and it can be found in the queue-6.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From [email protected] Wed Dec 3 22:54:10 2025
From: Fabio Porcedda <[email protected]>
Date: Wed, 3 Dec 2025 14:53:52 +0100
Subject: bus: mhi: host: pci_generic: Add Telit FN920C04 modem support
To: [email protected], Greg Kroah-Hartman <[email protected]>
Cc: [email protected], [email protected], Daniele Palmas <[email protected]>, Manivannan Sadhasivam <[email protected]>, Fabio Porcedda <[email protected]>
Message-ID: <d2b91b3097c693f784393a28801a3885778615df.1764769310.git.fabio.porcedda@gmail.com>
From: Daniele Palmas <[email protected]>
commit 6348f62ef7ecc5855b710a7d4ea682425c38bb80 upstream.
Add SDX35 based modem Telit FN920C04.
$ lspci -vv
01:00.0 Unassigned class [ff00]: Qualcomm Device 011a
Subsystem: Device 1c5d:2020--- drivers/bus/mhi/host/pci_generic.c | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
drivers/bus/mhi/host/pci_generic.c +39 -0
@@ -698,6 +698,42 @@ static const struct mhi_pci_dev_info mhi .mru_default = 32768, }; +static const struct mhi_channel_config mhi_telit_fn920c04_channels[] = { +MHI_CHANNEL_CONFIG_UL_SBL (2 ,"SAHARA" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL_SBL (3 ,"SAHARA" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (4 ,"DIAG" ,64 ,1 ), +MHI_CHANNEL_CONFIG_DL (5 ,"DIAG" ,64 ,1 ), +MHI_CHANNEL_CONFIG_UL (14 ,"QMI" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL (15 ,"QMI" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (32 ,"DUN" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL (33 ,"DUN" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL_FP (34 ,"FIREHOSE" ,32 ,0 ), +MHI_CHANNEL_CONFIG_DL_FP (35 ,"FIREHOSE" ,32 ,0 ), +MHI_CHANNEL_CONFIG_UL (92 ,"DUN2" ,32 ,1 ), +MHI_CHANNEL_CONFIG_DL (93 ,"DUN2" ,32 ,1 ), +MHI_CHANNEL_CONFIG_HW_UL (100 ,"IP_HW0" ,128 ,2 ), +MHI_CHANNEL_CONFIG_HW_DL (101 ,"IP_HW0" ,128 ,3 ), +}; + +static const struct mhi_controller_config modem_telit_fn920c04_config = { + .max_channels =128 , + .timeout_ms =50000 , + .num_channels =ARRAY_SIZE (mhi_telit_fn920c04_channels), + .ch_cfg = mhi_telit_fn920c04_channels, + .num_events =ARRAY_SIZE (mhi_telit_fn990_events), + .event_cfg = mhi_telit_fn990_events, +}; + +static const struct mhi_pci_dev_info mhi_telit_fn920c04_info = { + .name ="telit-fn920c04" , + .config = &modem_telit_fn920c04_config, + .bar_num =MHI_PCI_DEFAULT_BAR_NUM , + .dma_data_width =32 , + .sideband_wake = false, + .mru_default =32768 , + .edl_trigger = true, +}; +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { .name ="netprisma-lcur57" , .edl ="qcom/prog_firehose_sdx24.mbn" ,
@@ -720,6 +756,9 @@ static const struct mhi_pci_dev_info mhi/* Keep the list sorted based on the PID. New VID should be added as the last entry */ static const struct pci_device_id mhi_pci_id_table[] = { +/* Telit FN920C04 (sdx35) */ + {PCI_DEVICE_SUB (PCI_VENDOR_ID_QCOM ,0x011a ,0x1c5d ,0x2020 ), + .driver_data = (kernel_ulong_t) &mhi_telit_fn920c04_info }, {PCI_DEVICE (PCI_VENDOR_ID_QCOM ,0x0304 ), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, {PCI_DEVICE_SUB (PCI_VENDOR_ID_QCOM ,0x0306 ,PCI_VENDOR_ID_QCOM ,0x010c ),
Patches currently in stable-queue which might be from [email protected] are
queue-6.12/bus-mhi-host-pci_generic-add-telit-fn920c04-modem-support.patch queue-6.12/usb-serial-option-add-telit-cinterion-fe910c04-new-compositions.patch queue-6.12/bus-mhi-host-pci_generic-add-telit-fn990b40-modem-support.patch queue-6.12/usb-serial-option-move-telit-0x10c7-composition-in-the-right-place.patch
PATCH 2/2 bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
In reply to Fabio PorceddaFrom: Daniele Palmas <[email protected]>
commit 00559ba3ae740e7544b48fb509b2b97f56615892 upstream.
Add SDX72 based modem Telit FN990B40, reusing FN920C04 configuration.
01:00.0 Unassigned class [ff00]: Qualcomm Device 0309
Subsystem: Device 1c5d:201a
--- drivers/bus/mhi/host/pci_generic.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
drivers/bus/mhi/host/pci_generic.c +13 -0
@@ -734,6 +734,16 @@ static const struct mhi_pci_dev_info mhi_telit_fn920c04_info = { .edl_trigger = true, }; +static const struct mhi_pci_dev_info mhi_telit_fn990b40_info = { + .name ="telit-fn990b40" , + .config = &modem_telit_fn920c04_config, + .bar_num =MHI_PCI_DEFAULT_BAR_NUM , + .dma_data_width =32 , + .sideband_wake = false, + .mru_default =32768 , + .edl_trigger = true, +}; +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { .name ="netprisma-lcur57" , .edl ="qcom/prog_firehose_sdx24.mbn" ,
@@ -779,6 +789,9 @@ static const struct pci_device_id mhi_pci_id_table[] = { .driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info }, +/* Telit FN990B40 (sdx72) */ + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0309, 0x1c5d, 0x201a), + .driver_data = (kernel_ulong_t) &mhi_telit_fn990b40_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx75_info }, { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
Signature · 1 line
2.52.0
Patch "bus: mhi: host: pci_generic: Add Telit FN990B40 modem support" has been added to the 6.12-stable tree
This is a note to let you know that I've just added the patch titled
bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
to the 6.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
bus-mhi-host-pci_generic-add-telit-fn990b40-modem-support.patch
and it can be found in the queue-6.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From [email protected] Wed Dec 3 22:54:14 2025
From: Fabio Porcedda <[email protected]>
Date: Wed, 3 Dec 2025 14:53:53 +0100
Subject: bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
To: [email protected], Greg Kroah-Hartman <[email protected]>
Cc: [email protected], [email protected], Daniele Palmas <[email protected]>, Manivannan Sadhasivam <[email protected]>, Fabio Porcedda <[email protected]>
Message-ID: <5091bf715f9ecf449b270af23352be15e4560df7.1764769310.git.fabio.porcedda@gmail.com>
From: Daniele Palmas <[email protected]>
commit 00559ba3ae740e7544b48fb509b2b97f56615892 upstream.
Add SDX72 based modem Telit FN990B40, reusing FN920C04 configuration.
01:00.0 Unassigned class [ff00]: Qualcomm Device 0309
Subsystem: Device 1c5d:201a
--- drivers/bus/mhi/host/pci_generic.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
drivers/bus/mhi/host/pci_generic.c +13 -0
@@ -734,6 +734,16 @@ static const struct mhi_pci_dev_info mhi .edl_trigger = true, }; +static const struct mhi_pci_dev_info mhi_telit_fn990b40_info = { + .name ="telit-fn990b40" , + .config = &modem_telit_fn920c04_config, + .bar_num =MHI_PCI_DEFAULT_BAR_NUM , + .dma_data_width =32 , + .sideband_wake = false, + .mru_default =32768 , + .edl_trigger = true, +}; +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { .name ="netprisma-lcur57" , .edl ="qcom/prog_firehose_sdx24.mbn" ,
@@ -779,6 +789,9 @@ static const struct pci_device_id mhi_pc .driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info }, +/* Telit FN990B40 (sdx72) */ + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0309, 0x1c5d, 0x201a), + .driver_data = (kernel_ulong_t) &mhi_telit_fn990b40_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx75_info }, { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
Patches currently in stable-queue which might be from [email protected] are
queue-6.12/bus-mhi-host-pci_generic-add-telit-fn920c04-modem-support.patch queue-6.12/usb-serial-option-add-telit-cinterion-fe910c04-new-compositions.patch queue-6.12/bus-mhi-host-pci_generic-add-telit-fn990b40-modem-support.patch queue-6.12/usb-serial-option-move-telit-0x10c7-composition-in-the-right-place.patch