I can look in /sys/kernel/debug/pinctrl/44e10800.pinmux/pins and see the contact I'm interested in:
pin 38 (44e10898.0) 00000037 pinctrl-single
This corresponds to GPIO[2]4 or P8.10 .
I am using Fedora 21 with the kernel 3.17.7-300.fc21.armv7hl .
I want to change the multiplexer to 0x27 . In words, this would establish that the pin has an internal push-pull resistor (before it was pulled).
Desired Result:
pin 38 (44e10898.0) 00000027 pinctrl-single
What can be done?
Note. There is no /sys/devices/bone_capemgr.* , since this does not apply to Angstrom. A typical DTO approach exports changes by modifying the cape dispatcher. This is not an option.
Edit: after researching from tad thoughts, I did: dtc -I dtb -O dts -o ~/am335x-boneblack.dts /boot/dtb-3.17.7-300.fc21.armv7hl/am335x-boneblack.dtb . I edited this file to:
... pinmux@44e10800 { ... example { pinctrl-single,pins = <0x898 0x27>; }; }; ...
Then I compiled it using dtc , ran it in /boot/dtb-3.17.7-300.fc21.armv7hl/ and rebooted. However, nothing has changed. What's happening?
Edit:
As pointed out by Charles Steinküler, 0x800 needs to be subtracted from the offset, and “something” needs to be referenced by “example”.
If I add 0x098 0x27 to my entry for user_leds_s0 , then the desired behavior is observed:
... user_leds_s0 { pinctrl-single,pins = <0x54 0x7 0x58 0x17 0x5c 0x7 0x60 0x170 0x098 0x27>; linux,phandle = <0x3f>; phandle = <0x3f>; }; ...
Now everything is all right, and I need where I need to go. However, this output is not user_led. It should be in a separate area. So what do I need to do to get the "example" field or the like?