Hello, I think I had a similar issue, and I would like to report it as well:
If you set a gpio configuration with the dto the kernel correctly loads it,
but when you export one gpio from that peripheral for the first time, the
kernel reset the configuration. I solved this by running a script on boot
that exports the first GPIO for every peripheral and this actually solves
this problem.
I think is an issue of the kernel
Il giorno mercoledì 19 agosto 2015 08:31:32 UTC+2, Paco Dupont ha scritto:
>
> Thanks for your answer Andrew but I need that the board setup correctly
> the pin at boot time (to avoid any trouble in the time elapsed between the
> DTB is load and the kernel is ready).
> I'm actually facing a strange thing, 1st the number I used to set gpio3_21
> was wrong : gpio = <107 0>; This call require the GPIO number on the bank
> and not the PIN number. So using : gpio = <21 0>; I end up with that result
> :
>
> root@arm:~# cat /sys/kernel/debug/gpio
> GPIOs 0-31, platform/44e07000.gpio, gpio:
> gpio-6 (cd ) in hi IRQ
>
> GPIOs 32-63, platform/4804c000.gpio, gpio:
> gpio-53 (? ) out lo
> gpio-54 (? ) out lo
> gpio-55 (? ) out hi
> gpio-56 (? ) out lo
>
> GPIOs 64-95, platform/481ac000.gpio, gpio:
>
> GPIOs 96-127, platform/481ae000.gpio, gpio:
> gpio-117 (TOR input ) out lo
> root@arm:~# cat /sys/kernel/debug/gpio
> GPIOs 0-31, platform/44e07000.gpio, gpio:
> gpio-6 (cd ) in hi IRQ
>
> GPIOs 32-63, platform/4804c000.gpio, gpio:
> gpio-53 (? ) out hi
> gpio-54 (? ) out lo
> gpio-55 (? ) out hi
> gpio-56 (? ) out lo
>
> GPIOs 64-95, platform/481ac000.gpio, gpio:
>
> GPIOs 96-127, platform/481ae000.gpio, gpio:
> gpio-117 (TOR input ) out lo
>
> So this is nice because that's means my DTB is correctly loaded, but the
> pinmux register didn't change :
> root@arm:~# cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins|grep 9ac
> pin 107 (44e109ac.0) 00000027 pinctrl-single
>
> 0x27 means the register is set to INPUT | MODE7 ... Why ???? The gpio
> setup and his register differ ... Can this cause me any trouble ? Or should
> I ignore it ? Is it a problem from my pinctrl,pin setup in the DTB ?
>
>
> Le mercredi 19 août 2015 06:35:25 UTC+2, AndrewTaneGlen a écrit :
>>
>> I had trouble (viz. gave up) working with input pins with the device
>> tree. I ended up doing all the init at run time (once I'd made sure nothing
>> else was using the same pins in the device tree).
>> Check that you have removed any reference to the HDMI in your
>> 'am335x-bone-common-no-capemgr.dtsi' file. I had to remove a 'status =
>> "okay"' from the standard ''am335x-bone-common.dtsi', not sure if this is
>> the same in the 'no cape' variant.
>>
>> For BBB expansion header P9, pin 23 (GPIO 1_17), AKA pin 49, I do the
>> following to intialise an input for use as a switch:
>>
>> echo "49" > /sys/class/gpio/export
>> echo in > /sys/class/gpio/gpio49/direction
>> echo 1 > /sys/class/gpio/gpio49/active_low
>>
>> To read in the state I then use:
>> head -1 /sys/class/gpio/gpio49/value
>>
>> e.g., in a script, use:
>>
>> SWITCH=$(head -1 /sys/class/gpio/gpio49/value)
>>
>> if [ ${SWITCH} = "1" ]; then
>> ...
>> fi
>>
>> For outputs I use the 'standard' led interface, as already used in the
>> BBB device tree for the heartbeat/mmc leds.
>> e.g., with the pnmux as you have done, add something like the following
>> to the 'leds' section in the common dtsi file:
>>
>> led@6 {
>> label = "my_led";
>> gpios <&gpio1 16 GPIO_ACTIVE_HIGH>;
>> linux,default-trigger = "none";
>> default-state = "off";
>> };
>>
>> Then set the output state as follows:
>>
>> echo 1 > /sys/devices/leds.4/leds/my_led/value
>>
>> Hope that helps.
>> Andrew.
>>
>> On Wednesday, 19 August 2015 01:16:30 UTC+12, Paco Dupont wrote:
>>>
>>> I've replace the last part I added (&ocp...) by Nelson's advice on this
>>> post :
>>> https://groups.google.com/d/msg/beagleboard/iW4i-xy9zJw/JFrr5M9_IwAJ
>>> &gpio3 {
>>> torout0 {
>>> gpio-hog;
>>> gpios = <107 0>;
>>> output-low;
>>> line-name = "TOR input";
>>> };
>>> };
>>>
>>> Just trying for 1 pin but still the same output no change ...
>>>
>>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/c84b6570-b0f7-4463-91b8-c4ade04f959a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.