summaryrefslogtreecommitdiff
path: root/src/soc/intel/tigerlake/spi.c
blob: 697128aaf2a96726032741f3ba2abc6e03564c5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* SPDX-License-Identifier: GPL-2.0-or-later */

/*
 * This file is created based on Intel Tiger Lake Processor PCH Datasheet
 * Document number: 575857
 * Chapter number: 7
 */

#include <intelblocks/spi.h>
#include <intelblocks/fast_spi.h>
#include <soc/pci_devs.h>

#define PSF_SPI_DESTINATION_ID_H	0x23b0
#define PSF_SPI_DESTINATION_ID		0x23a8

int spi_soc_devfn_to_bus(unsigned int devfn)
{
	switch (devfn) {
	case PCH_DEVFN_SPI:
		return 0;
	case PCH_DEVFN_GSPI0:
		return 1;
	case PCH_DEVFN_GSPI1:
		return 2;
	case PCH_DEVFN_GSPI2:
		return 3;
	}
	return -1;
}

uint32_t soc_get_spi_psf_destination_id(void)
{
	if (CONFIG(SOC_INTEL_TIGERLAKE_PCH_H))
		return PSF_SPI_DESTINATION_ID_H;
	return PSF_SPI_DESTINATION_ID;
}