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.

AM335x Pins left undescribed in the EVM device tree

I'm looking at the TI SDK7 EVM device tree (am335x-evm.dts) and I've found a few pins which simply are not configured but are indeed used in the schematics:

For example, ball C14 (EMU0/GPIO3_7) is used for JTAG_EMU0 and ball B14 (EMU1/GPIO3_8) is used for JTAG_EMU1. Both of these have 2 mode options but as far as I can tell in the device tree, neither are selected.

From the data manual:

The reset mode for EMU0 is 0 (EMU), is this the reason why the pin mux mode was never explicitly set in the device tree?

The same question, and assumed answer, applies to:
C14 - EMU0/GPIO3_7
B14 - EMU1/GPIO3_8
F16 - USB0_DRVVBUS/GPIO0_18
F15 - USB1_DRVVBUS/GPIO3_13

  • If you leave a pin out of the device tree altogether then, yes, it will retain its hardware defaults (assuming it hasn't already been touched by bootloader code).  Personally, I prefer to explicitly configure them regardless of hardware default.

  • Brad,

    Thanks for that input it looks like USB has some presence in the device tree right now, jtag has none.

    I'm thinking I would need two new nodes in the pin mux section, one will be referenced as a phandle in usb@47401800 and the other would be a phandle for usb@47401000. That will account for the USBX_DRVVBUS pins.

    For Jtag, I'm feeling like what would make the most sense is to update the .dtsi file and add a jtag entry here, then place the reference in the .dts file and add the pin muxing for EMUX.

    Would that be the approved course of action or is it best practice to never touch the dtsi file?

  • Mike Worster said:
    I'm thinking I would need two new nodes in the pin mux section, one will be referenced as a phandle in usb@47401800 and the other would be a phandle for usb@47401000. That will account for the USBX_DRVVBUS pins

    The only LVCMOS pins that even have a corresponding conf register are the DRVVBUS pins. The other USB pins (DP, DM, etc.) are part of the PHY and so they are "special" analog pins that don't support pin muxing.  So it's not even possible to add those to the pin mux table.

    Mike Worster said:
    For Jtag, I'm feeling like what would make the most sense is to update the .dtsi file and add a jtag entry here, then place the reference in the .dts file and add the pin muxing for EMUX.

    The standard JTAG pins like TMS, TDI, TDO, etc. are not muxed and have no corresponding conf register (similar to USB).  I don't think it's worthwhile to create a JTAG section just for EMU0 and EMU1, especially since those are TI-proprietary JTAG signals that are not required for normal JTAG.  Those pins default to EMU0 and EMU1 muxing, so it seems like the only reason to call them out is if you're making them GPIO.