[PATCH] arm: omap3: beagle: Ensure msecure is mux'd to be able to set the RTC

Igor Grinberg grinberg at compulab.co.il
Tue Jun 7 05:50:09 EDT 2011


On 06/07/11 11:01, Alexander Holler wrote:

> Am 31.05.2011 12:29, schrieb Tony Lindgren:
>> * Alexander Holler<holler at ahsoftware.de>  [110405 06:38]:
>>> Without msecure beeing high it isn't possible to set (or start)
>>> the RTC.
>>>
>>> Tested with a BeagleBoard C4.
>>
>> Adding this into fixes.
>>
>> Tony
>>
>>> Signed-off-by: Alexander Holler<holler at ahsoftware.de>
>>> ---
>>>   arch/arm/mach-omap2/board-omap3beagle.c |    3 +++
>>>   1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
>>> index 46d814a..ebe3a7e 100644
>>> --- a/arch/arm/mach-omap2/board-omap3beagle.c
>>> +++ b/arch/arm/mach-omap2/board-omap3beagle.c
>>> @@ -628,6 +628,9 @@ static void __init omap3_beagle_init(void)
>>>       usb_ehci_init(&ehci_pdata);
>>>       omap3beagle_flash_init();
>>>
>>> +    /* Ensure msecure is mux'd to be able to set the RTC. */
>>> +    omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH);
>>> +
>>>       /* Ensure SDRC pins are mux'd for self-refresh */
>>>       omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
>>>       omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
>>> -- 
>>> 1.7.3.4
>>>
>
> I've later switched to the following patch which muxes msecure as GPIO (the drm-mode isn't explained in the TRM) and also exports the GPIO, so root could easily switch it to prevent modifications on the RTC.
>
> (Warning, either my clipboard or the version of Thunderbird I'm currently using replaces the tabs with spaces in the pasted patch and I'm currently too lazy to search a workaround).
>
> ---
>  arch/arm/mach-omap2/board-omap3beagle.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
> index 33007fd..24b4417 100644
> --- a/arch/arm/mach-omap2/board-omap3beagle.c
> +++ b/arch/arm/mach-omap2/board-omap3beagle.c
> @@ -673,6 +673,12 @@ static void __init omap3_beagle_init(void)
>         usbhs_init(&usbhs_bdata);
>         omap3beagle_flash_init();
>
> +       /* Ensure msecure is high to be able to set the RTC. */
> +       omap_mux_init_signal("gpio_22", OMAP_PIN_OFF_OUTPUT_HIGH);
> +       gpio_request(22, "msecure");
> +       gpio_direction_output(22, true);

Can this be gpio_request_one() instead, please?
Also, it will be nice to make a define for the magic 22.

> +       gpio_export(22, false);
> +
>         /* Ensure SDRC pins are mux'd for self-refresh */
>         omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
>         omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);

-- 
Regards,
Igor.




More information about the linux-arm-kernel mailing list