This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3358: SD card root partition

Part Number: AM3358

Tool/software: Linux

Hi

I have designed a custom board using AM3358 and my board is booting from SD card. I have not used the SD card detect signal. What are the changes i need to do in my dts file to get the root file system detected.

My root file system is not being detected.

Regards

Mad_hu

  • Hello

    I have observed that In the dts file they have calling &mmc1 and passing vmmc-reg as source of power for that and that vmmc-reg is being generated by the tps pmic IC. in our custom board we are not using the tps PMIc and we dont have I2C communication with the PMIC. Is this creating any problem with the identification of root file system.

    Kindly help me to resolve this at the earliest.


    Regards
    Mad_hu
  • Hi Madhu,

    MADHU GANDEPALLI said:
    I have designed a custom board using AM3358

    Is your custom board based on AM335x TI EVM, SK, BBB or else?

    MADHU GANDEPALLI said:
    my board is booting from SD card

    Which MMC instance you are using for booting, MMC0/0x4806_0000 or MMC1/0x481D_8000?

    MADHU GANDEPALLI said:
    I have not used the SD card detect signal.

    Do you mean pin mmc0_sdcd or mmc1_sdcd?

    Note that AM335x TI EVM is not using mmc0_sdcd signal for card detect, but is using gpio0_6 signal instead. MMC/SD interface use a GPIO as a card detect pin.

    This is described in the below DTS files:

    {PSDK}/board-support/u-boot/arch/arm/dts/am335x-evm.dts

    {PSDK}/board-support/linux-kernel/arch/arm/boot/dts/am335x-evm.dts

    Regards,
    Pavel

  • MADHU GANDEPALLI said:
    I have observed that In the dts file they have calling &mmc1 and passing vmmc-reg as source of power for that and that vmmc-reg is being generated by the tps pmic IC. in our custom board we are not using the tps PMIc and we dont have I2C communication with the PMIC. Is this creating any problem with the identification of root file system.

    I do not think your problem is related to vmmc_reg dts entry, as if that was a problem I would expect that MLO and kernel loading to be also a problem, not just rootfs.

    As you are not using PMIC, I suspect you are supplying 3.3V constantly to VCC/VDD power supply pin of the external SD connector. Make sure you have stable 3.3V during MLO, kernel and rootfs loading.

    Please provide me also the full console boot up log.

    Regards,
    Pavel

  • Hello Pavel

    Sorry for the late reply.

    My custom board based on AM335x TI EVM.
    I have been using MMC0 instance for booting. I neither used the sdcd pin nor the GPIO . so I removed the GPIO config from dts file.

    My problem got solved when I commented the &tps section in thh dts and generated the vmmc_reg and other supplies using independent regulators like vbat.

    Now my processor is booting and aale to detect the file syatem and working.


    Is this OK or am I doing any mistake which may trouble me in future long run??


    Regards
    Mad_hu
  • Hello Pavel

    After generating vmmc_reg indepently using regulator in teh dts file, file system got detected .

    Is this the proper way or am I doing any mistake?

    Regards
    Mad_hu
  • Madhu,

    This looks correct. You can use independent regulator. Check for example how BBB and Pepper boards are made in DTS files.

    Regarding AM335x BBB, check below files:

    linux-kernel/arch/arm/boot/dts/am335x-bone-common.dtsi
    linux-kernel/arch/arm/boot/dts/am335x-boneblack.dts

    &mmc1 {
    vmmc-supply = <&vmmcsd_fixed>;
    };

    vmmcsd_fixed: fixedregulator0 {
    compatible = "regulator-fixed";
    regulator-name = "vmmcsd_fixed";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    };


    Regarding AM335x Pepper board, check below file:

    linux-kernel/arch/arm/boot/dts/am335x-pepper.dts

    &mmc3 {
    /* Wifi & Bluetooth on MMC #3 */
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&wireless_pins>;
    vmmmc-supply = <&v3v3c_reg>;
    bus-width = <4>;
    ti,non-removable;
    dmas = <&edma_xbar 12 0 1
    &edma_xbar 13 0 2>;
    dma-names = "tx", "rx";
    };

    /* Power */
    &vbat {
    regulator-name = "vbat";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
    };

    &v3v3c_reg {
    regulator-name = "v3v3c_reg";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    vin-supply = <&vbat>;
    };


    Regards,
    Pavel
  • Hello Pavel

    Thanks for confirmation.


    Regards
    Mad_hu