mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* GPIO commands on OMAP4
@ 2012-04-05  9:40 Patrick
  2012-04-05 12:45 ` Patrick
  2012-04-05 13:49 ` Sascha Hauer
  0 siblings, 2 replies; 6+ messages in thread
From: Patrick @ 2012-04-05  9:40 UTC (permalink / raw)
  To: barebox

Dear mailing-list,

I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox 
2011.09.0 patched with BSP from Phytec.

I would like to use the GPIO command to read a switch at startup. This 
chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited the 
boards/pcm049/mux.c files to change the configuration of this GPIO as 
follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of {ABE_MCBSP1_DX, 
(SAFE_MODE)}.

I then use the "gpio_get_value 116" command followed by "echo $?" to 
read the value. I always read a 0. On Linux I could read the right value 
depending of the position of the switch, so it's not an hardware problems.

I have tried with one of the two LEDs on the module (gpio_152) and I 
could change the LED state and read it back with gpio_get_value.

I do not understand what I am doing wrong. Any help will be appreciated.

Patrick



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPIO commands on OMAP4
  2012-04-05  9:40 GPIO commands on OMAP4 Patrick
@ 2012-04-05 12:45 ` Patrick
  2012-04-05 13:49 ` Sascha Hauer
  1 sibling, 0 replies; 6+ messages in thread
From: Patrick @ 2012-04-05 12:45 UTC (permalink / raw)
  To: barebox

On 04/05/2012 11:40 AM, Patrick wrote:
> Dear mailing-list,
>
> I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox
> 2011.09.0 patched with BSP from Phytec.
>
> I would like to use the GPIO command to read a switch at startup. This
> chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited the
> boards/pcm049/mux.c files to change the configuration of this GPIO as
> follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of {ABE_MCBSP1_DX,
> (SAFE_MODE)}.
>
> I then use the "gpio_get_value 116" command followed by "echo $?" to
> read the value. I always read a 0. On Linux I could read the right value
> depending of the position of the switch, so it's not an hardware problems.
>
> I have tried with one of the two LEDs on the module (gpio_152) and I
> could change the LED state and read it back with gpio_get_value.
>
> I do not understand what I am doing wrong. Any help will be appreciated.
>
> Patrick
>
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox

I have done same test with the latest revision on the pengutronix git 
and the results are the same...

Any idea ?



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPIO commands on OMAP4
  2012-04-05  9:40 GPIO commands on OMAP4 Patrick
  2012-04-05 12:45 ` Patrick
@ 2012-04-05 13:49 ` Sascha Hauer
  2012-04-05 14:38   ` Patrick
  1 sibling, 1 reply; 6+ messages in thread
From: Sascha Hauer @ 2012-04-05 13:49 UTC (permalink / raw)
  To: Patrick; +Cc: barebox

On Thu, Apr 05, 2012 at 11:40:49AM +0200, Patrick wrote:
> Dear mailing-list,
> 
> I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox
> 2011.09.0 patched with BSP from Phytec.
> 
> I would like to use the GPIO command to read a switch at startup.
> This chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited
> the boards/pcm049/mux.c files to change the configuration of this
> GPIO as follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of
> {ABE_MCBSP1_DX, (SAFE_MODE)}.
> 
> I then use the "gpio_get_value 116" command followed by "echo $?" to
> read the value. I always read a 0. On Linux I could read the right
> value depending of the position of the switch, so it's not an
> hardware problems.
> 
> I have tried with one of the two LEDs on the module (gpio_152) and I
> could change the LED state and read it back with gpio_get_value.
> 
> I do not understand what I am doing wrong. Any help will be appreciated.

What you tried should work. The only thing I can imagine is that you
need a gpio_direction_input before reading the value.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPIO commands on OMAP4
  2012-04-05 13:49 ` Sascha Hauer
@ 2012-04-05 14:38   ` Patrick
  2012-04-05 14:58     ` Patrick
  0 siblings, 1 reply; 6+ messages in thread
From: Patrick @ 2012-04-05 14:38 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 04/05/2012 03:49 PM, Sascha Hauer wrote:
> On Thu, Apr 05, 2012 at 11:40:49AM +0200, Patrick wrote:
>> Dear mailing-list,
>>
>> I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox
>> 2011.09.0 patched with BSP from Phytec.
>>
>> I would like to use the GPIO command to read a switch at startup.
>> This chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited
>> the boards/pcm049/mux.c files to change the configuration of this
>> GPIO as follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of
>> {ABE_MCBSP1_DX, (SAFE_MODE)}.
>>
>> I then use the "gpio_get_value 116" command followed by "echo $?" to
>> read the value. I always read a 0. On Linux I could read the right
>> value depending of the position of the switch, so it's not an
>> hardware problems.
>>
>> I have tried with one of the two LEDs on the module (gpio_152) and I
>> could change the LED state and read it back with gpio_get_value.
>>
>> I do not understand what I am doing wrong. Any help will be appreciated.
>
> What you tried should work. The only thing I can imagine is that you
> need a gpio_direction_input before reading the value.
>
> Sascha
>
I have found the the problem come from the mux configuration.

I have added a call to set_muxconf_regs() from the gpio_get_value() 
(this is only to try) and then it works. I have checked my configuration 
and the lowlevel init is enabled:

CONFIG_MACH_HAS_LOWLEVEL_INIT=y
CONFIG_MACH_DO_LOWLEVEL_INIT=y

I am runnig my development version of barebox from the stable barebox 
flashed on NAND. I do the following:

tftp barebox.bin /dev/ram0
go /dev/ram0

