re-adding the beagle list...
On Tue, Aug 18, 2015 at 7:42 AM, Mehmet Özgür Bayhan
<
mozgur...@gmail.com> 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.