On 13-03-29 12:03 PM, Johan Hovold wrote:
Add support for the at91sam9x5-family which must use the shadow
interrupt mask due to a hardware issue.
---
  drivers/rtc/rtc-at91rm9200.c | 8 ++++++++
  1 file changed, 8 insertions(+)

diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
index 2921866..f3e351f 100644
--- a/drivers/rtc/rtc-at91rm9200.c
+++ b/drivers/rtc/rtc-at91rm9200.c
@@ -318,12 +318,20 @@ static irqreturn_t at91_rtc_interrupt(int irq, void 
*dev_id)
  static const struct at91_rtc_config at91rm9200_config = {
  };

+static const struct at91_rtc_config at91sam9x5_config = {
+       .use_shadow_imr = true,
+};
+
  #if defined(CONFIG_OF)
  static const struct of_device_id at91_rtc_dt_ids[] = {
        {
                .compatible = "atmel,at91rm9200-rtc",
                .data = &at91rm9200_config,
        },
+       {
+               .compatible = "atmel,at91sam9x5-rtc",
+               .data = &at91sam9x5_config,
+       },
                /* terminator */
        }
  };


Johan,
Looks good.

Plus add something like this to at91sam9x5.dtsi after the
i2c@2 entry (at the end):

        rtc {
                compatible = "atmel,at91sam9x5-rtc";
                reg = <0xfffffeb0 0x40>;
                interrupts = <1 4 7>;
                status = "disabled";
        };


and an "enabler" in ariag25.dts (and perhaps other members
of the 9x5 sub-family), also at the end:

        rtc {
                status = "okay";
        };

My patches are in Robert Nelson's tree at:
   http://www.eewiki.net/display/linuxonarm/AT91SAM9x5
in the Linux kernel section. My RTC code amounts to the same
thing as you are proposing, without the safety code around
the IMR shadow.

I provide binaries based on that work to Aria G25 users
via a google group. No-one has complained about RTC not
working. SPI and I2C problems are on-going but gradually
being sorted. Hence I know people are using and testing
this code, other than me.

Doug Gilbert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to