Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
strategy:
matrix:
vendor: [ protectli ]
model: [ vp66xx, vp46xx, vp32xx, vp2430, vp2420, vp2410, V1210, V1211, V1410, V1610 ]
model: [ vp66xx, vp46xx, vp32xx, vp2440, vp2430, vp2420, vp2410, V1210, V1211, V1410, V1610 ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -312,6 +312,20 @@ jobs:
matrix:
vendor: [ protectli ]
model: [ vp2430 ]
deploy_protectli_vp2440:
if: startsWith(github.ref, 'refs/tags/protectli_vp2440_')
needs: build_protectli
uses: ./.github/workflows/deploy-template.yml
with:
platform: protectli
vendor: ${{ matrix.vendor }}
model: ${{ matrix.model }}
artifact_name: "dasharo-${{ matrix.vendor }}-${{ matrix.model }}"
secrets: inherit
strategy:
matrix:
vendor: [ protectli ]
model: [ vp2440 ]
deploy_protectli_jsl:
if: startsWith(github.ref, 'refs/tags/protectli_vault_jsl')
needs: build_protectli
Expand Down
5 changes: 5 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ usage() {
echo -e "\tvp66xx - build Dasharo for Protectli VP66xx"
echo -e "\tvp46xx - build Dasharo for Protectli VP46xx"
echo -e "\tvp32xx - build Dasharo for Protectli VP32xx"
echo -e "\tvp2440 - build Dasharo for Protectli VP2440"
echo -e "\tvp2430 - build Dasharo for Protectli VP2430"
echo -e "\tvp2420 - build Dasharo for Protectli VP2420"
echo -e "\tvp2410 - build Dasharo for Protectli VP2410"
Expand Down Expand Up @@ -426,6 +427,10 @@ case "$CMD" in
BOARD="vp2430"
build_protectli_vault
;;
"vp2440" | "VP2440")
BOARD="vp2440"
build_protectli_vault
;;
"v1210" | "V1210" )
build_v1x10 "v1210"
;;
Expand Down
61 changes: 61 additions & 0 deletions configs/config.protectli_vp2440
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
CONFIG_LOCALVERSION="v0.9.0-rc1"
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_VENDOR_PROTECTLI=y
CONFIG_VBOOT=y
CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp2440/descriptor.bin"
CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp2440/me.bin"
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x100000
CONFIG_EDK2_BOOT_TIMEOUT=6
CONFIG_HAVE_IFD_BIN=y
CONFIG_BOARD_PROTECTLI_VP2440=y
CONFIG_EDK2_BOOTSPLASH_FILE="$(top)/3rdparty/dasharo-blobs/protectli/black_background.bmp"
CONFIG_TPM_MEASURED_BOOT=y
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
CONFIG_HAVE_ME_BIN=y
CONFIG_INTEL_ME_DISABLED_HECI=y
# CONFIG_DASHARO_FIRMWARE_UPDATE_MODE is not set
CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR=y
CONFIG_DRIVERS_EFI_VARIABLE_STORE=y
CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y
CONFIG_DRIVERS_GENERIC_CBFS_UUID=y
CONFIG_TPM2=y
CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
CONFIG_BOOTMEDIA_LOCK_WPRO_VBOOT_RO=y
CONFIG_BOOTMEDIA_LOCK_IN_VERSTAGE=y
CONFIG_BOOTMEDIA_SMM_BWP=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
# CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX is not set
# CONFIG_CONSOLE_USE_ANSI_ESCAPES is not set
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_REPOSITORY="https://github.com/Dasharo/edk2"
CONFIG_EDK2_TAG_OR_REV="c2de870a67b7c422bb5344ee0389723c1e6aa7af"
CONFIG_EDK2_USE_EDK2_PLATFORMS=y
CONFIG_EDK2_PLATFORMS_REPOSITORY="https://github.com/Dasharo/edk2-platforms"
CONFIG_EDK2_PLATFORMS_TAG_OR_REV="3323ed481d35096fb6a7eae7b49f35eff00f86cf"
CONFIG_EDK2_CBMEM_LOGGING=y
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
# CONFIG_EDK2_PRIORITIZE_INTERNAL is not set
# CONFIG_EDK2_PS2_SUPPORT is not set
CONFIG_EDK2_SERIAL_SUPPORT=y
CONFIG_BUILD_IPXE=y
CONFIG_IPXE_NO_PROMPT=y
CONFIG_IPXE_ADD_SCRIPT=y
CONFIG_IPXE_SCRIPT="3rdparty/dasharo-blobs/dasharo/protectli.ipxe"
CONFIG_IPXE_CUSTOM_BUILD_ID="0123456789"
CONFIG_EDK2_ENABLE_IPXE=y
CONFIG_EDK2_IPXE_OPTION_NAME="Network Boot and Utilities"
# CONFIG_EDK2_SECURE_BOOT_DEFAULT_ENABLE is not set
CONFIG_EDK2_SETUP_PASSWORD=y
CONFIG_EDK2_DASHARO_SYSTEM_FEATURES=y
CONFIG_EDK2_DASHARO_SECURITY_OPTIONS=y
CONFIG_EDK2_DASHARO_USB_CONFIG=y
CONFIG_EDK2_DASHARO_POWER_CONFIG=y
CONFIG_EDK2_CPU_THROTTLING_THRESHOLD_OPTION=y
CONFIG_EDK2_DASHARO_NETWORK_BOOT_DEFAULT_ENABLE=y
CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION_DEFAULT_ENABLE=y
CONFIG_EDK2_HAVE_2ND_UART=y
CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION2_DEFAULT_ENABLE=y
CONFIG_EDK2_BOOT_MENU_KEY=0x0015
CONFIG_EDK2_SETUP_MENU_KEY=0x0008
CONFIG_EDK2_DISABLE_OPTION_ROMS=y
CONFIG_EDK2_CREATE_PREINSTALLED_BOOT_OPTIONS=y
4 changes: 3 additions & 1 deletion src/mainboard/protectli/vault_adl_n/Kconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if BOARD_PROTECTLI_VP32XX || BOARD_PROTECTLI_VP2430
if BOARD_PROTECTLI_VP32XX || BOARD_PROTECTLI_VP2430 || BOARD_PROTECTLI_VP2440

