@@ -297,6 +297,19 @@ static const struct mhi_pci_dev_info mhi_qcom_qdu100_info = {
297
297
.sideband_wake = false,
298
298
};
299
299
300
+ static const struct mhi_channel_config mhi_qcom_sa8775p_channels [] = {
301
+ MHI_CHANNEL_CONFIG_UL (46 , "IP_SW0" , 2048 , 1 ),
302
+ MHI_CHANNEL_CONFIG_DL (47 , "IP_SW0" , 2048 , 2 ),
303
+ };
304
+
305
+ static struct mhi_event_config mhi_qcom_sa8775p_events [] = {
306
+ /* first ring is control+data ring */
307
+ MHI_EVENT_CONFIG_CTRL (0 , 64 ),
308
+ /* Software channels dedicated event ring */
309
+ MHI_EVENT_CONFIG_SW_DATA (1 , 64 ),
310
+ MHI_EVENT_CONFIG_SW_DATA (2 , 64 ),
311
+ };
312
+
300
313
static const struct mhi_channel_config modem_qcom_v1_mhi_channels [] = {
301
314
MHI_CHANNEL_CONFIG_UL (4 , "DIAG" , 16 , 1 ),
302
315
MHI_CHANNEL_CONFIG_DL (5 , "DIAG" , 16 , 1 ),
@@ -327,6 +340,15 @@ static struct mhi_event_config modem_qcom_v1_mhi_events[] = {
327
340
MHI_EVENT_CONFIG_HW_DATA (5 , 2048 , 101 )
328
341
};
329
342
343
+ static const struct mhi_controller_config mhi_qcom_sa8775p_config = {
344
+ .max_channels = 128 ,
345
+ .timeout_ms = 8000 ,
346
+ .num_channels = ARRAY_SIZE (mhi_qcom_sa8775p_channels ),
347
+ .ch_cfg = mhi_qcom_sa8775p_channels ,
348
+ .num_events = ARRAY_SIZE (mhi_qcom_sa8775p_events ),
349
+ .event_cfg = mhi_qcom_sa8775p_events ,
350
+ };
351
+
330
352
static const struct mhi_controller_config modem_qcom_v2_mhiv_config = {
331
353
.max_channels = 128 ,
332
354
.timeout_ms = 8000 ,
@@ -346,6 +368,16 @@ static const struct mhi_controller_config modem_qcom_v1_mhiv_config = {
346
368
.event_cfg = modem_qcom_v1_mhi_events ,
347
369
};
348
370
371
+ static const struct mhi_pci_dev_info mhi_qcom_sa8775p_info = {
372
+ .name = "qcom-sa8775p" ,
373
+ .edl_trigger = false,
374
+ .config = & mhi_qcom_sa8775p_config ,
375
+ .bar_num = MHI_PCI_DEFAULT_BAR_NUM ,
376
+ .dma_data_width = 32 ,
377
+ .mru_default = 32768 ,
378
+ .sideband_wake = false,
379
+ };
380
+
349
381
static const struct mhi_pci_dev_info mhi_qcom_sdx75_info = {
350
382
.name = "qcom-sdx75m" ,
351
383
.fw = "qcom/sdx75m/xbl.elf" ,
@@ -772,6 +804,8 @@ static const struct mhi_pci_dev_info mhi_netprisma_fcun69_info = {
772
804
773
805
/* Keep the list sorted based on the PID. New VID should be added as the last entry */
774
806
static const struct pci_device_id mhi_pci_id_table [] = {
807
+ {PCI_DEVICE (PCI_VENDOR_ID_QCOM , 0x0116 ),
808
+ .driver_data = (kernel_ulong_t ) & mhi_qcom_sa8775p_info },
775
809
{ PCI_DEVICE (PCI_VENDOR_ID_QCOM , 0x0304 ),
776
810
.driver_data = (kernel_ulong_t ) & mhi_qcom_sdx24_info },
777
811
{ PCI_DEVICE_SUB (PCI_VENDOR_ID_QCOM , 0x0306 , PCI_VENDOR_ID_QCOM , 0x010c ),
0 commit comments