- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When setting gpio input, I didn't get gpio interrupt after setting
gpio_keypad_enable().
When setting gpio output for LED on/off control,
calling wiced_gpio_output_low() / wiced_gpio_output_high() does not work.
Note, I remember the same testing code was working on BCM943362WCD4 platform,
this seems something wroing in BCM439x MCU low-level code.
Can someone take a look at this issue?
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With 4390,
We have the same problem in controlling GPIO B
GPIO B is not wotking
By seeing the Module's reference schematic, GPIO B seems to be worked.
But by control GPIO B via API, it does not works
Port A is working well.
We have several issues in new SDK and 4390 module.
I heard that new SDK will be release soon so we stopped job.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
manuslan
The GPIO B bank is not programmable and also in DS we have an errata of GPIO B being worked on.
sam.lin
Could you specify if you are not able to toggle few GPIO pins, could you let us know which GPIO pins you are seeing issue, such we can reproduce it at our end and help you solve the issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vik86,
We test LED control (gpio output) with:
PA02 and PA04 ( Also found the same issue on PA07 and PA09)
below code does not turn on the led (led1/led2 is pa02/pa04):
platform_gpio_init( &platform_gpio_pins[WICED_LED1], OUTPUT_PUSH_PULL );
platform_gpio_init( &platform_gpio_pins[WICED_LED2], OUTPUT_PUSH_PULL );
platform_gpio_output_high( &platform_gpio_pins[WICED_LED1] );
platform_gpio_output_high( &platform_gpio_pins[WICED_LED2] );
Test button control (gpio input) with:
PB00 and PB01
It's a bit strange, we found it needs adding external resistance for PB00 and PB01.
Otherwise, the wiced_gpio_input_get() does not return correct status.
BTW, where to find the errata?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok thnx sam.lin. Shall try working on the gpio issue and let you know.
Errata is still not finalized, its in the process. Once we have it final shall let you know.
thnx
vik86
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vik86,
For button control test, wiced_gpio_input_get() can return correct status
after adding external pullup resistance.
But we don't get any interrupt when the status changed.
I test it with gpio_keypad_enable() and the gpio keypad handler callback is not called.
I think this is related to this issue as well.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To check my mistakes,
I changed to APPS_I2S_XX_XX as GPIO output .
This is not working also, I applied to snip.gpio-xxxxxxxxxxxxxx in 4390 Board.
It is not working at all.
Question:
1. Where does this issue make ?
1) 4390 ?
2) BCM94390WCD2_2 ( we have this module )
In SDK 3.1 , module schematic is BCM94390WCD2_3.
2. Which schematic can be referred?
We are going to make module and EVB for our platform references.
Please advise valid 4390 module references and EVB schematic.
we will follow your advise and buy new references module and evb.
We are wondering all will working well or not.
TKS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Alex.Yoon
Just to clarify you have no issues toggling GPIO-A LED's?
and as I mentioned earlier the GPIO-B cannot be programmed.
To check my mistakes,
I changed to APPS_I2S_XX_XX as GPIO output .
This is not working also, I applied to snip.gpio-xxxxxxxxxxxxxx in 4390 Board.
It is not working at all.
Could you explain this again, I could not understand ?
Question:
1. Where does this issue make ? Make as in the make file ?
1) 4390 ?
2) BCM94390WCD2_2 ( we have this module )
In SDK 3.1 , module schematic is BCM94390WCD2_3.
2. Which schematic can be referred?
We are going to make module and EVB for our platform references.
Please advise valid 4390 module references and EVB schematic.
we will follow your advise and buy new references module and evb.
Kindly get the BCM94390WCD2 module
thnx,
vik86
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sam Lin,
I was able to run the gpio app on WICED 3.1.0 and it ran accordingly. I was able to toggle GPIO's turn on the LED's and also the buttons on breakaway board of BCM94390WCD2. Could you run the gpio app that is present in snip and confirm ?
I tried this as well
int i;
/* Flash the LEDs */
for ( i = 0; i < 50; i++ )
{
wiced_gpio_output_high(WICED_LED1);
wiced_gpio_output_low(WICED_LED2);
wiced_rtos_delay_milliseconds( 300 );
wiced_gpio_output_low(WICED_LED1);
wiced_gpio_output_high(WICED_LED2);
wiced_rtos_delay_milliseconds( 300 );
}
wiced_gpio_output_low(WICED_LED1);
wiced_gpio_output_low(WICED_LED2);
in 4390 platform.h
#define WICED_LED1 | ( WICED_GPIO_10 ) |
#define WICED_LED2 | ( WICED_GPIO_8 ) |
#define WICED_BUTTON1 | ( WICED_GPIO_9 ) |
#define WICED_BUTTON2 | ( WICED_GPIO_7 ) |
#define WICED_THERMISTOR ( WICED_ADC_NONE )
Thanks,
vik86
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vik86,
For LED1 and LED2 gpio output test,
I test again with the gpio snip and it looks work if using PA09 and PA07.
Then I test all GPIO-A pins and found that it does not work for some pins.
Is this a know issue?
// My gpio output test code
int i, gpio;
for (gpio = WICED_GPIO_1; gpio < WICED_GPIO_24; gpio++)
wiced_gpio_init(gpio, OUTPUT_PUSH_PULL);
for ( i = 0; i < 500; i++ ) {
for (gpio = WICED_GPIO_1; gpio < WICED_GPIO_24; gpio++) {
wiced_gpio_output_high(gpio);
wiced_rtos_delay_milliseconds(300);
wiced_gpio_output_low(gpio);
wiced_rtos_delay_milliseconds(300);
}
}
// Test result:
// fails on GPIO_2 ~ GPIO_6 (PA02/PA03/PA04/PA05)
// fails on GPIO_15 ~ GPIO_19 (PB02/PB03/PB04/PB05/PB06)
// Note: They are all jtag multi-function pins.
// Does that mean we cannot use these pins for GPIO?
BTW, you mentioned that GPIO-B cannot be programmed.
Do you mean we cannot use GPIO-B for button input or led output?
We have tesed using GPIO-B pins for input.
The issue is we don't get interrupt when input status change.
Can you confirm if you can see the same issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sam.Lin
For LED1 and LED2 gpio output test,
I test again with the gpio snip and it looks work if using PA09 and PA07.
Yes the LED1 and LED2 are connected to these GPIO's PA09 and PA07.
Then I test all GPIO-A pins and found that it does not work for some pins.
Is this a know issue?
// My gpio output test code
int i, gpio;
for (gpio = WICED_GPIO_1; gpio < WICED_GPIO_24; gpio++)
wiced_gpio_init(gpio, OUTPUT_PUSH_PULL);
for ( i = 0; i < 500; i++ ) {
for (gpio = WICED_GPIO_1; gpio < WICED_GPIO_24; gpio++) {
wiced_gpio_output_high(gpio);
wiced_rtos_delay_milliseconds(300);
wiced_gpio_output_low(gpio);
wiced_rtos_delay_milliseconds(300);
}
}
You Can probe at different test points for each GPIO using CRO and test these GPIO.
The WICED_GPIO_1 to WICED_GPIO_24 does not mean all GPIO's these are pin labels. If you read the
BCM94390WCD2 platform pin definitions in platforms.h for BCM94390WCD2 you can see each of the pin's there.
// Test result:
// fails on GPIO_2 ~ GPIO_6 (PA02/PA03/PA04/PA05)
// fails on GPIO_15 ~ GPIO_19 (PB02/PB03/PB04/PB05/PB06)
// Note: They are all jtag multi-function pins.
// Does that mean we cannot use these pins for GPIO?
BTW, you mentioned that GPIO-B cannot be programmed.
Do you mean we cannot use GPIO-B for button input or led output?
We have tesed using GPIO-B pins for input. They are only for input. The new data sheet would be more specific on this
The issue is we don't get interrupt when input status change.
Can you confirm if you can see the same issue? Shall confirm once more
thnx
vik86
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
vik86 wrote:
You Can probe at different test points for each GPIO using CRO and test these GPIO.
The WICED_GPIO_1 to WICED_GPIO_24 does not mean all GPIO's these are pin labels. If you read the
BCM94390WCD2 platform pin definitions in platforms.h for BCM94390WCD2 you can see each of the pin's there.
// Test result:
// fails on GPIO_2 ~ GPIO_6 (PA02/PA03/PA04/PA05)
We do test these GPIOs with CRO.
And what we care is mainly the WICED_GPIO_3 ~ WICED_GPIO_6 (PA02 ~ PA05).
We want to use these pins for gpio output.
Our test shows it does not work running below code:
int gpio;
// only test WICED_GPIO_3 ~ WICED_GPIO_6 as gpio output
for (gpio = WICED_GPIO_3; gpio <= WICED_GPIO_6; gpio++)
wiced_gpio_init(gpio, OUTPUT_PUSH_PULL);
while(1) {
for (gpio = WICED_GPIO_3; gpio <= WICED_GPIO_6; gpio++)
wiced_gpio_output_high(gpio);
wiced_rtos_delay_milliseconds(300);
for (gpio = WICED_GPIO_3; gpio <= WICED_GPIO_6; gpio++)
wiced_gpio_output_low(gpio);
wiced_rtos_delay_milliseconds(300);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did notice your issue, I 'm working with the engineers to figure this out. Sorry for the delay, shall let you know soon.
Thnx,
vik86
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vik86,
I just verified these issues on sdk-3.1.1 and found both issues still happens on SDK-3.1.1.
(use jtag multi-function pins as gpio output does not work, no interrupt when input status change)
BTW, I don't find any errata or datasheet update so far.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Has there been any solution to this problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Was there any response to this issue from BRCM?
We have checked the SDK3.1.2 but the issue seemed to be still there.
Hope to have some solutions for this issue.
Thanks
Won Sang Cho
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't recall any further response to this issue from BRCM.
Maybe you can test it again with SDK 3.3.1 and report if it works or not.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi sam.
At the first, you mentioned that the fucntion "gpio_keypad_enable()" does not work.
I have the same issue. After setting input gpio, the function does not work.
SDK.3.3.1 is still same. did you solve this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think you had better contact your brodcom agent for this issue.