--- zzzz-none-000/linux-5.15.111/drivers/spi/spi-pxa2xx-pci.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/drivers/spi/spi-pxa2xx-pci.c 2024-02-07 10:23:20.000000000 +0000 @@ -25,6 +25,8 @@ PORT_CE4100, PORT_LPT0, PORT_LPT1, + PORT_PUMA7_0, + PORT_PUMA7_1, }; struct pxa_spi_info { @@ -65,6 +67,11 @@ static struct dw_dma_slave lpt0_tx_param = { .dst_id = 2 }; static struct dw_dma_slave lpt0_rx_param = { .src_id = 3 }; +static struct dw_dma_slave puma7_0_tx_param = { .dst_id = 0 }; +static struct dw_dma_slave puma7_0_rx_param = { .src_id = 1 }; +static struct dw_dma_slave puma7_1_tx_param = { .dst_id = 6 }; +static struct dw_dma_slave puma7_1_rx_param = { .src_id = 7 }; + static bool lpss_dma_filter(struct dma_chan *chan, void *param) { struct dw_dma_slave *dws = param; @@ -194,6 +201,22 @@ .tx_param = &bsw2_tx_param, .rx_param = &bsw2_rx_param, }, + [PORT_PUMA7_0] = { + .type = LPSS_PUMA7_SSP, + .port_id = 0, + .setup = lpss_spi_setup, + .tx_param = &puma7_0_tx_param, + .rx_param = &puma7_0_rx_param, + .num_chipselect = 2, + }, + [PORT_PUMA7_1] = { + .type = LPSS_PUMA7_SSP, + .port_id = 1, + .setup = lpss_spi_setup, + .tx_param = &puma7_1_tx_param, + .rx_param = &puma7_1_rx_param, + .num_chipselect = 2, + }, [PORT_MRFLD] = { .type = MRFLD_SSP, .max_clk_rate = 25000000, @@ -317,7 +340,9 @@ { PCI_VDEVICE(INTEL, 0x9c66), PORT_LPT1 }, { PCI_VDEVICE(INTEL, 0x9ce5), PORT_LPT0 }, { PCI_VDEVICE(INTEL, 0x9ce6), PORT_LPT1 }, - { } + { PCI_VDEVICE(INTEL, 0x2b8e), PORT_PUMA7_0 }, + { PCI_VDEVICE(INTEL, 0x2b90), PORT_PUMA7_1 }, + { }, }; MODULE_DEVICE_TABLE(pci, pxa2xx_spi_pci_devices);