Hi,
I am working with BBB Industrial and try to config the pin P9-16 (also EHRPWM1B) to be pull down, but its state remains pull up.
My Process is:
- Using the Device tree (am335x-boneblack.dts) to config pin controller and client device (The first code below)
- Driver will select the default state (which is make the pin P9_16 pull up)
- Compile driver and device tree → flash to the BBB
- Insmod driver (.ko)
Strangely, I can configure another PWM pin, which is EHRPWM1A (macro AM335X_PIN_GPMC_A2) to be Pull up / pull down as desired.
Please see the dts and the driver code:
&am33xx_pinmux{
userdef_GPIO1: userdef_GPIO1 {
pinctrl-single,pins = <
AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT_PULLUP, MUX_MODE7)
AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_OUTPUT_PULLDOWN, MUX_MODE7)
>;
};
};
/ {
foodevice{
compatible = "led1_16_desc_driver";
pinctrl-names = "default";
pinctrl-0 = <&userdef_GPIO1>;
status = "okay";
};
};
static int desc_probe(struct platform_device *pdev){
struct device *dev = &pdev->dev;
// gpio0_30 = gpiod_get(dev, "ledtest", GPIOD_OUT_LOW);
// gpiod_set_value(gpio0_30, HIGH);
struct pinctrl *p;
pr_info("%s - %d\n", __func__, __LINE__);
p = pinctrl_get_select(dev,"default");
pr_info("Init done!!!\n");
return 0;
}
Please help me to config the pin P9-16 to be pull down, since there are some knowledge that I should learn more.
Thank you./