See my attached DT overlay for my custom cape on a BeagleBone Black with 6.12.92-bone61. It configures some gpio, uart1 and some devices on the i2c2 bus. I can communicate with the devices on the i2c2 bus and uart1 so I know the overlay is getting loaded, but I’m not seeing what I expect to see on some of the pins. For instance P8_12 is configured as an input with pullup resistor, but my scope shows it as low (0v) when nothing is driving it. If I pull the pin up to 3.3V using a 27kohm resistor, the voltage on the pin goes up about half way. That tells me the pin is most likely configured with a pulldown resistor.
Also ‘show-pins’, ‘gpioinfo’ and ‘cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/pins’ indicate that my gpio are NOT properly configured. But, the uart1 and i2c2 pins are properly configured.
Can anyone identify what I’m doing wrong here?
530-0966-00A0_b.dtso (2.9 KB)
Just a small change.. you can define one overlay with setting pinctrl-0 in am33xx_pinmux…
/*
* Pinmux configuration
*/
&am33xx_pinmux {
pinctrl-names = "default";
pinctrl-0 = <&bb_input_pins &bb_output_pins>;
bb_uart1_pins: pinmux_bb_uart1_pins {
pinctrl-single,pins = <
AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT, MUX_MODE0)
AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT, MUX_MODE0)
>;
};
bb_input_pins: pinmux_bb_input_pins {
Thank you Robert. I knew I was getting close.
Is there a way to initialize my output pin at P8_19 to a high level? I’ve read about ‘hog’, but that didn’t sound like the way to do it if i wanted control in user space.
gpio-led allows for initial state…
Thank you! LED is blinking.
Is there a driver or method for a open-drain output? Somehow toggle between an output driving low and an input with or without a pullup?
Google yielded a wealth of information by searching for: libgpiod open-drain…