cancel
Showing results for 
Search instead for 
Did you mean: 

AIROC™ Bluetooth

mdelfiasco
New Contributor II

Hello,

in my application I need to use both pull up and pull down features on GPIOs P0 or P34, however when I try to enable the pullup with 

wiced_hal_gpio_configure_pin(WICED_P34, GPIO_INPUT_ENABLE | GPIO_PULL_UP, GPIO_PIN_OUTPUT_LOW)

I see that the pin voltage goes up to VDD / 2 and not to VDD as expected.

I found the information in the pictures below in CYW920706WCDEVAL Hardware User Guide. Please note that I am using CYBT-343026 module.

From https://www.cypress.com/file/378381/download#page=16&zoom=100,69,296

mdelfiasco_0-1633942832223.pngmdelfiasco_1-1633942867447.png

I think that the problem is related to the default pulldown on pin I2S_WS_PCM_SYNC that remains active, however I cannot find a way to disable it.

Since I already used this in my application:

// Avoid conflict between PUART_RX and CLK_REQ bonding
#define cr_pad_fcn_ctl_adr4 0x003201b8
#define REG32(x) (*(volatile unsigned*)(x))
unsigned val = REG32(cr_pad_fcn_ctl_adr4) & ~(0x0000F000);
REG32(cr_pad_fcn_ctl_adr4) = val | (7 << 12);

I wonder if a similar approach will work but I have no documentation in how to apply this to I2S_WS_PCM_SYNC.

 

BR

0 Likes
2 Replies
DheerajPK_41
Moderator
Moderator

Hi,

Are you using CYBT-343026-EVAL? Or followed the same schematics?

P0/P34 is used for User button with an external 100k pull down as per the schematics. Have you considered it? 

https://www.cypress.com/documentation/development-kitsboards/cybt-343026-eval-ez-bt-module-arduino-e... 

Thanks,

-Dheeraj.P.K

0 Likes
mdelfiasco
New Contributor II

Hello,

no I am using custom hardware and pin P0/P34 is now floating. I activate internal pullup / pulldown to detect if the pin is floating, externally pulled up or externally pulled down. This is used as a board detection system (floating=board not connected, pd=board #0, pu=board #1). Everything worked on CYBT213043 but then we had to move to CYBT343026...

The problem is that when I activate the pullup the voltage does not go to VDD but remains in the middle, causing some systems to work and some not. I think an internal pulldown is always active and I'm asking a way to disable it.

In the evaluation board everything works because the button detection uses a strong 1K pullup while I'm using internal weak pulls to implement my board detection logic.

Please help.

0 Likes