From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: rtc-twl: catch22 in 2.6.37 and 2.6.38 when clock was never set Date: Tue, 31 May 2011 03:28:28 -0700 Message-ID: <20110531102827.GT11352@atomide.com> References: <4D99D5B0.6010503@ahsoftware.de> <4D9AEB76.2060509@ahsoftware.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <4D9AEB76.2060509@ahsoftware.de> Sender: linux-kernel-owner@vger.kernel.org To: Alexander Holler Cc: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org List-Id: linux-omap@vger.kernel.org * Alexander Holler [110405 03:11]: > Hello, > > Am 04.04.2011 16:29, schrieb Alexander Holler: > > >it just happened here that the rechargeable backup battery for the RTC > >on a TPS65950 run out off power, because of some days while the device > >wasn't powered. > > > >Afterwards I couldn't read or set the clock with hwclock using a kernel > >2.6.37.n or 2.6.38.n. > > > >I don't have a fix, but I think I've analyzed the problem and can offer > >a (bad) workaround. > > > >What happens is the following: > > > >When trying to read or set the clock with hwclock, the driver (rtc-twl) > >starts an alarm, but the irq for the alarm will never get called. The > >result is that a select in hwclock times out (for both operations, read > >or set). > > > >Because I had this clock running before, I've got the idea to try one of > >those old OMAP-kernels (2.6.32-angstrom) using the same userland. > >And with that kernel I could set the clock. > >Using 2.6.37 or 2.6.38 afterwards, hwclock did function again, both read > >an set are working. > > > >So it looks like there is a catch22 in kernels >=2.6.37 (I haven't > >tested .33-.36): > > > >When the clock was never set, the alarm(-irq) doesn't work, so hwclock > >doesn't work, so one can't set the clock. > > It turns out that the missing/wrong initialization of the msecure > line is the problem which disabled setting the clock. After doing > that through a quick hack, I could set the clock. > > I'm using a BeagleBoard C4, but I can't find any msecure > initialization for other boards too. > > What happened with those patches? E.g. those: > > http://www.mail-archive.com/linux-omap@vger.kernel.org/msg16125.html Looks like these need reposting. Maybe worth doing generic omap RTC init code though? Tony