From 37f5db42ac6d2a6d7e5fd886b6a9d79eb3583d5c Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 21 May 2024 16:06:36 +0200 Subject: [PATCH] tsn: add basic Time sensitive networking (TSN) This commit adds some basic TSN support to DEY. It includes the kernel configuration fragment with the IEEE 802.1 support and the some user space tools necessary to configure the network. https://onedigi.atlassian.net/browse/DEL-9026 Signed-off-by: Mike Engel --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 1 + .../linux/linux-dey/tsn_conf.cfg | 27 +++++++++++++++++++ .../recipes-kernel/linux/linux-dey_6.1.bb | 1 + .../packagegroups/packagegroup-dey-network.bb | 2 ++ 4 files changed, 31 insertions(+) create mode 100644 meta-digi-arm/recipes-kernel/linux/linux-dey/tsn_conf.cfg diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index 8dea1961a..1c125a626 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -25,6 +25,7 @@ KERNEL_DEVICETREE ?= " \ digi/_ov_som_bt-dtm_ccimx93.dtbo \ digi/_ov_som_npu_ccimx93.dtbo \ digi/_ov_som_wifi_ccimx93.dtbo \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tsn', 'digi/_ov_board_eqos-tsn_ccimx93-dvk.dtbo', '', d)} \ " # Wireless external module diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey/tsn_conf.cfg b/meta-digi-arm/recipes-kernel/linux/linux-dey/tsn_conf.cfg new file mode 100644 index 000000000..cdc21fd88 --- /dev/null +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey/tsn_conf.cfg @@ -0,0 +1,27 @@ +.......................................................................... +. WARNING +. +. This file is a kernel configuration fragment, and not a full kernel +. configuration file. The final kernel configuration is made up of +. an assembly of processed fragments, each of which is designed to +. capture a specific part of the final configuration (e.g. platform +. configuration, feature configuration, and board specific hardware +. configuration). For more information on kernel configuration, please +. consult the product documentation. +. +.......................................................................... +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_GATE=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_FSL_ENETC_QOS=y diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_6.1.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_6.1.bb index cba404b1f..44bc97220 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_6.1.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_6.1.bb @@ -20,6 +20,7 @@ NXP_RT_PATCHES = " \ SRC_URI:append = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'rt', '${NXP_RT_PATCHES}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tsn', 'file://tsn_conf.cfg', '', d)} \ " SRCREV = "${AUTOREV}" diff --git a/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-network.bb b/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-network.bb index 2936d8aa1..1b6112ce2 100644 --- a/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-network.bb +++ b/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-network.bb @@ -35,4 +35,6 @@ RDEPENDS:${PN} = "\ ${VIRTUAL-RUNTIME_network-utils} \ ${VIRTUAL-RUNTIME_snmp-manager} \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${VIRTUAL-RUNTIME_ntp-client}', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tsn', 'iproute2-tc', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tsn', 'linuxptp', '', d)} \ "