diff --git a/README b/README index 540aa85f..79a57ff8 100644 --- a/README +++ b/README @@ -8,6 +8,9 @@ Boards supported: * Jetson AGX Xavier development kit (Linux4Tegra R32.1, JetPack 4.2) * Jetson Nano development kit (Linux4Tegra R32.1, JetPack 4.2) +Also supported: +* Jetson-TX2i module (Linux4Tegra R32.1, JetPack 4.2) + This layer depends on: URI: git://git.openembedded.org/openembedded-core branch: master diff --git a/conf/machine/jetson-tx2i.conf b/conf/machine/jetson-tx2i.conf new file mode 100644 index 00000000..b6ed707d --- /dev/null +++ b/conf/machine/jetson-tx2i.conf @@ -0,0 +1,24 @@ +#@TYPE: Machine +#@NAME: Nvidia Jetson TX2i +#@DESCRIPTION: Nvidia Jetson TX2i dev board + +TEGRA_BOARDID = "3489" + +require conf/machine/include/tegra186.inc + +KERNEL_DEVICETREE ?= "_ddot_/_ddot_/_ddot_/_ddot_/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-1000-a00-00-ucm1.dtb" +KERNEL_ARGS ?= "console=ttyS0,115200 console=tty0 OS=l4t fbcon=map:0" + +MACHINE_FEATURES += "ext2 ext3 vfat" + +UBOOT_MACHINE = "p2771-0000-500_defconfig" + +EMMC_SIZE ?= "31276924928" +EMMC_DEVSECT_SIZE ?= "512" +BOOTPART_SIZE ?= "8388608" +BOOTPART_LIMIT ?= "10485760" +ROOTFSPART_SIZE ?= "30064771072" +ODMDATA ?= "0x1090000" +EMMC_BCT ?= "P3489_A00_8GB_Samsung_8GB_lpddr4_204Mhz_P134_A02_ECC_en_l4t.cfg" +NVIDIA_BOARD ?= "t186ref" +PARTITION_LAYOUT_TEMPLATE ?= "flash_l4t_t186.xml" diff --git a/recipes-bsp/tegra-binaries/files/jetson-tx2i/flashvars b/recipes-bsp/tegra-binaries/files/jetson-tx2i/flashvars new file mode 100644 index 00000000..b23e6b16 --- /dev/null +++ b/recipes-bsp/tegra-binaries/files/jetson-tx2i/flashvars @@ -0,0 +1,11 @@ +FLASHVARS="BPFDTB_FILE PINMUX_CONFIG PMIC_CONFIG PMC_CONFIG PROD_CONFIG BOOTROM_CONFIG MISC_CONFIG SCR_CONFIG SCR_COLD_BOOT_CONFIG DEV_PARAMS" +BPFDTB_FILE=tegra186-a02-bpmp-storm-p3489-@BPFDTBREV@-00-ta795sa-ucm1.dtb +PINMUX_CONFIG=tegra186-mb1-bct-pinmux-quill-p3489-1000-@BOARDREV@.cfg +PMIC_CONFIG=tegra186-mb1-bct-pmic-quill-p3489-1000-@PMICREV@.cfg +PMC_CONFIG=tegra186-mb1-bct-pad-quill-p3489-1000-@BOARDREV@.cfg +PROD_CONFIG=tegra186-mb1-bct-prod-storm-p3489-1000-@BOARDREV@.cfg +BOOTROM_CONFIG=tegra186-mb1-bct-bootrom-quill-p3489-1000-@BOARDREV@.cfg +MISC_CONFIG=tegra186-mb1-bct-misc-si-l4t.cfg +SCR_CONFIG=minimal_scr.cfg +SCR_COLD_BOOT_CONFIG=mobile_scr.cfg +DEV_PARAMS=emmc.cfg diff --git a/recipes-bsp/tegra-binaries/files/tegra186-flash-helper.sh b/recipes-bsp/tegra-binaries/files/tegra186-flash-helper.sh index e42845ca..0694f723 100644 --- a/recipes-bsp/tegra-binaries/files/tegra186-flash-helper.sh +++ b/recipes-bsp/tegra-binaries/files/tegra186-flash-helper.sh @@ -32,37 +32,65 @@ if [ -z "$FLASHVARS" ]; then exit 1 fi -# The following defaults are for the B00 revision SOM -# which shipped with at least some Jetson TX2 dev kits. -# BOARDREV is used for all substitutions, except for -# BPFDTB and PMIC revisions, which differ between B00 -# and B01 revisions. See p2771-0000.conf.common in -# the L4T kit. -BOARDREV="c03" -BPFDTBREV="c01" -PMICREV="c03" +# Temp file for storing cvm.bin in, if we need to query the board for its +# attributes +cvm_bin=$(mktemp cvm.bin.XXXXX) + +if [ -n "$BOARDID" ]; then + boardid="$BOARDID" +elif python "$flashapp" --chip 0x18 --applet mb1_recovery_prod.bin --cmd "dump eeprom boardinfo ${cvm_bin}"; then + boardid=`chkbdinfo -i ${cvm_bin} | tr -d '[:space:]'` +else + echo "ERR: could not retrieve EEPROM board information" >&2 + exit 1 +fi if [ -n "$FAB" ]; then boardrev="$FAB" -elif python "$flashapp" --chip 0x18 --applet mb1_recovery_prod.bin --cmd "dump eeprom boardinfo cvm.bin"; then - boardrev=`chkbdinfo -f cvm.bin` +elif [ -r ${cvm_bin} ] || python "$flashapp" --chip 0x18 --applet mb1_recovery_prod.bin --cmd "dump eeprom boardinfo ${cvm_bin}"; then + boardrev=`chkbdinfo -f ${cvm_bin}` boardrev=`echo $boardrev | tr [a-z] [A-Z]` else echo "ERR: could not retrieve EEPROM board information" >&2 exit 1 fi -case $boardrev in - B0[1-9]|[C-Z]??) - BPFDTBREV="c04" - PMICREV="c04" - ;; - B00) - ;; - *) - echo "ERR: unsupported board revision: $boardrev" >&2 - exit 1 - ;; -esac + +[ -f ${cvm_bin} ] && rm -f ${cvm_bin} + +# The following defaults are drawn from +# p2771-0000.conf.common in the L4T kit. +if [ "$boardid" = "3310" ]; then + # The B00 revision SOM which shipped with at least some + # Jetson TX2 dev kits. + # BOARDREV is used for all substitutions, except for + # BPFDTB and PMIC revisions, which differ between B00 + # and B01 revisions. + BOARDREV="c03" + BPFDTBREV="c01" + PMICREV="c03" + case $boardrev in + B0[1-9]|[C-Z]??) + BPFDTBREV="c04" + PMICREV="c04" + ;; + B00) + ;; + *) + echo "ERR: unsupported board revision: $boardrev" >&2 + exit 1 + ;; + esac +elif [ "$boardid" = "3489" ]; then + BOARDREV="a00" + PMICREV="a00" + BPFDTBREV="a00"; + if [ "${boardrev}" < "300" ]; then + BPFDTBREV="evt" + fi +else + echo "ERR: unsupported board id: $boardid" >&2 + exit 1 +fi for var in $FLASHVARS; do eval pat=$`echo $var`