Build/Flash steps
I started by creating a copy of Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/lanai/kernel-dts/tegra186-p3636-0001-p3509-0000-a01.dts
cp Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/lanai/kernel-dts/tegra186-p3636-0001-p3509-0000-a01.dts \
Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/lanai/kernel-dts/tesseract-devicetree.dts
I added my file to the Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/lanai/kernel-dts/Makefile
dtb-$(CONFIG_ARCH_TEGRA_18x_SOC) += tesseract-devicetree.dtb
I built the device tree like
make ARCH=arm64 O="$BUILD_DIR" -j"$(nproc)" dtbs
and the kernel like
make ARCH=arm64 O="$BUILD_DIR" -j"$(nproc)" Image
I copy the new device tree (build/arch/arm64/boot/dts/tesseract-devicetree.dtb) to the TX2 NX and make the changes in /boot/extlinux/extlinux.conf to use it:
LABEL primary
MENU LABEL primary kernel
LINUX /home/ubuntu/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2
FDT /home/ubuntu/tesseract-devicetree.dtb
I copy and overwrite the Image to the TX2 NX.
I reboot the device.
Device tree altering steps
I kept the same "include"s in the new DTSI file (tesseract-devicetree.dts) except the:
#include "common/tegra186-camera-lanai-rbpcv2-imx219.dtsi"
/* plugin manager */
#include "common/tegra186-super-module-e2614-p3509-0000-a00.dtsi"
and I included our sensor file (which doesn’t have any sdhci changes).
I started from default for sdhci node and kept adding/changing/deleting properties. Here are the changes that were used for the generated device tree snippet that I shared in the first comment:
// WiFi/Bluetooth module
sdhci@3440000 {
id = <0>;
nvidia,is-sdio;
fixed-clock-freq = <25500000 25500000 24000000 47000000 24000000 47000000 94000000 204000000 0 0 0>;
max-clk-limit = <204000000>;
// ddr-clk-limit = <48000000>;
uhs-mask = <0x60>;
// ddr-clk-limit = <104000000>;
/delete-property/ ddr-clk-limit;
/delete-property/ iommus;
// enable-sdio-wakeup;
// cap-sdio-irq;
only-1-8-v;
status = "okay";
nvidia,disable-rtpm;
force-non-removable-rescan;
mwifiex: wifi@1 {
compatible = "marvell,sd8997";
reg = <1>;
};
};
Following the Build/Flash steps procedure I can see on the device my changes in this file.
Why your device looks like out of order and missing some properties?
What is it strange about it?