SPRADC5 January   2024

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1PMIC and Power Custom Changes
  5. 2Pinmux
    1. 2.1 Steps to Configure the PinMux
    2. 2.2 Manual Audit of the Pinmux
  6. 3Custom DDR Related Changes
  7. 4Minimal Kernel DT to Start With
  8. 5Boot Mode Support Summary
    1. 5.1 No-Boot Mode
    2. 5.2 UART Boot Mode
    3. 5.3 OSPI/QSPI/SPI/xSPI/Serial NAND
  9. 6Commonly Encountered Issues During Custom Board Bring Up

Steps to Configure the PinMux

  1. Go to https://dev.ti.com/sysconfig/?fromPinmux=true#/start.
  2. In the “Start a new Design” Pick an existing design that matches your part number. For example, J721E_DRA829_TDA4VM_AM752x.

    Keep the “Part” tab default and “Package” ALF. Click “Start” button as shown in the screenshot below:

    GUID-428F36A0-65AF-4E05-9863-7954B1EB3C75-low.png
  3. Choose the peripheral by entering the corresponding name in the “Type Filter Text” (left top of the page). For example, GPIO and Click “+” sign. This adds a module on the center.
    GUID-20230827-SS0I-W1ZK-ST0W-XKMMDNC227M6-low.png
  4. MyGPIO1 has some defaults. Choose the exact module instance in the “Use peripheral” menu.By default it will be ANY. Select the appropriate instance using the drop down menu. For this case, GPIO0 is used.
    GUID-20230827-SS0I-VT3X-V24N-KJQ0JK1KFM31-low.png
  5. With this, we are done with module level selection. Now we just need to pick the ball name that maps to the one present in the board schematics. This can be accomplished by choosing the right ball name in the “Pins” drop down menu. Based on schematics pick appropriate “Pull Up/Down” from the drop down menu. For information on how to pick the pin name EXTINTn, see the Manual audit of the pinmux details below.
    GUID-20230827-SS0I-ZJSD-VFLK-5QKC9CD7KGFS-low.png
  6. From the “Generated Files” section, based on the choice of OS, download one of these files: - Linux: devicetree.dtsi: Just need to copy paste the node as is under the right parent pinmux node (see below for details) - PDK(RTOS): J721E_pinmux.h/ J721E_pinmux.c.
    GUID-20230827-SS0I-B3NG-NX4V-SLWWWWRJWB0F-low.png
    1. For example, Linux: devicetree.dtsi.

      main gpio0 was chosen, hence, the pinmux node for the example mygpio1_pins_default should come under main_pmx0 node in arch/arm64/boot/dts/ti/j721-common-proc-board.dts file.

    &main_pmx0 {
    pinctrl-single,pins = < J721E_IOPAD(0x0, PIN_INPUT, 7) /* (AC18) EXTINTn.GPIO0_0 */ >;
    };
    };

The same can be followed with u-boot device tree. The very same example arch/arm/dts/j721-common-proc-board.dts file.