Message ID | LV3PR22MB5104E2E4AD0A22D1B8FD2AAAB0F92@LV3PR22MB5104.namprd22.prod.outlook.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [V2] bus: mhi: host: pci_generic: Add support for Netprisma LCUR57 and FCUN69 | expand |
On Wed, Jun 05, 2024 at 07:01:17AM +0000, mank wrote: > 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 > > --- > V1 -> V2: > 1.Change 0x203E to 0x203e > 2.Remove redundant code and use existing config:modem_quectel_em1xx_config > > Signed-off-by: Mank Wang <mank@netprisma.us> > --- > drivers/bus/mhi/host/pci_generic.c | 29 +++++++++++++++++++++++++++++ Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - Mani > 1 file changed, 29 insertions(+) > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > index 08844ee79654..21c1d750274c 100644 > --- a/drivers/bus/mhi/host/pci_generic.c > +++ b/drivers/bus/mhi/host/pci_generic.c > @@ -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 > @@ -606,6 +607,28 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { > .mru_default = 32768, > }; > > +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { > + .name = "netprisma-lcur57", > + .edl = "qcom/prog_firehose_sdx24.mbn", > + /* LCUR57 uses the same controller configuration as quectel_em1xx */ > + .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", > + /* FCUN69 uses the same controller configuration as quectel_em1xx */ > + .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), > @@ -695,6 +718,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_sdx55_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); > -- > 2.34.1 >
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c index 08844ee79654..21c1d750274c 100644 --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c @@ -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 @@ -606,6 +607,28 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { .mru_default = 32768, }; +static const struct mhi_pci_dev_info mhi_netprisma_lcur57_info = { + .name = "netprisma-lcur57", + .edl = "qcom/prog_firehose_sdx24.mbn", + /* LCUR57 uses the same controller configuration as quectel_em1xx */ + .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", + /* FCUN69 uses the same controller configuration as quectel_em1xx */ + .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), @@ -695,6 +718,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_sdx55_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);
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 --- V1 -> V2: 1.Change 0x203E to 0x203e 2.Remove redundant code and use existing config:modem_quectel_em1xx_config Signed-off-by: Mank Wang <mank@netprisma.us> --- drivers/bus/mhi/host/pci_generic.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)