• Tony Lindgren's avatar
    ARM: dts: Fix omap5 PMIC control lines for RTC writes · 41a94b38
    Tony Lindgren authored
    commit af756bbc upstream.
    
    The palmas PMIC has two control lines that need to be muxed properly
    for things to work. The sys_nirq pin is used for interrupts, and msecure
    pin is used for enabling writes to some PMIC registers.
    
    Without these pins configured properly things can fail in mysterious
    ways. For example, we can't update the RTC registers on palmas PMIC
    unless the msecure pin is configured. And this is probably the reason
    why we had RTC missing from the omap5 dts file.
    
    According to "OMAP5430 ES2.0 Data Manual [Public] VErsion A (Rev. F)"
    swps052f.pdf, mux mode 1 is for sys_drm_msecure so in theory there's
    should be no need to configure it as a GPIO pin.
    
    However, it seems there are some reliability issues using the msecure
    mux mode. And the TI trees configure the msecure pin as GPIO out high
    instead.
    
    As the PMIC only cares that the msecure line is high to allow access
    to the RTC registers, let's use a GPIO hog as suggested by Nishanth
    Menon <nm@ti.com>. Also the use of the internal pull was considered
    but supposedly that may not be capable of keeping the line high in
    a noisy environment.
    
    If we ever see high security omap5 products in the mainline tree,
    those need to skip the msecure pin muxing and ignore setting the GPIO
    hog. Chances are the related pin mux registers are locked in that case
    and the msecure pin is managed by whatever software may be running in
    the ARM TrustZone.
    
    Who knows what the original intention of the msecure pin was. Maybe
    it was supposed to prevent the system time to be set back for some
    game demo modes to time out? Anyways, it seems that later PMICs like
    tps659037 have recycled this pin for "powerhold" and devices like
    beagle-x15 do not need changes to the msecure pin configuration.
    
    To avoid further confusion with TWL variant PMICs, beagle-x15 does
    not have a back-up battery for RTC palmas. Instead the mcp79410 RTC
    is used with rtc-ds1307 driver. There is a "powerhold" jumper j5
    holes near the palmas PMIC, and shorting it seems to power up
    beagle-x15 automatically. It is unknown if it also has other side
    effects to the beagle-x15 power up sequence.
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    41a94b38
omap5-board-common.dtsi 15.9 KB