Modprobe qspi_mtd can't find node /dev/mtd on Orin NX


Run JP5.2.1 on Orin NX, when modprobe qspi_mtd module, there’s no qspi_mtd found.
such as “qspi_mtd spi MX25U51279G”

while I found t234-common-cvm/tegra234-cvm-p3767.dtsi dts file already includes such device node.

/* QSPI flash MX25U51279 is controlled by qspi0 */
spi@3270000 {
    spi-max-frequency = <136000000>;
    status = "okay"
    prod-settings {
        #prod-cells = <3>;
        prod {
            prod = <0x04 0x000000ff 0x10>;
    /* QSPI NOR */
    spiflash@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "MX25U51279G";
        reg = <0>;
        spi-max-frequency = <136000000>;
        partition@0 {
            label = "Whole_flash0";
            reg = <0x00000000 0x4000000>;   /* size of QSPI-NOR 64MB == 512Mb */
        controller-data {
            nvidia,x1-len-limit = <16>;
            nvidia,x1-bus-speed = <136000000>; /* In Mhz */
            nvidia,x1-dymmy-cycle = <8>;
            nvidia,x4-bus-speed = <136000000>;
            nvidia,x4-dymmy-cycle = <8>;
            nvidia,ctrl-bus-clk-ratio = <1>;


It seems UEFI code have removed this node by default:

FloorSweepDtb (Dtb);^M
if (!PcdGetBool (PcdAllowOsAccessQspi)) {^M
RemoveQspiNodes (Dtb);^M

If we want to OS access Qspi, how to enable this? Thanks.


Not possible to access it anymore. We’ve removed the permission in kernel due to some security update.

Hi Wayne

Could you please share more comments about your said " due to some security update"? Thanks.
I found in rcmboot mode, kernel can access QSPI flash. it seems to be CBB permission restriction has been disabled, right?

That could be only accessed by RCM boot.

In brief, we don’t allow user to change files on QSPI anymore. If you want to update something, please follow the official way to update it from UEFI.

Hi Wayne

How to enable RCM boot mode by command? Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.