Add SDMM3 support in the device tree for NX module

Hi,

I take the link as reference to add SD support on our carrier board. And add the node as below into the dts file:

sdmmc3: sdmmc3@3440000 {
	mmc-ocr-mask = <0x0>;
	cd-inverted;
	cd-gpios = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 4) 0>;
	nvidia,cd-wakeup-capable;
	mmc-ocr-mask = <0>;
	cd-inverted;
	vmmc-supply = <&p3668_vdd_sdmmc3_sw>;
	status = "okay";
};

But when comple the device tree, it says:

ERROR (duplicate_property_names): Duplicate property name mmc-ocr-mask in /sdmmc3@3400000
ERROR (duplicate_property_names): Duplicate property name cd-inverted in /sdmmc3@3400000

But, the official ‘sdhci_sd’ node has similar configuration:

sdhci_sd: sdhci@3400000 {
	mmc-ocr-mask = <0x0>;
	cd-inverted;
	cd-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(G, 7) 0>;
	nvidia,cd-wakeup-capable;
	mmc-ocr-mask = <0>;
	cd-inverted;
	vmmc-supply = <&p3668_vdd_sdmmc1_sw>;
	status = "okay";
};

But it won’t throw errors, why?

Thanks.

How do you build your dtb here?

I bypassed the kernel build and run as below:

make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig
make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j2 dtbs

So your kernel build (dtb) will by default fail?

If do no changes to the kernel and device tree and run
make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j2
There will be no errors.

The errors occurred after adding the SDMMC3 to the device tree, but I added “dtbs” after ‘-j2’ switch intend to reduce the compiling time.

  1. Will the bypass of the kernel build caused the problem? That is, I shouldn’t add “dtbs”?
  2. Or there some errors in my device tree modifications? Note: I also included “-pinmux.dtsi”, “-padvoltage-default.dtsi” and “-gpio-default.dtst” in the “xxxx-all-p3509-0000.dts” file.

Thanks.

What are you exactly adding? I mean I don’t understand what is " The errors occurred after adding the SDMMC3 ". What do you mean adding “sdmmc3”? Why not you just modify the existing nodes?

My module is a production version of NX module. And we designed a SD Card interface routed to SDMMC3. So, we add the above node in the 'tegra194-p3668-common.dtsi‘. What’s the correct way to add it?

Thanks.

Try to add just “sdmmc3@3440000” but not “sdmmc3: sdmmc3@3440000”

Also, if that duplicated error still happened, then just fix this manually. Really no need spend too much time on this minor error.

If the GPIO used for CD pin is not a wake-up-capable pin (the ‘Wake’ column is empty in the excel pinmux tool), is the ‘nvidia,cd-wakeup-capable’ still needed or not? That is, if the ‘wake-up-capable’ property in the device tree is related with the hardware wake up function?

Thanks.