coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
port_descriptors.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <baseboard/variants.h>
4 #include <soc/gpio.h>
5 #include <soc/platform_descriptors.h>
6 #include <types.h>
7 
8 static const fsp_dxio_descriptor skyrim_sbna_dxio_descriptors[] = {
9  { /* WLAN */
10  .engine_type = PCIE_ENGINE,
11  .port_present = true,
12  .start_logical_lane = 0,
13  .end_logical_lane = 0,
14  .device_number = PCI_SLOT(WLAN_DEVFN),
15  .function_number = PCI_FUNC(WLAN_DEVFN),
16  .link_speed_capability = GEN3,
17  .turn_off_unused_lanes = true,
18  .link_aspm = 2,
19  .link_hotplug = 3,
20  .clk_req = CLK_REQ2,
21  },
22  { /* SD */
23  .engine_type = PCIE_ENGINE,
24  .port_present = true,
25  .start_logical_lane = 1,
26  .end_logical_lane = 1,
27  .device_number = PCI_SLOT(SD_DEVFN),
28  .function_number = PCI_FUNC(SD_DEVFN),
29  .link_speed_capability = GEN3,
30  .turn_off_unused_lanes = true,
31  .gpio_group_id = GPIO_27,
32  .clk_req = CLK_REQ1,
33  },
34  { /* SSD */
35  .engine_type = PCIE_ENGINE,
36  .port_present = true,
37  .start_logical_lane = 2,
38  .end_logical_lane = 3,
39  .device_number = PCI_SLOT(NVME_DEVFN),
40  .function_number = PCI_FUNC(NVME_DEVFN),
41  .link_speed_capability = GEN3,
42  .turn_off_unused_lanes = true,
43  .link_aspm = 2,
44  .link_hotplug = 3,
45  .gpio_group_id = GPIO_6,
46  .clk_req = CLK_REQ0,
47  },
48 };
49 
50 static const fsp_ddi_descriptor skyrim_sbna_ddi_descriptors[] = {
51  { /* DDI0 - eDP */
52  .connector_type = DDI_EDP,
53  .aux_index = DDI_AUX1,
54  .hdp_index = DDI_HDP1
55  },
56  { /* DDI1 - DP (type C) */
57  .connector_type = DDI_DP,
58  .aux_index = DDI_AUX2,
59  .hdp_index = DDI_HDP2
60  },
61  { /* DDI2 - DP (type C) */
62  .connector_type = DDI_DP,
63  .aux_index = DDI_AUX3,
64  .hdp_index = DDI_HDP3,
65  },
66  { /* DDI3 - DP (type C) */
67  .connector_type = DDI_DP,
68  .aux_index = DDI_AUX4,
69  .hdp_index = DDI_HDP4,
70  },
71  { /* DDI4 - Unused */
72  .connector_type = DDI_UNUSED_TYPE,
73  .aux_index = DDI_AUX5,
74  .hdp_index = DDI_HDP5,
75  },
76 };
77 
79  const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num,
80  const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num)
81 {
82  *dxio_descs = skyrim_sbna_dxio_descriptors;
84  *ddi_descs = skyrim_sbna_ddi_descriptors;
86 }
void mainboard_get_dxio_ddi_descriptors(const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num, const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num)
#define ARRAY_SIZE(a)
Definition: helpers.h:12
#define WLAN_DEVFN
Definition: variants.h:10
#define SD_DEVFN
Definition: variants.h:11
#define NVME_DEVFN
Definition: variants.h:13
static const fsp_dxio_descriptor skyrim_sbna_dxio_descriptors[]
static const fsp_ddi_descriptor skyrim_sbna_ddi_descriptors[]
#define PCI_FUNC(devfn)
Definition: pci_def.h:550
#define PCI_SLOT(devfn)
Definition: pci_def.h:549
#define GPIO_27
Definition: gpio.h:44
#define GPIO_6
Definition: gpio.h:27