Could this be a problem ?

Thanks for your help

Patrick


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPIO commands on OMAP4
  2012-04-05 14:38   ` Patrick
@ 2012-04-05 14:58     ` Patrick
  2012-04-05 16:19       ` Sascha Hauer
  0 siblings, 1 reply; 6+ messages in thread
From: Patrick @ 2012-04-05 14:58 UTC (permalink / raw)
  To: barebox

On 04/05/2012 04:38 PM, Patrick wrote:
> On 04/05/2012 03:49 PM, Sascha Hauer wrote:
>> On Thu, Apr 05, 2012 at 11:40:49AM +0200, Patrick wrote:
>>> Dear mailing-list,
>>>
>>> I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox
>>> 2011.09.0 patched with BSP from Phytec.
>>>
>>> I would like to use the GPIO command to read a switch at startup.
>>> This chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited
>>> the boards/pcm049/mux.c files to change the configuration of this
>>> GPIO as follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of
>>> {ABE_MCBSP1_DX, (SAFE_MODE)}.
>>>
>>> I then use the "gpio_get_value 116" command followed by "echo $?" to
>>> read the value. I always read a 0. On Linux I could read the right
>>> value depending of the position of the switch, so it's not an
>>> hardware problems.
>>>
>>> I have tried with one of the two LEDs on the module (gpio_152) and I
>>> could change the LED state and read it back with gpio_get_value.
>>>
>>> I do not understand what I am doing wrong. Any help will be appreciated.
>>
>> What you tried should work. The only thing I can imagine is that you
>> need a gpio_direction_input before reading the value.
>>
>> Sascha
>>
> I have found the the problem come from the mux configuration.
>
> I have added a call to set_muxconf_regs() from the gpio_get_value()
> (this is only to try) and then it works. I have checked my configuration
> and the lowlevel init is enabled:
>
> CONFIG_MACH_HAS_LOWLEVEL_INIT=y
> CONFIG_MACH_DO_LOWLEVEL_INIT=y
>
> I am runnig my development version of barebox from the stable barebox
> flashed on NAND. I do the following:
>
> tftp barebox.bin /dev/ram0
> go /dev/ram0
>
> Could this be a problem ?
>
> Thanks for your help
>
> Patrick
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox

Ok things start to become clearer; As I say before I start my dev 
version of BareBox from a stable flashed version.

My dev version is then executed from adress 0x80000000. On the 
board_init_lowlevel() function there is the following test:

if (get_pc() > 0x80000000)
		return;

As my version is started from 0x80000000 this test is true and then the 
set_muxconf_regs(); is never called !

Now the question is why there is this test ?
Is the right place to call  set_muxconf_regs(); from this location ?

Thanks for your help

Patrick

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPIO commands on OMAP4
  2012-04-05 14:58     ` Patrick
@ 2012-04-05 16:19       ` Sascha Hauer
  0 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-04-05 16:19 UTC (permalink / raw)
  To: Patrick; +Cc: barebox

On Thu, Apr 05, 2012 at 04:58:37PM +0200, Patrick wrote:
> On 04/05/2012 04:38 PM, Patrick wrote:
> >On 04/05/2012 03:49 PM, Sascha Hauer wrote:
> >>On Thu, Apr 05, 2012 at 11:40:49AM +0200, Patrick wrote:
> >>>Dear mailing-list,
> >>>
> >>>I am using a pcm049 phyCORE omap4430 module from Phytec with BareBox
> >>>2011.09.0 patched with BSP from Phytec.
> >>>
> >>>I would like to use the GPIO command to read a switch at startup.
> >>>This chip is connected on ABE_MCBSP1_DX (gpio_116). I have edited
> >>>the boards/pcm049/mux.c files to change the configuration of this
> >>>GPIO as follow: {ABE_MCBSP1_DX, (DIS | IEN | M3)} instead of
> >>>{ABE_MCBSP1_DX, (SAFE_MODE)}.
> >>>
> >>>I then use the "gpio_get_value 116" command followed by "echo $?" to
> >>>read the value. I always read a 0. On Linux I could read the right
> >>>value depending of the position of the switch, so it's not an
> >>>hardware problems.
> >>>
> >>>I have tried with one of the two LEDs on the module (gpio_152) and I
> >>>could change the LED state and read it back with gpio_get_value.
> >>>
> >>>I do not understand what I am doing wrong. Any help will be appreciated.
> >>
> >>What you tried should work. The only thing I can imagine is that you
> >>need a gpio_direction_input before reading the value.
> >>
> >>Sascha
> >>
> >I have found the the problem come from the mux configuration.
> >
> >I have added a call to set_muxconf_regs() from the gpio_get_value()
> >(this is only to try) and then it works. I have checked my configuration
> >and the lowlevel init is enabled:
> >
> >CONFIG_MACH_HAS_LOWLEVEL_INIT=y
> >CONFIG_MACH_DO_LOWLEVEL_INIT=y
> >
> >I am runnig my development version of barebox from the stable barebox
> >flashed on NAND. I do the following:
> >
> >tftp barebox.bin /dev/ram0
> >go /dev/ram0
> >
> >Could this be a problem ?

The mux config is executed from lowlevel_init which returns immediately
when it detects that barebox runs from SDRAM. So yes, that's your
problem.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-04-05 16:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-05  9:40 GPIO commands on OMAP4 Patrick
2012-04-05 12:45 ` Patrick
2012-04-05 13:49 ` Sascha Hauer
2012-04-05 14:38   ` Patrick
2012-04-05 14:58     ` Patrick
2012-04-05 16:19       ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox