Message ID | 4DEDDAF6.2070505@ahsoftware.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 06/07/11 11:01, Alexander Holler wrote: > Am 31.05.2011 12:29, schrieb Tony Lindgren: >> * Alexander Holler<holler@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@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);
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@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@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. > >> + 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, Alexander
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@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@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/*.
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); + 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);