blob: 9150cffa3d81d891033bc232a341f2f3a0acca6e [file] [log] [blame]
developer4f0d2ba2023-08-21 17:33:25 +08001# SPDX-Liscense-Identifier: GPL-2.0-or-later
2#
3# Copyright (C) 2023 MediaTek Inc.
4#
5# Author: Chris.Chou <chris.chou@mediatek.com>
6# Ren-Ting Wang <ren-ting.wang@mediatek.com>
7
8# Configure for crypto-eip top makefile
9EIP_KERNEL_PKGS+= \
10 crypto-eip \
11 crypto-eip-inline
12
13ifeq ($(CONFIG_PACKAGE_kmod-crypto-eip),y)
14EXTRA_KCONFIG+= \
15 CONFIG_CRYPTO_OFFLOAD_INLINE=$(CONFIG_CRYPTO_OFFLOAD_INLINE)
16endif
17
18ifeq ($(CONFIG_CRYPTO_OFFLOAD_INLINE),y)
19EXTRA_KCONFIG+= \
20 CONFIG_MTK_CRYPTO_EIP_INLINE=m \
developer12ea7142024-03-28 15:18:08 +080021 CONFIG_CRYPTO_XFRM_OFFLOAD_MTK_PCE=$(CONFIG_CRYPTO_XFRM_OFFLOAD_MTK_PCE) \
22 CONFIG_MTK_TOPS_CAPWAP_DTLS=$(CONFIG_MTK_TOPS_CAPWAP_DTLS)
developer4f0d2ba2023-08-21 17:33:25 +080023
24EXTRA_CFLAGS+= \
25 -I$(LINUX_DIR)/drivers/net/ethernet/mediatek/ \
26 -I$(KERNEL_BUILD_DIR)/pce/inc/
27endif
28
developer12ea7142024-03-28 15:18:08 +080029ifeq ($(CONFIG_MTK_TOPS_CAPWAP_DTLS),y)
30EXTRA_CFLAGS += \
31 -DCONFIG_TOPS_TNL_NUM=$(CONFIG_TOPS_TNL_NUM)
32endif
33
developer4f0d2ba2023-08-21 17:33:25 +080034# crypto-eip kernel package configuration
35define KernelPackage/crypto-eip
36 CATEGORY:=MTK Properties
37 SUBMENU:=Drivers
38 TITLE:= EIP-197 Crypto Engine Driver
39 DEFAULT:=y
40 KCONFIG:= \
41 CONFIG_CRYPTO_HW=y \
42 CONFIG_CRYPTO_AUTHENC=y \
43 CONFIG_CRYPTO_AES=y \
44 CONFIG_CRYPTO_AEAD=y \
45 CONFIG_CRYPTO_DES=y \
46 CONFIG_CRYPTO_MD5=y \
47 CONFIG_CRYPTO_SHA1=y \
48 CONFIG_CRYPTO_SHA256=y \
49 CONFIG_CRYPTO_SHA512=y \
50 CONFIG_CRYPTO_SHA3=y \
51 CONFIG_CRYPTO_HMAC=y \
52 CONFIG_INET_ESP=y
53 DEPENDS:= \
54 @TARGET_mediatek \
55 +strongswan \
56 +strongswan-default
57 $(call AddDepends/crypto)
58endef
59
60define KernelPackage/crypto-eip/description
61 Enable crypto engine to accelerate encrypt/decrypt. Support look aside
62 mode (semi-HW) and inline mode (pure-HW). Look aside mode is bind with
63 Linux Crypto API and support AES, DES, SHA1, and SHA2 algorithms. In-
64 line mode only support ESP Tunnel mode (single tunnel) now.
65endef
66
67define KernelPackage/crypto-eip/config
68 source "$(SOURCE)/Config.in"
69endef
70
71define KernelPackage/crypto-eip-inline
72 CATEGORY:=MTK Properties
73 SUBMENU:=Drivers
74 TITLE:= EIP-197 Crypto Engine Inline Driver
75 KCONFIG:= \
76 CONFIG_INET_ESP_OFFLOAD=y
77 DEPENDS:= \
78 @CRYPTO_OFFLOAD_INLINE \
79 kmod-crypto-eip \
80 kmod-crypto-eip-ddk \
developer12ea7142024-03-28 15:18:08 +080081 +kmod-pce \
82 +MTK_TOPS_CAPWAP_DTLS:kmod-tops
developer4f0d2ba2023-08-21 17:33:25 +080083 FILES:=$(PKG_BUILD_DIR)/crypto-eip-inline.ko
84 $(call AddDepends/crypto)
85endef
86
87define KernelPackage/crypto-eip-inline/description
88 EIP197 inline mode. HW offload for IPsec ESP Tunnel mode.
89endef