Setting GPIO_PUSH_PULL | GPIO_PULL_UP in the DTS
I am using an STM32MP151 in linux (5.4.56) and therefore using the DTS to setup some GPIOs i need.
I have difficulties setting up PUSH_PULL | PULL_UP configuration in the DTS for my GPIO, while, after linux has booted, using devmem i am successfull in altering the PUPDR for this GPIO and read the new config.
- In my DTS:
main_ss_en-gpios = <&gpiod 13 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL | GPIO_PULL_UP)>;
Howver, when i read the PUPDR register with devmem, this is all zero.
In my board, this gpiobank is at 0x50005000.
After Linux started up, using devmem, i can see:
# devmem 0x5000500c
0x00001000
while it should read 0x08001000 or 0x04001000, depending if i set PU or PD.
If now i set one of those values, devmem should it correctly.
I tried to look at the gpio driver, pinctrl driver, etc ... i cannot see a reason why this is not applied upon parsing the dts.
Am i missing something here ?
THanks,
Jacques
