├── LICENSE.txt ├── README.md ├── SCR-REAL-TIME-EDGE-3.1.txt ├── conf ├── distro │ ├── include │ │ ├── igh-ethercat.inc │ │ ├── imx-baremetal-env.inc │ │ ├── imx-real-time-edge-env.inc │ │ ├── libopen62541.inc │ │ ├── qoriq-baremetal-env.inc │ │ ├── qoriq-real-time-edge-env.inc │ │ ├── real-time-edge-base.inc │ │ └── rtos-industrial-examples.inc │ ├── nxp-real-time-edge-baremetal.conf │ ├── nxp-real-time-edge-emmc.conf │ ├── nxp-real-time-edge-plc.conf │ └── nxp-real-time-edge.conf ├── layer.conf └── machine │ ├── include │ └── qoriq-wks-base.inc │ ├── ls1021aiot.conf │ └── ls1021atsn.conf ├── dynamic-layers ├── imx-layer │ ├── recipes-bsp │ │ ├── firmware-imx │ │ │ └── firmware-ele-imx_1.3.0.bb │ │ ├── imx-atf │ │ │ ├── files │ │ │ │ ├── 0001-Baremetal-make-UART4-accessed-by-A53-cores.patch │ │ │ │ ├── 0001-plat-imx93-refine-the-EL3-interrupt-handle.patch │ │ │ │ ├── 0001-plat-imx95-add-SIP-cpu_off-service.patch │ │ │ │ ├── 0002-plat-imx-add-inter-core-service-common-driver.patch │ │ │ │ ├── 0003-plat-imx93-change-dram-dvfs-to-use-intercore-service.patch │ │ │ │ ├── 0004-drivers-gicv3-add-APIS-for-clearing-pending-interrup.patch │ │ │ │ ├── 0005-plat-imx-add-SIP-cpu_off-service-for-imx93.patch │ │ │ │ ├── 0006-plat-imx8m-change-dram-dvfs-to-use-intercore-service.patch │ │ │ │ ├── 0007-plat-imx8m-add-SIP-cpu_off-service.patch │ │ │ │ └── 0008-plat-imx91-change-to-use-common-interrupt-service.patch │ │ │ └── imx-atf_%.bbappend │ │ ├── imx-system-manager │ │ │ ├── files │ │ │ │ ├── 0001-configs-imx95-add-config-for-RTE.patch │ │ │ │ └── 0002-devices-MIMX95-Disable-DDR-Auto-Clock-Gating.patch │ │ │ └── imx-system-manager_%.bbappend │ │ └── u-boot │ │ │ └── u-boot-imx_%.bbappend │ └── recipes-kernel │ │ └── linux │ │ ├── linux-imx │ │ ├── linux-baremetal-imx93.config │ │ └── linux-baremetal.config │ │ └── linux-imx_%.bbappend └── qoriq-layer │ ├── recipes-bsp │ ├── atf │ │ ├── files │ │ │ └── 0001-GIC-V2-remove-the-configuration-for-SGI-8-15.patch │ │ └── qoriq-atf_2.6.bbappend │ ├── dp-firmware-cadence │ │ └── dp-firmware-cadence_22.04.bb │ ├── rcw │ │ ├── files │ │ │ ├── 0001-ls1028ardb-rcw-Enable-CLK_OUT_PMUX-for-GPIO-function.patch │ │ │ ├── 0002-ls1028ardb-enable-sai.patch │ │ │ └── 0003-ls1046ardb-gpio2-enable-pin-0-3.patch │ │ └── rcw_git.bbappend │ └── u-boot │ │ ├── u-boot-qoriq_%.bbappend │ │ ├── u-boot-script-distroboot │ │ ├── ls1021aiot_baremetal_boot.cmd │ │ ├── ls1021aiot_boot.cmd │ │ ├── ls1021atsn_boot.cmd │ │ ├── ls1021atwr_boot.cmd │ │ ├── ls1028ardb_baremetal_boot.cmd │ │ ├── ls1028ardb_boot.cmd │ │ ├── ls1043ardb_baremetal_boot.cmd │ │ ├── ls1043ardb_boot.cmd │ │ ├── ls1046afrwy_boot.cmd │ │ ├── ls1046ardb_baremetal_boot.cmd │ │ ├── ls1046ardb_boot.cmd │ │ ├── lx2160ardb-rev2_baremetal_boot.cmd │ │ ├── lx2160ardb-rev2_boot.cmd │ │ ├── lx2160ardb_baremetal_boot.cmd │ │ └── lx2160ardb_boot.cmd │ │ └── u-boot-script-distroboot_2020.04.bb │ └── recipes-kernel │ └── linux │ ├── linux-qoriq │ ├── linux-baremetal-ls1021a.config │ ├── linux-baremetal-ls1028a.config │ ├── linux-baremetal-ls104xa.config │ └── linux-baremetal-lx2160a.config │ └── linux-qoriq_%.bbappend ├── recipes-connectivity └── openssh │ └── openssh_%.bbappend ├── recipes-core └── busybox │ ├── busybox │ └── defconfig-plc │ └── busybox_%.bbappend ├── recipes-devtools └── python │ └── python3_%.bbappend ├── recipes-extended ├── avahi │ └── avahi_%.bbappend ├── canfestival │ ├── canfestival_7740ac6fdedc23e1ed6908d3d7db54833c88572b.bb │ └── files │ │ ├── 0001-install-pkgconfig-module-for-canfestival.patch │ │ ├── 0002-allow-to-set-python-interpreter.patch │ │ ├── 0003-canfestival-add-new-app.patch │ │ └── 0004-compile-CANopen-on-different-platforms.patch ├── chromium │ ├── chromium-ozone-wayland_%.bbappend │ └── files │ │ ├── 0011-Fixed-chromium-flicker-with-g2d-renderer.patch │ │ ├── 0012-chromium-met-EGL-API-GetProcAddress-failures.patch │ │ ├── 0013-Only-DRI-for-x11.patch │ │ ├── 0014-Fix-chromium-build-failure.patch │ │ ├── 0014-disbale-dri.patch │ │ ├── 0015-Revert-ui-gbm_wrapper-Ensure-to-create-BOs-with-impo.patch │ │ └── 0016-Fixed-chromium-crash-after-upgrading.patch ├── ethtool │ ├── ethtool_%.bbappend │ └── files │ │ ├── 0001-ethtool-Update-headers-from-the-kernel.patch │ │ ├── 0002-ethtool-add-support-for-configuring-frame-preemption.patch │ │ ├── 0003-ethtool-add-support-for-configuring-frame-preemption.patch │ │ ├── 0004-preemption-add-ETHTOOL_A_PREEMPT_STATUS-netlink-atrr.patch │ │ └── 0005-preemption-add-disabled-parameter.patch ├── genavb-tsn │ ├── files │ │ ├── genavb-tsn.service │ │ └── libgenavb.pc │ ├── genavb-tsn.bb │ ├── genavb-tsn.inc │ └── kernel-module-genavb-tsn.bb ├── igh-ethercat │ ├── files │ │ ├── 0001-Add-code-to-support-userspace-IGH-EtherCAT-for-v1.5..patch │ │ ├── 0001-Add-support-for-NXP-DPAA1-ethercat-port.patch │ │ ├── 0001-Delete-power_runtime-of-mdio-read-and-write.patch │ │ ├── 0001-Fix-igh-ethercat-compile-failure-issue.patch │ │ ├── 0001-Fix-the-issue-that-shm_get-key-is-using-relative-pat.patch │ │ ├── 0001-Fixed-compilation-error-for-the-EtherCat-drivers.patch │ │ ├── 0001-Native-Driver-fix-ec_fec-kernel-module-insmod-failur.patch │ │ ├── 0001-Use-new-igh-native-dts.patch │ │ ├── 0001-device-fec-rgmii_rxc_dly-is-set-to-true-on-i.mx8dxl.patch │ │ ├── 0001-dpaa1-Add-module-license.patch │ │ ├── 0001-enetc-fix-the-compile-errors-when-upgrading-to-Linux.patch │ │ ├── 0001-enetc-upgrade-to-be-compatible-to-Linux-5.15.52.patch │ │ ├── 0001-fec-fix-the-compile-error-when-upgrading-to-Linux-5..patch │ │ ├── 0001-fix-compile-error-because-of-linux-kernel-upgrade-to.patch │ │ ├── 0001-igh-8mm-fix-compile-error-due-to-kernel-upgrade-to-v.patch │ │ ├── 0001-igh-fix-igh-compile-failed-on-ls1028.patch │ │ ├── 0001-ls1028-fix-enetc-compile-error-because-of-kernel-upg.patch │ │ ├── 0001-net-enetc-use-lynx_pcs_create_mdiodev.patch │ │ ├── 0001-yocto-not-install-header-file.patch │ │ ├── 0002-Add-code-to-support-NXP-i.MX-FEC-ethernet-port.patch │ │ ├── 0002-Modify-the-example-code.patch │ │ ├── 0002-igh_ethercat-fix-calltrace-issue-caused-by-ethercatc.patch │ │ ├── 0002-net-enetc-integrate-SerDes-phys-with-lynx-pcs.patch │ │ ├── 0003-Fixed-compilation-error-for-the-IGH-EtherCAT.patch │ │ ├── 0004-replace-the-init_timer-with-timer_setup-function.patch │ │ ├── 0005-igh-ethernet-change-the-type-of-eccdev_vma_fault-to-.patch │ │ ├── 0006-examples-user-simplify-the-Igh-test-case.patch │ │ ├── 0007-configure-Fix-the-subdir-objects-error.patch │ │ ├── 0008-master-master-fix-the-issue-of-sched_setscheduler-un.patch │ │ ├── 0009-device-fec-Add-fec-device.patch │ │ ├── 0010-device-fec-add-fec-support-on-conf-script.patch │ │ ├── 0011-Fix-ethercat-tool-compilation.patch │ │ ├── 0012-enect-Add-enetc-souce-code-based-on-linux-4.14.patch │ │ ├── 0013-ec_enetc-Add-ec_enetc-native-driver-based-on-linux-4.patch │ │ ├── 0014-enetc-port-enetc-vf-driver-to-linux-5.10.patch │ │ ├── 0015-enetc-add-pf-device-support-for-linux-5.10.patch │ │ ├── 0016-enetc-adjust-the-link-status-dynamically-for-ec_mast.patch │ │ ├── 0017-enetc-mq-is-useless-to-ndev-struct.patch │ │ ├── 0018-enetc-add-enetc-support-on-scripts.patch │ │ └── libus_drv.a │ ├── igh-ethercat-userspace.bb │ └── igh-ethercat.bb ├── iproute2 │ ├── files │ │ ├── 0001-taprio-add-hold-and-release-command.patch │ │ └── 0001-tc-add-frer-support.patch │ └── iproute2_%.bbappend ├── jailhouse │ ├── files │ │ ├── 0001-configs-ls1043a-rdb-add-fman-ucode-memory-for-root-c.patch │ │ ├── 0002-configs-ls1043ardb-Add-gpio1-in-non-root-config-and-.patch │ │ ├── 0003-config-ls1046ardb-modify-memory-range-align-with-ls1.patch │ │ ├── 0004-configs-ls1046ardb-add-memory-for-root-cell-fix-band.patch │ │ ├── 0005-configs-ls1046ardb-Add-fman-ucode-dtsi-file.patch │ │ ├── 0006-configs-ls1046ardb-Add-dpaa-support-for-non-root-lin.patch │ │ ├── 0007-configs-ls1046ardb-Add-gpio1-in-config-and-dts-file.patch │ │ ├── 0008-update-ls1028a-rdb-config-and-dts-for-openil.patch │ │ ├── 0009-ls1028ardb-add-gpio3-for-linux-demo.patch │ │ ├── 0010-ls1028ardb-enetc-support-in-jailhouse.patch │ │ ├── 0011-add-back-virtual-pci-support-in-root-cell.patch │ │ ├── 0012-configs-arm64-dts-Change-the-reserved-address-for-LP.patch │ │ ├── 0013-configs-arm64-dts-Correct-the-StreamID-of-ls1028a-EN.patch │ │ ├── 0014-configs-arm64-Add-GIC-distributor-and-re-distributor.patch │ │ ├── 0015-configs-arm64-ls1028a-add-LPI-tables-memory-region.patch │ │ ├── 0016-ivshmem-demo-change-dev_id-to-2-for-qoriq-platforms.patch │ │ ├── 0017-ls1043ardb-inmate-demo-assigned-write-permission-to-.patch │ │ ├── 0018-ls1028ardb-remove-gic-distributor-region-from-linux-.patch │ │ ├── 0019-configs-arm64-ls1028a-Update-the-address-used-for-GI.patch │ │ ├── 0020-configs-arm64-fix-the-.architecture-for-ls1028ardb-e.patch │ │ ├── 0021-configs-arm64-fix-the-.architecture-for-ls1046ardb-d.patch │ │ ├── 0022-configs-ls1028ardb-add-SerDes-MMIO-region.patch │ │ ├── rootfs.cpio.gz │ │ └── scripts │ │ │ ├── gic-demo-imx8mp.sh │ │ │ ├── gic-demo-imx93.sh │ │ │ ├── gic-demo-ls1028ardb.sh │ │ │ ├── gic-demo-ls1043ardb.sh │ │ │ ├── gic-demo-ls1046ardb.sh │ │ │ ├── init_jailhouse_env.sh │ │ │ ├── ivshmem-demo-imx8mp.sh │ │ │ ├── ivshmem-demo-imx93.sh │ │ │ ├── ivshmem-demo-ls1028ardb.sh │ │ │ ├── ivshmem-demo-ls1043ardb.sh │ │ │ ├── ivshmem-demo-ls1046ardb.sh │ │ │ ├── linux-demo-imx8mp.sh │ │ │ ├── linux-demo-imx93-9x9-qsb.sh │ │ │ ├── linux-demo-ls1028ardb-enetc.sh │ │ │ ├── linux-demo-ls1028ardb.sh │ │ │ ├── linux-demo-ls1043ardb-dpaa.sh │ │ │ ├── linux-demo-ls1043ardb.sh │ │ │ ├── linux-demo-ls1046ardb-dpaa.sh │ │ │ ├── linux-demo-ls1046ardb.sh │ │ │ ├── uart-demo-imx8mp.sh │ │ │ ├── uart-demo-imx93.sh │ │ │ ├── uart-demo-ls1028ardb.sh │ │ │ ├── uart-demo-ls1043ardb.sh │ │ │ └── uart-demo-ls1046ardb.sh │ └── jailhouse-imx_git.bbappend ├── libnetconf2 │ └── libnetconf2_git.bb ├── libnfc-nci │ ├── files │ │ ├── 0001-set-configuration-for-libnfc-nci.patch │ │ ├── 0002-add-static-for-gphNxpExtns_Context.patch │ │ └── 0003-add-static-for-fragmentation_enabled.patch │ └── libnfc-nci_git.bb ├── libopen62541 │ ├── files │ │ └── 0001-feat-examples-Add-pubsub-TSN-sample-applications.patch │ └── libopen62541.bb ├── libredblack │ └── libredblack_git.bb ├── libssh │ └── libssh_%.bbappend ├── libyang │ ├── libyang │ │ └── 0001-validation-workaround-for-a-must-validation-issue.patch │ └── libyang_git.bb ├── linuxptp │ ├── files │ │ ├── 0001-Add-IEEE-802.1AS-2011-time-aware-bridge-support.patch │ │ ├── 0002-Add-BMCA-support-for-IEEE-802.1AS-2011.patch │ │ ├── 0003-clock-redecide-state-if-get-EV_FAULT_DETECTED-event.patch │ │ ├── 0004-port-switch-PHC-in-jbod-mode-when-in-UNCALIBRATED-or.patch │ │ ├── 0005-README-mention-support-of-IEEE-802.1AS-time-aware-br.patch │ │ ├── 0006-configs-increase-tx_timestamp_timeout-for-default-gP.patch │ │ ├── 0007-onfigs-use-neighborPropDelayThresh-default-value-for.patch │ │ └── 0008-vclock-use-missing.h-to-instead-linux-header.patch │ └── linuxptp_%.bbappend ├── lldpd │ ├── files │ │ ├── 0001-lldpd-add-additional-ethernet-capabilities-tlv.patch │ │ ├── 0002-lldp-deprecate-link-aggregation-TLV-from-802.3.patch │ │ ├── 0003-lldpd-decode-Additional-Ethernet-Capabilities.patch │ │ ├── 0004-header-ethtool-update-ethtool_fp-parameters.patch │ │ ├── lldpd.default │ │ └── lldpd.init.d │ └── lldpd_%.bbappend ├── modbus-simulator │ ├── files │ │ ├── CMakeLists.txt │ │ ├── LICENSE.md │ │ ├── common.c │ │ ├── common.h │ │ ├── modbus_client_simulator.c │ │ ├── modbus_device_simulator.c │ │ └── readme.md │ └── modbus-simulator.bb ├── netopeer2-server │ ├── netopeer2-server │ │ ├── netopeer2-server │ │ └── netopeer2-server.service │ └── netopeer2-server_git.bb ├── pktgen-scripts │ ├── files │ │ ├── LICENSE │ │ └── pktgen │ │ │ ├── functions.sh │ │ │ ├── parameters.sh │ │ │ ├── pktgen_sample01_simple.sh │ │ │ └── pktgen_twoqueue.sh │ └── pktgen-scripts.bb ├── real-time-edge-baremetal │ ├── real-time-edge-baremetal-env.inc │ └── real-time-edge-baremetal.bb ├── real-time-edge-icc │ └── real-time-edge-icc_git.bb ├── real-time-edge-libbee │ ├── files │ │ ├── Init_Routines.c │ │ ├── Init_Routines.h │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Misc_Routines.c │ │ ├── Misc_Routines.h │ │ ├── ReadWrite_Routines.c │ │ ├── ReadWrite_Routines.h │ │ ├── Reset_Routines.c │ │ ├── Reset_Routines.h │ │ ├── bee.c │ │ └── registers.h │ └── real-time-edge-libbee_1.0.bb ├── real-time-edge-libblep │ ├── files │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── acilib.c │ │ ├── acilib.h │ │ ├── blep.c │ │ └── services.h │ └── real-time-edge-libblep_1.0.bb ├── real-time-edge-nodejs-lbt │ ├── files │ │ ├── LICENSE │ │ ├── S95lbt │ │ ├── client.js │ │ ├── config.json │ │ ├── flows.json │ │ ├── index.html │ │ ├── npm-shrinkwrap.json │ │ ├── package.json │ │ └── server.js │ └── real-time-edge-nodejs-lbt_1.0.bb ├── real-time-edge-prl │ ├── files │ │ ├── LICENSE │ │ ├── Makefile │ │ └── prl.c │ └── real-time-edge-prl_1.0.bb ├── real-time-edge-servo │ └── real-time-edge-servo.bb ├── real-time-edge-sysrepo │ ├── real-time-edge-sysrepo │ │ └── sysrepo-tsn │ └── real-time-edge-sysrepo_git.bb ├── rteval │ ├── files │ │ ├── 0001-rteval-Tailored-for-NXP-boards-and-Yocto-rootfs.patch │ │ ├── 0002-rteval-setup.py-replace-distutils.core-with-setuptoo.patch │ │ └── rteval.conf │ └── rteval_3.3.bb ├── sysrepo │ ├── sysrepo │ │ ├── 0001-Hardcode-correct-path-to-tar-binary.patch │ │ ├── sysrepo-plugind │ │ └── sysrepo-plugind.service │ └── sysrepo_git.bb ├── tsn-scripts │ └── tsn-scripts.bb ├── tsntool │ ├── samples │ │ └── gatescripts │ │ │ ├── sgi_ipv.txt │ │ │ ├── sgi_maxoct.txt │ │ │ ├── sgi_off.txt │ │ │ ├── sgi_on.txt │ │ │ ├── tc_1o1c.txt │ │ │ ├── tc_all_off.txt │ │ │ ├── tc_all_on.txt │ │ │ ├── tc_glist.txt │ │ │ └── tc_guardband.txt │ └── tsntool_%.bbappend └── yang-model │ ├── yang-model │ ├── 0001-ieee802-dot1q-sched.yang-fix-warning-in-libyang.patch │ └── 0002-ieee802-dot1q-bridge.yang-fix-warning-in-libyang.patch │ └── yang-model_git.bb ├── recipes-graphics └── imx-gpu-viv │ └── imx-gpu-viv_%.bbappend ├── recipes-kernel └── libbpf │ └── libbpf_1.2.2.bb ├── recipes-nxp ├── images │ ├── nxp-image-real-time-edge-plc.bb │ └── nxp-image-real-time-edge.bb └── packagegroups │ ├── packagegroup-real-time-edge-industrial.bb │ ├── packagegroup-real-time-edge-multimedia.bb │ ├── packagegroup-real-time-edge-networking.bb │ ├── packagegroup-real-time-edge-rtos.bb │ ├── packagegroup-real-time-edge-system.bb │ └── packagegroup-real-time-edge-tools.bb ├── recipes-support ├── libxdp │ ├── libxdp │ │ ├── 0001-configure-properly-quote-the-toolchain-tools-variabl.patch │ │ ├── 0002-libxdp-add-option-to-skip-building-xdp-bpf-objects-w.patch │ │ └── 0003-libxdp-do-not-preserve-ownership-when-copying-librar.patch │ └── libxdp_1.4.1.bb └── opencv-demo │ ├── files │ ├── app.py │ └── ip.py │ └── opencv-demo.bb ├── tools ├── real-time-edge-setup-env.sh └── setup-environment └── wic ├── qoriq-ls1012a.wks.in ├── qoriq-ls1021aiot.wks.in ├── qoriq-ls1028a.wks.in ├── qoriq-ls102xa.wks.in ├── qoriq-ls104xa.wks.in └── qoriq-lx2160a.wks.in /conf/distro/include/igh-ethercat.inc: -------------------------------------------------------------------------------- 1 | IGH_ETHERCAT:imx8dxlb0-lpddr4-evk = " fec " 2 | IGH_ETHERCAT:imx8mm-lpddr4-evk = " fec " 3 | IGH_ETHERCAT:imx8mp-lpddr4-evk = " fec " 4 | IGH_ETHERCAT:imx93evk = " fec " 5 | IGH_ETHERCAT:ls1028ardb = " enetc " 6 | IGH_ETHERCAT:ls1046ardb = " dpaa1 backup" 7 | IGH_ETHERCAT:ls1043ardb = " dpaa1 backup" 8 | IGH_ETHERCAT ??= " " 9 | PACKAGECONFIG:append:pn-igh-ethercat = " ${IGH_ETHERCAT}" 10 | 11 | -------------------------------------------------------------------------------- /conf/distro/include/imx-baremetal-env.inc: -------------------------------------------------------------------------------- 1 | # update kernel configuration 2 | DELTA_KERNEL_DEFCONFIG:append:mx8m-nxp-bsp = " linux-baremetal.config" 3 | DELTA_KERNEL_DEFCONFIG:append:mx93-nxp-bsp = " linux-baremetal-imx93.config" 4 | 5 | # update baremetal dts 6 | KERNEL_DEVICETREE:append:imx8mp-lpddr4-evk = " freescale/imx8mp-evk-baremetal.dtb" 7 | KERNEL_DEVICETREE:append:imx8mm-lpddr4-evk = " freescale/imx8mm-evk-baremetal.dtb" 8 | KERNEL_DEVICETREE:append:imx93evk = " freescale/imx93-11x11-evk-baremetal.dtb" 9 | KERNEL_DEVICETREE:append:imx93-9x9-lpddr4-qsb = " freescale/imx93-9x9-qsb-baremetal.dtb" 10 | 11 | # uboot env 12 | UBOOT_BOOT_BAREMETAL_DEFCONFIG ?= "" 13 | 14 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:imx8mp-lpddr4-evk ?= "imx8mp_evk_baremetal_master_defconfig" 15 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:imx8mm-lpddr4-evk ?= "imx8mm_evk_baremetal_master_defconfig" 16 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:imx93evk ?= "imx93_11x11_evk_baremetal_master_defconfig" 17 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:imx93-9x9-lpddr4-qsb ?= "imx93_9x9_qsb_baremetal_master_defconfig" 18 | 19 | UBOOT_CONFIG = "tfa" 20 | UBOOT_CONFIG[tfa] = "${UBOOT_BOOT_BAREMETAL_DEFCONFIG}" 21 | -------------------------------------------------------------------------------- /conf/distro/include/imx-real-time-edge-env.inc: -------------------------------------------------------------------------------- 1 | include conf/distro/include/fsl-imx-base.inc 2 | include conf/distro/include/fsl-imx-preferred-env.inc 3 | include conf/distro/include/real-time-edge-base.inc 4 | include conf/distro/include/igh-ethercat.inc 5 | include conf/distro/include/libopen62541.inc 6 | include conf/distro/include/rtos-industrial-examples.inc 7 | 8 | # Remove conflicting backends 9 | DISTRO_FEATURES:remove = "directfb x11 " 10 | DISTRO_FEATURES:append = " wayland pam systemd" 11 | 12 | # System Manager config 13 | SYSTEM_MANAGER_CONFIG:imx95-19x19-lpddr5-evk = "mx95rte" 14 | SYSTEM_MANAGER_CONFIG:imx95-15x15-lpddr4x-evk = "mx95rte" 15 | 16 | # boot image config 17 | IMAGE_IMXBOOT_TARGET:imx95-19x19-lpddr5-evk = "${IMXBOOT_TARGETS_BASENAME}_a55" 18 | IMAGE_IMXBOOT_TARGET:imx95-15x15-lpddr4x-evk = "${IMXBOOT_TARGETS_BASENAME}_a55" 19 | -------------------------------------------------------------------------------- /conf/distro/include/qoriq-baremetal-env.inc: -------------------------------------------------------------------------------- 1 | # update kernel configuration 2 | DELTA_KERNEL_DEFCONFIG:append:ls1043ardb = " linux-baremetal-ls104xa.config" 3 | DELTA_KERNEL_DEFCONFIG:append:ls1046ardb = " linux-baremetal-ls104xa.config" 4 | DELTA_KERNEL_DEFCONFIG:append:ls1028ardb = " linux-baremetal-ls1028a.config" 5 | DELTA_KERNEL_DEFCONFIG:append:lx2160a = " linux-baremetal-lx2160a.config" 6 | DELTA_KERNEL_DEFCONFIG:append:ls1021aiot = " linux-baremetal-ls1021a.config" 7 | 8 | # update baremetal dts 9 | KERNEL_DEVICETREE:append:ls1021aiot = " ls1021a-iot-bm.dtb" 10 | KERNEL_DEVICETREE:append:ls1043ardb = " freescale/fsl-ls1043a-rdb-sdk-bm.dtb" 11 | KERNEL_DEVICETREE:append:ls1046ardb = " freescale/fsl-ls1046a-rdb-sdk-bm.dtb" 12 | KERNEL_DEVICETREE:append:ls1028ardb = " freescale/fsl-ls1028a-rdb-sdk-bm.dtb" 13 | 14 | # uboot env 15 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:ls1021aiot ?= "ls1021aiot_baremetal_master_defconfig" 16 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:ls1043ardb ?= "ls1043ardb_baremetal_master_defconfig" 17 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:ls1046ardb ?= "ls1046ardb_baremetal_master_defconfig" 18 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:ls1028ardb ?= "ls1028ardb_baremetal_master_defconfig" 19 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:lx2160ardb ?= "lx2160ardb_baremetal_master_defconfig" 20 | UBOOT_BOOT_BAREMETAL_DEFCONFIG:lx2160ardb-rev2 ?= "lx2160ardb_baremetal_master_defconfig" 21 | 22 | UBOOT_BOOT_BINARY ?= "u-boot-dtb.bin" 23 | UBOOT_BOOT_BINARY:ls1021aiot ?= "u-boot-with-spl-pbl.bin" 24 | 25 | UBOOT_CONFIG = "tfa" 26 | UBOOT_CONFIG[tfa] = "${UBOOT_BOOT_BAREMETAL_DEFCONFIG},,${UBOOT_BOOT_BINARY}" 27 | 28 | uboot_boot = "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa" 29 | uboot = "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa" 30 | 31 | # sai 32 | RCWSD:ls1028ardb = "${@bb.utils.contains('DISTRO_FEATURES', 'sai', \ 33 | 'R_SQPP_0x85bb/rcw_1500_gpu600_sai', \ 34 | 'R_SQPP_0x85bb/rcw_1500_gpu600', d)}" 35 | RCWSD:ls1046ardb = "RR_FFSSPPPH_1133_5559/rcw_1800_gpio2_sdboot" 36 | -------------------------------------------------------------------------------- /conf/distro/include/qoriq-real-time-edge-env.inc: -------------------------------------------------------------------------------- 1 | require conf/distro/poky.conf 2 | include conf/distro/include/real-time-edge-base.inc 3 | include conf/machine/include/qoriq-wks-base.inc 4 | include conf/distro/include/libopen62541.inc 5 | include conf/distro/include/igh-ethercat.inc 6 | 7 | TARGET_VENDOR = "-fsl" 8 | 9 | SDK_VENDOR = "-fslsdk" 10 | SDK_NAME_PREFIX = "${DISTRO}" 11 | 12 | POKY_DEFAULT_DISTRO_FEATURES:remove = " ptest" 13 | DISTRO_FEATURES:append = " opengl pam virtualization polkit ipv6" 14 | 15 | LICENSE_FLAGS_ACCEPTED = "non-commercial_netperf" 16 | 17 | MKUBIFS_ARGS = "-m 512 -e 15360 -c 13000" 18 | UBINIZE_ARGS = "-m 512 -p 16KiB -s 512" 19 | 20 | PREFERRED_PROVIDER_qemu = "qemu-qoriq" 21 | 22 | PREFERRED_VERSION_virtual/nativesdk-libiconv = "2.20" 23 | PREFERRED_VERSION_tcpreplay = "3.4.4" 24 | PREFERRED_PROVIDER_virtual/kernel = "linux-qoriq" 25 | LTTNGUST:qoriq = "" 26 | LTTNGTOOLS:qoriq = "" 27 | LTTNGMODULES:qoriq = "" 28 | MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "1" 29 | 30 | RCWSD:ls1028ardb = "${@bb.utils.contains('DISTRO_FEATURES', 'sai', \ 31 | 'R_SQPP_0x85bb/rcw_1500_gpu600_sai', \ 32 | 'R_SQPP_0x85bb/rcw_1500_gpu600', d)}" 33 | RCWEMMC:ls1046ardb = "RR_FFSSPPPH_1133_5559/rcw_1800_emmcboot" 34 | RCWQSPI:ls1046ardb = "RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_emmc" 35 | 36 | SOC_DEFAULT_IMAGE_FSTYPES:append = " wic.bmap wic.zst tar.zst" 37 | SOC_DEFAULT_IMAGE_FSTYPES:remove = " tar.gz ext2.gz.u-boot ext2.gz wic.bz2" 38 | SOC_DEFAULT_IMAGE_FSTYPES:append:ls1012a = " cpio.gz cpio.gz.u-boot" 39 | SOC_DEFAULT_IMAGE_FSTYPES:remove:ls1012a = " wic.bmap wic.zst tar.zst" 40 | -------------------------------------------------------------------------------- /conf/distro/include/rtos-industrial-examples.inc: -------------------------------------------------------------------------------- 1 | # arm gcc toolchain 2 | # ARMGCC_DIR ?= "${DEPLOY_DIR_IMAGE}/arm-none-eabi" 3 | 4 | # board name 5 | RTOS-INDUSTRIAL-BOARD ?= "" 6 | RTOS-INDUSTRIAL-BOARD:mx8mm-nxp-bsp = "evkmimx8mm" 7 | # RTOS-INDUSTRIAL-BOARD:mx8mn-nxp-bsp = "evkmimx8mn" 8 | RTOS-INDUSTRIAL-BOARD:mx8mp-nxp-bsp = "evkmimx8mp" 9 | # RTOS-INDUSTRIAL-BOARD:mx8mq-nxp-bsp = "evkmimx8mq" 10 | RTOS-INDUSTRIAL-BOARD:imx93evk = "mcimx93evk" 11 | RTOS-INDUSTRIAL-BOARD:imx93-9x9-lpddr4-qsb = "mcimx93qsb" 12 | RTOS-INDUSTRIAL-BOARD:imx93-14x14-lpddr4x-evk = "mcimx93autoevk" 13 | RTOS-INDUSTRIAL-BOARD:imx95-15x15-lpddr4x-evk = "imx95lpd4xevk15" 14 | RTOS-INDUSTRIAL-BOARD:imx95-19x19-lpddr5-evk = "imx95lpd5evk19" 15 | RTOS-INDUSTRIAL-BOARD:imx91-9x9-lpddr4-qsb = "mcimx91qsb" 16 | RTOS-INDUSTRIAL-BOARD:imx91-11x11-lpddr4-evk = "mcimx91evk" 17 | 18 | # board name for heterogeneous multicore examples 19 | RTOS-INDUSTRIAL-BOARD-CA:mx8mm-nxp-bsp = "evkmimx8mm_ca53" 20 | RTOS-INDUSTRIAL-BOARD-CA:mx8mp-nxp-bsp = "evkmimx8mp_ca53" 21 | RTOS-INDUSTRIAL-BOARD-CA:imx93evk = "mcimx93evk_ca55" 22 | RTOS-INDUSTRIAL-BOARD-CA:imx93-14x14-lpddr4x-evk = "mcimx93evk_ca55" 23 | RTOS-INDUSTRIAL-BOARD-CA:imx95-15x15-lpddr4x-evk = "mcimx95evk_ca55" 24 | RTOS-INDUSTRIAL-BOARD-CA:imx95-19x19-lpddr5-evk = "mcimx95evk_ca55" 25 | RTOS-INDUSTRIAL-BOARD-CA:imx91-9x9-lpddr4-qsb = "mcimx91qsb_ca55" 26 | RTOS-INDUSTRIAL-BOARD-CA:imx91-11x11-lpddr4-evk = "mcimx91evk_ca55" 27 | 28 | RTOS-INDUSTRIAL-BOARD-CM:mx8mm-nxp-bsp = "evkmimx8mm_cm4" 29 | RTOS-INDUSTRIAL-BOARD-CM:mx8mp-nxp-bsp = "evkmimx8mp_cm7" 30 | RTOS-INDUSTRIAL-BOARD-CM:imx93evk = "mcimx93evk_cm33" 31 | RTOS-INDUSTRIAL-BOARD-CM:imx93-14x14-lpddr4x-evk = "mcimx93evk_cm33" 32 | 33 | python () { 34 | if d.getVar('RTOS-INDUSTRIAL-BOARD', True): 35 | d.appendVar('DISTRO_FEATURES', " rtos-industrial" ) 36 | } 37 | 38 | EXAMPLE_TARGET_TYPE = " \ 39 | release \ 40 | ddr_release \ 41 | " 42 | -------------------------------------------------------------------------------- /conf/distro/nxp-real-time-edge-baremetal.conf: -------------------------------------------------------------------------------- 1 | require conf/distro/nxp-real-time-edge.conf 2 | require conf/distro/include/${NXP-PLATFORM}-baremetal-env.inc 3 | 4 | DISTRO = "nxp-real-time-edge-baremetal" 5 | 6 | DISTRO_FEATURES:append = " baremetal" 7 | DISTROOVERRIDES:append = ":baremetal" 8 | 9 | IMAGE_BOOT_FILES += " bm-u-boot*.bin" 10 | -------------------------------------------------------------------------------- /conf/distro/nxp-real-time-edge-emmc.conf: -------------------------------------------------------------------------------- 1 | require conf/distro/nxp-real-time-edge.conf 2 | 3 | DISTRO = "nxp-real-time-edge-emmc" 4 | DISTROOVERRIDES:append = ":emmc-boot" 5 | 6 | -------------------------------------------------------------------------------- /conf/distro/nxp-real-time-edge-plc.conf: -------------------------------------------------------------------------------- 1 | NXP-PLATFORM ?= "imx" 2 | NXP-PLATFORM:qoriq = "qoriq" 3 | 4 | require conf/distro/nxp-real-time-edge.conf 5 | 6 | DISTROOVERRIDES:append = ":real-time-edge-plc" 7 | 8 | # enable mdev/busybox for init 9 | 10 | DISTRO_FEATURES:append = " sysvinit" 11 | 12 | DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd" 13 | 14 | VIRTUAL-RUNTIME_init_manager = "sysvinit" 15 | 16 | VIRTUAL-RUNTIME_initscripts = "initscripts" 17 | 18 | #VIRTUAL-RUNTIME_keymaps = "keymaps" 19 | 20 | VIRTUAL-RUNTIME_login_manager = "busybox" 21 | 22 | DELTA_KERNEL_DEFCONFIG:append:mx6ull-nxp-bsp = " imx6ullevk-plc.config" 23 | 24 | DISTRO = "nxp-real-time-edge-plc" 25 | -------------------------------------------------------------------------------- /conf/distro/nxp-real-time-edge.conf: -------------------------------------------------------------------------------- 1 | NXP-PLATFORM ?= "imx" 2 | NXP-PLATFORM:qoriq = "qoriq" 3 | 4 | require conf/distro/include/${NXP-PLATFORM}-real-time-edge-env.inc 5 | 6 | DISTRO = "nxp-real-time-edge" 7 | -------------------------------------------------------------------------------- /conf/layer.conf: -------------------------------------------------------------------------------- 1 | # We have a conf and classes directory, add to BBPATH 2 | BBPATH .= ":${LAYERDIR}" 3 | 4 | # We have recipes-* directories, add to BBFILES 5 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ 6 | ${LAYERDIR}/recipes-*/*/*.bbappend" 7 | 8 | BBFILE_COLLECTIONS += "meta-real-time-edge" 9 | BBFILE_PATTERN_meta-real-time-edge = "^${LAYERDIR}/" 10 | BBFILE_PRIORITY_meta-real-time-edge = "9" 11 | LAYERSERIES_COMPAT_meta-real-time-edge = "mickledore nanbield scarthgap" 12 | 13 | # Create a mirror for unreliable packages 14 | MIRRORS += "http://sourceforge.net/.* http://www.nxp.com/lgfiles/updates/other" 15 | 16 | # FIXME: Drop these lines when the external layers are marked compatible 17 | LAYERSERIES_COMPAT_chromium-browser-layer:append = " langdale mickledore scarthgap" 18 | 19 | # Define new EULAs and add them to the list defined in meta-freescale. 20 | # See fsl-eula-unpack.bbclass. 21 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85a3d1654f" 22 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837" 23 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3" 24 | 25 | FSL_EULA_FILE_MD5SUMS:append = " \ 26 | ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \ 27 | ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \ 28 | ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \ 29 | " 30 | 31 | BBFILES_DYNAMIC += " \ 32 | fsl-bsp-release:${LAYERDIR}/dynamic-layers/imx-layer/*/*/*.bb \ 33 | fsl-bsp-release:${LAYERDIR}/dynamic-layers/imx-layer/*/*/*.bbappend \ 34 | meta-qoriq:${LAYERDIR}/dynamic-layers/qoriq-layer/*/*/*.bb \ 35 | meta-qoriq:${LAYERDIR}/dynamic-layers/qoriq-layer/*/*/*.bbappend \ 36 | " 37 | -------------------------------------------------------------------------------- /conf/machine/ls1021aiot.conf: -------------------------------------------------------------------------------- 1 | #@TYPE: Machine 2 | #@NAME: NXP LS1021AIOT board 3 | #@SOC: ls102xa 4 | #@DESCRIPTION: Machine configuration for NXP QorIQ LS1 Tower System 5 | # Module Rev2.0 with ARM Cortex-A7 core 6 | #@MAINTAINER: Zhenhua Luo 7 | 8 | MACHINEOVERRIDES =. "ls102xa:" 9 | 10 | require conf/machine/include/qoriq-arm.inc 11 | require conf/machine/include/arm/armv7a/tune-cortexa7.inc 12 | 13 | # MACHINE_FEATURES += "optee" 14 | 15 | DEFAULTTUNE = "cortexa7hf-neon" 16 | 17 | UBOOT_CONFIG ??= "sdcard qspi" 18 | UBOOT_CONFIG[sdcard] = "ls1021aiot_sdcard_defconfig,,u-boot-with-spl-pbl.bin" 19 | UBOOT_CONFIG[qspi] = "ls1021aiot_qspi_defconfig,,u-boot-dtb.bin" 20 | 21 | QE_UCODE="iram_Type_A_LS1021a_r1.0.bin" 22 | 23 | KERNEL_DEVICETREE ?= "ls1021a-iot.dtb" 24 | KERNEL_DEFCONFIG ?= "multi_v7_defconfig" 25 | 26 | KERNEL_IMAGETYPES = "zImage" 27 | 28 | UBOOT_ENTRYPOINT = "0x80008000" 29 | EXTRA_IMAGEDEPENDS += "qe-ucode" 30 | USE_VT ?= "0" 31 | -------------------------------------------------------------------------------- /conf/machine/ls1021atsn.conf: -------------------------------------------------------------------------------- 1 | #@TYPE: Machine 2 | #@NAME: NXP LS1021ATSN board 3 | #@SOC: ls102xa 4 | #@DESCRIPTION: Machine configuration for NXP QorIQ LS1 Tower System 5 | # Module Rev2.0 with ARM Cortex-A7 core 6 | #@MAINTAINER: Zhenhua Luo 7 | 8 | MACHINEOVERRIDES =. "ls102xa:" 9 | 10 | require conf/machine/include/qoriq-arm.inc 11 | require conf/machine/include/arm/armv7a/tune-cortexa7.inc 12 | 13 | # MACHINE_FEATURES += "optee" 14 | 15 | DEFAULTTUNE = "cortexa7hf-neon" 16 | 17 | UBOOT_CONFIG ??= "sdcard qspi" 18 | UBOOT_CONFIG[sdcard] = "ls1021atsn_sdcard_defconfig,,u-boot-with-spl-pbl.bin" 19 | UBOOT_CONFIG[qspi] = "ls1021atsn_qspi_defconfig,,u-boot-dtb.bin" 20 | 21 | QE_UCODE="iram_Type_A_LS1021a_r1.0.bin" 22 | 23 | KERNEL_DEVICETREE ?= "ls1021a-tsn.dtb" 24 | KERNEL_DEFCONFIG ?= "multi_v7_defconfig" 25 | 26 | KERNEL_IMAGETYPES = "zImage" 27 | 28 | UBOOT_ENTRYPOINT = "0x80008000" 29 | EXTRA_IMAGEDEPENDS += "rcw qe-ucode" 30 | USE_VT ?= "0" 31 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021-2025 NXP 2 | SUMMARY = "NXP i.MX ELE firmware" 3 | DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs" 4 | SECTION = "base" 5 | LICENSE = "Proprietary" 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 7 | 8 | inherit fsl-eula-unpack use-imx-security-controller-firmware deploy 9 | 10 | SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 11 | IMX_SRCREV_ABBREV = "17945fc" 12 | SRC_URI[sha256sum] = "8791109824767346237e53ac2c712824e54608e2092859161e6bb3e5385a7595" 13 | 14 | S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 15 | 16 | do_compile[noexec] = "1" 17 | 18 | do_install() { 19 | install -d ${D}${nonarch_base_libdir}/firmware/imx/ele 20 | install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 21 | if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then 22 | install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 23 | fi 24 | } 25 | 26 | do_deploy () { 27 | # Deploy the related firmware to be package by imx-boot 28 | install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} 29 | } 30 | addtask deploy after do_install before do_build 31 | 32 | PACKAGES += "${PN}-ext" 33 | 34 | ALLOW_EMPTY:${PN}-ext = "1" 35 | 36 | FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" 37 | FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}" 38 | 39 | RREPLACES:${PN} = "firmware-sentinel" 40 | RPROVIDES:${PN} = "firmware-sentinel" 41 | 42 | COMPATIBLE_MACHINE = "(imx91-9x9-lpddr4-qsb|imx91-11x11-lpddr4-evk|imx93evk|imx93-9x9-lpddr4-qsb|imx93-14x14-lpddr4x-evk)" 43 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-bsp/imx-atf/files/0001-Baremetal-make-UART4-accessed-by-A53-cores.patch: -------------------------------------------------------------------------------- 1 | From 1f3a50c28049fd5c7b1300cb764ed36ebf7d999c Mon Sep 17 00:00:00 2001 2 | From: Tao Yang 3 | Date: Fri, 4 Nov 2022 12:19:07 +0800 4 | Subject: [PATCH] Baremetal: make UART4 accessed by A53 cores 5 | 6 | UART4 is shared between A53 cores and M4 core. 7 | 8 | Signed-off-by: Tao Yang 9 | Signed-off-by: Yi Zhao 10 | Signed-off-by: Mingkai Hu 11 | --- 12 | plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c | 4 ++-- 13 | 1 file changed, 2 insertions(+), 2 deletions(-) 14 | 15 | diff --git a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c 16 | index 8702d5160..fb661eb42 100644 17 | --- a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c 18 | +++ b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c 19 | @@ -61,7 +61,7 @@ static const struct imx_rdc_cfg rdc[] = { 20 | RDC_MDAn(RDC_MDA_M4, DID1), 21 | 22 | /* peripherals domain permission */ 23 | - RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), 24 | + RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W | D0R | D0W), 25 | RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), 26 | RDC_PDAPn(RDC_PDAP_UART1, D0R | D0W), 27 | 28 | @@ -108,7 +108,7 @@ static const struct imx_rdc_cfg rdc[] = { 29 | RDC_MDAn(RDC_MDA_M4, DID1), 30 | 31 | /* peripherals domain permission */ 32 | - RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), 33 | + RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W | D0R | D0W), 34 | RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), 35 | RDC_PDAPn(RDC_PDAP_UART1, D0R | D0W), 36 | 37 | -- 38 | 2.17.1 39 | 40 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SRC_URI:append:real-time-edge = " \ 3 | ${@bb.utils.contains('DISTRO_FEATURES', 'baremetal', \ 4 | 'file://0001-Baremetal-make-UART4-accessed-by-A53-cores.patch', \ 5 | '', d)} \ 6 | " 7 | SRC_URI:append = " \ 8 | file://0001-plat-imx93-refine-the-EL3-interrupt-handle.patch \ 9 | file://0002-plat-imx-add-inter-core-service-common-driver.patch \ 10 | file://0003-plat-imx93-change-dram-dvfs-to-use-intercore-service.patch \ 11 | file://0004-drivers-gicv3-add-APIS-for-clearing-pending-interrup.patch \ 12 | file://0005-plat-imx-add-SIP-cpu_off-service-for-imx93.patch \ 13 | file://0006-plat-imx8m-change-dram-dvfs-to-use-intercore-service.patch \ 14 | file://0007-plat-imx8m-add-SIP-cpu_off-service.patch \ 15 | file://0008-plat-imx91-change-to-use-common-interrupt-service.patch \ 16 | file://0001-plat-imx95-add-SIP-cpu_off-service.patch \ 17 | " 18 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-bsp/imx-system-manager/imx-system-manager_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SRC_URI:append:real-time-edge = " \ 3 | file://0001-configs-imx95-add-config-for-RTE.patch \ 4 | file://0002-devices-MIMX95-Disable-DDR-Auto-Clock-Gating.patch \ 5 | " 6 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-bsp/u-boot/u-boot-imx_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | REAL_TIME_EDGE_UBOOT_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-uboot.git;protocol=https" 3 | REAL_TIME_EDGE_UBOOT_BRANCH ?= "uboot_v2024.04-3.1.0" 4 | REAL_TIME_EDGE_UBOOT_SRCREV ?= "57a8448c0b4a9545c0768f46acca30d77fbe25f8" 5 | 6 | UBOOT_SRC = "${REAL_TIME_EDGE_UBOOT_SRC}" 7 | SRCBRANCH = "${REAL_TIME_EDGE_UBOOT_BRANCH}" 8 | SRCREV = "${REAL_TIME_EDGE_UBOOT_SRCREV}" 9 | 10 | # For BareMetal 11 | REAL_TIME_EDGE_UBOOT_BAREMETAL_BRANCH ?= "baremetal-uboot_v2024.04-3.1.0" 12 | REAL_TIME_EDGE_UBOOT_BAREMETAL_SRCREV ?= "8fcf48c7c728f23ee12115ced8749e5a0b3b1c57" 13 | SRCBRANCH:baremetal = "${REAL_TIME_EDGE_UBOOT_BAREMETAL_BRANCH}" 14 | SRCREV:baremetal = "${REAL_TIME_EDGE_UBOOT_BAREMETAL_SRCREV}" 15 | 16 | SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH}" 17 | 18 | do_configure:prepend:real-time-edge() { 19 | mkdir -p ${WORKDIR}/source-date-epoch 20 | date '+%s' > ${WORKDIR}/source-date-epoch/__source_date_epoch.txt 21 | } 22 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-kernel/linux/linux-imx/linux-baremetal-imx93.config: -------------------------------------------------------------------------------- 1 | CONFIG_IMX93_BAREMETAL=y 2 | CONFIG_NR_CPUS=2 3 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-kernel/linux/linux-imx/linux-baremetal.config: -------------------------------------------------------------------------------- 1 | CONFIG_IMX8M_BAREMETAL=y 2 | CONFIG_NR_CPUS=4 3 | -------------------------------------------------------------------------------- /dynamic-layers/imx-layer/recipes-kernel/linux/linux-imx_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | REAL_TIME_EDGE_LINUX_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-linux.git;protocol=https" 3 | REAL_TIME_EDGE_LINUX_BRANCH ?= "linux_6.6.36" 4 | REAL_TIME_EDGE_LINUX_SRCREV ?= "f03af81d60b7ae14e03fafa8f4c4289c30a73f93" 5 | 6 | KERNEL_SRC:real-time-edge = "${REAL_TIME_EDGE_LINUX_SRC};branch=${REAL_TIME_EDGE_LINUX_BRANCH}" 7 | SRCBRANCH:real-time-edge = "${REAL_TIME_EDGE_LINUX_BRANCH}" 8 | SRCREV:real-time-edge = "${REAL_TIME_EDGE_LINUX_SRCREV}" 9 | SRC_URI = "${KERNEL_SRC}" 10 | 11 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 12 | SRC_URI:append:real-time-edge = " \ 13 | file://linux-baremetal.config \ 14 | file://linux-baremetal-imx93.config \ 15 | " 16 | 17 | do_configure:prepend:real-time-edge() { 18 | mkdir -p ${WORKDIR}/source-date-epoch 19 | date '+%s' > ${WORKDIR}/source-date-epoch/__source_date_epoch.txt 20 | } 21 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/atf/qoriq-atf_2.6.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SRC_URI:append:real-time-edge = " \ 3 | file://0001-GIC-V2-remove-the-configuration-for-SGI-8-15.patch \ 4 | " 5 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "DP firmware" 2 | LICENSE = "Proprietary" 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" 4 | 5 | inherit deploy fsl-eula-unpack 6 | 7 | SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true" 8 | 9 | SRC_URI[md5sum] = "9ed2923c0eb511c7fcf37dd607944124" 10 | SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84" 11 | 12 | S = "${WORKDIR}/firmware-imx-8.16" 13 | 14 | do_install () { 15 | install -d ${D}/boot 16 | install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${D}/boot/ls1028a-dp-fw.bin 17 | } 18 | 19 | do_deploy () { 20 | install -d ${DEPLOYDIR}/dp 21 | install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${DEPLOYDIR}/dp/ls1028a-dp-fw.bin 22 | } 23 | addtask deploy before do_build after do_install 24 | 25 | PACKAGES += "${PN}-image" 26 | FILES:${PN}-image += "/boot" 27 | 28 | COMPATIBLE_MACHINE = "(qoriq-arm64)" 29 | PACKAGE_ARCH = "${MACHINE_ARCH}" 30 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/rcw/files/0001-ls1028ardb-rcw-Enable-CLK_OUT_PMUX-for-GPIO-function.patch: -------------------------------------------------------------------------------- 1 | From bd5b89f8c7ace5bf0821e89437f99ec402bb7ea0 Mon Sep 17 00:00:00 2001 2 | From: Minghuan Lian 3 | Date: Wed, 30 Jun 2021 16:58:58 +0800 4 | Subject: [PATCH 1/2] ls1028ardb/rcw: Enable CLK_OUT_PMUX for GPIO function 5 | 6 | Signed-off-by: Jianchao Wang 7 | Signed-off-by: Jerry Huang 8 | Signed-off-by: Minghuan Lian 9 | --- 10 | ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw | 2 +- 11 | 1 file changed, 1 insertion(+), 1 deletion(-) 12 | 13 | diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw 14 | index 057b0f1..899d6ee 100644 15 | --- a/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw 16 | +++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw 17 | @@ -28,7 +28,7 @@ IIC3_PMUX=2 18 | IIC4_PMUX=2 19 | IIC5_PMUX=1 20 | IIC6_PMUX=3 21 | -CLK_OUT_PMUX=2 22 | +CLK_OUT_PMUX=1 23 | EC1_SAI4_5_PMUX=5 24 | EC1_SAI3_6_PMUX=5 25 | USB3_CLK_FSEL=39 26 | -- 27 | 2.25.1 28 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/rcw/files/0002-ls1028ardb-enable-sai.patch: -------------------------------------------------------------------------------- 1 | From 6e9404ef852e6d1b43fad09ac3dfbfb2fb8afcb2 Mon Sep 17 00:00:00 2001 2 | From: Minghuan Lian 3 | Date: Wed, 30 Jun 2021 17:03:00 +0800 4 | Subject: [PATCH 2/2] ls1028ardb: enable sai 5 | 6 | Signed-off-by: Minghuan Lian 7 | Signed-off-by: Jerry Huang 8 | --- 9 | .../R_SQPP_0x85bb/rcw_1500_gpu600_sai.rcw | 48 +++++++++++++++++++ 10 | 1 file changed, 48 insertions(+) 11 | create mode 100644 ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600_sai.rcw 12 | 13 | diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600_sai.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600_sai.rcw 14 | new file mode 100644 15 | index 0000000..67a79db 16 | --- /dev/null 17 | +++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600_sai.rcw 18 | @@ -0,0 +1,48 @@ 19 | +/* 20 | + * SerDes Protocol - 0x85bb 21 | + * 22 | + * Frequencies: 23 | + * Core -- 1500 MHz 24 | + * Platform -- 400 MHz 25 | + * DDR -- 1600 MHz 26 | + * DDR Data Rate -- 1.600 GT/s 27 | + */ 28 | + 29 | +#include <../ls1028asi/ls1028a.rcwi> 30 | + 31 | +SYS_PLL_RAT=4 32 | +MEM_PLL_RAT=16 33 | +CGA_PLL1_RAT=15 34 | +CGA_PLL2_RAT=12 35 | +HWA_CGA_M1_CLK_SEL=7 36 | +HWA_CGA_M2_CLK_SEL=1 37 | +HWA_CGA_M3_CLK_SEL=6 38 | +HWA_CGA_M4_CLK_SEL=3 39 | +DDR_REFCLK_SEL=2 40 | +DRAM_LAT=1 41 | +BOOT_LOC=26 42 | +FLASH_CFG1=3 43 | +SYSCLK_FREQ=600 44 | +IIC2_PMUX=6 45 | +IIC3_PMUX=2 46 | +IIC4_PMUX=2 47 | +IIC5_PMUX=1 48 | +IIC6_PMUX=3 49 | +CLK_OUT_PMUX=1 50 | +EC1_SAI4_5_PMUX=2 51 | +EC1_SAI3_6_PMUX=5 52 | +USB3_CLK_FSEL=39 53 | +ENETC_RCW=3 54 | +GTX_CLK125_PMUX=2 55 | +SRDS_PRTCL_S1_L0=8 56 | +SRDS_PRTCL_S1_L1=5 57 | +SRDS_PRTCL_S1_L2=11 58 | +SRDS_PRTCL_S1_L3=11 59 | + 60 | +/* Errata for PCIe controller */ 61 | +#include <../ls1028asi/a008851.rcw> 62 | +#include <../ls1028asi/a010477.rcw> 63 | +#include <../ls1028asi/a009531.rcw> 64 | + 65 | +/* Increase FSPI clock frequency */ 66 | +#include <../ls1028asi/fspi_speed.rcw> 67 | -- 68 | 2.25.1 69 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/rcw/rcw_git.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SRC_URI:append:real-time-edge = " \ 3 | file://0001-ls1028ardb-rcw-Enable-CLK_OUT_PMUX-for-GPIO-function.patch \ 4 | file://0002-ls1028ardb-enable-sai.patch \ 5 | file://0003-ls1046ardb-gpio2-enable-pin-0-3.patch \ 6 | " 7 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-qoriq_%.bbappend: -------------------------------------------------------------------------------- 1 | REAL_TIME_EDGE_UBOOT_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-uboot.git;protocol=https" 2 | REAL_TIME_EDGE_UBOOT_BRANCH ?= "uboot_v2024.04-3.1.0" 3 | REAL_TIME_EDGE_UBOOT_SRCREV ?= "57a8448c0b4a9545c0768f46acca30d77fbe25f8" 4 | 5 | UBOOT_SRC = "${REAL_TIME_EDGE_UBOOT_SRC}" 6 | UBOOT_BRANCH = "${REAL_TIME_EDGE_UBOOT_BRANCH}" 7 | SRCREV = "${REAL_TIME_EDGE_UBOOT_SRCREV}" 8 | 9 | # For BareMetal 10 | REAL_TIME_EDGE_UBOOT_BAREMETAL_BRANCH ?= "baremetal-uboot_v2024.04-3.1.0" 11 | REAL_TIME_EDGE_UBOOT_BAREMETAL_SRCREV ?= "8fcf48c7c728f23ee12115ced8749e5a0b3b1c57" 12 | UBOOT_BRANCH:baremetal = "${REAL_TIME_EDGE_UBOOT_BAREMETAL_BRANCH}" 13 | SRCREV:baremetal = "${REAL_TIME_EDGE_UBOOT_BAREMETAL_SRCREV}" 14 | 15 | SRC_URI = "${UBOOT_SRC};branch=${UBOOT_BRANCH}" 16 | 17 | do_configure:prepend:real-time-edge() { 18 | mkdir -p ${WORKDIR}/source-date-epoch 19 | date '+%s' > ${WORKDIR}/source-date-epoch/__source_date_epoch.txt 20 | } 21 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1021aiot_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x8f000000; 5 | env exists dtb || setenv dtb ls1021a-iot-bm.dtb; 6 | env exists kernel_image || setenv kernel_image uImage; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyS0,115200 cma=64M@0x0-0xb0000000 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | cpu 1 release ${baremetal_addr}; 14 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 15 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 16 | bootm $kernel_addr_r - $fdt_addr_r 17 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1021aiot_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb ls1021a-iot.dtb; 2 | env exists kernel_image || setenv kernel_image uImage; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 cma=64M@0x0-0xb0000000 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | bootm $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1021atsn_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb ls1021a-tsn.dtb; 2 | env exists kernel_image || setenv kernel_image uImage; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 cma=64M@0x0-0xb0000000 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | bootm $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1021atwr_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb ls1021a-twr.dtb; 2 | env exists kernel_image || setenv kernel_image uImage; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 cma=64M@0x0-0xb0000000 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | bootm $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1028ardb_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x90000000; 5 | env exists dtb || setenv dtb fsl-ls1028a-rdb-sdk-bm.dtb; 6 | env exists kernel_image || setenv kernel_image Image; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait cma=256M video=1920x1080-32@60 $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | cpu 1 release ${baremetal_addr}; 14 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 15 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 16 | booti $kernel_addr_r - $fdt_addr_r 17 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1028ardb_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-ls1028a-rdb.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1043ardb_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x90000000; 5 | env exists dtb || setenv dtb fsl-ls1043a-rdb-sdk-bm.dtb; 6 | env exists kernel_image || setenv kernel_image Image; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait maxcpus=1 $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | pci enum; 14 | cpu 1 release ${baremetal_addr}; 15 | cpu 2 release ${baremetal_addr}; 16 | cpu 3 release ${baremetal_addr}; 17 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 18 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 19 | booti $kernel_addr_r - $fdt_addr_r 20 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1043ardb_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-ls1043a-rdb-sdk.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1046afrwy_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-ls1046a-frwy-sdk.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1046ardb_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x90000000; 5 | env exists dtb || setenv dtb fsl-ls1046a-rdb-sdk-bm.dtb; 6 | env exists kernel_image || setenv kernel_image Image; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait maxcpus=1 $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | cpu 1 release ${baremetal_addr}; 14 | cpu 2 release ${baremetal_addr}; 15 | cpu 3 release ${baremetal_addr}; 16 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 17 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 18 | booti $kernel_addr_r - $fdt_addr_r 19 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/ls1046ardb_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-ls1046a-rdb-sdk.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/lx2160ardb-rev2_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x90000000; 5 | env exists dtb || setenv dtb fsl-lx2160a-rdb.dtb; 6 | env exists kernel_image || setenv kernel_image Image; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 root=PARTUUID=$partuuidr rw rootwait pci=pcie_bus_perf maxcpus=1 memmap=1152M$0xb0000000 $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | cpu 1 release ${baremetal_addr}; 14 | cpu 2 release ${baremetal_addr}; 15 | cpu 3 release ${baremetal_addr}; 16 | cpu 4 release ${baremetal_addr}; 17 | cpu 5 release ${baremetal_addr}; 18 | cpu 6 release ${baremetal_addr}; 19 | cpu 7 release ${baremetal_addr}; 20 | cpu 8 release ${baremetal_addr}; 21 | cpu 9 release ${baremetal_addr}; 22 | cpu 10 release ${baremetal_addr}; 23 | cpu 11 release ${baremetal_addr}; 24 | cpu 12 release ${baremetal_addr}; 25 | cpu 13 release ${baremetal_addr}; 26 | cpu 14 release ${baremetal_addr}; 27 | cpu 15 release ${baremetal_addr}; 28 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 29 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 30 | booti $kernel_addr_r - $fdt_addr_r 31 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/lx2160ardb-rev2_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-lx2160a-rdb.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 root=PARTUUID=$partuuidr rw rootwait pci=pcie_bus_perf $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/lx2160ardb_baremetal_boot.cmd: -------------------------------------------------------------------------------- 1 | setenv loadaddr 0x81000000; 2 | setenv baremetal_addr 0x84000000; 3 | setenv kernel_addr_r 0x86000000; 4 | setenv fdt_addr_r 0x90000000; 5 | env exists dtb || setenv dtb fsl-lx2160a-rdb.dtb; 6 | env exists kernel_image || setenv kernel_image Image; 7 | env exists devpart_boot || setenv devpart_boot 1; 8 | env exists devpart_root || setenv devpart_root 2; 9 | env exists baremetal_image || setenv baremetal_image bm-u-boot.bin; 10 | part uuid $devtype $devnum:$devpart_root partuuidr; 11 | setenv bootargs "console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 root=PARTUUID=$partuuidr rw rootwait pci=pcie_bus_perf maxcpus=1 memmap=1152M$0xb0000000 $othbootargs"; 12 | load $devtype $devnum:$devpart_boot $baremetal_addr $baremetal_image; 13 | cpu 1 release ${baremetal_addr}; 14 | cpu 2 release ${baremetal_addr}; 15 | cpu 3 release ${baremetal_addr}; 16 | cpu 4 release ${baremetal_addr}; 17 | cpu 5 release ${baremetal_addr}; 18 | cpu 6 release ${baremetal_addr}; 19 | cpu 7 release ${baremetal_addr}; 20 | cpu 8 release ${baremetal_addr}; 21 | cpu 9 release ${baremetal_addr}; 22 | cpu 10 release ${baremetal_addr}; 23 | cpu 11 release ${baremetal_addr}; 24 | cpu 12 release ${baremetal_addr}; 25 | cpu 13 release ${baremetal_addr}; 26 | cpu 14 release ${baremetal_addr}; 27 | cpu 15 release ${baremetal_addr}; 28 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 29 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 30 | booti $kernel_addr_r - $fdt_addr_r 31 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot/lx2160ardb_boot.cmd: -------------------------------------------------------------------------------- 1 | env exists dtb || setenv dtb fsl-lx2160a-rdb.dtb; 2 | env exists kernel_image || setenv kernel_image Image; 3 | env exists devpart_boot || setenv devpart_boot 1; 4 | env exists devpart_root || setenv devpart_root 2; 5 | part uuid $devtype $devnum:$devpart_root partuuidr; 6 | setenv bootargs "console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 root=PARTUUID=$partuuidr rw rootwait pci=pcie_bus_perf $othbootargs"; 7 | load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image; 8 | load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb; 9 | booti $kernel_addr_r - $fdt_addr_r -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-script-distroboot_2020.04.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Boot script for launching images with U-Boot distro boot" 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 4 | 5 | INHIBIT_DEFAULT_DEPS = "1" 6 | DEPENDS = "u-boot-mkimage-native" 7 | 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 9 | SRC_URI:append:ls1021aiot = "file://ls1021aiot_boot.cmd \ 10 | file://ls1021aiot_baremetal_boot.cmd" 11 | SRC_URI:append:ls1021atsn = "file://ls1021atsn_boot.cmd" 12 | SRC_URI:append:ls1021atwr = "file://ls1021atwr_boot.cmd" 13 | SRC_URI:append:ls1028ardb = "file://ls1028ardb_boot.cmd \ 14 | file://ls1028ardb_baremetal_boot.cmd" 15 | SRC_URI:append:ls1043ardb = "file://ls1043ardb_boot.cmd \ 16 | file://ls1043ardb_baremetal_boot.cmd" 17 | SRC_URI:append:ls1046ardb = "file://ls1046ardb_boot.cmd \ 18 | file://ls1046ardb_baremetal_boot.cmd" 19 | SRC_URI:append:ls1046afrwy = "file://ls1046afrwy_boot.cmd" 20 | SRC_URI:append:lx2160ardb = "file://lx2160ardb_boot.cmd \ 21 | file://lx2160ardb_baremetal_boot.cmd" 22 | SRC_URI:append:lx2160ardb-rev2 = "file://lx2160ardb-rev2_boot.cmd \ 23 | file://lx2160ardb-rev2_baremetal_boot.cmd" 24 | 25 | inherit deploy 26 | 27 | B = "${WORKDIR}" 28 | 29 | do_configure[noexec] = "1" 30 | 31 | DISTRO_BOOT_CMD_FILE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'baremetal', \ 32 | '${MACHINE}_baremetal_boot.cmd', '${MACHINE}_boot.cmd', d)}" 33 | DISTRO_BOOT_SCR_FILE ?= "${MACHINE}_boot.scr" 34 | 35 | do_compile() { 36 | mkimage -A arm64 -T script -C none -n "Distro boot script" -d ${B}/${DISTRO_BOOT_CMD_FILE} ${B}/${DISTRO_BOOT_SCR_FILE} 37 | } 38 | 39 | do_install() { 40 | install -Dm 0644 ${B}/${DISTRO_BOOT_SCR_FILE} ${D}/boot/${DISTRO_BOOT_SCR_FILE} 41 | } 42 | 43 | do_deploy() { 44 | install -Dm 0644 ${D}/boot/${DISTRO_BOOT_SCR_FILE} ${DEPLOYDIR}/${DISTRO_BOOT_SCR_FILE} 45 | } 46 | 47 | addtask deploy after do_install before do_build 48 | 49 | PROVIDES += "u-boot-script-distroboot" 50 | 51 | PACKAGE_ARCH = "${MACHINE_ARCH}" 52 | 53 | COMPATIBLE_MACHINE = "(qoriq)" 54 | 55 | FILES:${PN} = "/boot" 56 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-kernel/linux/linux-qoriq/linux-baremetal-ls1021a.config: -------------------------------------------------------------------------------- 1 | CONFIG_LS1021A_BAREMETAL=y 2 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-kernel/linux/linux-qoriq/linux-baremetal-ls1028a.config: -------------------------------------------------------------------------------- 1 | CONFIG_LS1028A_BAREMETAL=y 2 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-kernel/linux/linux-qoriq/linux-baremetal-ls104xa.config: -------------------------------------------------------------------------------- 1 | CONFIG_LS104XA_BAREMETAL=y 2 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-kernel/linux/linux-qoriq/linux-baremetal-lx2160a.config: -------------------------------------------------------------------------------- 1 | CONFIG_LX2160A_BAREMETAL=y 2 | -------------------------------------------------------------------------------- /dynamic-layers/qoriq-layer/recipes-kernel/linux/linux-qoriq_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | REAL_TIME_EDGE_LINUX_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-linux.git;protocol=https;" 3 | REAL_TIME_EDGE_LINUX_BRANCH ?= "linux_6.6.36" 4 | REAL_TIME_EDGE_LINUX_SRCREV ?= "f03af81d60b7ae14e03fafa8f4c4289c30a73f93" 5 | 6 | KERNEL_SRC:real-time-edge = "${REAL_TIME_EDGE_LINUX_SRC}" 7 | KERNEL_BRANCH:real-time-edge = "${REAL_TIME_EDGE_LINUX_BRANCH}" 8 | SRCREV:real-time-edge = "${REAL_TIME_EDGE_LINUX_SRCREV}" 9 | SRC_URI = "${KERNEL_SRC};branch=${KERNEL_BRANCH}" 10 | 11 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 12 | SRC_URI:append:real-time-edge = " \ 13 | file://linux-baremetal-ls104xa.config \ 14 | file://linux-baremetal-ls1021a.config \ 15 | file://linux-baremetal-ls1028a.config \ 16 | file://linux-baremetal-lx2160a.config \ 17 | " 18 | 19 | do_configure:prepend:real-time-edge() { 20 | mkdir -p ${WORKDIR}/source-date-epoch 21 | date '+%s' > ${WORKDIR}/source-date-epoch/__source_date_epoch.txt 22 | } 23 | -------------------------------------------------------------------------------- /recipes-connectivity/openssh/openssh_%.bbappend: -------------------------------------------------------------------------------- 1 | ALLOW_EMPTY:${PN}-dev = "0" 2 | -------------------------------------------------------------------------------- /recipes-core/busybox/busybox_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 2 | 3 | BUSYBOX_SPLIT_SUID:real-time-edge-plc = "0" 4 | ALTERNATIVE_PRIORITY[init] = "40" 5 | 6 | SRC_URI:append:real-time-edge-plc = " file://defconfig-plc" 7 | 8 | do_configure:prepend:real-time-edge-plc () { 9 | cp ${WORKDIR}/defconfig-plc ${WORKDIR}/defconfig 10 | } 11 | 12 | 13 | -------------------------------------------------------------------------------- /recipes-devtools/python/python3_%.bbappend: -------------------------------------------------------------------------------- 1 | PACKAGECONFIG = "readline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" 2 | -------------------------------------------------------------------------------- /recipes-extended/avahi/avahi_%.bbappend: -------------------------------------------------------------------------------- 1 | do_install:append() { 2 | mv ${D}${docdir}/avahi/ssh.service ${D}${sysconfdir}/avahi/services/ 3 | } 4 | -------------------------------------------------------------------------------- /recipes-extended/canfestival/canfestival_7740ac6fdedc23e1ed6908d3d7db54833c88572b.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "CanFestival is an OpenSource CANOpen framework." 2 | LICENSE = "GPL-2.0-only" 3 | LIC_FILES_CHKSUM = "file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9" 4 | 5 | SRC_URI = "http://sources.buildroot.net/canfestival/canfestival-7740ac6fdedc23e1ed6908d3d7db54833c88572b.tar.gz \ 6 | file://0001-install-pkgconfig-module-for-canfestival.patch \ 7 | file://0002-allow-to-set-python-interpreter.patch \ 8 | file://0003-canfestival-add-new-app.patch \ 9 | file://0004-compile-CANopen-on-different-platforms.patch \ 10 | " 11 | SRC_URI[sha256sum] = "e9ecd97e1a3384caec6304ed57b9f1af9b6ca8f3fe90a2e37173a0680722ee82" 12 | 13 | S = "${WORKDIR}/${PN}-${PV}" 14 | 15 | DEPENDS += "python3-native" 16 | 17 | DISABLE_STATIC = "" 18 | EXTRA_OECONF = ' --target=unix \ 19 | --arch=${TARGET_ARCH} \ 20 | --timers=unix \ 21 | --binutils=${TARGET_PREFIX} \ 22 | --cc="${CC}" \ 23 | --cxx="${CC}" \ 24 | --ld="${CC}" \ 25 | --prefix=/usr \ 26 | --can="socket" \ 27 | --SDO_MAX_LENGTH_TRANSFER=512 \ 28 | --SDO_BLOCK_SIZE=75 \ 29 | --SDO_MAX_SIMULTANEOUS_TRANSFERS=1 \ 30 | ' 31 | do_configure() { 32 | ./configure ${EXTRA_OECONF} 33 | } 34 | 35 | EXTRA_OEMAKE = "PYTHON=${STAGING_DIR_NATIVE}/usr/bin/python-native/python2" 36 | do_compile() { 37 | oe_runmake all ${EXTRA_OEMAKE} 38 | } 39 | 40 | do_install() { 41 | oe_runmake -C ${S}/src install ${EXTRA_OEMAKE} DESTDIR=${D} 42 | oe_runmake -C ${S}/drivers install ${EXTRA_OEMAKE} DESTDIR=${D} 43 | oe_runmake -C ${S}/app install ${EXTRA_OEMAKE} DESTDIR=${D} 44 | mv ${D}/${libdir}/libcanfestival_can_socket.so ${D}/${libdir}/libcanfestival_can_socket.so.1.0 45 | ln -s -r ${D}/${libdir}/libcanfestival_can_socket.so.1.0 ${D}/${libdir}/libcanfestival_can_socket.so 46 | } 47 | 48 | INSANE_SKIP:${PN} = "ldflags" 49 | INSANE_SKIP:${PN}-dev = "ldflags" 50 | 51 | FILES_SOLIBSDEV = "${libdir}/libcanfestival_can_socket.so" 52 | -------------------------------------------------------------------------------- /recipes-extended/chromium/chromium-ozone-wayland_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI:remove:imx-nxp-bsp = " \ 4 | file://0001-Fixed-chromium-flicker-with-g2d-renderer.patch \ 5 | file://0002-chromium-met-EGL-API-GetProcAddress-failures.patch \ 6 | file://0003-Disable-dri-for-imx-gpu.patch \ 7 | file://0004-Fix-chromium-build-failure.patch \ 8 | file://0005-Revert-ui-gbm_wrapper-Ensure-to-create-BOs-with-impo.patch \ 9 | file://0006-Fixed-chromium-crash-after-upgrading.patch \ 10 | " 11 | 12 | SRC_URI:append = "\ 13 | file://0011-Fixed-chromium-flicker-with-g2d-renderer.patch \ 14 | file://0012-chromium-met-EGL-API-GetProcAddress-failures.patch \ 15 | file://0014-Fix-chromium-build-failure.patch \ 16 | file://0015-Revert-ui-gbm_wrapper-Ensure-to-create-BOs-with-impo.patch \ 17 | file://0016-Fixed-chromium-crash-after-upgrading.patch \ 18 | file://0013-Only-DRI-for-x11.patch \ 19 | file://0014-disbale-dri.patch \ 20 | " 21 | 22 | GN_ARGS_DISABLE_GBM = "" 23 | GN_ARGS_DISABLE_GBM:mx6-nxp-bsp = "use_system_minigbm=false use_wayland_gbm=false" 24 | GN_ARGS_DISABLE_GBM:mx7-nxp-bsp = "${GN_ARGS_DISABLE_GBM_mx6}" 25 | GN_ARGS += "${GN_ARGS_DISABLE_GBM}" 26 | 27 | CHROMIUM_EXTRA_ARGS:append:ls1028ardb = " --disable-features=VizDisplayCompositor" 28 | 29 | -------------------------------------------------------------------------------- /recipes-extended/chromium/files/0011-Fixed-chromium-flicker-with-g2d-renderer.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ui/ozone/platform/wayland/gpu/gbm_surfaceless_wayland.cc b/ui/ozone/platform/wayland/gpu/gbm_surfaceless_wayland.cc 2 | index aee5dd0..c6678c5 100644 3 | --- a/ui/ozone/platform/wayland/gpu/gbm_surfaceless_wayland.cc 4 | +++ b/ui/ozone/platform/wayland/gpu/gbm_surfaceless_wayland.cc 5 | @@ -203,8 +203,7 @@ void GbmSurfacelessWayland::Present(SwapCompletionCallback completion_callback, 6 | unsubmitted_frames_.back()->configs.reserve(frame->configs.size()); 7 | // If Wayland server supports linux_explicit_synchronization_protocol, fences 8 | // should be shipped with buffers. Otherwise, we will wait for fences. 9 | - if (buffer_manager_->supports_acquire_fence() || !use_egl_fence_sync_ || 10 | - !frame->schedule_planes_succeeded) { 11 | + if (!use_egl_fence_sync_ || !frame->schedule_planes_succeeded) { 12 | frame->ready = true; 13 | MaybeSubmitFrames(); 14 | return; 15 | -------------------------------------------------------------------------------- /recipes-extended/chromium/files/0012-chromium-met-EGL-API-GetProcAddress-failures.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn 2 | index 7998d2d..c035337 100644 3 | --- a/ui/gl/BUILD.gn 4 | +++ b/ui/gl/BUILD.gn 5 | @@ -239,7 +239,7 @@ component("gl") { 6 | 7 | if (use_ozone) { 8 | deps += [ "//ui/ozone:buildflags" ] 9 | - if (use_egl && !is_fuchsia) { 10 | + if (use_egl && !is_fuchsia && !ozone_platform_wayland) { 11 | data_deps += [ 12 | "//third_party/angle:libEGL", 13 | "//third_party/angle:libGLESv2", 14 | -------------------------------------------------------------------------------- /recipes-extended/chromium/files/0013-Only-DRI-for-x11.patch: -------------------------------------------------------------------------------- 1 | diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn 2 | index 93559f6..f3a0517 100644 3 | --- a/content/gpu/BUILD.gn 4 | +++ b/content/gpu/BUILD.gn 5 | @@ -139,7 +139,7 @@ target(link_target_type, "gpu_sources") { 6 | } 7 | 8 | # Use DRI on desktop Linux builds. 9 | - if (current_cpu != "s390x" && current_cpu != "ppc64" && is_linux && 10 | + if (current_cpu != "s390x" && current_cpu != "ppc64" && ozone_platform_x11 && is_linux && 11 | !is_castos) { 12 | configs += [ "//build/config/linux/dri" ] 13 | } 14 | -------------------------------------------------------------------------------- /recipes-extended/chromium/files/0014-Fix-chromium-build-failure.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn 2 | index 7998d2d..c7c0042 100644 3 | --- a/ui/gl/BUILD.gn 4 | +++ b/ui/gl/BUILD.gn 5 | @@ -248,6 +248,15 @@ component("gl") { 6 | data_deps += [ "//third_party/vulkan-deps/vulkan-loader/src:libvulkan" ] 7 | } 8 | } 9 | + if(ozone_platform_wayland) { 10 | + defines += [ "WAYLAND_GBM" ] 11 | + 12 | + deps += [ 13 | + "//third_party/minigbm", 14 | + "//ui/gfx:memory_buffer", 15 | + "//ui/gfx/linux:gbm", 16 | + ] 17 | + } 18 | } 19 | 20 | if (ozone_platform_x11) { 21 | -------------------------------------------------------------------------------- /recipes-extended/chromium/files/0014-disbale-dri.patch: -------------------------------------------------------------------------------- 1 | diff --git a/media/gpu/sandbox/BUILD.gn b/media/gpu/sandbox/BUILD.gn 2 | index cfcb7fa..1489642 100644 3 | --- a/media/gpu/sandbox/BUILD.gn 4 | +++ b/media/gpu/sandbox/BUILD.gn 5 | @@ -30,7 +30,7 @@ source_set("sandbox") { 6 | if (use_v4l2_codec) { 7 | deps += [ "//media/gpu/v4l2" ] 8 | } 9 | - if (current_cpu != "s390x" && current_cpu != "ppc64" && is_linux && 10 | + if (current_cpu != "s390x" && current_cpu != "ppc64" && ozone_platform_x11 && is_linux && 11 | !is_castos) { 12 | # For DRI_DRIVER_DIR. 13 | configs += [ "//build/config/linux/dri" ] 14 | -------------------------------------------------------------------------------- /recipes-extended/ethtool/ethtool_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI:append = " \ 4 | file://0001-ethtool-Update-headers-from-the-kernel.patch \ 5 | file://0002-ethtool-add-support-for-configuring-frame-preemption.patch \ 6 | file://0003-ethtool-add-support-for-configuring-frame-preemption.patch \ 7 | file://0004-preemption-add-ETHTOOL_A_PREEMPT_STATUS-netlink-atrr.patch \ 8 | file://0005-preemption-add-disabled-parameter.patch \ 9 | " 10 | -------------------------------------------------------------------------------- /recipes-extended/genavb-tsn/files/genavb-tsn.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=GenAVB/TSN Stack Daemons and applications 3 | After=weston.service systemd-networkd.service 4 | 5 | [Service] 6 | User=root 7 | 8 | # Log us in via PAM so we get our XDG & QT_QPA_PLATFORM environment and 9 | # are treated as logged in 10 | PAMName=login 11 | 12 | ExecStart=/usr/bin/avb.sh start 13 | ExecStop=/usr/bin/avb.sh stop_all 14 | 15 | RemainAfterExit=yes 16 | 17 | # stderr stdout to journal so our logging doesn't get lost into /dev/null 18 | StandardOutput=journal 19 | StandardError=journal 20 | 21 | [Install] 22 | WantedBy=multi-user.target 23 | -------------------------------------------------------------------------------- /recipes-extended/genavb-tsn/files/libgenavb.pc: -------------------------------------------------------------------------------- 1 | prefix=/usr 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/include 4 | libdir=${exec_prefix}/lib 5 | 6 | Name: genAVB 7 | Description: NXP GenAVB/TSN stack library 8 | Version: 1.0.0 9 | Cflags: -I${includedir}/genavb 10 | Libs: -L${libdir} -lgenavb 11 | -------------------------------------------------------------------------------- /recipes-extended/genavb-tsn/genavb-tsn.inc: -------------------------------------------------------------------------------- 1 | LICENSE = "GPL-2.0-or-later & BSD-3-Clause" 2 | LIC_FILES_CHKSUM = "file://licenses/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 3 | file://licenses/BSD-3-Clause;md5=5cc0aa6b0086f08ef02006d8a2679704 \ 4 | " 5 | 6 | GENAVB_TSN_URL = "git://github.com/NXP/GenAVB_TSN.git;protocol=https" 7 | 8 | SRC_URI = "${GENAVB_TSN_URL};nobranch=1" 9 | 10 | SRCREV = "609be86df6fd472c8b32e9eef201ffa2a0b46f78" 11 | 12 | PV = "7.1+git${SRCPV}" 13 | 14 | S = "${WORKDIR}/git" 15 | 16 | GENAVB_TSN_CONFIG ?= "endpoint_tsn" 17 | GENAVB_TSN_CONFIG:mx8mp-nxp-bsp = "endpoint_tsn" 18 | GENAVB_TSN_CONFIG:mx93-nxp-bsp = "endpoint_tsn" 19 | GENAVB_TSN_CONFIG:mx8dxl-nxp-bsp = "endpoint_tsn" 20 | GENAVB_TSN_CONFIG:ls1028a = "bridge" 21 | GENAVB_TSN_CONFIG:mx95-nxp-bsp = "endpoint_tsn" 22 | 23 | GENAVB_TSN_TARGET ?= "linux_imx8" 24 | GENAVB_TSN_TARGET:mx8mp-nxp-bsp = "linux_imx8" 25 | GENAVB_TSN_TARGET:mx93-nxp-bsp = "linux_imx8" 26 | GENAVB_TSN_TARGET:mx8dxl-nxp-bsp = "linux_imx8" 27 | GENAVB_TSN_TARGET:ls1028a = "linux_ls1028" 28 | GENAVB_TSN_TARGET:mx95-nxp-bsp = "linux_imx8" 29 | -------------------------------------------------------------------------------- /recipes-extended/genavb-tsn/kernel-module-genavb-tsn.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "GenAVB/TSN Stack Kernel Modules" 2 | 3 | require genavb-tsn.inc 4 | 5 | inherit module 6 | 7 | GENAVB_TSN_MODULES_BUILD_DIR="build/${GENAVB_TSN_TARGET}/${GENAVB_TSN_CONFIG}" 8 | GENAVB_TSN_MODULES_OBJ_DIR="${B}/${GENAVB_TSN_MODULES_BUILD_DIR}" 9 | 10 | MODULES_MODULE_SYMVERS_LOCATION="${GENAVB_TSN_MODULES_BUILD_DIR}" 11 | 12 | EXTRA_OEMAKE += " \ 13 | -C ${GENAVB_TSN_MODULES_OBJ_DIR} \ 14 | CROSS_COMPILE=${TARGET_PREFIX} \ 15 | GENAVB_INCLUDE=${S}/include \ 16 | KERNELDIR=${STAGING_KERNEL_DIR} \ 17 | " 18 | 19 | do_configure:append() { 20 | # Generate modules sources in custom directory ${GENAVB_TSN_MODULES_OBJ_DIR} 21 | # To be used later as make execute directory for the following tasks 22 | ${MAKE} \ 23 | -C ${S}/linux/modules/ \ 24 | MODULES_OBJ_DIR=${GENAVB_TSN_MODULES_OBJ_DIR} \ 25 | config=${GENAVB_TSN_CONFIG} target=${GENAVB_TSN_TARGET} \ 26 | modules_sources 27 | } 28 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-Fix-the-issue-that-shm_get-key-is-using-relative-pat.patch: -------------------------------------------------------------------------------- 1 | From c5c18bfecde33b6d48206d86358644af7944c526 Mon Sep 17 00:00:00 2001 2 | From: Hongbo Wang 3 | Date: Mon, 26 Feb 2024 18:10:19 +0800 4 | Subject: [PATCH 1/3] Fix the issue that shm_get key is using relative path 5 | 6 | Signed-off-by: Hongbo Wang 7 | --- 8 | master/cdev.c | 2 +- 9 | tool/MasterDevice.cpp | 2 +- 10 | 2 files changed, 2 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/master/cdev.c b/master/cdev.c 13 | index 182a6350..816c9141 100644 14 | --- a/master/cdev.c 15 | +++ b/master/cdev.c 16 | @@ -78,7 +78,7 @@ static int ec_cdev_alloc_share_memory(ec_master_t *master) 17 | int shmid = 0; 18 | key_t key = 0; 19 | 20 | - key = ftok("./", 0x88A4 + master->index); 21 | + key = ftok("/tmp/", 0x88A4 + master->index); 22 | if (key == -1) { 23 | EC_MASTER_ERR(master, "%s(): ftok failed! key:%d\n", __func__, key); 24 | return -1; 25 | diff --git a/tool/MasterDevice.cpp b/tool/MasterDevice.cpp 26 | index e8da333c..2fa6bdb6 100644 27 | --- a/tool/MasterDevice.cpp 28 | +++ b/tool/MasterDevice.cpp 29 | @@ -54,7 +54,7 @@ static uint8_t* alloc_share_memory(int index, int *pshmid) 30 | int shmid = 0; 31 | key_t key = 0; 32 | 33 | - key = ftok("./", 0x88A4 + index); 34 | + key = ftok("/tmp/", 0x88A4 + index); 35 | if (key == -1) { 36 | printf("%s(): ftok failed! key:%d\n", __func__, key); 37 | return NULL; 38 | -- 39 | 2.25.1 40 | 41 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-Native-Driver-fix-ec_fec-kernel-module-insmod-failur.patch: -------------------------------------------------------------------------------- 1 | From 1e87866560127571b40f6fa34faad544ef116961 Mon Sep 17 00:00:00 2001 2 | From: qizhang 3 | Date: Mon, 17 Jul 2023 23:22:24 +0800 4 | Subject: [PATCH] Native Driver: fix ec_fec kernel module insmod failure issue 5 | 6 | Signed-off-by: qizhang 7 | --- 8 | devices/fec/fec_main.c | 9 +-------- 9 | 1 file changed, 1 insertion(+), 8 deletions(-) 10 | 11 | diff --git a/devices/fec/fec_main.c b/devices/fec/fec_main.c 12 | index 214d80e..56f1cb5 100644 13 | --- a/devices/fec/fec_main.c 14 | +++ b/devices/fec/fec_main.c 15 | @@ -1374,7 +1374,6 @@ static int fec_get_mac(struct net_device *ndev) 16 | struct fec_enet_private *fep = netdev_priv(ndev); 17 | unsigned char *iap, tmpaddr[ETH_ALEN]; 18 | int ret; 19 | - unsigned char addr[ETH_ALEN]; 20 | 21 | /* 22 | * try to get mac address in following order: 23 | @@ -1436,14 +1435,8 @@ static int fec_get_mac(struct net_device *ndev) 24 | return 0; 25 | } 26 | 27 | - memcpy(ndev->dev_addr, iap, ETH_ALEN); 28 | - 29 | /* Adjust MAC if using macaddr */ 30 | - if (iap == macaddr) 31 | - //ndev->dev_addr[ETH_ALEN-1] = macaddr[ETH_ALEN-1] + fep->dev_id; 32 | - memcpy(addr, ndev->dev_addr, ETH_ALEN); 33 | - addr[ETH_ALEN - 1] = macaddr[ETH_ALEN - 1] + fep->dev_id; 34 | - dev_addr_mod(ndev, 0, addr, ETH_ALEN); 35 | + eth_hw_addr_gen(ndev, iap, iap == macaddr ? fep->dev_id : 0); 36 | 37 | return 0; 38 | } 39 | -- 40 | 2.25.1 41 | 42 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-dpaa1-Add-module-license.patch: -------------------------------------------------------------------------------- 1 | From b5ed6728689dd55e3c41c9d4bad1f88110f04b46 Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Wed, 13 Apr 2022 18:54:00 +0800 4 | Subject: [PATCH] dpaa1: Add module license 5 | 6 | Signed-off-by: Wenbin Song 7 | --- 8 | devices/dpaa1/dpaa1-ethercat.c | 1 + 9 | 1 file changed, 1 insertion(+) 10 | 11 | diff --git a/devices/dpaa1/dpaa1-ethercat.c b/devices/dpaa1/dpaa1-ethercat.c 12 | index 45b9592..6aff8af 100644 13 | --- a/devices/dpaa1/dpaa1-ethercat.c 14 | +++ b/devices/dpaa1/dpaa1-ethercat.c 15 | @@ -120,3 +120,4 @@ static void __exit ec_dpaa_exit_module(void) 16 | } 17 | 18 | module_exit(ec_dpaa_exit_module); 19 | +MODULE_LICENSE("GPL"); 20 | -- 21 | 2.25.1 22 | 23 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-fec-fix-the-compile-error-when-upgrading-to-Linux-5..patch: -------------------------------------------------------------------------------- 1 | From 428b31483e0235f1932c134a06d787fdd48fe3d2 Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Wed, 20 Apr 2022 14:52:15 +0800 4 | Subject: [PATCH] fec: fix the compile error when upgrading to Linux-5.15.y 5 | 6 | Signed-off-by: Wenbin Song 7 | --- 8 | devices/fec/fec_main.c | 14 ++++++++------ 9 | 1 file changed, 8 insertions(+), 6 deletions(-) 10 | 11 | diff --git a/devices/fec/fec_main.c b/devices/fec/fec_main.c 12 | index 3f01435..06c2099 100644 13 | --- a/devices/fec/fec_main.c 14 | +++ b/devices/fec/fec_main.c 15 | @@ -1372,8 +1372,8 @@ void ecdev_fec_poll(struct net_device *ndev) 16 | static int fec_get_mac(struct net_device *ndev) 17 | { 18 | struct fec_enet_private *fep = netdev_priv(ndev); 19 | - struct fec_platform_data *pdata = dev_get_platdata(&fep->pdev->dev); 20 | unsigned char *iap, tmpaddr[ETH_ALEN]; 21 | + int ret; 22 | 23 | /* 24 | * try to get mac address in following order: 25 | @@ -1389,11 +1389,11 @@ static int fec_get_mac(struct net_device *ndev) 26 | if (!is_valid_ether_addr(iap)) { 27 | struct device_node *np = fep->pdev->dev.of_node; 28 | if (np) { 29 | - const char *mac = of_get_mac_address(np); 30 | - if (!IS_ERR(mac)) 31 | - iap = (unsigned char *) mac; 32 | - else if (PTR_ERR(mac) == -EPROBE_DEFER) 33 | - return -EPROBE_DEFER; 34 | + ret = of_get_mac_address(np, tmpaddr); 35 | + if (!ret) 36 | + iap = tmpaddr; 37 | + else if (ret == -EPROBE_DEFER) 38 | + return ret; 39 | } 40 | } 41 | 42 | @@ -1405,6 +1405,8 @@ static int fec_get_mac(struct net_device *ndev) 43 | if (FEC_FLASHMAC) 44 | iap = (unsigned char *)FEC_FLASHMAC; 45 | #else 46 | + struct fec_platform_data *pdata = dev_get_platdata(&fep->pdev->dev); 47 | + 48 | if (pdata) 49 | iap = (unsigned char *)&pdata->mac; 50 | #endif 51 | -- 52 | 2.25.1 53 | 54 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-fix-compile-error-because-of-linux-kernel-upgrade-to.patch: -------------------------------------------------------------------------------- 1 | From dfb044af9689ef2d95c30a6b13eb9d306ce0a732 Mon Sep 17 00:00:00 2001 2 | From: qizhang 3 | Date: Tue, 30 Apr 2024 23:32:43 +0800 4 | Subject: [PATCH] fix compile error because of linux kernel upgrade to v6.6.3 5 | 6 | Signed-off-by: qizhang 7 | --- 8 | master/cdev.c | 2 +- 9 | master/module.c | 2 +- 10 | 2 files changed, 2 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/master/cdev.c b/master/cdev.c 13 | index 7ded08e..d16e405 100644 14 | --- a/master/cdev.c 15 | +++ b/master/cdev.c 16 | @@ -235,7 +235,7 @@ int eccdev_mmap( 17 | EC_MASTER_DBG(priv->cdev->master, 1, "mmap()\n"); 18 | 19 | vma->vm_ops = &eccdev_vm_ops; 20 | - vma->vm_flags |= VM_DONTDUMP; /* Pages will not be swapped out */ 21 | + vm_flags_set(vma, VM_DONTDUMP); 22 | vma->vm_private_data = priv; 23 | 24 | return 0; 25 | diff --git a/master/module.c b/master/module.c 26 | index 573a694..4f8170b 100644 27 | --- a/master/module.c 28 | +++ b/master/module.c 29 | @@ -112,7 +112,7 @@ int __init ec_init_module(void) 30 | } 31 | } 32 | 33 | - class = class_create(THIS_MODULE, "EtherCAT"); 34 | + class = class_create("EtherCAT"); 35 | if (IS_ERR(class)) { 36 | EC_ERR("Failed to create device class.\n"); 37 | ret = PTR_ERR(class); 38 | -- 39 | 2.25.1 40 | 41 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-net-enetc-use-lynx_pcs_create_mdiodev.patch: -------------------------------------------------------------------------------- 1 | From 0dc639b854ceba354ca8418e1f837f6f8c9bc6cd Mon Sep 17 00:00:00 2001 2 | From: qizhang 3 | Date: Wed, 3 Jan 2024 23:52:55 +0800 4 | Subject: [PATCH] net: enetc: use lynx_pcs_create_mdiodev() 5 | 6 | Use the newly introduced lynx_pcs_create_mdiodev() which simplifies the 7 | creation and destruction of the lynx PCS. 8 | 9 | Signed-off-by: qizhang 10 | --- 11 | devices/enetc/enetc_pf.c | 19 +++---------------- 12 | 1 file changed, 3 insertions(+), 16 deletions(-) 13 | 14 | diff --git a/devices/enetc/enetc_pf.c b/devices/enetc/enetc_pf.c 15 | index 7b935464..8c665367 100644 16 | --- a/devices/enetc/enetc_pf.c 17 | +++ b/devices/enetc/enetc_pf.c 18 | @@ -308,7 +308,6 @@ static int enetc_imdio_create(struct enetc_pf *pf) 19 | struct device *dev = &pf->si->pdev->dev; 20 | struct enetc_mdio_priv *mdio_priv; 21 | struct phylink_pcs *phylink_pcs; 22 | - struct mdio_device *pcs; 23 | struct mii_bus *bus; 24 | int err; 25 | 26 | @@ -332,17 +331,9 @@ static int enetc_imdio_create(struct enetc_pf *pf) 27 | goto free_mdio_bus; 28 | } 29 | 30 | - pcs = mdio_device_create(bus, 0); 31 | - if (IS_ERR(pcs)) { 32 | - err = PTR_ERR(pcs); 33 | - dev_err(dev, "cannot create pcs (%d)\n", err); 34 | - goto unregister_mdiobus; 35 | - } 36 | - 37 | - phylink_pcs = lynx_pcs_create(pcs); 38 | - if (!phylink_pcs) { 39 | - mdio_device_free(pcs); 40 | - err = -ENOMEM; 41 | + phylink_pcs = lynx_pcs_create_mdiodev(bus, 0); 42 | + if (IS_ERR(phylink_pcs)) { 43 | + err = PTR_ERR(phylink_pcs); 44 | dev_err(dev, "cannot create lynx pcs (%d)\n", err); 45 | goto unregister_mdiobus; 46 | } 47 | @@ -361,11 +352,7 @@ free_mdio_bus: 48 | 49 | static void enetc_imdio_remove(struct enetc_pf *pf) 50 | { 51 | - struct mdio_device *mdio_device; 52 | - 53 | if (pf->pcs) { 54 | - mdio_device = lynx_get_mdio_device(pf->pcs); 55 | - mdio_device_free(mdio_device); 56 | lynx_pcs_destroy(pf->pcs); 57 | } 58 | if (pf->imdio) { 59 | -- 60 | 2.25.1 61 | 62 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0001-yocto-not-install-header-file.patch: -------------------------------------------------------------------------------- 1 | From 1f5e8be2035408d26743dff241ca999812fe8fa4 Mon Sep 17 00:00:00 2001 2 | From: Minghuan Lian 3 | Date: Mon, 28 Oct 2024 19:01:46 +0800 4 | Subject: [PATCH] yocto: not install header file 5 | 6 | Real-time Edge has installed IgH package which includes 7 | the same header files. IgH userspace package does not 8 | need to install the herder files again. Otherwise, yocto 9 | will report the error. 10 | 11 | Signed-off-by: Minghuan Lian 12 | --- 13 | include/Makefile.am | 4 +--- 14 | 1 file changed, 1 insertion(+), 3 deletions(-) 15 | 16 | diff --git a/include/Makefile.am b/include/Makefile.am 17 | index b5af07e1..a879c4d8 100644 18 | --- a/include/Makefile.am 19 | +++ b/include/Makefile.am 20 | @@ -31,8 +31,6 @@ 21 | # 22 | #------------------------------------------------------------------------------ 23 | 24 | -include_HEADERS = \ 25 | - ecrt.h \ 26 | - ectty.h 27 | +include_HEADERS = 28 | 29 | #------------------------------------------------------------------------------ 30 | -- 31 | 2.34.1 32 | 33 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0002-igh_ethercat-fix-calltrace-issue-caused-by-ethercatc.patch: -------------------------------------------------------------------------------- 1 | From 44b1f9ac9088a87572274f16dba70b99b1b055c8 Mon Sep 17 00:00:00 2001 2 | From: "hongbo.wang" 3 | Date: Mon, 17 Jan 2022 16:13:00 +0800 4 | Subject: [PATCH 2/2] igh_ethercat: fix calltrace issue caused by 'ethercatcal 5 | stop' when nservo_run is running 6 | 7 | Using THIS_MODULE is ok, then if nservo_run is running, will report: 8 | rmmod: ERROR: Module ec_dpaa1 is in use 9 | 10 | it can avoid kernel calltrace. 11 | 12 | Signed-off-by: hongbo.wang 13 | --- 14 | devices/dpaa1/dpaa1-ethercat.c | 4 +--- 15 | 1 file changed, 1 insertion(+), 3 deletions(-) 16 | 17 | diff --git a/devices/dpaa1/dpaa1-ethercat.c b/devices/dpaa1/dpaa1-ethercat.c 18 | index 0a7a619..45b9592 100644 19 | --- a/devices/dpaa1/dpaa1-ethercat.c 20 | +++ b/devices/dpaa1/dpaa1-ethercat.c 21 | @@ -7,12 +7,10 @@ 22 | 23 | static void *ec_dpaa_netdev_init(struct net_device *net_dev) 24 | { 25 | - struct module *module = NULL; 26 | ec_device_t *ecdev = NULL; 27 | int ret = 0; 28 | 29 | - module = ec_dpaa_get_module(); 30 | - ecdev = ecdev_offer(net_dev, ec_dpaa_poll, module); 31 | + ecdev = ecdev_offer(net_dev, ec_dpaa_poll, THIS_MODULE); 32 | if (ecdev) { 33 | ret = ecdev_open(ecdev); 34 | if (ret) { 35 | -- 36 | 2.25.1 37 | 38 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0002-net-enetc-integrate-SerDes-phys-with-lynx-pcs.patch: -------------------------------------------------------------------------------- 1 | From 49f5eae35b1c393c98305e4c4cae4c06a932625d Mon Sep 17 00:00:00 2001 2 | From: qizhang 3 | Date: Thu, 4 Jan 2024 00:14:44 +0800 4 | Subject: [PATCH] net: enetc: integrate SerDes phys with lynx pcs 5 | 6 | Get an optional "phys" phandle and pass it to the Lynx PCS module, which 7 | can use it for dynamic protocol reconfiguration and/or C73. 8 | 9 | Signed-off-by: qizhang 10 | --- 11 | devices/enetc/enetc_pf.c | 11 ++++++++++- 12 | 1 file changed, 10 insertions(+), 1 deletion(-) 13 | 14 | diff --git a/devices/enetc/enetc_pf.c b/devices/enetc/enetc_pf.c 15 | index 8c665367..d3469c4a 100644 16 | --- a/devices/enetc/enetc_pf.c 17 | +++ b/devices/enetc/enetc_pf.c 18 | @@ -7,6 +7,7 @@ 19 | #include 20 | #include 21 | #include 22 | +#include 23 | #include "enetc_pf.h" 24 | #include "../ecdev.h" 25 | 26 | @@ -309,8 +310,16 @@ static int enetc_imdio_create(struct enetc_pf *pf) 27 | struct enetc_mdio_priv *mdio_priv; 28 | struct phylink_pcs *phylink_pcs; 29 | struct mii_bus *bus; 30 | + struct phy *serdes; 31 | + size_t num_phys; 32 | int err; 33 | 34 | + serdes = devm_of_phy_optional_get(dev, dev->of_node, NULL); 35 | + if (IS_ERR(serdes)) 36 | + return PTR_ERR(serdes); 37 | + 38 | + num_phys = serdes ? 1 : 0; 39 | + 40 | bus = mdiobus_alloc_size(sizeof(*mdio_priv)); 41 | if (!bus) 42 | return -ENOMEM; 43 | @@ -331,7 +340,7 @@ static int enetc_imdio_create(struct enetc_pf *pf) 44 | goto free_mdio_bus; 45 | } 46 | 47 | - phylink_pcs = lynx_pcs_create_mdiodev(bus, 0); 48 | + phylink_pcs = lynx_pcs_create_mdiodev(bus, 0, &serdes, num_phys); 49 | if (IS_ERR(phylink_pcs)) { 50 | err = PTR_ERR(phylink_pcs); 51 | dev_err(dev, "cannot create lynx pcs (%d)\n", err); 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0004-replace-the-init_timer-with-timer_setup-function.patch: -------------------------------------------------------------------------------- 1 | From ad9606cda76e8bb000a7433b8497df516942b9fd Mon Sep 17 00:00:00 2001 2 | From: Jerry Huang 3 | Date: Thu, 17 Oct 2019 17:19:12 +0800 4 | Subject: [PATCH 04/18] replace the init_timer with timer_setup function 5 | 6 | Since Linux Kernel 4.15, need to replace init_timer with timer_setup function. 7 | otherwise, there will be compile issue: 8 | ./examples/mini/mini.c:495:5: error: implicit declaration of function 'init_timer' [-Werror=implicit-function-declaration] 9 | init_timer(&timer); 10 | ^~~~~~~~~~ 11 | ./examples/mini/mini.c:496:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] 12 | timer.function = cyclic_task; 13 | ^ 14 | 15 | Signed-off-by: Jerry Huang 16 | Signed-off-by: Wenbin Song 17 | --- 18 | examples/mini/mini.c | 5 ++--- 19 | 1 file changed, 2 insertions(+), 3 deletions(-) 20 | 21 | diff --git a/examples/mini/mini.c b/examples/mini/mini.c 22 | index 6bb38b6..eeb79ad 100644 23 | --- a/examples/mini/mini.c 24 | +++ b/examples/mini/mini.c 25 | @@ -307,7 +307,7 @@ void read_voe(void) 26 | 27 | /*****************************************************************************/ 28 | 29 | -void cyclic_task(unsigned long data) 30 | +void cyclic_task(struct timer_list *t) 31 | { 32 | // receive process data 33 | down(&master_sem); 34 | @@ -492,8 +492,7 @@ int __init init_mini_module(void) 35 | #endif 36 | 37 | printk(KERN_INFO PFX "Starting cyclic sample thread.\n"); 38 | - init_timer(&timer); 39 | - timer.function = cyclic_task; 40 | + timer_setup(&timer, cyclic_task, 0); 41 | timer.expires = jiffies + 10; 42 | add_timer(&timer); 43 | 44 | -- 45 | 2.25.1 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0005-igh-ethernet-change-the-type-of-eccdev_vma_fault-to-.patch: -------------------------------------------------------------------------------- 1 | From 36d370608dd0d6a3e567f4cba869c00d942113c8 Mon Sep 17 00:00:00 2001 2 | From: Changming Huang 3 | Date: Mon, 16 Mar 2020 14:06:02 +0800 4 | Subject: [PATCH 05/18] igh-ethernet: change the type of eccdev_vma_fault to 5 | unsigned int 6 | MIME-Version: 1.0 7 | Content-Type: text/plain; charset=UTF-8 8 | Content-Transfer-Encoding: 8bit 9 | 10 | Due to incompatible pointer type ‘int (*)(struct vm_fault *)’ for 11 | eccdev_vma_fault, change it to unsigned int with Linux-5.4. 12 | 13 | Signed-off-by: Changming Huang 14 | Signed-off-by: Wenbin Song 15 | --- 16 | master/cdev.c | 4 ++-- 17 | 1 file changed, 2 insertions(+), 2 deletions(-) 18 | 19 | diff --git a/master/cdev.c b/master/cdev.c 20 | index 52b1e01..ee89af2 100644 21 | --- a/master/cdev.c 22 | +++ b/master/cdev.c 23 | @@ -62,7 +62,7 @@ static int eccdev_mmap(struct file *, struct vm_area_struct *); 24 | #define PAGE_FAULT_VERSION KERNEL_VERSION(2, 6, 23) 25 | 26 | #if LINUX_VERSION_CODE >= PAGE_FAULT_VERSION 27 | -static int eccdev_vma_fault(struct vm_fault *); 28 | +static unsigned int eccdev_vma_fault(struct vm_fault *); 29 | #else 30 | static struct page *eccdev_vma_nopage( 31 | struct vm_area_struct *, unsigned long, int *); 32 | @@ -252,7 +252,7 @@ int eccdev_mmap( 33 | * 34 | * \return Zero on success, otherwise a negative error code. 35 | */ 36 | -static int eccdev_vma_fault( 37 | +static unsigned int eccdev_vma_fault( 38 | struct vm_fault *vmf /**< Fault data. */ 39 | ) 40 | { 41 | -- 42 | 2.25.1 43 | 44 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0007-configure-Fix-the-subdir-objects-error.patch: -------------------------------------------------------------------------------- 1 | From 336dc02d6e7969f37fd9ab044001f213da43f7b3 Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Fri, 7 May 2021 15:08:05 +0800 4 | Subject: [PATCH 07/18] configure: Fix the subdir-objects error 5 | 6 | Signed-off-by: Wenbin Song 7 | --- 8 | configure.ac | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/configure.ac b/configure.ac 12 | index fff7356..a4c5f54 100644 13 | --- a/configure.ac 14 | +++ b/configure.ac 15 | @@ -41,7 +41,7 @@ AC_PREREQ(2.59) 16 | # 17 | AC_INIT([ethercat],[1.5.2],[fp@igh-essen.com]) 18 | AC_CONFIG_AUX_DIR([autoconf]) 19 | -AM_INIT_AUTOMAKE([-Wall -Werror dist-bzip2]) 20 | +AM_INIT_AUTOMAKE([-Wall -Werror dist-bzip2 subdir-objects]) 21 | AC_PREFIX_DEFAULT([/opt/etherlab]) 22 | AC_CONFIG_HEADERS([config.h]) 23 | AC_CONFIG_SRCDIR([config.h.in]) 24 | -- 25 | 2.25.1 26 | 27 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0008-master-master-fix-the-issue-of-sched_setscheduler-un.patch: -------------------------------------------------------------------------------- 1 | From 448ca0d2b599acab2516701e24a98c634f01f8fb Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Fri, 19 Mar 2021 15:18:09 +0800 4 | Subject: [PATCH 08/18] master/master: fix the issue of sched_setscheduler 5 | undefined 6 | 7 | The symbol "sched_setscheduler" is not exported after linux 5.9.0. 8 | 9 | Signed-off-by: Wenbin Song 10 | --- 11 | master/master.c | 8 +++++--- 12 | 1 file changed, 5 insertions(+), 3 deletions(-) 13 | 14 | diff --git a/master/master.c b/master/master.c 15 | index f7e5880..b5625d4 100644 16 | --- a/master/master.c 17 | +++ b/master/master.c 18 | @@ -1635,8 +1635,6 @@ static int ec_master_operation_thread(void *priv_data) 19 | */ 20 | void ec_master_eoe_start(ec_master_t *master /**< EtherCAT master */) 21 | { 22 | - struct sched_param param = { .sched_priority = 0 }; 23 | - 24 | if (master->eoe_thread) { 25 | EC_MASTER_WARN(master, "EoE already running!\n"); 26 | return; 27 | @@ -1661,8 +1659,12 @@ void ec_master_eoe_start(ec_master_t *master /**< EtherCAT master */) 28 | master->eoe_thread = NULL; 29 | return; 30 | } 31 | - 32 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) 33 | + sched_set_normal(master->eoe_thread, 19); 34 | +#else 35 | + struct sched_param param = { .sched_priority = 0 }; 36 | sched_setscheduler(master->eoe_thread, SCHED_NORMAL, ¶m); 37 | +#endif 38 | set_user_nice(master->eoe_thread, 0); 39 | } 40 | 41 | -- 42 | 2.25.1 43 | 44 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0010-device-fec-add-fec-support-on-conf-script.patch: -------------------------------------------------------------------------------- 1 | From eee4db7484ec853cad48e3c5e5775379111930d2 Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Sat, 8 May 2021 16:09:22 +0800 4 | Subject: [PATCH 10/18] device/fec: add fec support on conf script 5 | 6 | Signed-off-by: Wenbin Song 7 | --- 8 | script/ethercat.conf | 4 ++-- 9 | 1 file changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/script/ethercat.conf b/script/ethercat.conf 12 | index 41f41c1..3dd71ae 100644 13 | --- a/script/ethercat.conf 14 | +++ b/script/ethercat.conf 15 | @@ -36,10 +36,10 @@ MASTER0_DEVICE="" 16 | # the EtherCAT-capable ones. If a certain (EtherCAT-capable) driver is not 17 | # found, a warning will appear. 18 | # 19 | -# Possible values: 8139too, e100, e1000, e1000e, r8169, generic. Separate 20 | +# Possible values: 8139too, e100, e1000, e1000e, r8169, fec, generic. Separate 21 | # multiple drivers with spaces. 22 | # 23 | -# Note: The e100, e1000, e1000e and r8169 drivers are not built by default. 24 | +# Note: The e100, e1000, e1000e, fec and r8169 drivers are not built by default. 25 | # Enable them with the --enable- configure switches. 26 | # 27 | DEVICE_MODULES="" 28 | -- 29 | 2.25.1 30 | 31 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/0017-enetc-mq-is-useless-to-ndev-struct.patch: -------------------------------------------------------------------------------- 1 | From 75e355fe45fc9a137d6943fe81aa2a1e85eef119 Mon Sep 17 00:00:00 2001 2 | From: Wenbin Song 3 | Date: Wed, 30 Jun 2021 16:45:48 +0800 4 | Subject: [PATCH 17/18] enetc: mq is useless to ndev struct 5 | 6 | Signed-off-by: Wenbin Song 7 | --- 8 | devices/enetc/enetc_pf.c | 2 +- 9 | devices/enetc/enetc_vf.c | 2 +- 10 | 2 files changed, 2 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/devices/enetc/enetc_pf.c b/devices/enetc/enetc_pf.c 13 | index 3a048d4..432f04f 100644 14 | --- a/devices/enetc/enetc_pf.c 15 | +++ b/devices/enetc/enetc_pf.c 16 | @@ -565,7 +565,7 @@ static int enetc_pf_probe(struct pci_dev *pdev, 17 | 18 | enetc_get_si_caps(si); 19 | 20 | - ndev = alloc_etherdev_mq(sizeof(*priv), ENETC_MAX_NUM_TXQS); 21 | + ndev = alloc_etherdev(sizeof(*priv)); 22 | if (!ndev) { 23 | err = -ENOMEM; 24 | dev_err(&pdev->dev, "netdev creation failed\n"); 25 | diff --git a/devices/enetc/enetc_vf.c b/devices/enetc/enetc_vf.c 26 | index 458b129..d205a8e 100644 27 | --- a/devices/enetc/enetc_vf.c 28 | +++ b/devices/enetc/enetc_vf.c 29 | @@ -85,7 +85,7 @@ static int enetc_vf_probe(struct pci_dev *pdev, 30 | 31 | enetc_get_si_caps(si); 32 | 33 | - ndev = alloc_etherdev_mq(sizeof(*priv), ENETC_MAX_NUM_TXQS); 34 | + ndev = alloc_etherdev(sizeof(*priv)); 35 | if (!ndev) { 36 | err = -ENOMEM; 37 | dev_err(&pdev->dev, "netdev creation failed\n"); 38 | -- 39 | 2.25.1 40 | 41 | -------------------------------------------------------------------------------- /recipes-extended/igh-ethercat/files/libus_drv.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nxp-real-time-edge-sw/meta-real-time-edge/9a9dc36741e53e775fb594f5273fe97362af5fc2/recipes-extended/igh-ethercat/files/libus_drv.a -------------------------------------------------------------------------------- /recipes-extended/iproute2/files/0001-taprio-add-hold-and-release-command.patch: -------------------------------------------------------------------------------- 1 | From 4b8d88d788f2ac1909eeab460679f79301043037 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Sun, 19 Jan 2020 15:37:36 +0800 4 | Subject: [PATCH] taprio: add hold and release command 5 | 6 | Signed-off-by: Xiaoliang Yang 7 | Upstream-Status: Pending 8 | --- 9 | tc/q_taprio.c | 4 ++++ 10 | 1 file changed, 4 insertions(+) 11 | 12 | diff --git a/tc/q_taprio.c b/tc/q_taprio.c 13 | index b995443..517f547 100644 14 | --- a/tc/q_taprio.c 15 | +++ b/tc/q_taprio.c 16 | @@ -108,6 +108,10 @@ static int str_to_entry_cmd(const char *str) 17 | { 18 | if (strcmp(str, "S") == 0) 19 | return TC_TAPRIO_CMD_SET_GATES; 20 | + else if (strcmp(str, "H") == 0) 21 | + return TC_TAPRIO_CMD_SET_AND_HOLD; 22 | + else if (strcmp(str, "R") == 0) 23 | + return TC_TAPRIO_CMD_SET_AND_RELEASE; 24 | 25 | return -1; 26 | } 27 | -- 28 | 2.17.1 29 | 30 | -------------------------------------------------------------------------------- /recipes-extended/iproute2/iproute2_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI:append = " \ 4 | file://0001-taprio-add-hold-and-release-command.patch \ 5 | file://0001-tc-add-frer-support.patch \ 6 | " 7 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0001-configs-ls1043a-rdb-add-fman-ucode-memory-for-root-c.patch: -------------------------------------------------------------------------------- 1 | From d6b47fb315bba0e434f17feebc364f479aac1d38 Mon Sep 17 00:00:00 2001 2 | From: "hongbo.wang" 3 | Date: Sat, 27 Feb 2021 17:58:55 +0800 4 | Subject: [PATCH 01/22] configs: ls1043a-rdb: add fman ucode memory for root 5 | cell 6 | 7 | Signed-off-by: hongbo.wang 8 | --- 9 | configs/arm64/ls1043a-rdb.c | 11 +++++++++-- 10 | 1 file changed, 9 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/configs/arm64/ls1043a-rdb.c b/configs/arm64/ls1043a-rdb.c 13 | index e1d3c48e..ab720876 100644 14 | --- a/configs/arm64/ls1043a-rdb.c 15 | +++ b/configs/arm64/ls1043a-rdb.c 16 | @@ -1,7 +1,7 @@ 17 | /* 18 | * ls1043a RDB target - linux-demo 19 | * 20 | - * Copyright 2020 NXP 21 | + * Copyright 2020-2021 NXP 22 | * 23 | * Authors: 24 | * Hongbo Wang 25 | @@ -16,7 +16,7 @@ 26 | struct { 27 | struct jailhouse_system header; 28 | __u64 cpus[1]; 29 | - struct jailhouse_memory mem_regions[61]; 30 | + struct jailhouse_memory mem_regions[62]; 31 | struct jailhouse_irqchip irqchips[2]; 32 | struct jailhouse_pci_device pci_devices[2]; 33 | } __attribute__((packed)) config = { 34 | @@ -119,6 +119,13 @@ struct { 35 | .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 36 | JAILHOUSE_MEM_EXECUTE, 37 | }, 38 | + /* RAM - FMAN ucode - root cell */ { 39 | + .phys_start = 0xf4000000, 40 | + .virt_start = 0xf4000000, 41 | + .size = 0xc000000, 42 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 43 | + JAILHOUSE_MEM_EXECUTE, 44 | + }, 45 | /* RAM: loader */ { 46 | .phys_start = 0xc0400000, 47 | .virt_start = 0xc0400000, 48 | -- 49 | 2.43.0 50 | 51 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0012-configs-arm64-dts-Change-the-reserved-address-for-LP.patch: -------------------------------------------------------------------------------- 1 | From ce689fe47a4755da404c79fe897827b5a8f931a1 Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Fri, 29 Oct 2021 19:22:05 +0800 4 | Subject: [PATCH 12/22] configs/arm64/dts: Change the reserved address for LPI 5 | tables 6 | 7 | Signed-off-by: Hou Zhiqiang 8 | --- 9 | configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts | 6 ++---- 10 | 1 file changed, 2 insertions(+), 4 deletions(-) 11 | 12 | diff --git a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 13 | index aed3e50a..d23ffe43 100644 14 | --- a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 15 | +++ b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 16 | @@ -46,10 +46,8 @@ 17 | #size-cells = <2>; 18 | ranges; 19 | 20 | - /* baremetal: slave cores reserved memory */ 21 | - lpi_reserved: lpi_rd_table@0x80000000 { 22 | - no-map; 23 | - reg = <0 0x80000000 0 0x100000>; 24 | + lpi_reserved: lpi_rd_table@0x90000000 { 25 | + reg = <0 0x90000000 0 0x100000>; 26 | }; 27 | }; 28 | 29 | -- 30 | 2.43.0 31 | 32 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0013-configs-arm64-dts-Correct-the-StreamID-of-ls1028a-EN.patch: -------------------------------------------------------------------------------- 1 | From 0571224ed402c2743ef3c30767107d5fa7a9fe8b Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Thu, 21 Oct 2021 17:50:38 +0800 4 | Subject: [PATCH 13/22] configs/arm64/dts: Correct the StreamID of ls1028a 5 | ENETC 6 | 7 | The Stream ID of ENETC is change to starting from 0x29 by U-Boot fixup, 8 | so correct it in the non-root cell Linux DTS. 9 | 10 | Signed-off-by: Hou Zhiqiang 11 | --- 12 | configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts | 4 ++-- 13 | 1 file changed, 2 insertions(+), 2 deletions(-) 14 | 15 | diff --git a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 16 | index d23ffe43..6b659992 100644 17 | --- a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 18 | +++ b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 19 | @@ -194,8 +194,8 @@ 20 | device_type = "pci"; 21 | bus-range = <0x0 0x0>; 22 | dma-coherent; 23 | - msi-map = <0 &its 0x17 0xe>; 24 | - iommu-map = <0 &smmu 0x17 0xe>; 25 | + msi-map = <0 &its 0x29 0xe>; 26 | + iommu-map = <0 &smmu 0x29 0xe>; 27 | /* PF0-6 BAR0 - non-prefetchable memory */ 28 | ranges = <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000 29 | /* PF0-6 BAR2 - prefetchable memory */ 30 | -- 31 | 2.43.0 32 | 33 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0014-configs-arm64-Add-GIC-distributor-and-re-distributor.patch: -------------------------------------------------------------------------------- 1 | From 85d7bd2445a0d79d20e00e9ed65b47000aca83d7 Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Thu, 21 Oct 2021 17:47:48 +0800 4 | Subject: [PATCH 14/22] configs/arm64: Add GIC distributor and re-distributor 5 | MMIO regions 6 | 7 | Add the memory region for GIC distributor and re-distributor MMIO, 8 | allow the non-root cell Linux access them. 9 | 10 | Signed-off-by: Hou Zhiqiang 11 | --- 12 | configs/arm64/ls1028a-rdb-linux-enetc-demo.c | 19 ++++++++++++++++++- 13 | 1 file changed, 18 insertions(+), 1 deletion(-) 14 | 15 | diff --git a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 16 | index 44614643..6ba207b8 100644 17 | --- a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 18 | +++ b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 19 | @@ -16,7 +16,7 @@ 20 | struct { 21 | struct jailhouse_cell_desc cell; 22 | __u64 cpus[1]; 23 | - struct jailhouse_memory mem_regions[12]; 24 | + struct jailhouse_memory mem_regions[11]; 25 | struct jailhouse_irqchip irqchips[2]; 26 | } __attribute__((packed)) config = { 27 | .cell = { 28 | @@ -64,6 +64,23 @@ struct { 29 | .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 30 | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 31 | }, 32 | + 33 | + /* gic distributor */ { 34 | + .phys_start = 0x06000000, 35 | + .virt_start = 0x06000000, 36 | + .size = 0x10000, 37 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 38 | + JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 39 | + }, 40 | + 41 | + /* gic re-distribuitor */ { 42 | + .phys_start = 0x06060000, 43 | + .virt_start = 0x06060000, 44 | + .size = 0x20000, 45 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 46 | + JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 47 | + }, 48 | + 49 | /* gic its */ { 50 | .phys_start = 0x06020000, 51 | .virt_start = 0x06020000, 52 | -- 53 | 2.43.0 54 | 55 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0015-configs-arm64-ls1028a-add-LPI-tables-memory-region.patch: -------------------------------------------------------------------------------- 1 | From c1ca04771885df146dbf6bd25d61a0463efe4007 Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Mon, 25 Oct 2021 17:05:02 +0800 4 | Subject: [PATCH 15/22] configs: arm64: ls1028a: add LPI tables memory region 5 | 6 | Add memory region for GICv3 LPI property and pending tables. 7 | 8 | Signed-off-by: Hou Zhiqiang 9 | --- 10 | configs/arm64/ls1028a-rdb-linux-enetc-demo.c | 10 +++++++++- 11 | 1 file changed, 9 insertions(+), 1 deletion(-) 12 | 13 | diff --git a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 14 | index 6ba207b8..5220a91d 100644 15 | --- a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 16 | +++ b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 17 | @@ -16,7 +16,7 @@ 18 | struct { 19 | struct jailhouse_cell_desc cell; 20 | __u64 cpus[1]; 21 | - struct jailhouse_memory mem_regions[11]; 22 | + struct jailhouse_memory mem_regions[12]; 23 | struct jailhouse_irqchip irqchips[2]; 24 | } __attribute__((packed)) config = { 25 | .cell = { 26 | @@ -95,6 +95,14 @@ struct { 27 | .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 28 | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 29 | }, 30 | + 31 | + /* RAM: LPI tables */ { 32 | + .phys_start = 0x90000000, 33 | + .virt_start = 0x90000000, 34 | + .size = 0x100000, 35 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, 36 | + }, 37 | + 38 | /* RAM */ { 39 | .phys_start = 0xc0400000, 40 | .virt_start = 0, 41 | -- 42 | 2.43.0 43 | 44 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0017-ls1043ardb-inmate-demo-assigned-write-permission-to-.patch: -------------------------------------------------------------------------------- 1 | From c74d7188344abcc9d5f31ca7960e01280f91cf21 Mon Sep 17 00:00:00 2001 2 | From: Changming Huang 3 | Date: Fri, 5 Nov 2021 12:20:32 +0800 4 | Subject: [PATCH 17/22] ls1043ardb-inmate-demo: assigned write permission to 5 | address 0xc050e000 6 | 7 | Signed-off-by: Changming Huang 8 | --- 9 | configs/arm64/ls1043a-rdb-inmate-demo.c | 3 ++- 10 | 1 file changed, 2 insertions(+), 1 deletion(-) 11 | 12 | diff --git a/configs/arm64/ls1043a-rdb-inmate-demo.c b/configs/arm64/ls1043a-rdb-inmate-demo.c 13 | index 5f895022..2a316c52 100644 14 | --- a/configs/arm64/ls1043a-rdb-inmate-demo.c 15 | +++ b/configs/arm64/ls1043a-rdb-inmate-demo.c 16 | @@ -77,7 +77,8 @@ struct { 17 | .phys_start = 0xc050e000, 18 | .virt_start = 0xc050e000, 19 | .size = 0x2000, 20 | - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, 21 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 22 | + JAILHOUSE_MEM_ROOTSHARED, 23 | }, 24 | /* DUART1 */ { 25 | .phys_start = 0x21c0000, 26 | -- 27 | 2.43.0 28 | 29 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0018-ls1028ardb-remove-gic-distributor-region-from-linux-.patch: -------------------------------------------------------------------------------- 1 | From 8f76cc9d5f0b50e491f3c00724546050fc4eb376 Mon Sep 17 00:00:00 2001 2 | From: Changming Huang 3 | Date: Wed, 17 Nov 2021 18:49:18 +0800 4 | Subject: [PATCH 18/22] ls1028ardb: remove gic distributor region from 5 | linux-enetc demo 6 | 7 | when this region is enabled in inmate cell, 8 | there are some commands (related to hardware) can't be implemented. 9 | 10 | Signed-off-by: Changming Huang 11 | --- 12 | configs/arm64/ls1028a-rdb-linux-enetc-demo.c | 10 +--------- 13 | 1 file changed, 1 insertion(+), 9 deletions(-) 14 | 15 | diff --git a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 16 | index 5220a91d..97914af6 100644 17 | --- a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 18 | +++ b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 19 | @@ -16,7 +16,7 @@ 20 | struct { 21 | struct jailhouse_cell_desc cell; 22 | __u64 cpus[1]; 23 | - struct jailhouse_memory mem_regions[12]; 24 | + struct jailhouse_memory mem_regions[11]; 25 | struct jailhouse_irqchip irqchips[2]; 26 | } __attribute__((packed)) config = { 27 | .cell = { 28 | @@ -65,14 +65,6 @@ struct { 29 | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 30 | }, 31 | 32 | - /* gic distributor */ { 33 | - .phys_start = 0x06000000, 34 | - .virt_start = 0x06000000, 35 | - .size = 0x10000, 36 | - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 37 | - JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, 38 | - }, 39 | - 40 | /* gic re-distribuitor */ { 41 | .phys_start = 0x06060000, 42 | .virt_start = 0x06060000, 43 | -- 44 | 2.43.0 45 | 46 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0019-configs-arm64-ls1028a-Update-the-address-used-for-GI.patch: -------------------------------------------------------------------------------- 1 | From 5507ee8a0eac5a299d16d0b9f0b031a9499bc342 Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Thu, 3 Nov 2022 22:02:54 +0800 4 | Subject: [PATCH 19/22] configs: arm64: ls1028a: Update the address used for 5 | GIC LPI table 6 | 7 | Signed-off-by: Hou Zhiqiang 8 | --- 9 | configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts | 5 +++-- 10 | configs/arm64/ls1028a-rdb-linux-enetc-demo.c | 4 ++-- 11 | 2 files changed, 5 insertions(+), 4 deletions(-) 12 | 13 | diff --git a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 14 | index 6b659992..7a49f0bb 100644 15 | --- a/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 16 | +++ b/configs/arm64/dts/inmate-ls1028a-rdb-enetc.dts 17 | @@ -46,8 +46,9 @@ 18 | #size-cells = <2>; 19 | ranges; 20 | 21 | - lpi_reserved: lpi_rd_table@0x90000000 { 22 | - reg = <0 0x90000000 0 0x100000>; 23 | + gic_lpi_table: gic-lpi-table@0x90100000 { 24 | + compatible = "fsl,gic-lpi-table"; 25 | + reg = <0 0x90100000 0 0x100000>; 26 | }; 27 | }; 28 | 29 | diff --git a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 30 | index 97914af6..05adcfa4 100644 31 | --- a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 32 | +++ b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 33 | @@ -89,8 +89,8 @@ struct { 34 | }, 35 | 36 | /* RAM: LPI tables */ { 37 | - .phys_start = 0x90000000, 38 | - .virt_start = 0x90000000, 39 | + .phys_start = 0x90100000, 40 | + .virt_start = 0x90100000, 41 | .size = 0x100000, 42 | .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, 43 | }, 44 | -- 45 | 2.43.0 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0020-configs-arm64-fix-the-.architecture-for-ls1028ardb-e.patch: -------------------------------------------------------------------------------- 1 | From c1a9497d3114b58c5473681f3532c51980507c1f Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Thu, 29 Jun 2023 15:32:12 +0800 4 | Subject: [PATCH 20/22] configs: arm64: fix the .architecture for ls1028ardb 5 | enetc cell 6 | 7 | Signed-off-by: Hou Zhiqiang 8 | --- 9 | configs/arm64/ls1028a-rdb-linux-enetc-demo.c | 1 + 10 | 1 file changed, 1 insertion(+) 11 | 12 | diff --git a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 13 | index 05adcfa4..aa9da2e6 100644 14 | --- a/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 15 | +++ b/configs/arm64/ls1028a-rdb-linux-enetc-demo.c 16 | @@ -22,6 +22,7 @@ struct { 17 | .cell = { 18 | .signature = JAILHOUSE_CELL_DESC_SIGNATURE, 19 | .revision = JAILHOUSE_CONFIG_REVISION, 20 | + .architecture = JAILHOUSE_ARM64, 21 | .name = "linux-inmate-demo", 22 | .flags = JAILHOUSE_CELL_PASSIVE_COMMREG, 23 | 24 | -- 25 | 2.43.0 26 | 27 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0021-configs-arm64-fix-the-.architecture-for-ls1046ardb-d.patch: -------------------------------------------------------------------------------- 1 | From 55342781ddf8960349dbcbd7967b8a36a20cc7e8 Mon Sep 17 00:00:00 2001 2 | From: Tao Yang 3 | Date: Mon, 20 Nov 2023 20:54:26 +0800 4 | Subject: [PATCH 21/22] configs: arm64: fix the .architecture for ls1046ardb 5 | dpaa cell 6 | 7 | Signed-off-by: Tao Yang 8 | --- 9 | configs/arm64/ls1046a-rdb-dpaa-linux-demo.c | 1 + 10 | 1 file changed, 1 insertion(+) 11 | 12 | diff --git a/configs/arm64/ls1046a-rdb-dpaa-linux-demo.c b/configs/arm64/ls1046a-rdb-dpaa-linux-demo.c 13 | index 9754567c..1f2f7110 100644 14 | --- a/configs/arm64/ls1046a-rdb-dpaa-linux-demo.c 15 | +++ b/configs/arm64/ls1046a-rdb-dpaa-linux-demo.c 16 | @@ -24,6 +24,7 @@ struct { 17 | .cell = { 18 | .signature = JAILHOUSE_CELL_DESC_SIGNATURE, 19 | .revision = JAILHOUSE_CONFIG_REVISION, 20 | + .architecture = JAILHOUSE_ARM64, 21 | .name = "linux-inmate-demo", 22 | .flags = JAILHOUSE_CELL_PASSIVE_COMMREG, 23 | 24 | -- 25 | 2.43.0 26 | 27 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/0022-configs-ls1028ardb-add-SerDes-MMIO-region.patch: -------------------------------------------------------------------------------- 1 | From 73258fe8d319e4ed0b15c93ccba7933dafabc3db Mon Sep 17 00:00:00 2001 2 | From: Hou Zhiqiang 3 | Date: Tue, 3 Dec 2024 17:51:50 +0800 4 | Subject: [PATCH 22/22] configs: ls1028ardb: add SerDes MMIO region 5 | 6 | Signed-off-by: Hou Zhiqiang 7 | --- 8 | configs/arm64/ls1028a-rdb.c | 9 ++++++++- 9 | 1 file changed, 8 insertions(+), 1 deletion(-) 10 | 11 | diff --git a/configs/arm64/ls1028a-rdb.c b/configs/arm64/ls1028a-rdb.c 12 | index 917e8eb9..e279a3b9 100644 13 | --- a/configs/arm64/ls1028a-rdb.c 14 | +++ b/configs/arm64/ls1028a-rdb.c 15 | @@ -16,7 +16,7 @@ 16 | struct { 17 | struct jailhouse_system header; 18 | __u64 cpus[1]; 19 | - struct jailhouse_memory mem_regions[85]; 20 | + struct jailhouse_memory mem_regions[86]; 21 | struct jailhouse_irqchip irqchips[3]; 22 | struct jailhouse_pci_device pci_devices[2]; 23 | } __attribute__((packed)) config = { 24 | @@ -145,6 +145,13 @@ struct { 25 | .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 26 | JAILHOUSE_MEM_IO, 27 | }, 28 | + /* SerDes */ { 29 | + .phys_start = 0x01ea0000, 30 | + .virt_start = 0x01ea0000, 31 | + .size = 0x10000, 32 | + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | 33 | + JAILHOUSE_MEM_IO, 34 | + }, 35 | /* scfg */ { 36 | .phys_start = 0x01fc0000, 37 | .virt_start = 0x01fc0000, 38 | -- 39 | 2.43.0 40 | 41 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/rootfs.cpio.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nxp-real-time-edge-sw/meta-real-time-edge/9a9dc36741e53e775fb594f5273fe97362af5fc2/recipes-extended/jailhouse/files/rootfs.cpio.gz -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/gic-demo-imx8mp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx8mp.cell; 8 | ../tools/jailhouse cell create ../cells/imx8mp-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/gic-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/gic-demo-imx93.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx93.cell; 8 | ../tools/jailhouse cell create ../cells/imx93-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/gic-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/gic-demo-ls1028ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1028a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1028a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/gic-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/gic-demo-ls1043ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1043a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1043a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/gic-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/gic-demo-ls1046ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1046a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1046a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/gic-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/init_jailhouse_env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | modprobe jailhouse 4 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/ivshmem-demo-imx8mp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx8mp.cell; 8 | ../tools/jailhouse cell create ../cells/imx8mp-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/ivshmem-demo.bin 10 | ../tools/jailhouse cell start 1 11 | 12 | ../tools/ivshmem-demo -d /dev/uio0 -t 1 13 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/ivshmem-demo-imx93.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx93.cell; 8 | ../tools/jailhouse cell create ../cells/imx93-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/ivshmem-demo.bin 10 | ../tools/jailhouse cell start 1 11 | 12 | ../tools/ivshmem-demo -d /dev/uio0 -t 1 13 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/ivshmem-demo-ls1028ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1028a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1028a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/ivshmem-demo.bin 10 | ../tools/jailhouse cell start 1 11 | 12 | ../tools/ivshmem-demo -d /dev/uio0 -t 2 13 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/ivshmem-demo-ls1043ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1043a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1043a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/ivshmem-demo.bin 10 | ../tools/jailhouse cell start 1 11 | 12 | ../tools/ivshmem-demo -d /dev/uio0 -t 2 13 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/ivshmem-demo-ls1046ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1046a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1046a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/ivshmem-demo.bin 10 | ../tools/jailhouse cell start 1 11 | 12 | ../tools/ivshmem-demo -d /dev/uio0 -t 2 13 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-imx8mp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk1p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/imx8mp.cell; 10 | ../tools/jailhouse cell linux ../cells/imx8mp-linux-demo.cell ../inmates/kernel/Image -d ../inmates/dtb/inmate-imx8mp-evk.dtb -c "clk_ignore_unused console=ttymxc3,115200 earlycon=ec_imx6q,0x30890000,115200 root=/dev/mmcblk2p2 rootwait rw" 11 | 12 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-imx93-9x9-qsb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk1p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | cp /run/media/boot-mmcblk1p1/imx93-9x9-qsb-inmate.dtb /usr/share/jailhouse/inmates/dtb/ 7 | 8 | ../tools/jailhouse disable; 9 | 10 | ../tools/jailhouse enable ../cells/imx93.cell; 11 | ../tools/jailhouse cell linux ../cells/imx93-linux-demo.cell ../inmates/kernel/Image -d ../inmates/dtb/imx93-9x9-qsb-inmate.dtb -c "clk_ignore_unused console=ttyLP1,115200 earlycon=lpuart32,mmio32,0x44380010,115200 root=/dev/mmcblk0p2 rootwait rw" 12 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1028ardb-enetc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1028a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1028a-rdb-linux-enetc-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1028a-rdb-enetc.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | 12 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1028ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1028a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1028a-rdb-linux-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1028a-rdb.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | 12 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1043ardb-dpaa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1043a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1043a-rdb-dpaa-linux-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1043a-rdb-dpaa.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1043ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1043a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1043a-rdb-linux-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1043a-rdb.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1046ardb-dpaa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1046a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1046a-rdb-dpaa-linux-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1046a-rdb-dpaa.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | 12 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/linux-demo-ls1046ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | cp /run/media/boot-mmcblk0p1/Image /usr/share/jailhouse/inmates/kernel/ 6 | 7 | ../tools/jailhouse disable; 8 | 9 | ../tools/jailhouse enable ../cells/ls1046a-rdb.cell; 10 | ../tools/jailhouse cell linux ../cells/ls1046a-rdb-linux-demo.cell -i ../inmates/rootfs/rootfs.cpio ../inmates/kernel/Image -d ../inmates/dtb/inmate-ls1046a-rdb.dtb -c "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0600" 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/uart-demo-imx8mp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx8mp.cell; 8 | ../tools/jailhouse cell create ../cells/imx8mp-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/uart-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/uart-demo-imx93.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/imx93.cell; 8 | ../tools/jailhouse cell create ../cells/imx93-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/uart-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/uart-demo-ls1028ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1028a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1028a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/uart-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/uart-demo-ls1043ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1043a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1043a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/uart-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/jailhouse/files/scripts/uart-demo-ls1046ardb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./init_jailhouse_env.sh 4 | 5 | ../tools/jailhouse disable 6 | 7 | ../tools/jailhouse enable ../cells/ls1046a-rdb.cell; 8 | ../tools/jailhouse cell create ../cells/ls1046a-rdb-inmate-demo.cell; 9 | ../tools/jailhouse cell load 1 ../inmates/uart-demo.bin 10 | ../tools/jailhouse cell start 1 11 | -------------------------------------------------------------------------------- /recipes-extended/libnetconf2/libnetconf2_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "libnetconf2 is a NETCONF library in C intended for building NETCONF clients and servers" 2 | DESCRIPTION = "The library provides functions to connect NETCONF client and server to each other via SSH and to send, receive and process NETCONF messages." 3 | SECTION = "libs" 4 | LICENSE = "BSD-3-Clause" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=08a5578c9bab06fb2ae84284630b973f" 6 | 7 | SRC_URI = "git://github.com/CESNET/libnetconf2.git;protocol=https;branch=master" 8 | 9 | PV = "2.1.34+git" 10 | SRCREV = "91cd6d75722c65de5c005d908f6d645b48cee89b" 11 | 12 | S = "${WORKDIR}/git" 13 | 14 | DEPENDS = "curl libssh openssl libyang libxcrypt libpam" 15 | 16 | FILES:${PN} += "${datadir}/yang/modules/libnetconf2/*" 17 | 18 | inherit cmake pkgconfig 19 | 20 | # Specify any options you want to pass to cmake using EXTRA_OECMAKE: 21 | #EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:String=Release -DLIBYANG_INCLUDE_DIR=/usr/include -DLIBYANG_LIBRARY=/usr/lib " 22 | EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:String=Release " 23 | 24 | BBCLASSEXTEND = "native nativesdk" 25 | -------------------------------------------------------------------------------- /recipes-extended/libnfc-nci/files/0002-add-static-for-gphNxpExtns_Context.patch: -------------------------------------------------------------------------------- 1 | From dfbfef2c435a705426eb813d0c8915c92e506f42 Mon Sep 17 00:00:00 2001 2 | From: Changming Huang 3 | Date: Mon, 26 Apr 2021 17:14:46 +0800 4 | Subject: [PATCH 2/3] add static for gphNxpExtns_Context 5 | 6 | Signed-off-by: Changming Huang 7 | --- 8 | src/service/extns/src/mifare/phNxpExtns_MifareStd.c | 2 +- 9 | src/service/extns/src/phNxpExtns.c | 2 +- 10 | 2 files changed, 2 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/src/service/extns/src/mifare/phNxpExtns_MifareStd.c b/src/service/extns/src/mifare/phNxpExtns_MifareStd.c 13 | index 6cd6aaf..c28e24f 100644 14 | --- a/src/service/extns/src/mifare/phNxpExtns_MifareStd.c 15 | +++ b/src/service/extns/src/mifare/phNxpExtns_MifareStd.c 16 | @@ -20,7 +20,7 @@ 17 | #include 18 | #include 19 | 20 | -phNxpExtns_Context_t gphNxpExtns_Context; 21 | +static phNxpExtns_Context_t gphNxpExtns_Context; 22 | phNciNfc_TransceiveInfo_t tNciTranscvInfo; 23 | phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt = NULL; 24 | phFriNfc_NdefMap_t *NdefMap = NULL; 25 | diff --git a/src/service/extns/src/phNxpExtns.c b/src/service/extns/src/phNxpExtns.c 26 | index 3ceae90..aecd1c0 100644 27 | --- a/src/service/extns/src/phNxpExtns.c 28 | +++ b/src/service/extns/src/phNxpExtns.c 29 | @@ -25,7 +25,7 @@ 30 | #include 31 | #include 32 | 33 | -phNxpExtns_Context_t gphNxpExtns_Context; 34 | +static phNxpExtns_Context_t gphNxpExtns_Context; 35 | extern phFriNfc_NdefMap_t *NdefMap; 36 | extern phNci_mfc_auth_cmd_t gAuthCmdBuf; 37 | 38 | -- 39 | 2.25.1 40 | 41 | -------------------------------------------------------------------------------- /recipes-extended/libnfc-nci/files/0003-add-static-for-fragmentation_enabled.patch: -------------------------------------------------------------------------------- 1 | From cdecc47b310794de4aa400575efa75a4c1a88439 Mon Sep 17 00:00:00 2001 2 | From: Changming Huang 3 | Date: Mon, 26 Apr 2021 17:20:36 +0800 4 | Subject: [PATCH 3/3] add static for fragmentation_enabled 5 | 6 | Signed-off-by: Changming Huang 7 | --- 8 | src/halimpl/pn54x/tml/i2c/phTmlNfc_i2c.h | 2 +- 9 | src/halimpl/pn54x/tml/lpcusbsio/phTmlNfc_lpcusbsio.h | 2 +- 10 | 2 files changed, 2 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/src/halimpl/pn54x/tml/i2c/phTmlNfc_i2c.h b/src/halimpl/pn54x/tml/i2c/phTmlNfc_i2c.h 13 | index 724a2bd..f541408 100644 14 | --- a/src/halimpl/pn54x/tml/i2c/phTmlNfc_i2c.h 15 | +++ b/src/halimpl/pn54x/tml/i2c/phTmlNfc_i2c.h 16 | @@ -29,4 +29,4 @@ int phTmlNfc_i2c_read(void *pDevHandle, uint8_t * pBuffer, int nNbBytesToRead); 17 | int phTmlNfc_i2c_write(void *pDevHandle,uint8_t * pBuffer, int nNbBytesToWrite); 18 | int phTmlNfc_i2c_reset(void *pDevHandle,long level); 19 | bool_t getDownloadFlag(void); 20 | -phTmlNfc_i2cfragmentation_t fragmentation_enabled; 21 | +static phTmlNfc_i2cfragmentation_t fragmentation_enabled; 22 | diff --git a/src/halimpl/pn54x/tml/lpcusbsio/phTmlNfc_lpcusbsio.h b/src/halimpl/pn54x/tml/lpcusbsio/phTmlNfc_lpcusbsio.h 23 | index 724a2bd..f541408 100644 24 | --- a/src/halimpl/pn54x/tml/lpcusbsio/phTmlNfc_lpcusbsio.h 25 | +++ b/src/halimpl/pn54x/tml/lpcusbsio/phTmlNfc_lpcusbsio.h 26 | @@ -29,4 +29,4 @@ int phTmlNfc_i2c_read(void *pDevHandle, uint8_t * pBuffer, int nNbBytesToRead); 27 | int phTmlNfc_i2c_write(void *pDevHandle,uint8_t * pBuffer, int nNbBytesToWrite); 28 | int phTmlNfc_i2c_reset(void *pDevHandle,long level); 29 | bool_t getDownloadFlag(void); 30 | -phTmlNfc_i2cfragmentation_t fragmentation_enabled; 31 | +static phTmlNfc_i2cfragmentation_t fragmentation_enabled; 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /recipes-extended/libnfc-nci/libnfc-nci_git.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Linux NFC stack for NCI based NXP NFC Controllers." 2 | LICENSE = "Apache-2.0" 3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" 4 | 5 | SRCBRANCH ?= "master" 6 | SRC_URI = "git://github.com/NXPNFCLinux/linux_libnfc-nci.git;protocol=https;branch=${SRCBRANCH} \ 7 | file://0001-set-configuration-for-libnfc-nci.patch \ 8 | file://0002-add-static-for-gphNxpExtns_Context.patch \ 9 | file://0003-add-static-for-fragmentation_enabled.patch \ 10 | " 11 | 12 | SRCREV = "8476ea1a4091e6facc37e028d8489cc2ef4741ba" 13 | PV = "R2.4" 14 | 15 | S = "${WORKDIR}/git" 16 | 17 | inherit autotools-brokensep pkgconfig 18 | 19 | EXTRA_OECONF = "LDFLAGS=-static --host=${TARGET_SYS}" 20 | EXTRA_OEMAKE = "CCLD='${CXX}'" 21 | 22 | do_configure() { 23 | ./bootstrap 24 | ./configure ${EXTRA_OECONF} 25 | } 26 | 27 | do_install() { 28 | install -d ${D}/data/nfc 29 | install -d ${D}/${sbindir} 30 | install ${S}/conf/*.conf ${D}/data/nfc 31 | install ${S}/nfcDemoApp ${D}/${sbindir} 32 | } 33 | 34 | INSANE_SKIP:${PN} += "ldflags" 35 | FILES:${PN} += "data/nfc/*" 36 | -------------------------------------------------------------------------------- /recipes-extended/libopen62541/libopen62541.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2020-2021 NXP 2 | 3 | SUMMARY = "OPC UA implementation" 4 | LICENSE = "MPL-2.0" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" 6 | 7 | SRCBRANCH ?= "master" 8 | SRC_URI = "gitsm://github.com/open62541/open62541.git;protocol=https;branch=${SRCBRANCH} \ 9 | file://0001-feat-examples-Add-pubsub-TSN-sample-applications.patch \ 10 | " 11 | 12 | # Modify these as desired 13 | PV = "v1.2.2" 14 | SRCREV = "ecf5a703785877a8719a0cda863a98455f7d5d12" 15 | 16 | S = "${WORKDIR}/git" 17 | 18 | DEPENDS = "openssl" 19 | 20 | do_install:append () { 21 | if [ -d ${B}/bin/examples ] && [ -z $(find ${B}/bin/examples -maxdepth 0 -empty) ] 22 | then 23 | install -d ${D}${ROOT_HOME}/open62541_example/ 24 | install -m 0755 ${B}/bin/examples/* ${D}${ROOT_HOME}/open62541_example/ 25 | fi 26 | } 27 | 28 | FILES:${PN} += "${bindir_native}/* ${datadir_native}/open62541/* ${libdir_native}/* ${ROOT_HOME}/*" 29 | 30 | inherit cmake python3native 31 | 32 | -------------------------------------------------------------------------------- /recipes-extended/libredblack/libredblack_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Library for handling red-black tree searching algorithm" 2 | DESCRIPTION = "A library to provide the RedBlack balanced tree searching and sorting algorithm." 3 | LICENSE = "LGPL-2.1-only" 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=de174fb5a92cdbe038c88dc4c4316f99" 5 | 6 | SRCBRANCH ?= "master" 7 | SRC_URI = "git://github.com/sysrepo/libredblack.git;protocol=https;branch=${SRCBRANCH}" 8 | 9 | PV = "1.0+git${SRCPV}" 10 | SRCREV = "a399310d99b61eec4d3c0677573ab5dddcf9395d" 11 | 12 | S = "${WORKDIR}/git" 13 | 14 | # NOTE: if this software is not capable of being built in a separate build directory 15 | # from the source, you should replace autotools with autotools-brokensep in the 16 | # inherit line 17 | inherit python3native autotools 18 | 19 | # Specify any options you want to pass to the configure script using EXTRA_OECONF: 20 | EXTRA_OECONF = " --without-rbgen " 21 | 22 | BBCLASSEXTEND = "native nativesdk" 23 | -------------------------------------------------------------------------------- /recipes-extended/libssh/libssh_%.bbappend: -------------------------------------------------------------------------------- 1 | PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" 2 | 3 | -------------------------------------------------------------------------------- /recipes-extended/libyang/libyang/0001-validation-workaround-for-a-must-validation-issue.patch: -------------------------------------------------------------------------------- 1 | From 4c9ff7c2367d3b01d2fed6fcee13ac3be50f5157 Mon Sep 17 00:00:00 2001 2 | From: Chenhui Zhao 3 | Date: Wed, 12 Feb 2025 18:46:06 +0800 4 | Subject: [PATCH] validation: workaround for a must validation issue 5 | 6 | When changing the any node in the interface tree, will always get this 7 | error. It is a result of a must validation. 8 | 9 | [ERR] Number of elements in admin-control-list must not be greaterthan supported-list-max 10 | (Data location "/ietf-interfaces:interfaces/interface[name='swp0']/ieee802-dot1q-bridge:bridge-port/ 11 | ieee802-dot1q-sched-bridge:gate-parameter-table/admin-control-list".) 12 | 13 | Upstream-Status: Inappropriate [embedded specific] 14 | Signed-off-by: Chenhui Zhao 15 | --- 16 | src/validation.c | 7 ++++--- 17 | 1 file changed, 4 insertions(+), 3 deletions(-) 18 | 19 | diff --git a/src/validation.c b/src/validation.c 20 | index 73ae19c9b..de57ef35b 100644 21 | --- a/src/validation.c 22 | +++ b/src/validation.c 23 | @@ -1599,9 +1599,10 @@ lyd_validate_final_r(struct lyd_node *first, const struct lyd_node *parent, cons 24 | lyd_validate_obsolete(node); 25 | 26 | /* node's musts */ 27 | - if ((r = lyd_validate_must(node, val_opts, int_opts, must_xp_opts))) { 28 | - goto next_iter; 29 | - } 30 | + /* if ((r = lyd_validate_must(node, val_opts, int_opts, must_xp_opts))) { */ 31 | + /* goto next_iter; */ 32 | + /* } */ 33 | + r = LY_SUCCESS; 34 | 35 | /* node value was checked by plugins */ 36 | 37 | -- 38 | 2.34.1 39 | 40 | -------------------------------------------------------------------------------- /recipes-extended/libyang/libyang_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "YANG data modelling language parser and toolkit" 2 | DESCRIPTION = "libyang is YANG data modelling language parser and toolkit written (and providing API) in C. The library is used e.g. in libnetconf2, Netopeer2 or sysrepo projects." 3 | SECTION = "libs" 4 | LICENSE = "BSD-3-Clause" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad" 6 | 7 | SRC_URI = "git://github.com/CESNET/libyang.git;protocol=https;branch=master \ 8 | file://0001-validation-workaround-for-a-must-validation-issue.patch" 9 | 10 | PV = "2.1.77+git" 11 | SRCREV = "a804113c9bbac3e36c53221be469c1ca5af5b435" 12 | 13 | S = "${WORKDIR}/git" 14 | 15 | DEPENDS = "libpcre2" 16 | 17 | FILES:${PN} += "${datadir}/yang/modules/libyang/*" 18 | 19 | inherit cmake pkgconfig 20 | 21 | # Specify any options you want to pass to cmake using EXTRA_OECMAKE: 22 | EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:String=Release " 23 | 24 | BBCLASSEXTEND = "native nativesdk" 25 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0003-clock-redecide-state-if-get-EV_FAULT_DETECTED-event.patch: -------------------------------------------------------------------------------- 1 | From b757121b8f7e36b75eb013908546fd395a80ceac Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Mon, 28 Oct 2024 18:20:52 +0800 4 | Subject: [PATCH 3/7] clock: redecide state if get EV_FAULT_DETECTED event 5 | 6 | IEEE 802.1AS-2011's methodology for faults is to avoid waiting 7 | in that FAULTY state in hopes that management will notice. 8 | Instead, move on to search for a valid non-faulty state. If 9 | supported, the fault is logged so that management can notice 10 | later, but that logging isn't a requirement. 11 | 12 | This patch is to invoke BMCA to redecide state if get 13 | EV_FAULT_DETECTED event. 14 | 15 | Signed-off-by: Rodney Greenstreet 16 | Signed-off-by: Yangbo Lu 17 | Signed-off-by: Xiaoliang Yang 18 | --- 19 | clock.c | 3 +++ 20 | 1 file changed, 3 insertions(+) 21 | 22 | diff --git a/clock.c b/clock.c 23 | index c217459..0708902 100644 24 | --- a/clock.c 25 | +++ b/clock.c 26 | @@ -1815,6 +1815,9 @@ int clock_poll(struct clock *c) 27 | if (EV_ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES == event) { 28 | c->sde = 1; 29 | } 30 | + if (EV_FAULT_DETECTED == event) { 31 | + c->sde = 1; 32 | + } 33 | port_dispatch(p, event, 0); 34 | /* Clear any fault after a little while. */ 35 | if ((PS_FAULTY == port_state(p)) && (prior_state != PS_FAULTY)) { 36 | -- 37 | 2.34.1 38 | 39 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0004-port-switch-PHC-in-jbod-mode-when-in-UNCALIBRATED-or.patch: -------------------------------------------------------------------------------- 1 | From b279121931eaa95ee4ca96f5765605bf810a2749 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Wed, 30 Oct 2024 17:38:18 +0800 4 | Subject: [PATCH 4/7] port: switch PHC in jbod mode when in UNCALIBRATED or 5 | SLAVE state 6 | 7 | In the (still downstream) patch "Add BMCA support for IEEE 8 | 802.1AS-2011", we are making ieee8021as_fsm() skip the UNCALIBRATED 9 | state. This means that the PHC on which the servo loop is applied will 10 | never be switched in JBOD mode. Make the switching logic take place 11 | either on a MASTER to SLAVE, or on a MASTER to UNCALIBRATED transition. 12 | 13 | Signed-off-by: Vladimir Oltean 14 | Signed-off-by: Xiaoliang Yang 15 | --- 16 | port.c | 9 ++++++++- 17 | 1 file changed, 8 insertions(+), 1 deletion(-) 18 | 19 | diff --git a/port.c b/port.c 20 | index d512aef..e2b31fb 100644 21 | --- a/port.c 22 | +++ b/port.c 23 | @@ -2813,6 +2813,8 @@ void port_dispatch(struct port *p, enum fsm_event event, int mdiff) 24 | 25 | static void bc_dispatch(struct port *p, enum fsm_event event, int mdiff) 26 | { 27 | + enum port_state switching_state; 28 | + 29 | if (clock_slave_only(p->clock)) { 30 | if (event == EV_RS_GRAND_MASTER) { 31 | port_slave_priority_warning(p); 32 | @@ -2829,7 +2831,12 @@ static void bc_dispatch(struct port *p, enum fsm_event event, int mdiff) 33 | port_e2e_transition(p, p->state); 34 | } 35 | 36 | - if (p->jbod && p->state == PS_UNCALIBRATED && p->phc_index >= 0 ) { 37 | + if (port_is_ieee8021as(p)) 38 | + switching_state = PS_SLAVE; 39 | + else 40 | + switching_state = PS_UNCALIBRATED; 41 | + 42 | + if (p->jbod && p->state == switching_state && p->phc_index >= 0 ) { 43 | if (clock_switch_phc(p->clock, p->phc_index)) { 44 | p->last_fault_type = FT_SWITCH_PHC; 45 | port_dispatch(p, EV_FAULT_DETECTED, 0); 46 | -- 47 | 2.34.1 48 | 49 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0005-README-mention-support-of-IEEE-802.1AS-time-aware-br.patch: -------------------------------------------------------------------------------- 1 | From c40f7d6fbb4382a43e04c9ef9090c92212ced4eb Mon Sep 17 00:00:00 2001 2 | From: Vladimir Oltean 3 | Date: Fri, 2 Oct 2020 15:37:52 +0300 4 | Subject: [PATCH 5/7] README: mention support of IEEE 802.1AS time-aware bridge 5 | 6 | The OpenIL fork of linuxptp has added protocol compatibility for 7 | boundary clocks with IEEE 802.1AS, as well as the IEEE 802.1AS specific 8 | BMCA. Mention this in the README. 9 | 10 | Signed-off-by: Vladimir Oltean 11 | --- 12 | README.org | 3 ++- 13 | 1 file changed, 2 insertions(+), 1 deletion(-) 14 | 15 | diff --git a/README.org b/README.org 16 | index 063b542..049ab7e 100644 17 | --- a/README.org 18 | +++ b/README.org 19 | @@ -28,7 +28,8 @@ 20 | 21 | - Transport over UDP/IPv4, UDP/IPv6, and raw Ethernet (Layer 2). 22 | 23 | - - Supports IEEE 802.1AS-2011 in the role of end station. 24 | + - Supports IEEE 802.1AS-2011 in the role of end station and time-aware 25 | + bridge. 26 | 27 | - Modular design allowing painless addition of new transports and 28 | clock servos. 29 | -- 30 | 2.34.1 31 | 32 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0006-configs-increase-tx_timestamp_timeout-for-default-gP.patch: -------------------------------------------------------------------------------- 1 | From 3cbac8c2a1c7d5f853bd7da842bdf09b4e788f00 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Tue, 29 Oct 2024 11:12:08 +0800 4 | Subject: [PATCH 6/7] configs: increase tx_timestamp_timeout for default/gPTP 5 | 6 | This is to avoid time out for i.MX ENET. 7 | 8 | Signed-off-by: Xiaoliang Yang 9 | --- 10 | configs/default.cfg | 2 +- 11 | configs/gPTP.cfg | 1 + 12 | 2 files changed, 2 insertions(+), 1 deletion(-) 13 | 14 | diff --git a/configs/default.cfg b/configs/default.cfg 15 | index 00429b9..ca709f4 100644 16 | --- a/configs/default.cfg 17 | +++ b/configs/default.cfg 18 | @@ -57,7 +57,7 @@ hybrid_e2e 0 19 | inhibit_multicast_service 0 20 | net_sync_monitor 0 21 | tc_spanning_tree 0 22 | -tx_timestamp_timeout 10 23 | +tx_timestamp_timeout 20 24 | unicast_listen 0 25 | unicast_master_table 0 26 | unicast_req_duration 3600 27 | diff --git a/configs/gPTP.cfg b/configs/gPTP.cfg 28 | index ddf22b7..04d04c0 100644 29 | --- a/configs/gPTP.cfg 30 | +++ b/configs/gPTP.cfg 31 | @@ -19,3 +19,4 @@ transportSpecific 0x1 32 | ptp_dst_mac 01:80:C2:00:00:0E 33 | network_transport L2 34 | delay_mechanism P2P 35 | +tx_timestamp_timeout 20 36 | -- 37 | 2.34.1 38 | 39 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0007-onfigs-use-neighborPropDelayThresh-default-value-for.patch: -------------------------------------------------------------------------------- 1 | From 32d91b8c94ca77491670e741243a40db67231fdb Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Tue, 29 Oct 2024 11:13:15 +0800 4 | Subject: [PATCH 7/7] onfigs: use neighborPropDelayThresh default value for 5 | gPTP 6 | 7 | Link delay between MACs including PHY delay may be larger than 800ns, 8 | just use default neighborPropDelayThresh value to make synchronization 9 | happen. 10 | 11 | Signed-off-by: Xiaoliang Yang 12 | --- 13 | configs/gPTP.cfg | 2 +- 14 | 1 file changed, 1 insertion(+), 1 deletion(-) 15 | 16 | diff --git a/configs/gPTP.cfg b/configs/gPTP.cfg 17 | index 04d04c0..bfd1e86 100644 18 | --- a/configs/gPTP.cfg 19 | +++ b/configs/gPTP.cfg 20 | @@ -10,7 +10,7 @@ priority2 248 21 | logAnnounceInterval 0 22 | logSyncInterval -3 23 | syncReceiptTimeout 3 24 | -neighborPropDelayThresh 800 25 | +neighborPropDelayThresh 20000000 26 | min_neighbor_prop_delay -20000000 27 | assume_two_step 1 28 | path_trace_enabled 1 29 | -- 30 | 2.34.1 31 | 32 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/files/0008-vclock-use-missing.h-to-instead-linux-header.patch: -------------------------------------------------------------------------------- 1 | From d5f40aee7b19187c2087ee13cd47207f05c4aab6 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Tue, 26 Nov 2024 14:42:02 +0800 4 | Subject: [PATCH] vclock: use missing.h to instead linux header 5 | 6 | The linux header ethtool_netlink.h is not updated to latest linux 7 | of real-time-edge. Update it in missing.h and use it to instead the 8 | linux header. 9 | 10 | Signed-off-by: Xiaoliang Yang 11 | --- 12 | incdefs.sh | 6 +++--- 13 | missing.h | 15 ++++----------- 14 | 2 files changed, 7 insertions(+), 14 deletions(-) 15 | 16 | diff --git a/incdefs.sh b/incdefs.sh 17 | index a9e94f7..be2c58b 100755 18 | --- a/incdefs.sh 19 | +++ b/incdefs.sh 20 | @@ -88,9 +88,9 @@ kernel_flags() 21 | printf " -DHAVE_ONESTEP_P2P" 22 | fi 23 | 24 | - if grep -q SOF_TIMESTAMPING_BIND_PHC ${prefix}${tstamp}; then 25 | - printf " -DHAVE_VCLOCKS" 26 | - fi 27 | +# if grep -q SOF_TIMESTAMPING_BIND_PHC ${prefix}${tstamp}; then 28 | +# printf " -DHAVE_VCLOCKS" 29 | +# fi 30 | 31 | if grep -q adjust_phase ${prefix}${ptp_clock}; then 32 | printf " -DHAVE_PTP_CAPS_ADJUST_PHASE" 33 | diff --git a/missing.h b/missing.h 34 | index 79a87d4..fc80b6d 100644 35 | --- a/missing.h 36 | +++ b/missing.h 37 | @@ -67,17 +67,6 @@ enum { 38 | }; 39 | #endif 40 | 41 | -#ifndef HAVE_VCLOCKS 42 | -enum { 43 | - SOF_TIMESTAMPING_BIND_PHC = (1 << 15), 44 | -}; 45 | - 46 | -struct so_timestamping { 47 | - int flags; 48 | - int bind_phc; 49 | -}; 50 | -#endif 51 | - 52 | #ifndef HWTSTAMP_FLAG_BONDED_PHC_INDEX 53 | enum { 54 | HWTSTAMP_FLAG_BONDED_PHC_INDEX = (1<<0), 55 | @@ -360,6 +349,8 @@ enum { 56 | ETHTOOL_MSG_TSINFO_GET, 57 | ETHTOOL_MSG_CABLE_TEST_ACT, 58 | ETHTOOL_MSG_CABLE_TEST_TDR_ACT, 59 | + ETHTOOL_MSG_PREEMPT_GET, 60 | + ETHTOOL_MSG_PREEMPT_SET, 61 | ETHTOOL_MSG_TUNNEL_INFO_GET, 62 | ETHTOOL_MSG_FEC_GET, 63 | ETHTOOL_MSG_FEC_SET, 64 | @@ -398,6 +389,8 @@ enum { 65 | ETHTOOL_MSG_TSINFO_GET_REPLY, 66 | ETHTOOL_MSG_CABLE_TEST_NTF, 67 | ETHTOOL_MSG_CABLE_TEST_TDR_NTF, 68 | + ETHTOOL_MSG_PREEMPT_GET_REPLY, 69 | + ETHTOOL_MSG_PREEMPT_NTF, 70 | ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY, 71 | ETHTOOL_MSG_FEC_GET_REPLY, 72 | ETHTOOL_MSG_FEC_NTF, 73 | -- 74 | 2.34.1 75 | 76 | -------------------------------------------------------------------------------- /recipes-extended/linuxptp/linuxptp_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 3 | SRC_URI:append = " \ 4 | file://0001-Add-IEEE-802.1AS-2011-time-aware-bridge-support.patch \ 5 | file://0002-Add-BMCA-support-for-IEEE-802.1AS-2011.patch \ 6 | file://0003-clock-redecide-state-if-get-EV_FAULT_DETECTED-event.patch \ 7 | file://0004-port-switch-PHC-in-jbod-mode-when-in-UNCALIBRATED-or.patch \ 8 | file://0005-README-mention-support-of-IEEE-802.1AS-time-aware-br.patch \ 9 | file://0006-configs-increase-tx_timestamp_timeout-for-default-gP.patch \ 10 | file://0007-onfigs-use-neighborPropDelayThresh-default-value-for.patch \ 11 | file://0008-vclock-use-missing.h-to-instead-linux-header.patch \ 12 | " 13 | 14 | do_install:append () { 15 | install -d ${D}/etc/ptp4l_cfg 16 | install ${S}/configs/* ${D}/etc/ptp4l_cfg 17 | 18 | install -d ${D}${bindir} 19 | install -p ${S}/phc_ctl ${D}${bindir} 20 | } 21 | 22 | FILES:${PN} += "${bindir}" 23 | -------------------------------------------------------------------------------- /recipes-extended/lldpd/files/0002-lldp-deprecate-link-aggregation-TLV-from-802.3.patch: -------------------------------------------------------------------------------- 1 | From 0d725a6a37ffba8416ceab36e2865134c9936b37 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Wed, 24 Aug 2022 16:01:46 +0800 4 | Subject: [PATCH 2/4] lldp: deprecate link aggregation TLV from 802.3 5 | 6 | Link Aggregation TLV has been deprecated from IEEE Std 802.3 and is now 7 | standardized as IEEE Std 802.1AX, which is part of the IEEE 802.1. This 8 | patch update the type and subtype of link aggregation TLV. 9 | 10 | Signed-off-by: Xiaoliang Yang 11 | --- 12 | src/daemon/lldp-tlv.h | 1 + 13 | src/daemon/protocols/lldp.c | 8 ++++---- 14 | 2 files changed, 5 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/src/daemon/lldp-tlv.h b/src/daemon/lldp-tlv.h 17 | index 9de9703..195ab24 100644 18 | --- a/src/daemon/lldp-tlv.h 19 | +++ b/src/daemon/lldp-tlv.h 20 | @@ -62,6 +62,7 @@ 21 | #define LLDP_TLV_DOT1_PPVID 2 22 | #define LLDP_TLV_DOT1_VLANNAME 3 23 | #define LLDP_TLV_DOT1_PI 4 24 | +#define LLDP_TLV_DOT1_LA 7 25 | 26 | #define LLDP_TLV_DOT3_MAC 1 27 | #define LLDP_TLV_DOT3_POWER 2 28 | diff --git a/src/daemon/protocols/lldp.c b/src/daemon/protocols/lldp.c 29 | index 6c119ed..62c59a6 100644 30 | --- a/src/daemon/protocols/lldp.c 31 | +++ b/src/daemon/protocols/lldp.c 32 | @@ -249,17 +249,17 @@ _lldp_send(struct lldpd *global, struct lldpd_hardware *hardware, u_int8_t c_id_ 33 | POKE_BYTES(pi->p_pi, pi->p_pi_len) && POKE_END_LLDP_TLV)) 34 | goto toobig; 35 | } 36 | -#endif 37 | 38 | -#ifdef ENABLE_DOT3 39 | /* Aggregation status */ 40 | - if (!(POKE_START_LLDP_TLV(LLDP_TLV_ORG) && POKE_BYTES(dot3, sizeof(dot3)) && 41 | - POKE_UINT8(LLDP_TLV_DOT3_LA) && 42 | + if (!(POKE_START_LLDP_TLV(LLDP_TLV_ORG) && POKE_BYTES(dot1, sizeof(dot1)) && 43 | + POKE_UINT8(LLDP_TLV_DOT1_LA) && 44 | /* Bit 0 = capability ; Bit 1 = status */ 45 | POKE_UINT8((port->p_aggregid) ? 3 : 1) && 46 | POKE_UINT32(port->p_aggregid) && POKE_END_LLDP_TLV)) 47 | goto toobig; 48 | +#endif 49 | 50 | +#ifdef ENABLE_DOT3 51 | fp_tlv = port->p_fp.support | port->p_fp.status << 1 | 52 | port->p_fp.active << 2 | port->p_fp.frag_size << 3; 53 | if (!( 54 | -- 55 | 2.25.1 56 | 57 | -------------------------------------------------------------------------------- /recipes-extended/lldpd/files/0004-header-ethtool-update-ethtool_fp-parameters.patch: -------------------------------------------------------------------------------- 1 | From 205f4c02addf58f1e6cf2705524f698d86159311 Mon Sep 17 00:00:00 2001 2 | From: Xiaoliang Yang 3 | Date: Thu, 18 May 2023 18:16:20 +0800 4 | Subject: [PATCH 4/4] header: ethtool: update ethtool_fp parameters 5 | 6 | The preemption of ethtool added a new disabled parameter in Linux, 7 | update it in ethtool.h on lldpd. 8 | 9 | Signed-off-by: Xiaoliang Yang 10 | --- 11 | include/linux/ethtool.h | 1 + 12 | 1 file changed, 1 insertion(+) 13 | 14 | diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h 15 | index c148b36..b3a3d2c 100644 16 | --- a/include/linux/ethtool.h 17 | +++ b/include/linux/ethtool.h 18 | @@ -343,6 +343,7 @@ struct ethtool_eee { 19 | 20 | struct ethtool_fp { 21 | __u32 cmd; 22 | + __u8 disabled; 23 | __u8 fp_supported; 24 | __u8 fp_enabled; 25 | __u8 fp_status; 26 | -- 27 | 2.25.1 28 | 29 | -------------------------------------------------------------------------------- /recipes-extended/lldpd/files/lldpd.default: -------------------------------------------------------------------------------- 1 | # Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol 2 | #DAEMON_ARGS="-x -c -s -e" 3 | -------------------------------------------------------------------------------- /recipes-extended/lldpd/lldpd_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | EXTRA_OECONF += " --enable-json0 with_lldpd_ctl_socket=\"/var/run/lldpd.socket\" \ 4 | with_lldpd_pid_file=\"/var/run/lldpd.pid\" \ 5 | " 6 | 7 | SRC_URI:append = " file://0001-lldpd-add-additional-ethernet-capabilities-tlv.patch \ 8 | file://0002-lldp-deprecate-link-aggregation-TLV-from-802.3.patch \ 9 | file://0003-lldpd-decode-Additional-Ethernet-Capabilities.patch \ 10 | file://0004-header-ethtool-update-ethtool_fp-parameters.patch \ 11 | " 12 | -------------------------------------------------------------------------------- /recipes-extended/modbus-simulator/files/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | 3 | project(modbus-simulator VERSION 1.0.0 LANGUAGES C) 4 | 5 | find_package(PkgConfig REQUIRED) 6 | pkg_check_modules(MODBUS REQUIRED IMPORTED_TARGET libmodbus) 7 | 8 | add_executable(modbus_client_simulator "${CMAKE_CURRENT_SOURCE_DIR}/modbus_client_simulator.c") 9 | target_sources(modbus_client_simulator PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/common.c") 10 | 11 | target_link_libraries(modbus_client_simulator PkgConfig::MODBUS) 12 | 13 | add_executable(modbus_device_simulator "${CMAKE_CURRENT_SOURCE_DIR}/modbus_device_simulator.c") 14 | target_sources(modbus_device_simulator PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/common.c") 15 | 16 | target_link_libraries(modbus_device_simulator PkgConfig::MODBUS) 17 | 18 | install(TARGETS modbus_device_simulator modbus_client_simulator DESTINATION ${CMAKE_INSTALL_BINDIR} 19 | RUNTIME DESTINATION bin 20 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) 21 | -------------------------------------------------------------------------------- /recipes-extended/modbus-simulator/files/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2022 NXP 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | ALTERNATIVELY, this software may be distributed under the terms of the 14 | GNU General Public License ("GPL") as published by the Free Software 15 | Foundation, either version 2 of that License or (at your option) any 16 | later version. -------------------------------------------------------------------------------- /recipes-extended/modbus-simulator/files/common.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 | /* 3 | * Copyright 2022 NXP 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "common.h" 10 | 11 | char DebugOpt[] = "debug"; 12 | char TcpOptVal[] = "tcp"; 13 | char RtuOptVal[] = "rtu"; 14 | char *baud_rate_map[] = {"4800", "9600", "19200", "115200"}; 15 | 16 | int free_modbus_params(char *opt_port, char *opt_baud, char *opt_data_bits, 17 | char *opt_stop_bits) { 18 | if (opt_baud) { 19 | free(opt_baud); 20 | } 21 | if (opt_stop_bits) { 22 | free(opt_stop_bits); 23 | } 24 | if (opt_data_bits) { 25 | free(opt_data_bits); 26 | } 27 | if (opt_port) { 28 | free(opt_port); 29 | } 30 | 31 | return 0; 32 | } 33 | 34 | int getInt(const char str[], int *value) { 35 | int val; 36 | int ret = sscanf(str, "0x%x", &val); 37 | if (0 >= ret) { 38 | ret = sscanf(str, "%d", &val); 39 | } 40 | 41 | if (value) { 42 | *value = val; 43 | } 44 | 45 | return ret >= 0 ? 1 : 0; 46 | } -------------------------------------------------------------------------------- /recipes-extended/modbus-simulator/files/common.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 | /* 3 | * Copyright 2022 NXP 4 | */ 5 | 6 | #ifndef COMMON_H 7 | #define COMMON_H 8 | 9 | extern char DebugOpt[]; 10 | extern char TcpOptVal[]; 11 | extern char RtuOptVal[]; 12 | extern char *baud_rate_map[]; 13 | 14 | int free_modbus_params(char *opt_port, char *opt_baud, char *opt_data_bits, 15 | char *opt_stop_bits); 16 | 17 | int getInt(const char str[], int *value); 18 | 19 | #endif /* COMMON_H */ -------------------------------------------------------------------------------- /recipes-extended/modbus-simulator/modbus-simulator.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Modbus simulator" 2 | DESCRIPTION = "Implementation of modbus-simulator based on libmodbus" 3 | LICENSE = "GPL-2.0-only & MIT" 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a1074b08ac5859eeab6a4d0bd23bd281" 5 | 6 | SRC_URI = "file://LICENSE.md \ 7 | file://CMakeLists.txt \ 8 | file://modbus_client_simulator.c \ 9 | file://modbus_device_simulator.c \ 10 | file://common.c \ 11 | file://common.h \ 12 | file://readme.md" 13 | 14 | S = "${WORKDIR}" 15 | 16 | DEPENDS = "libmodbus" 17 | 18 | inherit cmake pkgconfig 19 | -------------------------------------------------------------------------------- /recipes-extended/netopeer2-server/netopeer2-server/netopeer2-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Source function library. 4 | . /etc/init.d/functions 5 | 6 | EXEC_PATH="/usr/sbin" 7 | SERVER_EXEC="netopeer2-server" 8 | SERVER_OPTS=" -d -v2" 9 | 10 | case "$1" in 11 | start) 12 | echo -n "Starting netopeer2-server: " 13 | start-stop-daemon --start --background --exec $EXEC_PATH/$SERVER_EXEC -- $SERVER_OPTS 14 | RETVAL=$? 15 | if [ $RETVAL -eq 0 ] ; then 16 | echo "OK" 17 | else 18 | echo "FAIL" 19 | exit 1 20 | fi 21 | ;; 22 | stop) 23 | echo -n "Stopping netopeer2-server: " 24 | start-stop-daemon --stop --pidfile /var/run/netopeer2-server.pid 25 | RETVAL=$? 26 | if [ $RETVAL -eq 0 ] ; then 27 | echo "OK" 28 | else 29 | echo "FAIL" 30 | exit 1 31 | fi 32 | ;; 33 | status) 34 | status $SERVER_EXEC 35 | exit $? 36 | ;; 37 | restart) 38 | $0 stop && sleep 1 && $0 start 39 | ;; 40 | *) 41 | echo "Usage: $0 {start|stop|status|restart}" 42 | exit 1 43 | ;; 44 | esac 45 | 46 | exit 0 47 | 48 | -------------------------------------------------------------------------------- /recipes-extended/netopeer2-server/netopeer2-server/netopeer2-server.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=netopeer2 NETCONF server 3 | After=sysrepo-plugind.service 4 | 5 | [Service] 6 | Type=notify 7 | ExecStart=/usr/sbin/netopeer2-server -d -v2 8 | Restart=always 9 | SystemCallArchitectures=native 10 | KillMode=control-group 11 | SupplementaryGroups= 12 | 13 | [Install] 14 | WantedBy=multi-user.target 15 | -------------------------------------------------------------------------------- /recipes-extended/pktgen-scripts/pktgen-scripts.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "pktgen-scripts" 2 | DESCRIPTION = "pktgen-scripts contains scripts used to generate traffic using pktgen" 3 | LICENSE = "GPL-2.0-only" 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=801f80980d171dd6425610833a22dbe6" 5 | 6 | SRC_URI = "file://LICENSE \ 7 | file://pktgen" 8 | 9 | S = "${WORKDIR}" 10 | 11 | do_install() { 12 | install -d ${D}/home/root/samples/pktgen 13 | install -Dm 0755 ${WORKDIR}/pktgen/* ${D}/home/root/samples/pktgen/ 14 | } 15 | 16 | FILES:${PN} += "/home/root/samples/pktgen/*" 17 | 18 | RDEPENDS:${PN} = "bash" 19 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-baremetal/real-time-edge-baremetal-env.inc: -------------------------------------------------------------------------------- 1 | # uboot env 2 | # layerscape uboot 3 | UBOOT_BAREMETAL_DEFCONFIG:ls1043ardb ?= "ls1043ardb_baremetal_slave_defconfig" 4 | UBOOT_BAREMETAL_DEFCONFIG:ls1046ardb ?= "ls1046ardb_baremetal_slave_defconfig" 5 | UBOOT_BAREMETAL_DEFCONFIG:lx2160ardb ?= "lx2160ardb_baremetal_slave_defconfig" 6 | UBOOT_BAREMETAL_DEFCONFIG:lx2160ardb-rev2 ?= "lx2160ardb_baremetal_slave_defconfig" 7 | UBOOT_BAREMETAL_DEFCONFIG:ls1021aiot ?= "ls1021aiot_baremetal_slave_defconfig" 8 | UBOOT_BAREMETAL_DEFCONFIG:ls1028ardb ?= "${@bb.utils.contains('DISTRO_FEATURES', 'sai', \ 9 | 'ls1028ardb_baremetal_slave_sai_defconfig', \ 10 | 'ls1028ardb_baremetal_slave_defconfig', d)}" 11 | 12 | # imx uboot 13 | UBOOT_BAREMETAL_DEFCONFIG:mx8mp-nxp-bsp ?= "imx8mp_evk_baremetal_slave_defconfig" 14 | UBOOT_BAREMETAL_DEFCONFIG:mx8mm-nxp-bsp ?= "imx8mm_evk_baremetal_slave_defconfig" 15 | UBOOT_BAREMETAL_DEFCONFIG:imx93evk ?= "imx93_11x11_evk_baremetal_slave_defconfig" 16 | UBOOT_BAREMETAL_DEFCONFIG:imx93-9x9-lpddr4-qsb ?= "imx93_9x9_qsb_baremetal_slave_defconfig" 17 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-icc/real-time-edge-icc_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "real-time-edge ICC" 2 | LICENSE = "GPL-2.0-only" 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b8b124def019f141a27e002e0a4333cc" 4 | 5 | REAL_TIME_EDGE_ICC_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-icc.git;protocol=https" 6 | REAL_TIME_EDGE_ICC_BRANCH ?= "master" 7 | REAL_TIME_EDGE_ICC_SRCREV ?= "c0d13d268cf77f210a0e44f7cefaee51a51ff33d" 8 | 9 | SRC_URI = "${REAL_TIME_EDGE_ICC_SRC};branch=${REAL_TIME_EDGE_ICC_BRANCH}" 10 | SRCREV = "${REAL_TIME_EDGE_ICC_SRCREV}" 11 | 12 | PV = "1.1" 13 | 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" 15 | 16 | S = "${WORKDIR}/git" 17 | 18 | ICC_GIC_OFFSET_ALIGN = "" 19 | ICC_GIC_OFFSET_ALIGN:mx8m-nxp-bsp = "y" 20 | ICC_GIC_OFFSET_ALIGN:mx93-nxp-bsp = "y" 21 | ICC_GIC_OFFSET_ALIGN:ls1028a = "y" 22 | ICC_GIC_OFFSET_ALIGN:ls1043a = "y" 23 | ICC_GIC_OFFSET_ALIGN:ls1046a = "y" 24 | ICC_GIC_OFFSET_ALIGN:lx2160a = "y" 25 | 26 | ICC_GIC_TYPE = "" 27 | ICC_GIC_TYPE:mx8m-nxp-bsp = "CONFIG_ICC_IMX8M" 28 | ICC_GIC_TYPE:mx93-nxp-bsp = "CONFIG_ICC_IMX93" 29 | ICC_GIC_TYPE:lx2160a = "CONFIG_ICC_LX2160A" 30 | 31 | ICC_MAX_CPUS = "2" 32 | ICC_MAX_CPUS:mx8m-nxp-bsp = "4" 33 | ICC_MAX_CPUS:mx93-nxp-bsp = "2" 34 | ICC_MAX_CPUS:ls1043a = "4" 35 | ICC_MAX_CPUS:ls1046a = "4" 36 | ICC_MAX_CPUS:lx2160a = "16" 37 | 38 | 39 | do_configure() { 40 | 41 | if [ "${ICC_GIC_OFFSET_ALIGN}" = "y" ]; then 42 | echo "#define CONFIG_ICC_GIC_OFFSET_ALIGN" > ${S}/icc_configure.h 43 | fi 44 | 45 | if [ "${ICC_GIC_TYPE}" != "" ]; then 46 | echo "#define ${ICC_GIC_TYPE}" >> ${S}/icc_configure.h 47 | fi 48 | 49 | echo "#define CONFIG_ICC_MAX_CPUS ${ICC_MAX_CPUS}" >> ${S}/icc_configure.h 50 | } 51 | 52 | do_install () { 53 | install -d ${D}/${bindir} 54 | install -p ${S}/icc ${D}/${bindir} 55 | } 56 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/Init_Routines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Freescale Semiconductor, Inc. 3 | * Copyright 2018-2019 NXP 4 | * 5 | * MikroBUS: bee click board(MRF24J40MA) application demo 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | */ 13 | 14 | #ifndef __INIT_ROUTINES_H__ 15 | #define __INIT_ROUTINES_H__ 16 | 17 | #include 18 | 19 | void Initialize(bool server_flag); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2021 NXP 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | ALTERNATIVELY, this software may be distributed under the terms of the 14 | GNU General Public License ("GPL") as published by the Free Software 15 | Foundation, either version 2 of that License or (at your option) any 16 | later version. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE 22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/Makefile: -------------------------------------------------------------------------------- 1 | #CC = ../../host/usr/bin/aarch64-linux-gnu-gcc 2 | #CC = gcc 3 | LIBS = -lpthread 4 | OBJS = ReadWrite_Routines.o Reset_Routines.o Misc_Routines.o Init_Routines.o bee.o 5 | 6 | bee_demo : $(OBJS) 7 | $(CC) -o $@ $^ $(LIBS) $(LDFLAGS) 8 | 9 | %.o : %.c 10 | $(CC) -c $< -o $@ $(LIBS) 11 | 12 | clean : 13 | rm -rf *.o bee_demo 14 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/Misc_Routines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Freescale Semiconductor, Inc. 3 | * Copyright 2018-2019 NXP 4 | * 5 | * MikroBUS: bee click board(MRF24J40MA) application demo 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | */ 13 | 14 | #ifndef __MISC_ROUTINES_H__ 15 | #define __MISC_ROUTINES_H__ 16 | 17 | #include 18 | #include 19 | 20 | void wakepin_init(void); 21 | void wakepin_deinit(void); 22 | void init_ZIGBEE_nonbeacon(void); 23 | void init_ZIGBEE_basic(void); 24 | void set_TX_power(uint8_t power); 25 | void disable_PLL(void); 26 | void enable_PLL(void); 27 | void pin_wake(void); 28 | void set_wake_from_pin(void); 29 | void set_PAN_ID(uint8_t *address); 30 | void set_PAN_ID(uint8_t *address); 31 | void set_long_address(uint8_t *address); 32 | void set_short_address(uint8_t *address); 33 | void flush_RX_FIFO_pointer(void); 34 | void set_frame_format_filter(uint8_t fff_mode); 35 | void set_reception_mode(uint8_t r_mode); 36 | void set_IFS_default(void); 37 | void set_IFS_recomended(void); 38 | void set_not_encrypt(void); 39 | void set_encrypt(void); 40 | void set_not_ACK(void); 41 | void set_ACK(void); 42 | void nonbeacon_device(void); 43 | void nonbeacon_coordinator_device(void); 44 | void nonbeacon_PAN_coordinator_device(void); 45 | void set_RSSI_mode(uint8_t RSSI_mode); 46 | void set_CCA_mode(uint8_t CCA_mode); 47 | void set_channel(uint8_t channel_number); 48 | void enable_interrupt(void); 49 | bool int_status(void); 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/ReadWrite_Routines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Freescale Semiconductor, Inc. 3 | * Copyright 2018-2019 NXP 4 | * 5 | * MikroBUS: bee click board(MRF24J40MA) application demo 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | */ 13 | 14 | #ifndef __READWRITE_ROUTINES_H__ 15 | #define __READWRITE_ROUTINES_H__ 16 | 17 | #include 18 | #include 19 | 20 | #define DATA_LENGTH 100 21 | #define HEADER_LENGTH 11 22 | 23 | struct spi_config { 24 | uint32_t mode; 25 | uint32_t speed; 26 | char *device; 27 | uint8_t bits; 28 | }; 29 | 30 | extern uint8_t DATA_RX[DATA_LENGTH], DATA_TX[DATA_LENGTH]; 31 | extern uint8_t LQI, RSSI2, SEQ_NUMBER, RX_SIZE; 32 | 33 | void spidev_init(struct spi_config *config); 34 | uint8_t read_ZIGBEE_long(uint16_t address); 35 | void write_ZIGBEE_long(uint16_t address, uint8_t data_r); 36 | uint8_t read_ZIGBEE_short(uint8_t address); 37 | void write_ZIGBEE_short(uint8_t address, uint8_t data_r); 38 | void read_RX_FIFO(uint8_t *data_rx); 39 | void start_transmit(void); 40 | void write_TX_normal_FIFO(char *data, uint8_t length, uint8_t cmd, bool server); 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/Reset_Routines.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Freescale Semiconductor, Inc. 3 | * Copyright 2018-2019 NXP 4 | * 5 | * MikroBUS: bee click board(MRF24J40MA) application demo 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | */ 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include "registers.h" 19 | #include "ReadWrite_Routines.h" 20 | 21 | /* RST pin */ 22 | static void set_rstpin(uint8_t val) 23 | { 24 | char cmd[50]; 25 | 26 | val = (val > 0) ? 0x03 : 0x02; 27 | sprintf(cmd, "i2cset -y 0 0x66 0x55 0x%02X b", val); 28 | system(cmd); 29 | } 30 | 31 | 32 | /* 33 | * Reset functions 34 | */ 35 | 36 | /* Reset from pin */ 37 | void pin_reset(void) 38 | { 39 | set_rstpin(0); /* activate reset */ 40 | usleep(5000); 41 | set_rstpin(1); /* deactivate reset */ 42 | usleep(5000); 43 | } 44 | 45 | void PWR_reset(void) 46 | { 47 | /* 0x04 mask for RSTPWR bit */ 48 | write_ZIGBEE_short(SOFTRST, 0x04); 49 | } 50 | 51 | void BB_reset(void) 52 | { 53 | /* 0x02 mask for RSTBB bit */ 54 | write_ZIGBEE_short(SOFTRST, 0x02); 55 | } 56 | 57 | void MAC_reset(void) 58 | { 59 | /* 0x01 mask for RSTMAC bit */ 60 | write_ZIGBEE_short(SOFTRST, 0x01); 61 | } 62 | 63 | void software_reset(void) 64 | { 65 | /* PWR_reset,BB_reset and MAC_reset at once */ 66 | write_ZIGBEE_short(SOFTRST, 0x07); 67 | } 68 | 69 | void RF_reset(void) 70 | { 71 | uint8_t temp = 0; 72 | 73 | temp = read_ZIGBEE_short(RFCTL); 74 | temp = temp | 0x04; /* mask for RFRST bit */ 75 | write_ZIGBEE_short(RFCTL, temp); 76 | temp = temp & ((uint8_t)~0x04); /* mask for RFRST bit */ 77 | write_ZIGBEE_short(RFCTL, temp); 78 | usleep(1000); 79 | } 80 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/files/Reset_Routines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Freescale Semiconductor, Inc. 3 | * Copyright 2018-2019 NXP 4 | * 5 | * MikroBUS: bee click board(MRF24J40MA) application demo 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | */ 13 | 14 | #ifndef __RESET_ROUTINES_H__ 15 | #define __RESET_ROUTINES_H__ 16 | 17 | void RF_reset(void); 18 | void software_reset(void); 19 | void MAC_reset(void); 20 | void BB_reset(void); 21 | void PWR_reset(void); 22 | void pin_reset(void); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libbee/real-time-edge-libbee_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "real-time-edge-libbee is a library for MikroBUS bee click board." 2 | LICENSE = "GPL-2.0-only & MIT" 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a960555d80b9e3713204934861ab9112" 4 | 5 | SRC_URI = "file://bee.c \ 6 | file://LICENSE \ 7 | file://Makefile \ 8 | file://Init_Routines.c \ 9 | file://Init_Routines.h \ 10 | file://Misc_Routines.c \ 11 | file://Misc_Routines.h \ 12 | file://ReadWrite_Routines.c \ 13 | file://ReadWrite_Routines.h \ 14 | file://registers.h \ 15 | file://Reset_Routines.h \ 16 | file://Reset_Routines.c" 17 | 18 | S = "${WORKDIR}" 19 | 20 | do_install () { 21 | install -d ${D}/${bindir} 22 | install -p ${S}/bee_demo ${D}/${bindir} 23 | } 24 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libblep/files/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2021 NXP 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | ALTERNATIVELY, this software may be distributed under the terms of the 14 | GNU General Public License ("GPL") as published by the Free Software 15 | Foundation, either version 2 of that License or (at your option) any 16 | later version. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE 22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libblep/files/Makefile: -------------------------------------------------------------------------------- 1 | #CC = ../../host/usr/bin/aarch64-linux-gnu-gcc 2 | LIBS = -lpthread 3 | OBJS = acilib.o blep.o 4 | 5 | blep_demo : $(OBJS) 6 | $(CC) -o $@ $^ $(LIBS) $(LDFLAGS) 7 | 8 | %.o : %.c 9 | $(CC) -c $< -o $@ $(LIBS) 10 | 11 | clean : 12 | rm -rf *.o blep_demo 13 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-libblep/real-time-edge-libblep_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "real-time-edge-libblep is a library for MikroBUS bee click board." 2 | LICENSE = "GPL-2.0-only & MIT" 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a960555d80b9e3713204934861ab9112" 4 | 5 | SRC_URI = "file://acilib.c \ 6 | file://LICENSE \ 7 | file://Makefile \ 8 | file://acilib.h \ 9 | file://blep.c \ 10 | file://services.h" 11 | 12 | S = "${WORKDIR}" 13 | 14 | do_install () { 15 | install -d ${D}/${bindir} 16 | install -p ${S}/blep_demo ${D}/${bindir} 17 | } 18 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-nodejs-lbt/files/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright 2018-2021 NXP 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-nodejs-lbt/files/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "listenPort": 8000, 3 | "sshPrivateKey": "/etc/ssh/ssh_host_rsa_key", 4 | "ping": { 5 | "plotStyle": "lineGraph", 6 | "xlabel": "Time (seconds)", 7 | "ylabel": "PIT (ms)", 8 | "xmin": "0", 9 | "ymin": "0", 10 | "xlen": "60", 11 | "binwidth": "0.01", 12 | "measurement": "pit", 13 | "measurementInterface": "eth2", 14 | "title": "Ping Packet Inter-arrival Time" 15 | }, 16 | "iperf": { 17 | "plotStyle": "lineGraph", 18 | "xmin": "0", 19 | "ymin": "0", 20 | "xlen": "60", 21 | "xlabel": "Time (seconds)", 22 | "ylabel": "Bandwidth (Mbps)", 23 | "title": "iPerf3 Bandwidth" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-nodejs-lbt/files/flows.json: -------------------------------------------------------------------------------- 1 | { 2 | "flows": { 3 | "iperf": [ 4 | { 5 | "source": { 6 | "user": "root", 7 | "hostname": "localhost", 8 | "port": 22 9 | }, 10 | "destination": { 11 | "user": "root", 12 | "hostname": "localhost", 13 | "port": 22 14 | }, 15 | "port": 5201, 16 | "transport": "tcp", 17 | "bandwidth": -1, 18 | "enabled": false, 19 | "label": "a" 20 | } 21 | ], 22 | "ping": [] 23 | } 24 | } -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-nodejs-lbt/files/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "maintainers": [ 3 | { 4 | "name": "Vladimir Oltean", 5 | "email": "vladimir.oltean@nxp.com" 6 | } 7 | ], 8 | "name": "lbt", 9 | "description": "Latency and Bandwidth Tester is a web application for generating and plotting iPerf and ping traffic", 10 | "version": "0.2.0", 11 | "license": "MIT", 12 | "dependencies": { 13 | "uuid": "^3.1.0", 14 | "sse": "^0.0.6", 15 | "ssh2": "^0.5.5" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-nodejs-lbt/real-time-edge-nodejs-lbt_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Latency and Bandwidth Tester is a web application for generating and \ 2 | plotting iPerf and ping traffic." 3 | 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f17a9bec9db0496c87aec8b93aa0d3c6" 6 | 7 | SRC_URI = "npmsw://${THISDIR}/files/npm-shrinkwrap.json;dev=1 \ 8 | file://client.js;subdir=${BP} \ 9 | file://config.json;subdir=${BP} \ 10 | file://flows.json;subdir=${BP} \ 11 | file://index.html;subdir=${BP} \ 12 | file://LICENSE \ 13 | file://package.json;subdir=${BP} \ 14 | file://server.js;subdir=${BP} \ 15 | file://S95lbt \ 16 | " 17 | 18 | DEPENDS += "feedgnuplot real-time-edge-prl" 19 | 20 | S = "${WORKDIR}/${BP}" 21 | 22 | inherit npm 23 | 24 | do_install:append() { 25 | install -d ${D}/${sysconfdir}/init.d/ 26 | install ${WORKDIR}/S95lbt ${D}/${sysconfdir}/init.d/ 27 | } 28 | 29 | FILES:${PN} += "${libdir}/node_modules/lbt/*" 30 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-prl/files/LICENSE: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 2 | 3 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 4 | 5 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 6 | 7 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 8 | 9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-prl/files/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # Copyright 2017-2020 NXP 3 | prefix ?= /usr 4 | exec_prefix ?= ${prefix} 5 | bindir ?= ${exec_prefix}/bin 6 | 7 | TARGET = prl 8 | SRC = prl.c 9 | OBJ = $(patsubst %.c, %.o, $(SRC)) 10 | 11 | build: $(TARGET) 12 | 13 | $(TARGET): $(OBJ) 14 | $(CC) $^ -o $@ $(LDFLAGS) 15 | 16 | %.o: %.c 17 | $(CC) $(CFLAGS) -c $^ -o $@ 18 | 19 | install: $(TARGET) 20 | install -m 0755 -D $(TARGET) $(DESTDIR)${bindir}/$(TARGET) 21 | 22 | uninstall: 23 | rm -rf $(DESTDIR)${bindir}/$(TARGET) 24 | 25 | clean: 26 | rm -f $(TARGET) $(OBJ) 27 | 28 | .PHONY: build clean uninstall install 29 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-prl/real-time-edge-prl_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Real-time edge PRL (Pipe Rate Limiter) is a C program for pipeline manipulation." 2 | LICENSE = "BSD-3-Clause" 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=8636bd68fc00cc6a3809b7b58b45f982" 4 | 5 | SRC_URI = "file://LICENSE \ 6 | file://prl.c \ 7 | file://Makefile \ 8 | " 9 | 10 | S = "${WORKDIR}" 11 | 12 | do_install:append() { 13 | install -d ${D}/${bindir} 14 | install -m 0755 prl ${D}/${bindir} 15 | } 16 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-servo/real-time-edge-servo.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | 3 | PV = "1.0" 4 | DESCRIPTION = "CoE test tool" 5 | LICENSE = "GPL-2.0-only & MIT" 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=ef58f855337069acd375717db0dbbb6d" 7 | 8 | REAL_TIME_EDGE_SERVO_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-servo.git;protocol=https" 9 | REAL_TIME_EDGE_SERVO_BRANCH ?= "master" 10 | REAL_TIME_EDGE_SERVO_SRCREV ?= "bc47c8097a7807c934e0ef4425ca11091f500ae0" 11 | 12 | SRC_URI = "${REAL_TIME_EDGE_SERVO_SRC};branch=${REAL_TIME_EDGE_SERVO_BRANCH}" 13 | SRCREV = "${REAL_TIME_EDGE_SERVO_SRCREV}" 14 | 15 | S = "${WORKDIR}/git" 16 | 17 | DEPENDS = "libxml2 igh-ethercat" 18 | inherit pkgconfig 19 | 20 | do_configure () { 21 | : 22 | } 23 | 24 | EXTRA_OEMAKE = " \ 25 | PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ 26 | DESTDIR="${D}"\ 27 | HOME_DIR="${ROOT_HOME}" \ 28 | " 29 | 30 | do_compile () { 31 | oe_runmake -C ${S} ${EXTRA_OEMAKE} 32 | } 33 | 34 | do_install() { 35 | oe_runmake install -C ${S} ${EXTRA_OEMAKE} 36 | oe_runmake install-libs -C ${S} ${EXTRA_OEMAKE} 37 | } 38 | 39 | FILES:${PN} += "${bindir}/* ${libdir}/* ${ROOT_HOME}/*" 40 | 41 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 42 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-sysrepo/real-time-edge-sysrepo/sysrepo-tsn: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . /etc/init.d/functions 4 | 5 | EXEC_PATH="/usr/bin" 6 | SYSREPOTSN_EXEC="sysrepo-tsn" 7 | SERVER_OPTS=" -d" 8 | 9 | case "$1" in 10 | start) 11 | echo -n "Starting sysrepo-tsn: " 12 | start-stop-daemon --start --background --exec $EXEC_PATH/$SYSREPOTSN_EXEC -- $SERVER_OPTS 13 | RETVAL=$? 14 | if [ $RETVAL -eq 0 ] ; then 15 | echo "OK" 16 | else 17 | echo "FAIL" 18 | exit 1 19 | fi 20 | ;; 21 | stop) 22 | echo -n "Stopping sysrepo-tsn: " 23 | start-stop-daemon --stop --pidfile /var/run/sysrepo-tsn.pid 24 | RETVAL=$? 25 | if [ $RETVAL -eq 0 ] ; then 26 | echo "OK" 27 | else 28 | echo "FAIL" 29 | exit 1 30 | fi 31 | ;; 32 | status) 33 | status $SYSREPOTSN_EXEC 34 | exit $? 35 | ;; 36 | restart) 37 | $0 stop && sleep 1 && $0 start 38 | ;; 39 | *) 40 | echo "Usage: $0 {start|stop|status|restart}" 41 | exit 1 42 | ;; 43 | esac 44 | 45 | exit 0 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/real-time-edge-sysrepo/real-time-edge-sysrepo_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "real-time-edge-sysrepo" 2 | DESCRIPTION = "A tool to configure TSN functionalities in user space" 3 | LICENSE = "Apache-2.0" 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" 5 | 6 | REAL_TIME_EDGE_SYSREPO_SRC ?= "git://github.com/nxp-real-time-edge-sw/real-time-edge-sysrepo.git;protocol=https" 7 | REAL_TIME_EDGE_SYSREPO_BRANCH ?= "master" 8 | REAL_TIME_EDGE_SYSREPO_SRCREV ?= "1bb827dbc3bbe88b950b81c29571e25b3394c17a" 9 | 10 | SRC_URI = "${REAL_TIME_EDGE_SYSREPO_SRC};branch=${REAL_TIME_EDGE_SYSREPO_BRANCH} \ 11 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'file://sysrepo-tsn', '', d)}" 12 | 13 | SRCREV = "${REAL_TIME_EDGE_SYSREPO_SRCREV}" 14 | 15 | S = "${WORKDIR}/git" 16 | 17 | DEPENDS = "libyang libnetconf2 sysrepo netopeer2-server cjson libnl tsntool" 18 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" 19 | 20 | RDEPENDS:${PN} += "bash curl libyang libnetconf2 sysrepo netopeer2-server cjson libnl tsntool" 21 | 22 | FILES:${PN} += "${datadir}/yang/*" 23 | 24 | # can modify conf/distro/include/real-time-edge-base.inc for PACKAGECONFIG 25 | PACKAGECONFIG ??= "" 26 | PACKAGECONFIG[real-time-edge-sysrepo-tc] = "-DCONF_SYSREPO_TSN_TC=ON,-DCONF_SYSREPO_TSN_TC=OFF," 27 | 28 | inherit cmake pkgconfig update-rc.d 29 | inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} 30 | 31 | EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE:String=Release " 32 | 33 | SYSTEMD_PACKAGES = "${PN}" 34 | SYSTEMD_SERVICE:${PN} = "sysrepo-tsn.service" 35 | SYSTEMD_AUTO_ENABLE:${PN} = "enable" 36 | 37 | INITSCRIPT_NAME = "sysrepo-tsn" 38 | INITSCRIPT_PARAMS = "start 70 5 2 3 . stop 70 0 1 6 ." 39 | 40 | do_install:append () { 41 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 42 | install -d ${D}${sysconfdir}/init.d 43 | install -m 0755 ${WORKDIR}/sysrepo-tsn ${D}${sysconfdir}/init.d/ 44 | fi 45 | } 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/rteval/files/0002-rteval-setup.py-replace-distutils.core-with-setuptoo.patch: -------------------------------------------------------------------------------- 1 | From 4181b5cf82cca6d935e9ece2fb5699d0ca4c0518 Mon Sep 17 00:00:00 2001 2 | From: Tao Yang 3 | Date: Tue, 30 Aug 2022 21:36:25 -0500 4 | Subject: [PATCH] rteval: setup.py: replace distutils.core with setuptools 5 | 6 | --- 7 | setup.py | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/setup.py b/setup.py 11 | index 9a76ffb..d66aa57 100644 12 | --- a/setup.py 13 | +++ b/setup.py 14 | @@ -1,6 +1,6 @@ 15 | #!/usr/bin/python3 16 | from distutils.sysconfig import get_python_lib 17 | -from distutils.core import setup 18 | +from setuptools import setup 19 | from os.path import isfile, join 20 | import glob, os, shutil, gzip 21 | 22 | -- 23 | 2.1.4 24 | 25 | -------------------------------------------------------------------------------- /recipes-extended/rteval/files/rteval.conf: -------------------------------------------------------------------------------- 1 | # 2 | # default configuration file for rteval 3 | # 4 | [rteval] 5 | duration: 60.0 6 | report_interval: 600 7 | 8 | [measurement] 9 | cyclictest: module 10 | 11 | [loads] 12 | kcompile: module 13 | hackbench: module 14 | stressng: module 15 | -------------------------------------------------------------------------------- /recipes-extended/rteval/rteval_3.3.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Real-Time performance evaluation" 2 | HOMEPAGE = "https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rteval" 3 | 4 | LICENSE = "GPL-2.0-only" 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 6 | 7 | SRC_URI = "git://git.kernel.org/pub/scm/utils/rteval/rteval.git;nobranch=1 \ 8 | file://rteval.conf \ 9 | file://0001-rteval-Tailored-for-NXP-boards-and-Yocto-rootfs.patch \ 10 | file://0002-rteval-setup.py-replace-distutils.core-with-setuptoo.patch \ 11 | " 12 | 13 | SRCREV = "d83a407fb55bf2a759097f95a8e8337699b9dfa2" 14 | 15 | S = "${WORKDIR}/git" 16 | 17 | inherit setuptools3 18 | 19 | do_install:append () { 20 | install -d ${D}/${sysconfdir} 21 | install -m 0644 ${WORKDIR}/rteval.conf ${D}/${sysconfdir}/ 22 | 23 | if [ -e ${D}/${sysconfdir}/rteval.conf ]; then 24 | sed -e '/stressng/d' -i ${D}/${sysconfdir}/rteval.conf 25 | fi 26 | } 27 | 28 | do_install:append:mx6ull-nxp-bsp () { 29 | if [ -e ${D}/${sysconfdir}/rteval.conf ]; then 30 | sed -e '/kcompile/d' -i ${D}/${sysconfdir}/rteval.conf 31 | fi 32 | } 33 | 34 | RDEPENDS:${PN} += " \ 35 | rt-tests \ 36 | stress-ng \ 37 | python3-core \ 38 | libxml2 \ 39 | libxml2-python \ 40 | python3-lxml \ 41 | python3-xmlrpc \ 42 | " 43 | -------------------------------------------------------------------------------- /recipes-extended/sysrepo/sysrepo/0001-Hardcode-correct-path-to-tar-binary.patch: -------------------------------------------------------------------------------- 1 | From 367e806a9affbfa351fe799b200f2361eb9d7934 Mon Sep 17 00:00:00 2001 2 | From: Denys Dmytriyenko 3 | Date: Mon, 15 Jul 2024 16:14:23 -0400 4 | Subject: [PATCH] Hardcode correct path to tar binary 5 | 6 | Otherwise the hostpath location gets embedded, which is incorrect for 7 | the target and trips the "buildpaths" QA error. 8 | 9 | Upstream-Status: Inappropriate [OE/crosscompile specific] 10 | 11 | Signed-off-by: Denys Dmytriyenko 12 | --- 13 | CMakeLists.txt | 5 +---- 14 | 1 file changed, 1 insertion(+), 4 deletions(-) 15 | 16 | diff --git a/CMakeLists.txt b/CMakeLists.txt 17 | index 22c95420..2ba1f44e 100644 18 | --- a/CMakeLists.txt 19 | +++ b/CMakeLists.txt 20 | @@ -402,10 +402,7 @@ check_symbol_exists(mkstemps "stdlib.h" SR_HAVE_MKSTEMPS) 21 | unset(CMAKE_REQUIRED_DEFINITIONS) 22 | 23 | # tar 24 | -find_program(TAR_BINARY "tar") 25 | -if(NOT TAR_BINARY) 26 | - message(FATAL_ERROR "tar binary was not found.") 27 | -endif() 28 | +set(TAR_BINARY "/usr/bin/tar") 29 | 30 | # generate files 31 | configure_file("${PROJECT_SOURCE_DIR}/src/config.h.in" "${PROJECT_BINARY_DIR}/config.h" ESCAPE_QUOTES @ONLY) 32 | -- 33 | 2.25.1 34 | -------------------------------------------------------------------------------- /recipes-extended/sysrepo/sysrepo/sysrepo-plugind: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Source function library. 4 | . /etc/init.d/functions 5 | 6 | EXEC_PATH="/usr/bin" 7 | SYSREPOPLUGIND_EXEC="sysrepo-plugind" 8 | SERVER_OPTS=" -d -v2" 9 | 10 | init_sysrepo() { 11 | export NP2_MODULE_DIR="/usr/share/yang/modules/netopeer2" 12 | export NP2_MODULE_PERMS="600" 13 | export NP2_MODULE_OWNER="root" 14 | export NP2_MODULE_GROUP="root" 15 | if [ -x /usr/bin/sysrepoctl ]; then 16 | sh /etc/netopeer2/scripts/setup.sh 17 | sh /etc/sysrepo-tsn/install-tsn-yang.sh 18 | fi 19 | if [ -x /usr/bin/sysrepocfg ]; then 20 | sh /etc/netopeer2/scripts/merge_hostkey.sh 21 | sh /etc/netopeer2/scripts/merge_config.sh 22 | fi 23 | touch /etc/sysrepo/init 24 | } 25 | 26 | case "$1" in 27 | start) 28 | test -r /etc/sysrepo/init || init_sysrepo 29 | 30 | echo -n "Starting sysrepo-plugind: " 31 | start-stop-daemon --start --background --exec $EXEC_PATH/$SYSREPOPLUGIND_EXEC -- $SERVER_OPTS 32 | RETVAL=$? 33 | if [ $RETVAL -eq 0 ] ; then 34 | echo "OK" 35 | else 36 | echo "FAIL" 37 | exit 1 38 | fi 39 | ;; 40 | stop) 41 | echo -n "Stopping sysrepo-plugind: " 42 | start-stop-daemon --stop --exec $EXEC_PATH/$SYSREPOPLUGIND_EXEC 43 | RETVAL=$? 44 | if [ $RETVAL -eq 0 ] ; then 45 | echo "OK" 46 | else 47 | echo "FAIL" 48 | exit 1 49 | fi 50 | ;; 51 | status) 52 | status $SYSREPOPLUGIND_EXEC 53 | exit $? 54 | ;; 55 | restart) 56 | $0 stop && sleep 1 && $0 start 57 | ;; 58 | *) 59 | echo "Usage: $0 {start|stop|status|restart}" 60 | exit 1 61 | ;; 62 | esac 63 | 64 | exit 0 65 | 66 | -------------------------------------------------------------------------------- /recipes-extended/sysrepo/sysrepo/sysrepo-plugind.service: -------------------------------------------------------------------------------- 1 | #Permission is hereby granted, free of charge, to any person obtaining a copy 2 | #of this software and associated documentation files (the "Software"), to deal 3 | #in the Software without restriction, including without limitation the rights 4 | #to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | #copies of the Software, and to permit persons to whom the Software is 6 | #furnished to do so, subject to the following conditions: 7 | # 8 | #The above copyright notice and this permission notice shall be included in 9 | #all copies or substantial portions of the Software. 10 | # 11 | #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 17 | #THE SOFTWARE. 18 | 19 | [Unit] 20 | Description=Sysrepo plugin daemon 21 | After=local-fs.target 22 | 23 | [Service] 24 | Type=notify 25 | ExecStartPre=/bin/bash -c 'NP2_MODULE_DIR="/usr/share/yang/modules/netopeer2" \ 26 | NP2_MODULE_PERMS="600" NP2_MODULE_OWNER="root" \ 27 | NP2_MODULE_GROUP="root" \ 28 | exec /etc/netopeer2/scripts/setup.sh' 29 | ExecStartPre=/bin/bash /etc/sysrepo-tsn/install-tsn-yang.sh 30 | ExecStartPre=/bin/bash /etc/netopeer2/scripts/merge_hostkey.sh 31 | ExecStartPre=/bin/bash /etc/netopeer2/scripts/merge_config.sh 32 | ExecStart=/usr/bin/sysrepo-plugind -d -v2 33 | Restart=always 34 | SystemCallArchitectures=native 35 | KillMode=control-group 36 | 37 | [Install] 38 | WantedBy=multi-user.target 39 | -------------------------------------------------------------------------------- /recipes-extended/tsn-scripts/tsn-scripts.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "tsn-scripts" 2 | DESCRIPTION = "tsn-scripts is a tool to test TSN features" 3 | LICENSE = "GPL-2.0-only" 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" 5 | DEPENDS = "jq" 6 | 7 | SRC_URI = "git://github.com/vladimiroltean/tsn-scripts.git;protocol=https;branch=isochron" 8 | SRCREV = "3a1187344e28c1401523d79686035bbd9e1c3e51" 9 | 10 | S = "${WORKDIR}/git" 11 | 12 | do_compile() { 13 | oe_runmake -C isochron 14 | } 15 | 16 | do_install() { 17 | install -d ${D}${bindir} 18 | install -m 0755 ${S}/isochron/isochron ${D}${bindir} 19 | } 20 | 21 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/sgi_ipv.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'IPV' 'TIME_LONG' 'OCTET_MAX' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xb 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #IPV: 12 | # 0~7 13 | # 14 | #TIME_LONG: 15 | # nanoseconds. Do not input 0 time long. 16 | # 17 | #OCTET_MAX: 18 | # The maximum number of octets that are permitted to pass the gate. 19 | # If zero, there is no maximum. 20 | 21 | t0 1b 1 50000 0 22 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/sgi_maxoct.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'IPV' 'TIME_LONG' 'OCTET_MAX' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xb 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #IPV: 12 | # 0~7 13 | # 14 | #TIME_LONG: 15 | # nanoseconds. Do not input 0 time long. 16 | # 17 | #OCTET_MAX: 18 | # The maximum number of octets that are permitted to pass the gate. 19 | # If zero, there is no maximum. 20 | 21 | t0 1b -1 50000 10 22 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/sgi_off.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'IPV' 'TIME_LONG' 'OCTET_MAX' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xb 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #IPV: 12 | # 0~7 13 | # 14 | #TIME_LONG: 15 | # nanoseconds. Do not input 0 time long. 16 | # 17 | #OCTET_MAX: 18 | # The maximum number of octets that are permitted to pass the gate. 19 | # If zero, there is no maximum. 20 | 21 | t0 0b -1 2000 0 22 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/sgi_on.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'IPV' 'TIME_LONG' 'OCTET_MAX' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xb 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #IPV: 12 | # 0~7 13 | # 14 | #TIME_LONG: 15 | # nanoseconds. Do not input 0 time long. 16 | # 17 | #OCTET_MAX: 18 | # The maximum number of octets that are permitted to pass the gate. 19 | # If zero, there is no maximum. 20 | 21 | t0 1b -1 2000 0 22 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/tc_1o1c.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'TIME_LONG' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xxxxxxxxb . 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #TIME_LONG: 12 | # nanoseconds. Do not input 0 time long. 13 | t0 00000010b 20000 14 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/tc_all_off.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'TIME_LONG' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xxxxxxxxb . 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #TIME_LONG: 12 | # nanoseconds. Do not input 0 time long. 13 | t0 00000000b 20000 14 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/tc_all_on.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'TIME_LONG' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xxxxxxxxb . 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #TIME_LONG: 12 | # nanoseconds. Do not input 0 time long. 13 | t0 11111111b 20000 14 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/tc_glist.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'TIME_LONG' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xxxxxxxxb . 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #TIME_LONG: 12 | # nanoseconds. Do not input 0 time long. 13 | t0 11101111b 10000 14 | t1 11011111b 10000 15 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/samples/gatescripts/tc_guardband.txt: -------------------------------------------------------------------------------- 1 | #'NUMBER' 'GATE_VLAUE' 'TIME_LONG' 2 | # 3 | #NUMBER: 4 | # 't' or 'T' head. Plus entry number. Duplicate entry number will got error. 5 | # 6 | #GATE_VALUE: 7 | # format: xxxxxxxxb . 8 | # The MS bit corresponds to traffic class 7. The LS bit to traffic class 0. 9 | # A bit value of 0 indicates closed, A bit value of 1 indicates open. 10 | # 11 | #TIME_LONG: 12 | # nanoseconds. Do not input 0 time long. 13 | t0 00000000b 10000 14 | t1 10000000b 100 15 | t2 01111111b 43000000 16 | -------------------------------------------------------------------------------- /recipes-extended/tsntool/tsntool_%.bbappend: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "A tool to configure TSN funtionalities in user space for industrial" 2 | 3 | SAVED_DIR := "${THISDIR}" 4 | 5 | SRC_URI = "git://github.com/nxp-qoriq/tsntool;protocol=https;nobranch=1" 6 | 7 | SRCREV:qoriq = "dbe0feb2bcf7bf2be2c009cf82398f9fee30ff89" 8 | SRCREV:imx-nxp-bsp = "dbe0feb2bcf7bf2be2c009cf82398f9fee30ff89" 9 | 10 | FILES:${PN} += "/home/root/* /home/root/sample/* /home/root/samples/* \ 11 | /home/root/samples/gatescripts/* \ 12 | /home/root/samples/cncdemo/* \ 13 | /usr/* /usr/include/* /usr/include/linux/* /usr/include/tsn/* \ 14 | /usr/lib/* /usr/lib/pkgconfig/* \ 15 | " 16 | PREFIX ?= "/usr" 17 | BINDIR ?= "${PREFIX}/bin" 18 | INCLUDEDIR ?= "${PREFIX}/include" 19 | LIBDIR ?= "${PREFIX}/lib" 20 | TSN_LIB_PC = "libtsn.pc" 21 | 22 | do_compile:append() { 23 | make ${TSN_LIB_PC} 24 | } 25 | 26 | do_install:append() { 27 | install -d -m 0755 ${D}${BINDIR} 28 | install -d -m 0755 ${D}${LIBDIR} 29 | install -d -m 0755 ${D}${INCLUDEDIR}/tsn 30 | install -d -m 0755 ${D}/${INCLUDEDIR}/linux/ 31 | install -m 0644 include/tsn/genl_tsn.h ${D}/${INCLUDEDIR}/tsn 32 | install -D -m 644 include/linux/tsn.h ${D}/${INCLUDEDIR}/linux/ 33 | install -D -m 644 ${TSN_LIB_PC} ${D}/${LIBDIR}/pkgconfig/libtsn.pc 34 | install -d ${D}/home/root/samples 35 | install -d ${D}/home/root/samples/gatescripts 36 | install -d ${D}/home/root/samples/cncdemo 37 | install -Dm 0755 ${SAVED_DIR}/samples/gatescripts/* ${D}/home/root/samples/gatescripts/ 38 | install -Dm 0755 ${S}/demos/cnc/topoagent.py ${D}/home/root/samples/cncdemo/ 39 | } 40 | 41 | COMPATIBLE_MACHINE = "qoriq|imx" 42 | 43 | INSANE_SKIP:${PN} += "dev-deps" 44 | -------------------------------------------------------------------------------- /recipes-extended/yang-model/yang-model/0001-ieee802-dot1q-sched.yang-fix-warning-in-libyang.patch: -------------------------------------------------------------------------------- 1 | From 8994b39f94bd90d5ea29b7a7c25a7210aea99361 Mon Sep 17 00:00:00 2001 2 | From: Xiaolin He 3 | Date: Fri, 27 Mar 2020 16:39:27 +0800 4 | Subject: [PATCH 1/2] ieee802-dot1q-sched.yang: fix warning in libyang 5 | 6 | Add prefix before identity in expression. 7 | 8 | Signed-off-by: Xiaolin He 9 | --- 10 | standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang | 6 +++--- 11 | 1 file changed, 3 insertions(+), 3 deletions(-) 12 | 13 | diff --git a/standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang b/standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang 14 | index 29bdd48..cf33ffe 100644 15 | --- a/standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang 16 | +++ b/standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang 17 | @@ -104,7 +104,7 @@ organization 18 | "The name (type) of the operation for this entry."; 19 | } 20 | container sgs-params { 21 | - when "../operation-name = 'set-gate-states'" { 22 | + when "../operation-name = 'sched:set-gate-states'" { 23 | description 24 | "Applies to the SetGateStates operation."; 25 | } 26 | @@ -147,7 +147,7 @@ organization 27 | 28 | 29 | container shm-params { 30 | - when "../operation-name = 'set-and-hold-mac'" { 31 | + when "../operation-name = 'sched:set-and-hold-mac'" { 32 | description 33 | "Applies to the Set-And-Hold-MAC operation."; 34 | } 35 | @@ -190,7 +190,7 @@ organization 36 | } 37 | } 38 | container srm-params { 39 | - when "../operation-name = 'set-and-release-mac'" { 40 | + when "../operation-name = 'sched:set-and-release-mac'" { 41 | description 42 | "Applies to the Set-And-Release-MAC operation."; 43 | } 44 | -- 45 | 2.17.1 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/yang-model/yang-model/0002-ieee802-dot1q-bridge.yang-fix-warning-in-libyang.patch: -------------------------------------------------------------------------------- 1 | From b01004ac5a69f529792a3ae8f01df355e76a4c4d Mon Sep 17 00:00:00 2001 2 | From: Xiaolin He 3 | Date: Fri, 27 Mar 2020 16:43:09 +0800 4 | Subject: [PATCH 2/2] ieee802-dot1q-bridge.yang: fix warning in libyang 5 | 6 | Add prefix before identity in expression. 7 | 8 | Signed-off-by: Xiaolin He 9 | --- 10 | standard/ieee/published/802.1/ieee802-dot1q-bridge.yang | 6 +++--- 11 | 1 file changed, 3 insertions(+), 3 deletions(-) 12 | 13 | diff --git a/standard/ieee/published/802.1/ieee802-dot1q-bridge.yang b/standard/ieee/published/802.1/ieee802-dot1q-bridge.yang 14 | index 1695fd8..fe72666 100644 15 | --- a/standard/ieee/published/802.1/ieee802-dot1q-bridge.yang 16 | +++ b/standard/ieee/published/802.1/ieee802-dot1q-bridge.yang 17 | @@ -433,7 +433,7 @@ module ieee802-dot1q-bridge { 18 | } 19 | } 20 | container filtering-database { 21 | - when "../../bridge-type != 'two-port-mac-relay-bridge'" { 22 | + when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" { 23 | description 24 | "Applies to non TPMRs."; 25 | } 26 | @@ -760,7 +760,7 @@ module ieee802-dot1q-bridge { 27 | } 28 | } 29 | container bridge-vlan { 30 | - when "../../bridge-type != 'two-port-mac-relay-bridge'" { 31 | + when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" { 32 | description 33 | "Applies to non TPMRs."; 34 | } 35 | @@ -1086,7 +1086,7 @@ module ieee802-dot1q-bridge { 36 | } 37 | } 38 | container bridge-mst { 39 | - when "../../bridge-type != 'two-port-mac-relay-bridge'" { 40 | + when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" { 41 | description 42 | "Applies to non TPMRs."; 43 | } 44 | -- 45 | 2.17.1 46 | 47 | -------------------------------------------------------------------------------- /recipes-extended/yang-model/yang-model_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "yang model" 2 | DESCRIPTION = "yang model files for sysrepo netopeer2 and sysrepo-tsn" 3 | LICENSE = "Apache-2.0" 4 | LIC_FILES_CHKSUM = "file://testall.sh;md5=b523c10b1e08d72d780d4414e0a1c125" 5 | 6 | SRC_URI = "git://github.com/YangModels/yang.git;protocol=https;nobranch=1 \ 7 | file://0001-ieee802-dot1q-sched.yang-fix-warning-in-libyang.patch \ 8 | file://0002-ieee802-dot1q-bridge.yang-fix-warning-in-libyang.patch \ 9 | " 10 | SRCREV = "b1df41d72ecbfb38c13e96eff42d8f027997baed" 11 | 12 | S = "${WORKDIR}/git" 13 | 14 | DEPENDS = "" 15 | RDEPENDS:${PN} += "bash curl" 16 | 17 | do_install:append () { 18 | install -d ${D}/etc/yang-model/ 19 | 20 | install -m 0775 ${S}/standard/ietf/RFC/ietf-interfaces@2014-05-08.yang ${D}/etc/yang-model/ 21 | install -m 0775 ${S}/standard/ieee/draft/802.1/Qcw/*.yang ${D}/etc/yang-model/ 22 | install -m 0775 ${S}/standard/ietf/RFC/ietf-yang-types.yang ${D}/etc/yang-model/ 23 | install -m 0775 ${S}/standard/ieee/published/802.1/ieee802-dot1q-types.yang ${D}/etc/yang-model/ 24 | install -m 0775 ${S}/standard/ieee/published/802/ieee802-types.yang ${D}/etc/yang-model/ 25 | install -m 0775 ${S}/standard/ieee/published/802.1/*.yang ${D}/etc/yang-model/ 26 | install -m 0775 ${S}/standard/ieee/draft/802.1/Qcr/*.yang ${D}/etc/yang-model/ 27 | install -m 0775 ${S}/standard/ietf/RFC/ietf-inet-types@2013-07-15.yang ${D}/etc/yang-model/ 28 | install -m 0775 ${S}/standard/ietf/RFC/iana-if-type@2017-01-19.yang ${D}/etc/yang-model/ 29 | } 30 | -------------------------------------------------------------------------------- /recipes-graphics/imx-gpu-viv/imx-gpu-viv_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | EXTRA_PROVIDES:append:ls1028a = " virtual/libgles3" 3 | 4 | FILES:${PN}:ls1028a += "${libdir}/ld-linux-aarch64.so.1" 5 | 6 | do_install:append:ls1028a() { 7 | ln -s ../../lib/ld-linux-aarch64.so.1 ${D}${libdir}/ld-linux-aarch64.so.1 8 | } -------------------------------------------------------------------------------- /recipes-kernel/libbpf/libbpf_1.2.2.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Library for BPF handling" 2 | DESCRIPTION = "Library for BPF handling" 3 | HOMEPAGE = "https://github.com/libbpf/libbpf" 4 | SECTION = "libs" 5 | LICENSE = "LGPL-2.1-or-later" 6 | 7 | LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" 8 | 9 | DEPENDS = "zlib elfutils" 10 | 11 | SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=libbpf-v1.2.2-bugfix" 12 | SRCREV = "1728e3e4bef0e138ea95ffe62163eb9a6ac6fa32" 13 | 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" 15 | COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux" 16 | 17 | S = "${WORKDIR}/git/src" 18 | 19 | EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}" 20 | EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}" 21 | 22 | inherit pkgconfig 23 | 24 | do_compile() { 25 | oe_runmake 26 | } 27 | 28 | do_install() { 29 | oe_runmake install 30 | } 31 | 32 | do_install:append:class-native() { 33 | oe_runmake install_uapi_headers 34 | } 35 | 36 | BBCLASSEXTEND = "native nativesdk" 37 | -------------------------------------------------------------------------------- /recipes-nxp/images/nxp-image-real-time-edge-plc.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "A small image just capable of allowing a device to boot." 2 | 3 | IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" 4 | 5 | IMAGE_LINGUAS = " " 6 | 7 | LICENSE = "MIT" 8 | 9 | inherit core-image 10 | 11 | PACKAGE_ARCH = "${MACHINE_ARCH}" 12 | 13 | export IMAGE_BASENAME = "nxp-image-real-time-edge-plc" 14 | 15 | IMAGE_ROOTFS_SIZE ?= "8192" 16 | IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}" 17 | 18 | IMAGE_FEATURES += "ssh-server-dropbear" 19 | 20 | IMAGE_INSTALL:append = " \ 21 | net-tools \ 22 | " 23 | 24 | -------------------------------------------------------------------------------- /recipes-nxp/images/nxp-image-real-time-edge.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021-2022 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | real-time-edge-IMAGE_BASE ?= "recipes-fsl/images/imx-image-core.bb" 5 | real-time-edge-IMAGE_BASE:qoriq = "recipes-fsl/images/fsl-image-networking.bb" 6 | 7 | require ${real-time-edge-IMAGE_BASE} 8 | 9 | SUMMARY = "Real-time Edge image to be used for development and evaluation" 10 | 11 | LICENSE = "MIT" 12 | 13 | export IMAGE_BASENAME = "nxp-image-real-time-edge" 14 | 15 | IMAGE_FSTYPES:qoriq = "${SOC_DEFAULT_IMAGE_FSTYPES}" 16 | 17 | PACKAGE_ARCH = "${MACHINE_ARCH}" 18 | 19 | IMAGE_INSTALL:append = " \ 20 | packagegroup-real-time-edge-networking \ 21 | packagegroup-real-time-edge-system \ 22 | packagegroup-real-time-edge-industrial \ 23 | packagegroup-real-time-edge-tools \ 24 | " 25 | 26 | IMAGE_INSTALL:append:ls1028ardb = " \ 27 | packagegroup-real-time-edge-multimedia \ 28 | " 29 | IMAGE_INSTALL:append:imx-nxp-bsp = " \ 30 | packagegroup-real-time-edge-multimedia \ 31 | packagegroup-real-time-edge-rtos \ 32 | packagegroup-harpoon \ 33 | " 34 | 35 | # do_image[mcdepends] = "mc:imx8mp-lpddr4-evk:evkmimx8mp:demo-hello-world:do_install" 36 | -------------------------------------------------------------------------------- /recipes-nxp/packagegroups/packagegroup-real-time-edge-industrial.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | SUMMARY = "Real-time Edge Package group for Industrial" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 7 | 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" 9 | 10 | inherit packagegroup 11 | 12 | PACKAGES = "${PN}" 13 | 14 | userscapce-servo ?= "" 15 | userscapce-servo:imx8mp-lpddr4-evk = "igh-ethercat-userspace" 16 | userscapce-servo:imx8mm-lpddr4-evk = "igh-ethercat-userspace" 17 | userscapce-servo:imx93evk = "igh-ethercat-userspace" 18 | 19 | RDEPENDS:${PN} = " \ 20 | ${@bb.utils.contains('DISTRO_FEATURES', 'real-time-edge-libbee', 'real-time-edge-libbee', '', d)} \ 21 | ${@bb.utils.contains('DISTRO_FEATURES', 'real-time-edge-libblep', 'real-time-edge-libblep', '', d)} \ 22 | ${@bb.utils.contains('DISTRO_FEATURES', 'libnfc-nci', 'libnfc-nci', '', d)} \ 23 | ${@bb.utils.contains('DISTRO_FEATURES', 'canfestival', 'canfestival', '', d)} \ 24 | ${@bb.utils.contains('DISTRO_FEATURES', 'modbus-simulator', 'modbus-simulator', '', d)} \ 25 | igh-ethercat \ 26 | real-time-edge-servo \ 27 | ${userscapce-servo} \ 28 | libopen62541 \ 29 | libmodbus \ 30 | " 31 | -------------------------------------------------------------------------------- /recipes-nxp/packagegroups/packagegroup-real-time-edge-multimedia.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | DESCRIPTION = "Package group used by NXP Community to provide graphic packages used \ 4 | to test the several hardware accelerated graphics APIs including packages not \ 5 | provided by NXP." 6 | SUMMARY = "NXP multimedia group" 7 | 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" 9 | 10 | inherit packagegroup 11 | 12 | SOC_GPU= "" 13 | SOC_GPU:imxgpu = "libopencl-imx imx-gpu-viv-demos gtk+3-demo \ 14 | packagegroup-fsl-tools-gpu packagegroup-imx-tools-audio" 15 | SOC_GPU:remove:mx8mm-nxp-bsp = " libopencl-imx" 16 | SOC_GPU:remove:mx95-nxp-bsp = " libopencl-imx imx-gpu-viv-demos " 17 | SOC_GPU:ls1028ardb = "libopencl-imx imx-gpu-viv-demos gtk+3-demo \ 18 | packagegroup-fsl-tools-gpu packagegroup-imx-tools-audio" 19 | 20 | RDEPENDS:${PN} = " \ 21 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' weston weston-examples weston-init','', d)} \ 22 | ${@bb.utils.contains('DISTRO_FEATURES', 'chromium', 'chromium-ozone-wayland','', d)} \ 23 | ${@bb.utils.contains('DISTRO_FEATURES', 'libdrm', 'libdrm', '', d)} \ 24 | ${@bb.utils.contains('DISTRO_FEATURES', 'imx-gpu-viv', 'imx-gpu-viv', '', d)} \ 25 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland-protocols', 'wayland-protocols', '', d)} \ 26 | ${@bb.utils.contains('DISTRO_FEATURES', 'kmscube', 'kmscube', '', d)} \ 27 | ${SOC_GPU} \ 28 | packagegroup-fsl-gstreamer1.0-full \ 29 | " 30 | -------------------------------------------------------------------------------- /recipes-nxp/packagegroups/packagegroup-real-time-edge-networking.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | SUMMARY = "Real-time Edge Package group for Networking" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 7 | 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" 9 | 10 | inherit packagegroup 11 | 12 | PACKAGES = "${PN}" 13 | 14 | tsntoolimage ?= "" 15 | tsntoolimage:ls1028a = "tsntool" 16 | 17 | genavbtsnimage ?= "" 18 | genavbtsnimage:ls1028ardb = "genavb-tsn" 19 | genavbtsnimage:imx8mp-lpddr4-evk = "genavb-tsn" 20 | genavbtsnimage:imx93evk = "genavb-tsn" 21 | genavbtsnimage:imx93-9x9-lpddr4-qsb = "genavb-tsn" 22 | genavbtsnimage:imx93-14x14-lpddr4x-evk = "genavb-tsn" 23 | genavbtsnimage:imx8dxlb0-lpddr4-evk = "genavb-tsn" 24 | genavbtsnimage:imx95-19x19-lpddr5-evk = "genavb-tsn" 25 | 26 | cantools ?="" 27 | cantools:ls1021aiot = "libsocketcan can-utils" 28 | cantools:ls1028ardb = "libsocketcan can-utils" 29 | 30 | RDEPENDS:${PN} = " \ 31 | ${@bb.utils.contains('DISTRO_FEATURES', 'real-time-edge-sysrepo', 'real-time-edge-sysrepo', '', d)} \ 32 | ${@bb.utils.contains('DISTRO_FEATURES', 'tsn-scripts', 'tsn-scripts', '', d)} \ 33 | ${@bb.utils.contains('DISTRO_FEATURES', 'real-time-edge-nodejs-lbt', 'real-time-edge-nodejs-lbt', '', d)} \ 34 | ${@bb.utils.contains('DISTRO_FEATURES', 'real-time-edge-prl', 'real-time-edge-prl', '', d)} \ 35 | linuxptp \ 36 | ${tsntoolimage} \ 37 | lldpd \ 38 | avahi-daemon avahi-utils \ 39 | python3-websockets \ 40 | rt-tests \ 41 | iproute2-tc \ 42 | iproute2-devlink \ 43 | tcpdump \ 44 | ${genavbtsnimage} \ 45 | ethtool \ 46 | ebtables \ 47 | iproute2 \ 48 | ${cantools} \ 49 | openssh-sftp-server \ 50 | openssh-keygen \ 51 | pktgen-scripts \ 52 | " 53 | -------------------------------------------------------------------------------- /recipes-nxp/packagegroups/packagegroup-real-time-edge-system.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | SUMMARY = "Real-time Edge Package group for Real-time system" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 7 | 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" 9 | 10 | inherit packagegroup 11 | 12 | PACKAGES = "${PN}" 13 | 14 | BAREMETAL_INSTALL = " \ 15 | real-time-edge-baremetal \ 16 | real-time-edge-icc \ 17 | " 18 | 19 | RDEPENDS:${PN} = " \ 20 | ${@bb.utils.contains('DISTRO_FEATURES', 'baremetal', \ 21 | '${BAREMETAL_INSTALL}', '', d)} \ 22 | ${@bb.utils.contains('DISTRO_FEATURES', 'jailhouse', \ 23 | 'jailhouse', '', d)} \ 24 | opencv-demo \ 25 | " 26 | -------------------------------------------------------------------------------- /recipes-nxp/packagegroups/packagegroup-real-time-edge-tools.bb: -------------------------------------------------------------------------------- 1 | # Copyright 2021 NXP 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | SUMMARY = "Real-time Edge Package group for tools" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 7 | 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" 9 | 10 | inherit packagegroup 11 | 12 | PACKAGES = "${PN}" 13 | 14 | RDEPENDS:${PN} = " \ 15 | packagegroup-core-buildessential \ 16 | packagegroup-core-full-cmdline \ 17 | iperf3 e2fsprogs e2fsprogs-resize2fs \ 18 | devmem2 \ 19 | rteval \ 20 | " 21 | 22 | RDEPENDS:${PN}:append = " \ 23 | xz \ 24 | flex \ 25 | bison \ 26 | openssl-dev \ 27 | " 28 | -------------------------------------------------------------------------------- /recipes-support/libxdp/libxdp/0001-configure-properly-quote-the-toolchain-tools-variabl.patch: -------------------------------------------------------------------------------- 1 | From 677c69a18e8a538e1313dc020dcf9e9158559d96 Mon Sep 17 00:00:00 2001 2 | From: Marouen Ghodhbane 3 | Date: Thu, 9 Nov 2023 10:24:15 +0100 4 | Subject: [PATCH] configure: properly quote the toolchain tools variables 5 | before the check 6 | 7 | Bitbake will declare toolchain tools variables with multiple options: use double quote 8 | to avoid the following error with $CC for example: 9 | 10 | *** ERROR: Cannot find tool -march=armv8-a+crc+crypto 11 | 12 | Signed-off-by: Marouen Ghodhbane 13 | --- 14 | configure | 2 +- 15 | 1 file changed, 1 insertion(+), 1 deletion(-) 16 | 17 | diff --git a/configure b/configure 18 | index 1c71ec9..26eeff9 100755 19 | --- a/configure 20 | +++ b/configure 21 | @@ -73,7 +73,7 @@ check_toolchain() 22 | CLANG=$(find_tool clang "$CLANG") 23 | LLC=$(find_tool llc "$LLC") 24 | 25 | - for TOOL in $PKG_CONFIG $CC $LD $OBJCOPY $CLANG $LLC $M4 $READELF; do 26 | + for TOOL in "$PKG_CONFIG" "$CC" "$LD" "$OBJCOPY" "$CLANG" "$LLC" "$M4" "$READELF"; do 27 | if [ ! $(command -v ${TOOL} 2>/dev/null) ]; then 28 | echo "*** ERROR: Cannot find tool ${TOOL}" ; 29 | exit 1; 30 | -------------------------------------------------------------------------------- /recipes-support/libxdp/libxdp/0003-libxdp-do-not-preserve-ownership-when-copying-librar.patch: -------------------------------------------------------------------------------- 1 | From f9ee996ae407141b5776caa45627c7a252d3edc4 Mon Sep 17 00:00:00 2001 2 | From: Marouen Ghodhbane 3 | Date: Thu, 9 Nov 2023 10:45:39 +0100 4 | Subject: [PATCH] libxdp: do not preserve ownership when copying library files 5 | 6 | The preserve ownership option will throw a QA issue warning: 7 | 8 | QA Issue: libxdp: /usr/lib/libxdp.so is owned by uid 1000, which is the same as the user running bitbake. 9 | This may be due to host contamination [host-user-contaminated] 10 | 11 | Signed-off-by: Marouen Ghodhbane 12 | --- 13 | lib/libxdp/Makefile | 2 +- 14 | 1 file changed, 1 insertion(+), 1 deletion(-) 15 | 16 | diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile 17 | index 6d0f1f5..eefa457 100644 18 | --- a/lib/libxdp/Makefile 19 | +++ b/lib/libxdp/Makefile 20 | @@ -55,7 +55,7 @@ install: all 21 | $(Q)install -d -m 0755 $(DESTDIR)$(LIBDIR)/pkgconfig 22 | $(Q)install -m 0644 $(LIB_HEADERS) $(DESTDIR)$(HDRDIR)/ 23 | $(Q)install -m 0644 $(PC_FILE) $(DESTDIR)$(LIBDIR)/pkgconfig/ 24 | - $(Q)cp -fpR $(SHARED_LIBS) $(STATIC_LIBS) $(DESTDIR)$(LIBDIR) 25 | + $(Q)cp -fR $(SHARED_LIBS) $(STATIC_LIBS) $(DESTDIR)$(LIBDIR) 26 | ifndef SKIP_XDP_OBJS_BUILD 27 | $(Q)install -d -m 0755 $(DESTDIR)$(BPF_OBJECT_DIR) 28 | $(Q)install -m 0644 $(XDP_OBJS) $(DESTDIR)$(BPF_OBJECT_DIR) 29 | -------------------------------------------------------------------------------- /recipes-support/libxdp/libxdp_1.4.1.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Library for XDP handling" 2 | DESCRIPTION = "Lbrary for working with the eXpress Data Path facility of the Linux kernel" 3 | HOMEPAGE = "https://github.com/xdp-project/xdp-tools" 4 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & BSD-2-Clause" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=9ee53f8d06bbdb4c11b1557ecc4f8cd5 \ 6 | file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd \ 7 | file://LICENSES/GPL-2.0;md5=994331978b428511800bfbd17eea3001 \ 8 | file://LICENSES/BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927" 9 | 10 | DEPENDS += " libbpf clang-native" 11 | 12 | SRC_URI = "git://github.com/xdp-project/xdp-tools.git;branch=main;protocol=https \ 13 | file://0001-configure-properly-quote-the-toolchain-tools-variabl.patch \ 14 | file://0002-libxdp-add-option-to-skip-building-xdp-bpf-objects-w.patch \ 15 | file://0003-libxdp-do-not-preserve-ownership-when-copying-librar.patch \ 16 | " 17 | 18 | SRCREV = "2236e8d286701f275881da77bf1eef43d53d370f" 19 | 20 | S = "${WORKDIR}/git" 21 | 22 | inherit pkgconfig 23 | 24 | EXTRA_OEMAKE += "PREFIX=${prefix} DESTDIR=${D} SKIP_XDP_OBJS_BUILD=1" 25 | 26 | do_compile () { 27 | oe_runmake libxdp 28 | } 29 | 30 | do_install () { 31 | oe_runmake libxdp_install 32 | } 33 | -------------------------------------------------------------------------------- /recipes-support/opencv-demo/files/app.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020-2022 NXP 3 | # 4 | # Author: Sri Janani Ganeshan 5 | # 6 | # SPDX-License-Identifier: MIT 7 | # 8 | 9 | #!/usr/bin/env python 10 | 11 | from importlib import import_module 12 | import os 13 | from flask import Flask, render_template, Response 14 | from ip import fun 15 | 16 | app = Flask(__name__) 17 | 18 | 19 | @app.route('/') 20 | def index(): 21 | """Video streaming home page.""" 22 | return render_template('index.html') 23 | 24 | @app.route('/video_feed') 25 | def video_feed(): 26 | print ("hello") 27 | """Video streaming route. Put this in the src attribute of an img tag.""" 28 | return Response(fun(),mimetype='multipart/x-mixed-replace; boundary=frame') 29 | 30 | if __name__ == '__main__': 31 | app.run(host='172.15.0.5',port=5000, threaded=True) 32 | -------------------------------------------------------------------------------- /recipes-support/opencv-demo/files/ip.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020-2022 NXP 3 | # 4 | # Author: Sri Janani Ganeshan 5 | # 6 | # SPDX-License-Identifier: MIT 7 | # 8 | 9 | import cv2 10 | import time 11 | import os 12 | def fun(): 13 | width=1280 14 | height=720 15 | cap =cv2.VideoCapture(0) 16 | cap.set(cv2.CAP_PROP_FPS, 30) 17 | x=1 18 | start_time = time.time() 19 | count=0 20 | while(True): 21 | 22 | ret, frame = cap.read() 23 | count+=1 24 | if (time.time() - start_time) > x: 25 | F = count/(time.time() - start_time) 26 | print("FPS:",F) 27 | count = 0 28 | start_time=time.time() 29 | os.system("echo {} > /etc/tsn/qbv/file.txt".format(F)) 30 | 31 | ret, buffer = cv2.imencode('.jpg',frame) 32 | frame = buffer.tobytes() 33 | yield (b'--frame\r\n' 34 | b'Content-Type:image/jpeg\r\n\r\n' + frame + b'\r\n') 35 | -------------------------------------------------------------------------------- /recipes-support/opencv-demo/opencv-demo.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "This is one demo to use OpenCV in NXP platforms." 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 4 | 5 | SRC_URI = "file://app.py \ 6 | file://ip.py \ 7 | " 8 | 9 | S = "${WORKDIR}" 10 | 11 | do_install() { 12 | install -d -m 0755 ${D}/usr/demo 13 | install -p ${S}/*.py ${D}/usr/demo 14 | } 15 | 16 | FILES:${PN} += " \ 17 | /usr/demo/app.py \ 18 | /usr/demo/ip.py \ 19 | " 20 | -------------------------------------------------------------------------------- /wic/qoriq-ls1012a.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create QSPI flash image with a boot partition 2 | # long-description: 3 | # 4 | # The disk layout used is: 5 | # ------ --------- --------- --------- 6 | # | PBL | FIP | PFE | ITB | 7 | # ------ --------- --------- ---- ---- 8 | # ^ ^ ^ ^ 9 | # | | | | 10 | # 0 1MiB 10MiB 16MiB 11 | # 12 | 13 | part PBL --source rawcopy --sourceparams="file=${PBL_FILE}" --ondisk flash --no-table --align ${FLASH_PBL_OFFSET} 14 | 15 | part FIP --source rawcopy --sourceparams="file=${FIP_FILE}" --ondisk flash --no-table --align ${FLASH_FIP_OFFSET} 16 | 17 | part PFE --source rawcopy --sourceparams="file=${PFE_FILE}" --ondisk flash --no-table --align ${FLASH_PFE_OFFSET} 18 | 19 | part ITB --source rawcopy --sourceparams="file=${ITB_FILE}" --ondisk flash --no-table --align ${FLASH_KERNELITB_OFFSET} 20 | -------------------------------------------------------------------------------- /wic/qoriq-ls1021aiot.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using 4 | # dd for use with Layerscape ls1021aiot board. 5 | 6 | # The disk layout used is: 7 | # ------- ----------- ---------- ------------------- 8 | # | | UBOOT | QE | boot + rootfs | 9 | # ------- ----------- ---------- ------------------- 10 | # ^ ^ ^ ^ 11 | # | | | | 12 | # 0 4kiB 9MiB 16MiB 13 | # 14 | 15 | part UBOOT --source rawcopy --sourceparams="file=${UBOOT_FILE}" --ondisk mmcblk0 --no-table --align 4 16 | 17 | part QE --source rawcopy --sourceparams="file=${QE_DP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_QE_DP_FW_OFFSET} 18 | 19 | part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=ext4 --label boot --active --align 16384 --size 128 20 | 21 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs --align 4096 22 | 23 | bootloader --ptable msdos -------------------------------------------------------------------------------- /wic/qoriq-ls1028a.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using 4 | # dd for use with Layerscape ls1028a family. 5 | # 6 | # - ----- --------- --------- ------------------- 7 | # | | PBL | FIP | DP | boot + rootfs | 8 | # - ----- --------- --------- ------------------- 9 | # ^ ^ ^ ^ ^ 10 | # | | | | | 11 | # 0 4kiB 1MiB 9.24MiB 16MiB 12 | # 13 | 14 | 15 | # offset(1K) number in beginning 64MB space of SD/eMMC card on all QorIQ platforms 16 | 17 | part PBL --source rawcopy --sourceparams="file=${PBL_FILE}" --ondisk mmcblk0 --no-table --align ${SD_PBL_OFFSET} 18 | 19 | part FIP --source rawcopy --sourceparams="file=${FIP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_FIP_OFFSET} 20 | 21 | part QEDP --source rawcopy --sourceparams="file=${QE_DP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_QE_DP_FW_OFFSET} 22 | 23 | part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=ext4 --label boot --active --align 16384 --size 128 24 | 25 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs --align 4096 26 | 27 | bootloader --ptable msdos 28 | -------------------------------------------------------------------------------- /wic/qoriq-ls102xa.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using 4 | # dd for use with Layerscape ls102xa family. 5 | 6 | # The disk layout used is: 7 | # ------- ----------- ---------- -------------------- 8 | # | RCW | UBOOT | QE | boot + rootfs | 9 | # ------- ----------- ---------- -------------------- 10 | # ^ ^ ^ ^ ^ 11 | # | | | | | 12 | # 0 4kiB 1MiB 9MiB 16MiB 13 | # 14 | 15 | part RCW --source rawcopy --sourceparams="file=${RCW_FILE}" --ondisk mmcblk0 --no-table --align 0 16 | 17 | part UBOOT --source rawcopy --sourceparams="file=${UBOOT_FILE}" --ondisk mmcblk0 --no-table --align 4 18 | 19 | part QE --source rawcopy --sourceparams="file=${QE_DP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_QE_DP_FW_OFFSET} 20 | 21 | part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=ext4 --label boot --active --align 16384 --size 128 22 | 23 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs --align 4096 24 | 25 | bootloader --ptable msdos -------------------------------------------------------------------------------- /wic/qoriq-ls104xa.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using 4 | # dd for use with Layerscape ls1043a/ls1046a family. 5 | # 6 | # The disk layout used is: 7 | # - ----- --------- -------------- ------------------------------ 8 | # | | PBL | FIP | FMAN-UCODE | NET PHY | boot + rootfs | 9 | # - ----- --------- -------------- ------------------------------ 10 | # ^ ^ ^ ^ ^ ^ 11 | # | | | | | | 12 | # 0 4kiB 1MiB 9MiB 9.5MiB 16MiB 13 | # 14 | 15 | part PBL --source rawcopy --sourceparams="file=${PBL_FILE}" --ondisk mmcblk0 --no-table --align ${SD_PBL_OFFSET} 16 | 17 | part FIP --source rawcopy --sourceparams="file=${FIP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_FIP_OFFSET} 18 | 19 | part FMANUCODER --source rawcopy --sourceparams="file=${FMAN_UCODE_FILE}" --ondisk mmcblk0 --no-table --align ${SD_FMAN_UCODE_OFFSET} 20 | 21 | part ETH --source rawcopy --sourceparams="file=${ETH_PHY_FILE}" --ondisk mmcblk0 --no-table --align ${SD_ETH_PHY_FW_OFFSET} 22 | 23 | part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=ext4 --label boot --active --align 16384 --size 128 24 | 25 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs --align 4096 26 | 27 | bootloader --ptable msdos 28 | -------------------------------------------------------------------------------- /wic/qoriq-lx2160a.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using 4 | # dd for use with Layerscape lx2160a family. 5 | # 6 | # The disk layout used is: 7 | # - ----- -------- ----------- --- ----- --------- -------- -------- ----------------- 8 | # | | PBL | FIP | DDR PHY | ETH PHY | MCFW | DPL | DPC | boot + rootfs | 9 | # - ----- -------- ----------- -- ------ --------- -------- -------- ----------------- 10 | # ^ ^ ^ ^ ^ ^ ^ ^ ^ 11 | # | | | | | | | | | 12 | # 0 4kiB 1MiB 8MiB 9.5MiB 10MiB 13MiB 14MiB 16MiB 13 | # 14 | 15 | # offset(1K) number in beginning 64MB space of SD/eMMC card on all QorIQ platforms 16 | 17 | part PBL --source rawcopy --sourceparams="file=${PBL_FILE}" --ondisk mmcblk0 --no-table --align ${SD_PBL_OFFSET} 18 | 19 | part FIP --source rawcopy --sourceparams="file=${FIP_FILE}" --ondisk mmcblk0 --no-table --align ${SD_FIP_OFFSET} 20 | 21 | part DDR --source rawcopy --sourceparams="file=${DDR_PHY_FILE}" --ondisk mmcblk0 --no-table --align ${SD_DDR_PHY_FW_OFFSET} 22 | 23 | part ETH --source rawcopy --sourceparams="file=${ETH_PHY_FILE}" --ondisk mmcblk0 --no-table --align ${SD_ETH_PHY_FW_OFFSET} 24 | 25 | part MCFW --source rawcopy --sourceparams="file=${MCFW_FILE}" --ondisk mmcblk0 --no-table --align ${SD_DPAA2_MC_FW_OFFSET} 26 | 27 | part DPL --source rawcopy --sourceparams="file=${DPL_FILE}" --ondisk mmcblk0 --no-table --align ${SD_DPAA2_MC_DPL_OFFSET} 28 | 29 | part DPC --source rawcopy --sourceparams="file=${DPC_FILE}" --ondisk mmcblk0 --no-table --align ${SD_DPAA2_MC_DPC_OFFSET} 30 | 31 | part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=ext4 --label boot --active --align 16384 --size 128 32 | 33 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs --align 4096 34 | 35 | bootloader --ptable msdos --------------------------------------------------------------------------------