Opened 3 years ago

Last modified 3 years ago

#18870 new defect

GPIO pins are initilized in the incorrect state in the HLK-RM04

Reported by: horn545 Owned by: developers
Priority: normal Milestone:
Component: kernel Version: Trunk
Keywords: GPIO, i2c, pin state Cc: jason.harnish@…


When setting pins or pin groups as "gpio" using a HLKRM04.dts in the ramips tree, the pins are initialized during kernel boot time in the "high" or +3.3v state. This is undesirable behavior, as output pins should never initialize in the "high" state for safety and functionality purposes.

Issue can be reproduced by setting the "i2c" group to gpio under the pinctrl portion of HLKRM04.dts and monitoring pin states during system boot.

Attachments (0)

Change History (2)

comment:1 Changed 3 years ago by jason.harnish@…

To attempt to identify the kernel patch that causes the issue, I removed the GPIO patches higher than 0030 and recompiled. The behavior remains with on the the "pinctrl" driver, so I believe the issue is in this driver.

comment:2 Changed 3 years ago by horn545

This issue is solved. It turns out that the GPIO pins are purposefully initialized "high" in the Jiapeng HLK-RM04 uBoot img file referenced by the OpenWRT wiki page on the module. The file in question is "uboot128.img". I was able to successfully compile a new uBoot kernel with the offending lines commented out, load the kernel to a HLK-RM04 module and test using a simple LED.

Add Comment

Modify Ticket

as new .

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.