* 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