LPC1769 Open Drain problem on P0.29

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by Rob65 on Thu Nov 26 04:02:28 MST 2015
Has anyone ever tried to use open drain on the USB pins being used in GPIO mode?

I have P0.29 and P0.30 both defined as GPIO (LPC_PINCON->PINSEL0 = 0) and both defined as output (LPC_GPIO0->FIODIR |= 3<<29)
I can control the state of the pins.

But now I want to use one of those pins (P0.29) in Open Drain mode (LPC_PINCON->PINMODE_OD0 |= 3<<29) this does not result in the effect requested.

When I set P0.29 to a high level (LPC_GPIO0->FIOSET = 1<<29), the pin becomes high. But when I then try to pull this pin low a current of ~145 mA is drawn from the IO Pin.

Yes - I verified that it's the pin and not my hardware. When both pins are defined as input pins, pulling the pin low does not result in a current being drawn.

I know that P0.29 and P0.30 are the USB pins and that both pins need to be output at the same time but I could not find any reference to Open Drain mode not working on those pins - the user manual (UM10360 Rev 3.1), does mention the OD option for those pins and the latest Errata sheet (rev 10.2) does not mention an issue on those pins.

OD mode does work correctly on other pins (e.g. P0.26).

Can anyone confirm if this is a bug in the lpc1769? Or do I need to other things to get this working?