mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Cameron Ferguson <cameron.bare86@gmail.com>
To: barebox@lists.infradead.org, a.fatoum@pengutronix.de, wim@iguana.be
Subject: Re: Small tweak to get ACPI watchdog working (iTCO)
Date: Wed, 29 Jan 2020 08:36:32 +0000	[thread overview]
Message-ID: <CAEKVsgbaTzX-eRCxwgF4MA1LKMeNTS5jVTgZG1Ciz-gh65YVgA@mail.gmail.com> (raw)
In-Reply-To: <CAEKVsgaAVyREvfB-bCCuPCVwi87S1Oq=4xMK6hjEXuJp2kZm+A@mail.gmail.com>

I have double-checked all the instructions that I'm issuing to the
ACPI watchdog timer, and they are identical to the instructions issued
by the Linux kernel driver which I'm trying to mimic. Also I have
verified that my IO calls (ioread32,iowrite32) are working properly.

I think the problem is that the entire ACPI system as a whole is not
initialized. I think I need to issue a few instructions at the very
beginning to initialise the ACPI system.

Anyone got any ideas?




---------- Forwarded message ---------
From: Cameron Ferguson <cameron.bare86@gmail.com>
Date: Tue, Jan 28, 2020 at 3:19 PM
Subject: Re: Small tweak to get ACPI watchdog working (iTCO)
To: <barebox@lists.infradead.org>, <a.fatoum@pengutronix.de>, <wim@iguana.be>


In my previous email, I only had the "write" operations associated
with controlling the watchdog timer. I have edited my code to include
the "read" operations too, but still it's not working.

Here's my new code:

    /* R */    retval = ioread32(base +  4u);  // This should be 0x0
    /* R */    retval = ioread32(base +  4u);  // This should be 0x0
    /* W */    iowrite32(0x20000, base + 4u);
    /* R */    retval = ioread32(base +  8u);  // This should be 0x1800
    /* R */    retval = ioread32(base +  8u);  // This should be 0x1800
    /* W */    iowrite32(0x1000, base + 8u);
    /* R */    retval = ioread32(base +  0u);  // This should be 0x4
    /* W */    iowrite32(0x4, base + 0u);
    /* R */    retval = ioread32(base + 10u);  // This should be 0x40000
    /* W */    iowrite32(0x640000, base + 10u);
    /* R */    retval = ioread32(base +  0u);  // This should be 0x2
    /* W */    iowrite32(0x4, base + 0u);  // This is a kick
    /* R */    retval = ioread32(base +  0u);  // This should be 0x34
    /* W */    iowrite32(0x4, base + 0u);  // This is a kick

The first two read operations should both return 0x0, however I'm
getting what looks like a random number. Also it consitently reads the
value 0x4 from "base + 0u".

Anyone got an idea?

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2020-01-29  8:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAEKVsgZHZR2b28wcMcpac4Qa3KebrXMRf14STZ8GCum0NmnLgg@mail.gmail.com>
2020-01-28 15:19 ` Cameron Ferguson
2020-01-29  8:36   ` Cameron Ferguson [this message]
2020-01-29 11:20 ` Ahmad Fatoum
2020-01-29 16:07   ` Cameron Ferguson
2020-01-29 16:57     ` Cameron Ferguson
2020-01-29 16:57     ` Ahmad Fatoum
2020-01-29 17:55       ` Cameron Ferguson
2020-01-29 18:00         ` Ahmad Fatoum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEKVsgbaTzX-eRCxwgF4MA1LKMeNTS5jVTgZG1Ciz-gh65YVgA@mail.gmail.com \
    --to=cameron.bare86@gmail.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox