Thanks William, He uses the command:
echo EBB-GPIO-Example-00A0 > "/sys/devices/platform/bone_capemgr/slots” but I think he should be using the command: sudo sh -c “echo 'EBB-GPIO-Example-00A0' > /sys/devices/platform/bone_capemgr/slots” Other than that, I don’t see why he has this problem. Regards, John > On Nov 27, 2015, at 4:26 PM, William Hermans <[email protected]> wrote: > > Err sorry his second post. > > On Fri, Nov 27, 2015 at 5:26 PM, William Hermans <[email protected] > <mailto:[email protected]>> wrote: > His overlay is in the first post John. > > On Fri, Nov 27, 2015 at 5:07 PM, John Syne <[email protected] > <mailto:[email protected]>> wrote: > One more thing, just defining pinmux in the overlay will have no effect. The > pinmux will only be configured as part of installing the driver. Just before > the kernel calls the driver probe function, it sets up the pinmux as defined > by the pinctrl definition. > > Regards, > John > > > > >> On Nov 27, 2015, at 3:58 PM, John Syne <[email protected] >> <mailto:[email protected]>> wrote: >> >> GPIO MODE SETTINGS >> Bit 6 Bit 5 Bit 4 Bit 3 Bit 2,1,0 >> Slew Control Receiver Active Pullup/Pulldown Enable Pullup/down Mux Mode >> 0 Fast 0 Disable 0 Pulldown select 0 Enabled 000 >> Mode 0 to >> 1 Enable 1 Pullup select 1 Disabled 111 Mode 7 >> e.g. OUTPUT GPIO(mode7) 0x07 pulldown, 0x17 pullup, 0x?f no pullup/down >> e.g. INPUT GPIO(mode7) 0x27 pulldown, 0x37 pullup, 0x?f no pullup/down >> TRM Table 9-60 >> >> >> >> From the table above, 0x27 in an input and 0x17 is an output. My guess is >> that there is some conflict that occurs and that is why the config isn’t set >> correctly. What does your overlay look like and what do you see when you >> install the overlay? >> >> Regards, >> John >> >> >> >> >>> On Nov 27, 2015, at 1:03 PM, Riley Porter <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> William, >>> >>> Thanks. This basically is exactly what I did reading johns reply. I guess >>> my main disconnect here is. I can apply a device tree overlay that I make. >>> I see it "applied" in dmesg and in slots. However the pinmux output from >>> cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins continues to show 0x27 >>> for their modes when I specifically set the dtc to 0x17. >>> >>> I have not actually tried to use it as an input in code yet. Merely have >>> been seeing that it is not "applying" what i thought it should. Perhaps I >>> am looking at the wrong pinoutput? >>> >>> for example P9_11's offset is 0x70 and its PIN value is 28. So | grep 870 >>> >>> root ~/bb.org <http://bb.org/>-overlays # cat >>> /sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep 870 >>> pin 28 (44e10870.0) 00000027 pinctrl-single >>> >>> which is not 0x17? >>> >>> I am being very wordy here just to make sure you guys know exactly what I >>> am doing and my expectations. >>> >>> >>> >>> So does anything I am doing look wrong? >>> >>> >>> >>> Again thanks a bunch guys for the help. I have been at this for the better >>> part of a week now and I agree William it's a step in the WRONG direction >>> going to Angstrom. >>> >>> ril3y >>> >>> >>> >>> >>> On Fri, Nov 27, 2015 at 3:45 PM, William Hermans <[email protected] >>> <mailto:[email protected]>> wrote: >>> Unfortunately the "answer" was to install angstrom. I was hoping someone >>> on the list would have some secret answer as to why applying an overlay was >>> not changing the pinmux's? >>> >>> I would very much like to stick with debian but if the answer is go back >>> angstrom I guess I can live with that. >>> >>> Thanks >>> You do not have to go back to Angstrom, and if you ask me that is very >>> counter productive. Read my guide here: >>> http://www.embeddedhobbyist.com/2015/09/beaglebone-black-updating-device-tree-files/ >>> >>> <http://www.embeddedhobbyist.com/2015/09/beaglebone-black-updating-device-tree-files/> >>> >>> Do note, that the kernel I talk about at the beginning is just an example. >>> You do not have to use the exact kernel I demonstrated. Any 4.x kernel >>> should work with that guide. >>> >>> >>> On Fri, Nov 27, 2015 at 1:14 PM, Riley Porter <[email protected] >>> <mailto:[email protected]>> wrote: >>> Yes I am running: >>> Linux beaglebone 4.1.1-bone10 #1 Tue Jul 7 01:15:35 UTC 2015 armv7l >>> GNU/Linux >>> >>> I followed your instructions but still am at a loss. I was able to update >>> the device tree compiler and the kernel which is now: >>> >>> Linux beaglebone 4.1.13-ti-r33 #1 SMP PREEMPT Fri Nov 20 11:00:50 UTC 2015 >>> armv7l GNU/Linux >>> >>> Perhaps describing my exact steps might shed some light on my screw up? >>> >>> >>> >>> This is the device tree I am testing with: >>> >>> >>> >>> /* >>> snip for space >>> */ >>> /dts-v1/; >>> /plugin/; >>> >>> /{ >>> compatible = "ti,beaglebone", "ti,beaglebone-black"; >>> part-number = "EBB-GPIO-Example"; >>> version = "00A0"; >>> >>> fragment@0 { >>> target = <&am33xx_pinmux>; >>> >>> >>> __overlay__ { >>> ebb_example: EBB_GPIO_Example { >>> pinctrl-single,pins = < >>> >>> >>> /*============= Inputs ================*/ >>> 0x070 0x17 // P9_11 PINS$28 GPIO0_30 = 30 >>> Input Mode7 pullup >>> 0x078 0x17 // P9_12 PINS$30 GPIO1_28 = 60 >>> Input Mode7 pullup >>> 0x074 0x17 // P9_13 PINS$29 GPIO0_31 = 31 >>> Input Mode7 pullup >>> 0x048 0x17 // P9_14 PINS$18 GPIO1_18 = 50 >>> Input Mode7 pullup >>> 0x040 0x17 // P9_15 PINS$16 GPIO1_16 = 48 >>> Input Mode7 pullup >>> 0x04c 0x17 // P9_16 PINS$19 GPIO1_19 = 51 >>> Input Mode7 pullup >>> 0x15c 0x17 // P9_17 PINS$87 GPIO0_5 = 5 >>> Input Mode7 pullup >>> 0x158 0x17 // P9_18 PINS$86 GPIO0_4 = 4 >>> Input Mode7 pullup >>> >>> /* OUTPUT GPIO(mode7) 0x07 pulldown, 0x17 >>> pullup, 0x?f no pullup/down */ >>> /* INPUT GPIO(mode7) 0x27 pulldown, 0x37 >>> pullup, 0x?f no pullup/down */ >>> >; >>> }; >>> }; >>> }; >>> >>> fragment@1 { >>> target = <&ocp>; >>> __overlay__ { >>> gpio_helper { >>> compatible = "gpio-of-helper"; >>> status = "okay"; >>> pinctrl-names = "default"; >>> pinctrl-0 = <&ebb_example>; >>> }; >>> }; >>> }; >>> }; >>> >>> >>> >>> >>> I also removed ALL overlays from my system before doing this below. >>> Here is my output from slots and a python program to get the pins i wrote: >>> >>> root ~/bbb_stuff # slots >>> 0: PF---- -1 >>> 1: PF---- -1 >>> 2: PF---- -1 >>> 3: PF---- -1 >>> 9: P-O-L- 0 Override Board Name,00A0,Override Manuf,EBB-GPIO-Example >>> >>> root ~/bbb_stuff # ./getpins >>> >>> ================================================== >>> Reading Pinux Pins >>> ================================================== >>> >>> pin 16 (44e10840.0) 00000027 pinctrl-single >>> pin 18 (44e10848.0) 00000027 pinctrl-single >>> pin 19 (44e1084c.0) 00000027 pinctrl-single >>> pin 28 (44e10870.0) 00000017 pinctrl-single >>> pin 29 (44e10874.0) 00000027 pinctrl-single >>> pin 30 (44e10878.0) 00000027 pinctrl-single >>> pin 86 (44e10958.0) 00000027 pinctrl-single >>> pin 87 (44e1095c.0) 00000027 pinctrl-single >>> >>> You can clearly see I have requested them all to be 0x17? >>> >>> Here are the alias's I am using: >>> pins='cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins' >>> slots='cat /sys/devices/platform/bone_capemgr/slots' >>> >>> >>> >>> This is the command i used to compile the dt. >>> dtc -O dtb -o EBB-GPIO-Example-00A0.dtbo -b 0 -@ EBB-GPIO-Example.dts >>> >>> This is the command I used to install it: >>> echo EBB-GPIO-Example-00A0 > "/sys/devices/platform/bone_capemgr/slots" >>> >>> >>> >>> This is the dmesg output after installing the overlay: >>> >>> [ 2629.259630] bone_capemgr bone_capemgr: part_number >>> 'EBB-GPIO-Example-00A0', version 'N/A' >>> [ 2629.259679] bone_capemgr bone_capemgr: slot #11: override >>> [ 2629.259700] bone_capemgr bone_capemgr: Using override eeprom data at >>> slot 11 >>> [ 2629.259722] bone_capemgr bone_capemgr: slot #11: 'Override Board >>> Name,00A0,Override Manuf,EBB-GPIO-Example' >>> [ 2629.271307] gpio-of-helper ocp:gpio_helper: ready >>> [ 2629.271555] bone_capemgr bone_capemgr: slot #11: dtbo >>> 'EBB-GPIO-Example-00A0.dtbo' loaded; overlay id #0 >>> >>> >>> >>> >>> >>> So any help guys would be really appreciated! I am thinking that I must be >>> just doing something wrong. Perhaps the example device tree I am using is >>> outdated? Would someone be willing to share with me a GPIO device tree >>> that works with kernel 4.1? Also I have tried the dt builder online: >>> >>> http://kilobaser.com/blog/2014-07-28-beaglebone-black-devicetreeoverlay-generator#1gpiodto >>> >>> <http://kilobaser.com/blog/2014-07-28-beaglebone-black-devicetreeoverlay-generator#1gpiodto> >>> But this seems to not work also. Thanks again everyone. >>> >>> >>> >>> Riley >>> >>> >>> On Thu, Nov 26, 2015 at 2:13 PM, John Syne <[email protected] >>> <mailto:[email protected]>> wrote: >>> That is strange because it seems to be working for everyone else. What is >>> your kernel version? >>> >>> If you are using kernel version 4.1 or higher, then do the following on >>> your BBB >>> >>> git clone https://github.com/RobertCNelson/bb.org-overlays.git >>> <https://github.com/RobertCNelson/bb.org-overlays.git> >>> >>> Follow the instructions readme.md <http://readme.md/> file. My guess is you >>> don’t have the correct Device Tree Compiler, but this repo will install the >>> correct version. >>> >>> Regards, >>> John >>> >>> >>> >>> >>>> On Nov 26, 2015, at 8:35 AM, Riley Porter <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Hey guys, >>>> >>>> I have been fighting this for a few days now. But it seems to me that no >>>> matter what I do I cannot get the pinmux'ing to work when applying >>>> overlays in debian. I have tried 7.8 and 8.2 and either is really >>>> different. >>>> >>>> I was looking around to see if I was the only one in this boat and it >>>> turns out I found a post on stack exchange that describes my issue >>>> perfectly. >>>> >>>> Unfortunately the "answer" was to install angstrom. I was hoping someone >>>> on the list would have some secret answer as to why applying an overlay >>>> was not changing the pinmux's? >>>> >>>> I would very much like to stick with debian but if the answer is go back >>>> angstrom I guess I can live with that. >>>> >>>> Thanks >>>> >>>> -- >>>> For more options, visit http://beagleboard.org/discuss >>>> <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] >>>> <mailto:[email protected]>. >>>> For more options, visit https://groups.google.com/d/optout >>>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <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] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <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] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <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] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <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] >>> <mailto:[email protected]>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >> > > > -- > For more options, visit http://beagleboard.org/discuss > <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] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > > -- > For more options, visit http://beagleboard.org/discuss > <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] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- 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]. For more options, visit https://groups.google.com/d/optout.
