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 Power Down question

Other Parts Discussed in Thread: AM3358, TPS54356

Hello,

I have recently used the AM3358 processor in a design. For the most part, we have been able to get everything working properly, which includes completely booting the system. However, there are a couple of issues that we have found that require addressing. First of all, the ARM does not perform a soft power-down when that action is requested by the PMIC (TPS65217C) through the PB IN push-button input. The interrupt output of the PMIC has been verified to go low, but when pin C6 is monitored, the PMIC_PWR_EN pin never goes low to turn off the system. Additional possible related issues are that halt and poweroff seem to work fine (poweroff reboots instead of actually powering down) from the Linux terminal, while shutdown and reboot hang and output an error. The second issue that we have encountered is the lack of response on one of the GPIO pins on the ARM. Through both u-boot and once in Linux, we have been successful in toggling the state of several pins. However, one of the GPIO pins (pin B12, which we have as pin 114) controls the enable input to a voltage regulator and will not respond to these commands. The exact same design is used elsewhere on the board with a voltage regulator that can be controlled through pin T7 (pin 67), so I don't believe the issue should not be with the hardware interface. I can provide schematics for hardware interfaces if necessary. Any help regarding these matters would be greatly appreciated.

Thanks 

  • Hi Tony,

    I have several questions: What Linux version you are using? where is the PMIC INT signal connected?

    About pin B12, please check if the pinmux for this pin isn't changed by software somewhere.

  • The Linux version is Ubuntu 14.04 LTS.

    The PMIC INT signal is an output from pin 45 of the TPS65217C PMIC to pin B18 of the AM3358 with an external 100 kOhm pull-up resistor to 3.3V, which should be identical in configuration to the Beagle Bone Black design.

    For pin B12, I  believe we have been able to verify that the pinmux has not been changed in software. By using the same process which has worked for an assortment of other pins, we have been unable to get any response from the output of the pin, which has remained low. Originally, we were thinking that the logical pin assignment may have been incorrect, but the method that we have been using to map GPIO pins (32*first number + 1*second number => GPIO3_18 = 32*3+1*18 = 114) has worked for many other GPIO pins. The following is what we have used for setting and changing the value of the pin in question.

    echo 114 > export

    echo "out" > direction (direction set to out)

    echo 1 > value

    cat value (returns "1")

    This same process was done in Linux as well as the u-boot prompt.

    So we are getting verification from software that it thinks the output value has changed, but there is no response from that pin when probed in hardware. I have verified that the via is making contact with the pad (B12) and we are getting the same issue on both boards so I would think the likelihood of a bad solder connection or pulled BGA ball would be quite low.

    For B12, the hardware design has that pin directly connected to pin 7 (ENA) of the TPS54356 3.3V switching regulator. I have used this same design for another TPS54356 regulator on the same board with pin T7 connected directly to pin 7 (ENA), so there doesn't seem to be a hardware issue between the two components.

     

  • Tony Kunkel said:
    The PMIC INT signal is an output from pin 45 of the TPS65217C PMIC to pin B18 of the AM3358 with an external 100 kOhm pull-up resistor to 3.3V, which should be identical in configuration to the Beagle Bone Black design.

    Can you tell what silicon revision is your processor? On silicon revision 1.0 the nNMI signal polarity is inverted (AM335X Errata Advisory 1.0.6).

  • The full part number is AM3358BZCZA100, which indicates that the revision is 2.1

  • OK, this eliminates the Errata then. Is Ubuntu 14.04 LTS the Linux version that you are running on the AM335X board?

  • Ubuntu 14.04 LTS is correct.

    We have tried to use the device tree overlay to change the pins (and have been successful doing so on the BBB), but this is only supported on kernel 3.8, while we are running 3.18.5-bone1 (from armhf.com). Is there a better way to do this (set up all of the pin-muxing and modes) that does not include using the device tree overlay (i.e. before the Linux kernel loads)? Additionally, we have been able to get kernel 3.18.5-bone1 to run on our board, but the BBB program (3.8.13) will not run on our board, returning a kernel panic message. The initial error message says unhandled fault: external abort on non-linefetch (0x1008) at 0xF009C000, which seems to be associated with Ethernet as far as I have seen (cpsw error). We are not currently trying to use Ethernet, but the physical interface is connected directly to a KSZ8895 switch, which could possibly be causing issues. 

    Also, do you have any insights on the reset issue that I brought up in the initial post?

    Thanks,

    Tony

  • Would it possible to try the file system shipped with TI sdk? It might be interesting to see if the reboot and scripts work from the sdk vs. Ubuntu. Apologies if this is already tried and I missed it in the post.

  • I just went to www.armhf.com and made a card for BBB using the 14.04 LTS. The kernel there is a 3.14. Can you post a link to where your kernel came from? Also in your original post you said that poweroff did a reboot. Using the 3.14 kernel I did a sudo poweroff and the board halted. What is odd is the kernel message:

    The system is going down for power off NOW!
    ubuntu@ubuntu-armhf:~$ [  401.255269] reboot: System halted

    For the gpio questions, can you also use devmem2 to read back the gpio registers?

    Steve K.