[PATCH] arm: omap3: beagle: Ensure msecure is mux'd to be able to set the RTC
Igor Grinberg
grinberg at compulab.co.il
Wed Jun 8 17:57:09 EDT 2011
On 06/07/11 14:15, Alexander Holler wrote:
> Am 07.06.2011 11:50, schrieb Igor Grinberg:
>> 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.
>
> You need the "gpio_22" in the mux_init, so using a define would imho introduce a potential source for an error, at least when the define would not be anywhere near the "gpio_22" and someone would forget change the string too, when he changes the define. So I don't think a define adds much value there.
Why not leave "sys_drm_msecure" for mux_init, or does it make troubles on XM?
What about gpio_request_one()? To conform with the rest of the file and mach-omap2/*.
--
Regards,
Igor.
More information about the linux-arm-kernel
mailing list