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.

Reply via email to