]> www.infradead.org Git - linux.git/commitdiff
bus: mhi: host: pci_generic: Add support for Netprisma LCUR57 and FCUN69
authorMank Wang <mank.wang@netprisma.us>
Tue, 27 Aug 2024 01:58:33 +0000 (01:58 +0000)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tue, 27 Aug 2024 08:31:45 +0000 (14:01 +0530)
Add Netprisma LCUR57 and FCUN69 hardware revision:

LCUR57:
02:00.0 Unassigned class [ff00]: Device 203e:1000
Subsystem: Device 203e:1000

FCUN69:
02:00.0 Unassigned class [ff00]: Device 203e:1001
Subsystem: Device 203e:1001

Both of these modules create IP interfaces through MBIM.
And these modules can be checked for successful recognition through the
following command:
$ mmcli -L
    /org/freedesktop/ModemManager1/Modem/0 [NetPrisma] LCUR57-WWD

$ mmcli -L
    /org/freedesktop/ModemManager1/Modem/0 [NetPrisma] FCUN69-WWD

Signed-off-by: Mank Wang <mank.wang@netprisma.us>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/PH7PR22MB30386647BE2D813B502226CF81942@PH7PR22MB3038.namprd22.prod.outlook.com
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/host/pci_generic.c

index fb701c67f7630134ed32ca1d19addc47c2c1c47c..f162d2adcc01731cacf7047d565e74d9fcba4361 100644 (file)
@@ -26,6 +26,7 @@
 /* PCI VID definitions */
 #define PCI_VENDOR_ID_THALES   0x1269
 #define PCI_VENDOR_ID_QUECTEL  0x1eac
+#define PCI_VENDOR_ID_NETPRISMA        0x203e
 
 #define MHI_EDL_DB                     91
 #define MHI_EDL_COOKIE                 0xEDEDEDED
@@ -689,6 +690,26 @@ static const struct mhi_pci_dev_info mhi_telit_fe990a_info = {
        .mru_default = 32768,
 };
 
+static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = {
+       .name = "netprisma-lcur57",
+       .edl = "qcom/prog_firehose_sdx24.mbn",
+       .config = &modem_quectel_em1xx_config,
+       .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
+       .dma_data_width = 32,
+       .mru_default = 32768,
+       .sideband_wake = true,
+};
+
+static const struct mhi_pci_dev_info mhi_netprisma_fcun69_info = {
+       .name = "netprisma-fcun69",
+       .edl = "qcom/prog_firehose_sdx6x.elf",
+       .config = &modem_quectel_em1xx_config,
+       .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
+       .dma_data_width = 32,
+       .mru_default = 32768,
+       .sideband_wake = true,
+};
+
 /* 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[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
@@ -787,6 +808,12 @@ static const struct pci_device_id mhi_pci_id_table[] = {
        /* T99W175 (sdx55), HP variant */
        { PCI_DEVICE(0x03f0, 0x0a6c),
                .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w175_info },
+       /* NETPRISMA LCUR57 (SDX24) */
+       { PCI_DEVICE(PCI_VENDOR_ID_NETPRISMA, 0x1000),
+               .driver_data = (kernel_ulong_t) &mhi_netprisma_lcur57_info },
+       /* NETPRISMA FCUN69 (SDX6X) */
+       { PCI_DEVICE(PCI_VENDOR_ID_NETPRISMA, 0x1001),
+               .driver_data = (kernel_ulong_t) &mhi_netprisma_fcun69_info },
        {  }
 };
 MODULE_DEVICE_TABLE(pci, mhi_pci_id_table);