diff --git a/.gitmodules b/.gitmodules index bf7b77c..095cb11 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,8 +16,8 @@ branch = dunfell [submodule "meta-netmodule-bsp"] path = meta-netmodule-bsp - url = git@gitlab.com:netmodule/yoctoproject/meta-netmodule-bsp.git - branch = develop + url = git@gitlab.com:netmodule/procv_v2x/meta-netmodule-bsp.git + branch = develop-procv22 [submodule "meta-netmodule-distro"] path = meta-netmodule-distro url = git@gitlab.com:netmodule/yoctoproject/meta-netmodule-distro.git diff --git a/README.md b/README.md index 8c798f3..83097bf 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,14 @@ git submodule init git submodule update ``` +### Copy PFE firmware +Please make sure that you copy the PFE firmware with the right version meta-netmodule-bsp/recipes-kernel/pfe/pfe_ to meta-netmodule-bsp/recipes-kernel/pfe/pfe/. You need to copy the class and util firmware files. This is necessary because the firmware is currently only available under NDA. + ## Selecting hardware target The hardware target can be selected by sourcing the machine_select script: ``` source machine_select -8 # Selecting NG800 +9 # Selecting ProCV2.2 ``` ## Building an image @@ -51,3 +54,73 @@ It can be build with the following commands: source env.image-ostree bitbake netmodule-linux-image-dev ``` + +## Usage + +### 1000BaseT1 + +The PFE driver comes up automatically. However, it does by default rely on autoneg. This doesn't seem to work with the Göpel Media Converter EasyCON. Therefore, a reset is required. Currently pfe0 shares the reset signal with eth0. That's why the following works: +``` +brginup.sh enable-pfe +ifconfig eth0 down +ifconfig eth0 up +``` +Now the 1000BaseT1 PHY works in default mode. + +### Modem +The modem is disabled by default. However, it is possible to enable it with the following command: +``` +bringup.sh enable-modem +``` + +### Wifi +Enable the Wifi module (make sure you enable the modem first): +``` +bringup.sh enable-wifi +``` + +### ADCs +Read out the SPI ADCs: +``` +bringup.sh read-adc +``` + +### IMU +To enable the IMU you can call enable-imu.sh: +``` +bringup.sh enable-imu.sh +``` + +To communicate with the imu you can use test-imu.sh: +``` +# Read/Write +bringup.sh read-write-imu /dev/spidev1.0 1 2020 +# Read +bringup.sh read-write-imu /dev/spidev1.0 1 +``` + +### Secure Element +To enable the secure elelment call enable-secure-element: +``` +bringup.sh enable-secure-element +``` +There is no helper for the secure element available yet. You can use spidev_test to communicate with it: +``` +spidev_test --help +``` + +### V2X +Enable the V2X and load a firmware (make sure you enable the modem first): +``` +bringup.sh enable-v2x +``` + +### GPIOS +Set gpio: +``` +bringup.sh set-gpio +``` +Get gpio: +``` +bringup.sh get-gpio +``` diff --git a/build/conf/release_revisions.inc b/build/conf/release_revisions.inc index 5ea3818..4a39eb7 100644 --- a/build/conf/release_revisions.inc +++ b/build/conf/release_revisions.inc @@ -1,9 +1,3 @@ -# am335x -SRCREV_pn-linux-netmodule = "f985f690920d0b59996c5596dfe87732d52ba67a" -SRCREV_pn-linux-netmodule-initramfs = "f985f690920d0b59996c5596dfe87732d52ba67a" -# imx8 -SRCREV_pn-linux-netmodule_imx8-nmhw23 = "479b0c65b81a626c9853d02ce25e89a87274708f" -SRCREV_pn-linux-netmodule-initramfs_imx8-nmhw23 = "479b0c65b81a626c9853d02ce25e89a87274708f" # bootloader and similar parts SRCREV_pn-u-boot-imx8-nmhw23 = "5cdce0ed934bd2c536412687fda4fa8d7b8fc2c1" SRCREV_pn-u-boot-am335x-nrhw20-v1 = "3a9ef955c25ef83caa92eebcceeda2252df0ef34" diff --git a/machine_select b/machine_select index afa5c4e..f92a775 100755 --- a/machine_select +++ b/machine_select @@ -14,9 +14,10 @@ HW23="hw23 - VCU2" HW24="hw24 - NB800 facelift" HW25="hw25 - TC Router" HW26="hw26 - NG800" +ProCV2X="ProCV2X - ZF ProCV2X" set -a -select opt in "$HW16" "$HW18" "$HW20" "$HW21" "$HW23" "$HW24" "$HW25" "$HW26" +select opt in "$HW16" "$HW18" "$HW20" "$HW21" "$HW23" "$HW24" "$HW25" "$HW26" "$ProCV2X" do case $opt in "$HW16") @@ -51,6 +52,10 @@ do MACHINE=am335x-hw26 break ;; + "$ProCV2X") + MACHINE=s32g274a-procv22 + break + ;; *) echo "invalid option $opt";; esac done diff --git a/meta-netmodule-bsp b/meta-netmodule-bsp index d0fc60e..30851cd 160000 --- a/meta-netmodule-bsp +++ b/meta-netmodule-bsp @@ -1 +1 @@ -Subproject commit d0fc60e97ab51e14fb9784f511617d54c323b7c4 +Subproject commit 30851cd5459d328e8f6d705d39788a5cefb18b69