rtc_sample bricks our BCM20736S-based board

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

We have bricked two boards by trying to use the external clock.  The first board failure happened when we modified rtc_sample.c to comment out the statements to disable P10, P26 and P27:

//gpio_configurePin(0, 10, GPIO_INPUT_DISABLE, 0);
gpio_configurePin(0, 11, GPIO_INPUT_DISABLE, 0);

gpio_configurePin(0, 12, GPIO_INPUT_DISABLE, 0);

// P26: port 1, pin 10

//

gpio_configurePin(1, 10, GPIO_INPUT_DISABLE, 0);

// P27: port 1, pin 11

//gpio_configurePin(1, 11, GPIO_INPUT_DISABLE, 0);

After this happened, we were unable to recover the board using the usual recovery procedure: reset while holding SDA (pin 22) to VDD. (See Edit Note below)

This failure lead us to suspect a conflict between the crystal and P26 and P27, which apparently exists on the SOC version of the 20736.  So we repeated the experiment (with a second board), this time with rtc_sample.c unmodified.  That resulted in the exact same failure: a terminally bricked board.  Below is the schematic of the crystal circuit.

xtal-pins.pngxtal-network.png

We are able to run rtc_sample.c successfully on the BCM920737TAG after populating the crystal 0OHM resistors.

This was observed with WCED-Smart-SDK Version: WicedSmart_002.001.001.0056.

Now our questions:

1. Is there anything wrong in our crystal circuit?

2. What could cause a board to brick and become unrecoverable?

3. The changelog for SDK 2.2 just mentions "Bug fixes".  Were any rtc-related bug fixes resolved?

EDIT:  We are now able to recover from this.  See this thread for details: BCM20736S recovery problem - SDA high does not enter recovery mode

Thanks,

Javier

0 Likes
1 Solution
Anonymous
Not applicable

Oh, wow, problem solved on our end.

It turns out that our make script for that particular application (rtc_sample) still had the TAG3 setting:

make rtc_sample-BCM920737TAG_Q32 download

That downloads fine, prints the 'Application running' message... but bricks the board. Changing it to

make rtc_sample-BCM920736TAG_Q32 download

makes everything work.

And, emboldened by that success, I decided to try using P26 concurrently with the external crystal.  On our board, that pin drives an LED, so it is easy to experiment with it.  And lo and behold, the LED can be toggled periodically without observable errors.  This seems to contradict the information here (BCM2073XS GPIO Basics)

  • P12/P26 (Dual bonded, only one of two is available.)
    - P12 if not used as P26 or external 32KHz LPO; If used as 32KHz LPO, then P12 and P26 are unavailable

On our next prototype we are following your advice and not using P26 and P27.  But given that you have already wired up a crystal to your SIP, and that you have an LED on P27, you might want to test if the information given is accurate.

Thanks a lot, mwf_mmfae and j.t for your support!!

Javier

View solution in original post

0 Likes
36 Replies