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.

AM3358: GPIO to enable DDR3 and other changes for BeagleBone Black Rev C based custom board

Part Number: AM3358

Replacing DDR2 on Beagle Bone Black to use DDR3. 

1) Beagle Bone Black is the AM3358?

2) What is required and what files need to be touched to enable DDR3 for u-boot and the kernel Linux 4.4.86-bone19?

3) What is the default u-boot gpio to enable ddr3 and where is it listed?   Are all ddr changes for DDR3 located in u-boot/board/ti/am335x/mux.c?

4) How do I remap the default gpio if the gpio to enable DDR3 has changed for my board?

5) Are all pin mux changes that are needed for Beagle Board Black located in u-boot am335x/mux.c?

6) Where is the device tree located for the Beagle Bone Black and where are pin muxing changes made in the kernel?

7) What pre-uboot changes are required for a custom Beagle Bone Black with the DDR2 changed to a DDR3 being the only change?  Any IPL boot firmware used on the BBB?

  • Hi,

    1) Beagle Bone Black is the AM3358?

    You can have a look at the markings of the chip, but yes, in most cases the SoC is AM3358.

    2) What is required and what files need to be touched to enable DDR3 for u-boot and the kernel Linux 4.4.86-bone19?

    See
    board/ti/am335x/board.c
    files in arch/arm/cpu/armv7/am33xx/

    3) What is the default u-boot gpio to enable ddr3 and where is it listed? Are all ddr changes for DDR3 located in u-boot/board/ti/am335x/mux.c?
    5) Are all pin mux changes that are needed for Beagle Board Black located in u-boot am335x/mux.c?

    Pinmux settings are done in mux.c. Your understanding is correct

    4) How do I remap the default gpio if the gpio to enable DDR3 has changed for my board?


    Which gpio are you referring to? Have a look at BBB schematics: elinux.org/Beagleboard:BeagleBoneBlack

    I don't see a gpio connected to the DDR3 chip.

    6) Where is the device tree located for the Beagle Bone Black and where are pin muxing changes made in the kernel?

    arch/arm/boot/dts/am335x_boneblack.dts
    arch/arm/boot/dts/am335x_bone_common.dtsi

    7) What pre-uboot changes are required for a custom Beagle Bone Black with the DDR2 changed to a DDR3 being the only change? Any IPL boot firmware used on the BBB?

    I don't now of any preboot changes needed. AM3358 device supports both DDR2 and DDR3 devices.

    Best Regards,
    Yordan
  • Where can I find docs for compiling the device tree files and details included in the device teee!

    Second, how do I write the machine board name and magic number for the new board in the eeprom?

    Third, how is the magic number for the eeprom determined for a custom board? Is it simply any number with the correct length or some convention to be followed?
  • Hi,

    Where can I find docs for compiling the device tree files and details included in the device teee!

    Here are the steps to compile the dtb files:
    export ARCH=arm
    export PATH=~/ti-processor-sdk-linux-am335x-evm-03.03.00.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin
    export CROSS_COMPILE=arm-linux-gnueabihf-

    make clean
    make tisdk_am335x-evm_defconfig
    make -j4 ===> this builds all kernel sources including the dtb files (dtb files are located in arch/arm/boot/dts/

    or if you wish to just build the dts, use
    make am335x_boneblack.dtb


    For the eeprom question, you can hardcode the magic number for the new board in u-boot sources, see
    board/ti/common/board_detect.c

    Best Regards,
    Yordan