Sorry i  answered last message directly to you.

Now i  rearranged the omap3-beagle.dts.

*sudo cat /sys/kernel/debug/gpio *>

...
> GPIOs *128-159*, platform/*49058000*.gpio, gpio:
> ...


So i picked up  &*gpio6* for GPIO_*139* and set gpios = <*11* 0>;

I've searched in dm3730 reference manual but there is no knowledge about
offsets of registers.

But i found offset 0x16A in
http://elinux.org/BeagleBoardPinMux#Pin_Mux_Cross_Reference_Table

I've also found real physical adress of the register
CONTROL_PADCONF_MMC2_DAT6[31:16] ==== 0x4800 2168 ==== mmc2_dat7  in OMAP35
Techinical Reference Manual.

So i combined them and


> &omap3_pmx_core {
>        ...
>        ...
>        ...
> mmc2_pins: pinmux_mmc2_pins {
> pinctrl-single,pins = <
> *0x16A* (PIN_OUTPUT | MUX_MODE4)
> >;
> };
> };
> *&gpio6*{
>      GPIO_139 {
>           gpio-hog;
>           gpios = <*11* 0>;
>           output-high;
>           line-name = "GPIO_139_6";
>      };
> };


make & make install & reboot.

But still nothing happens. My LED still remains silently.

when i checked* sudo cat /sys/kernel/debug/gpio*

GPIOs 128-159, platform/49058000.gpio, gpio:
>      gpio-138 (tfp410 PD           ) out hi
>      gpio-139 (GPIO_139_6          ) out hi


it looks ok.  And also

*dmesg | grep GPIO*

[    0.811126] GPIO line 139 (GPIO_139_6) hogged as output/high
>


what am i doing wrong? I suspect about pin offset but dont enough knowledge
of this is offset of what and how to calculate. So i cannot be sure what is
wrong.

Best Wishes.

2015-08-18 15:48 GMT+03:00 Robert Nelson <[email protected]>:

> re-adding the beagle list...
>
> On Tue, Aug 18, 2015 at 7:42 AM, Mehmet Özgür Bayhan
> <[email protected]> wrote:
> > Thanks for your help. But it is getting complicated. :S
> >
> > Ok. Lets keep it simple. Assume that i just want to light on a led from
> > MMC2_DAT7 whis is equal to GPIO_139 in Beagleboard.
> >
> > I test GPIO's by exporting under /sys/class/gpio and echo > high to
> > direction. Works well under kernel ver. 3.0.x with Angstrom distro. My
> leds
> > are on.
> >
> >
> > Ok here is the story:
> >
> > I am using your directions under eewiki with kernel 4.x + ubuntu.
> >
> > 1) First i tried to handle this from u-boot, so i pulled every MMC2_DAT*
> to
> > MUX_4 (Which is assigned to GPIO's for documentation) . Reboot again with
> > new u-boot image from SD. Nothing was happened. So i tought Kernel is
> > blocking  GPIO behave of this ports.
> >
> > Question 1:  Does patching only u-boot  is enough or necessary? Did i
> > missing something?
> >
> > 2) Then i start to investigate Kernel Device Tree file from
> > https://github.com/RobertCNelson/dtb-rebuilder/tree/4.1-ti/src/arm.
> >
> > I found some documentation under dtb-rebuilder/Bindings/gpio/ . gpio.txt
> and
> > gpio-omap.txt. Read them.
> >
> > Then I found that omap3-beagle.dts and omap3.dtsi are main files. And in
> > these files:
> >
> >> mmc2: mmc@480b4000 {
> >> compatible = "ti,omap3-hsmmc";
> >> reg = <0x480b4000 0x200>;
> >> interrupts = <86>;
> >> ti,hwmods = "mmc2";
> >> dmas = <&sdma 47>, <&sdma 48>;
> >> dma-names = "tx", "rx";
> >> };
> >
> >
> >> &mmc2 {
> >> status = "disabled";
> >> };
> >
> >
> > Acoording to this files i understand that mmc2 pins are handled by kernel
> > and disabled default. Next i deleted this files rebooted and tested again
> > still nothing was happened.
>
> Leave the mmc2 disabled section..
>
> >
> > Question 2: Why kernel still blocks this ports to behave like GPIO even i
> > remove them in device tree and applied mux_4 in u-boot?
> >
> >
> > 3) Then i  removed mmc comments and  asked this question here. Now i
> tried
> > the example that you gave as:
> >>
> >>
> >> &mmc2 {
> >> status = "disabled";
> >> };
> >
> >
> > still remains and i added:
> >
> >> &omap3_pmx_core {
> >>     .....
> >> mmc2_pins: pinmux_mmc2_pins {
> >> pinctrl-single,pins = <
> >> 0x016A (PIN_INPUT | MUX_MODE4) /* GPIO_139 -pin3 -mmc_dat_7 */
> >> >;
> >> };
> >>
> >> }
> >
> >
> > And this part gives Error while "make":
> >
> >> &gpio139{
> >>      GPIO_139 {
> >>           gpio-hog;
> >>           gpios = <20 0>;
> >>           output-high;
> >>           line-name = "GPIO_139";
> >>      };
> >> };
> >
> >
> >
> > //'gpio139', not found at this line &gpio139{
>
> options are &gpio1 -> &gpio6, pick the correct "bank" that gpio139 is in..
>
>
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3.dtsi#n216
>
> >
> > Then i removed and make again.  Builded but stil nothing happens
> >
> > Question 3: Must i remove mmc2 status="disabled"  part?
> >
> > Question 4: Where and how should i define &gpio139 or must i leave it as
> > &gpio1
> >
> > Question 5: Is first part enough to test GPIO from /sys/class/gpio/ or
> must
> > i add tthe second part too? line-name = "GPIO_139"; What is it related
> with?
> >
> > Question 6: Is 0x016A the offset of the register? According to what?
> Where
> > can i find the documentation of these adresses or offsets?  In u-boot's
> > mux.h they differs.
>
> This offset can be found in the dm3730 reference manual.
>
> >
> > For example in omap3-beagle.dts > 0x0ac (PIN_OUTPUT | MUX_MODE0)   /*
> > dss_data0.dss_data0 */
> >
> > But in u-boot -> mux.h #define CONTROL_PADCONF_DSS_DATA0
> > 0x00DC
> >
> > I confused in there.
> >
> > If you have time and if you may answer them it should be greaceful.
>
> Regards,
>
> --
> Robert Nelson
> https://rcn-ee.com/
>

-- 
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