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/PROCESSOR-SDK-AM335X: PinMux for RGMII in uboot

Genius 5785 points

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

Hello,

I am using AM335x PSDK Linux v2.0.2.11. I want to get RGMII signals from different I/O based on GP-EVM. I don't know how to change PinMux setting for RGMII in uboot even though understand changing dts file in Kernel. What C source or dts file should I change it? Please give me advice.

Regards,
Kazu

  • Hi Kazu,

    the pin muxing in u-boot is defined in <u-boot-src>/board/ti/am335x/mux.c file.

    Regards,
    Yordan
  • Hi Yordan,

    Yordan Kamenov said:
    the pin muxing in u-boot is defined in <u-boot-src>/board/ti/am335x/mux.c file.

    Thank you for your quick reply. I thought that mux.c is not compiled because mux.o is not found. But I can see some object files (board.o etc) except mux.o after executing make u-boot. Could you tell me the reason?

    Regards,
    Kazu

  • Hi Kazu,

    that is strange. When I compile U-boot with command:

    make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm am335x_evm_config all

    (the build goes to am335x_evm directory) I have:

    $ find . -name mux.o
    ./am335x_evm/arch/arm/cpu/armv7/am33xx/mux.o
    ./am335x_evm/spl/arch/arm/cpu/armv7/am33xx/mux.o
    ./am335x_evm/spl/board/ti/am335x/mux.o

    Can you check again?

    Regards,
    Yordan
  • Hi Yordan,

    Thank you for checking.

    Yordan Kamenov said:

    $ find . -name mux.o
    ./am335x_evm/arch/arm/cpu/armv7/am33xx/mux.o
    ./am335x_evm/spl/arch/arm/cpu/armv7/am33xx/mux.o
    ./am335x_evm/spl/board/ti/am335x/mux.o

      Can you check again?

    I can see the same files as those. I understood that mux.o is not in u-boot/board/ti/am335x. After mux.o is generated from the compiled mux.c, since mux.o is an object of SPL, it moves from u-boot/board/ti/am335x to u-boot/spl/board/ti/am335x, isn't it?

    Regards,
    Kazu

  • Hi Kazu,

    yes, that's correct (you can run make command with '-d' option and see how the target for mux.o is selected), but I am not sure why it is in SPL.

    Regards,
    Yordan
  • Hi Kazu,

    The pinmux (CPSW and other) is done in the 1st stage bootloader (SPL, MLO, u-boot-spl, u-boot-min, x-loader). See the below wiki which explains the concept:

    omappedia.org/.../Bootloader_Project

    Note that the ROM Code can also make some pinmux, see AM335x TRM, ch26 Initialization

    Regards,
    Pavel