blob: 4b4824038da5c3d7a862ba044a2cefe314d412d5 [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 \
developer6e14fa32024-05-23 17:54:24 +080011 crypto-eip-inline \
12 crypto-eip-autoload
developer4f0d2ba2023-08-21 17:33:25 +080013
14ifeq ($(CONFIG_PACKAGE_kmod-crypto-eip),y)
15EXTRA_KCONFIG+= \
16 CONFIG_CRYPTO_OFFLOAD_INLINE=$(CONFIG_CRYPTO_OFFLOAD_INLINE)
17endif
18
19ifeq ($(CONFIG_CRYPTO_OFFLOAD_INLINE),y)
20EXTRA_KCONFIG+= \
21 CONFIG_MTK_CRYPTO_EIP_INLINE=m \
developer12ea7142024-03-28 15:18:08 +080022 CONFIG_CRYPTO_XFRM_OFFLOAD_MTK_PCE=$(CONFIG_CRYPTO_XFRM_OFFLOAD_MTK_PCE) \
23 CONFIG_MTK_TOPS_CAPWAP_DTLS=$(CONFIG_MTK_TOPS_CAPWAP_DTLS)
developer4f0d2ba2023-08-21 17:33:25 +080024
25EXTRA_CFLAGS+= \
26 -I$(LINUX_DIR)/drivers/net/ethernet/mediatek/ \
27 -I$(KERNEL_BUILD_DIR)/pce/inc/
28endif
29
developer12ea7142024-03-28 15:18:08 +080030ifeq ($(CONFIG_MTK_TOPS_CAPWAP_DTLS),y)
31EXTRA_CFLAGS += \
32 -DCONFIG_TOPS_TNL_NUM=$(CONFIG_TOPS_TNL_NUM)
33endif
34
developer4f0d2ba2023-08-21 17:33:25 +080035# crypto-eip kernel package configuration
36define KernelPackage/crypto-eip
37 CATEGORY:=MTK Properties
38 SUBMENU:=Drivers
39 TITLE:= EIP-197 Crypto Engine Driver
40 DEFAULT:=y
41 KCONFIG:= \
42 CONFIG_CRYPTO_HW=y \
43 CONFIG_CRYPTO_AUTHENC=y \
44 CONFIG_CRYPTO_AES=y \
45 CONFIG_CRYPTO_AEAD=y \
46 CONFIG_CRYPTO_DES=y \
47 CONFIG_CRYPTO_MD5=y \
48 CONFIG_CRYPTO_SHA1=y \
49 CONFIG_CRYPTO_SHA256=y \
50 CONFIG_CRYPTO_SHA512=y \
51 CONFIG_CRYPTO_SHA3=y \
52 CONFIG_CRYPTO_HMAC=y \
53 CONFIG_INET_ESP=y
54 DEPENDS:= \
55 @TARGET_mediatek \
56 +strongswan \
57 +strongswan-default
58 $(call AddDepends/crypto)
59endef
60
61define KernelPackage/crypto-eip/description
62 Enable crypto engine to accelerate encrypt/decrypt. Support look aside
63 mode (semi-HW) and inline mode (pure-HW). Look aside mode is bind with
64 Linux Crypto API and support AES, DES, SHA1, and SHA2 algorithms. In-
65 line mode only support ESP Tunnel mode (single tunnel) now.
66endef
67
68define KernelPackage/crypto-eip/config
69 source "$(SOURCE)/Config.in"
70endef
71
72define KernelPackage/crypto-eip-inline
73 CATEGORY:=MTK Properties
74 SUBMENU:=Drivers
75 TITLE:= EIP-197 Crypto Engine Inline Driver
76 KCONFIG:= \
77 CONFIG_INET_ESP_OFFLOAD=y
78 DEPENDS:= \
79 @CRYPTO_OFFLOAD_INLINE \
80 kmod-crypto-eip \
81 kmod-crypto-eip-ddk \
developer12ea7142024-03-28 15:18:08 +080082 +kmod-pce \
83 +MTK_TOPS_CAPWAP_DTLS:kmod-tops
developer4f0d2ba2023-08-21 17:33:25 +080084 FILES:=$(PKG_BUILD_DIR)/crypto-eip-inline.ko
85 $(call AddDepends/crypto)
86endef
87
88define KernelPackage/crypto-eip-inline/description
89 EIP197 inline mode. HW offload for IPsec ESP Tunnel mode.
90endef
developer6e14fa32024-05-23 17:54:24 +080091
92define KernelPackage/crypto-eip-autoload
93 CATEGORY:=MTK Properties
94 SUBMENU:=Drivers
95 TITLE:= EIP-197 Crypto Engine Driver Autoload
96 AUTOLOAD:=$(call AutoLoad,90,crypto-eip-inline)
97 KCONFIG:=
98 DEPENDS:= kmod-crypto-eip-inline
99endef
100
101define KernelPackage/crypto-eip-autoload/description
102 EIP197 Driver Autoload.
103endef