config BOARD_SPECIFIC_OPTIONS
def_bool y
Expand All @@ -23,10 +23,12 @@ config MAINBOARD_DIR
config MAINBOARD_PART_NUMBER
default "VP32XX" if BOARD_PROTECTLI_VP32XX
default "VP2430" if BOARD_PROTECTLI_VP2430
default "VP2440" if BOARD_PROTECTLI_VP2440

config VARIANT_DIR
default "vp32xx" if BOARD_PROTECTLI_VP32XX
default "vp2430" if BOARD_PROTECTLI_VP2430
default "vp2440" if BOARD_PROTECTLI_VP2440

config MAINBOARD_VENDOR
default "Protectli"
Expand Down
3 changes: 3 additions & 0 deletions src/mainboard/protectli/vault_adl_n/Kconfig.name
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ config BOARD_PROTECTLI_VP32XX

config BOARD_PROTECTLI_VP2430
bool "VP2430"

config BOARD_PROTECTLI_VP2440
bool "VP2440"
3 changes: 3 additions & 0 deletions src/mainboard/protectli/vault_adl_n/acpi/usb_pd.asl
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ Scope (\_SB.PCI0.I2C4)
I2cSerialBusV2 (0x0023, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive, )
/* Only one port on VP2440 */
#if !CONFIG(BOARD_PROTECTLI_VP2440)
I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive)
Interrupt (ResourceConsumer, Level, ActiveLow)
{
GPP_F13_IRQ
}
#endif
/* Linux driver expects one interrupt resource per one I2C dev */
Interrupt (ResourceConsumer, Level, ActiveLow)
{
Expand Down
10 changes: 5 additions & 5 deletions src/mainboard/protectli/vault_adl_n/devicetree.cb
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,11 @@ chip soc/intel/alderlake
register "type" = "UPC_TYPE_INTERNAL"
device ref usb2_port8 on end
end
chip drivers/usb/acpi
register "desc" = ""USB3 LTE/5G (KEY_B_5G)""
register "type" = "UPC_TYPE_INTERNAL"
device ref usb3_port2 on end
end
end
end
end
Expand Down Expand Up @@ -228,11 +233,6 @@ chip soc/intel/alderlake
use tcss_usb3_port1 as usb3_port
device generic 0 alias conn0 on end
end
chip drivers/intel/pmc_mux/conn
use usb2_port6 as usb2_port
use tcss_usb3_port2 as usb3_port
device generic 1 alias conn1 on end
end
end
end
end
Expand Down
37 changes: 32 additions & 5 deletions src/mainboard/protectli/vault_adl_n/mainboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@

const char *smbios_mainboard_product_name(void)
{
if (CONFIG(BOARD_PROTECTLI_VP2430)) {
if (CONFIG(BOARD_PROTECTLI_VP2430))
return "VP2430";
}

if (CONFIG(BOARD_PROTECTLI_VP2440))
return "VP2440";

u32 tmp[13];
const char *str = "Unknown Processor Name";
Expand Down Expand Up @@ -71,24 +73,49 @@ void mainboard_silicon_init_params(FSP_S_CONFIG *params)
params->PcieRpEnableCpm[9] = 1;
}

if (CONFIG(BOARD_PROTECTLI_VP2440)) {
/*
* All PCIe ports have an exclusive CLKREQ.
*/
params->PcieRpEnableCpm[0] = 1;
params->PcieRpEnableCpm[6] = 1;
params->PcieRpEnableCpm[8] = 1;
/*
* Some WiFi cards do not get detected if CPM is enabled.
* params->PcieRpEnableCpm[10] = 1;
*/
params->PcieRpEnableCpm[11] = 1;
}

// Enable port reset message on Type-C ports
params->PortResetMessageEnable[4] = 1;
params->PortResetMessageEnable[5] = 1;

/*
* Configure AUX bias pads in FPS-S, becuase coreboot would do it too
* Configure AUX bias pads in FPS-S, because coreboot would do it too
* late and cause the Type-C displays to not work.
*/
params->IomTypeCPortPadCfg[0] = 0x09020016; // GPP_A22
params->IomTypeCPortPadCfg[1] = 0x09020015; // GPP_A21
params->IomTypeCPortPadCfg[2] = 0x0902000F; // GPP_A15
params->IomTypeCPortPadCfg[3] = 0x0902000E; // GPP_A14
if (!CONFIG(BOARD_PROTECTLI_VP2440)) {
params->IomTypeCPortPadCfg[2] = 0x0902000F; // GPP_A15
params->IomTypeCPortPadCfg[3] = 0x0902000E; // GPP_A14
}

// PMC-PD controller
params->PmcPdEnable = 1;

// IOM USB config
params->PchUsbOverCurrentEnable = 0;

if (CONFIG(BOARD_PROTECTLI_VP2440)) {
/*
* Second Type-C port used as regular USB3.x for LTE.
* Remap it to PCH xHCI first port.
*/
params->EnableTcssCovTypeA[1] = 1;
params->MappingPchXhciUsbA[1] = 1;
}
}

static void mainboard_final(void *chip_info)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,17 @@ chip soc/intel/alderlake
device generic 0 on end
end
end

device ref pmc hidden
chip drivers/intel/pmc_mux
device generic 0 on
chip drivers/intel/pmc_mux/conn
use usb2_port6 as usb2_port
use tcss_usb3_port2 as usb3_port
device generic 1 alias conn1 on end
end
end
end
end
end
end
Loading
Loading