BBB Industrial, cannot config pin P9_16 (aslo a EHRPWM1B) to be a Pull Down Pin

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:

  1. Using the Device tree (am335x-boneblack.dts) to config pin controller and client device (The first code below)
  2. Driver will select the default state (which is make the pin P9_16 pull up)
  3. Compile driver and device tree → flash to the BBB
  4. 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./