From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Linux/m68k" <linux-m68k@vger.kernel.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>
Subject: Re: [RFC v2 23/24] m68k/mac: Fix PRAM accessors
Date: Mon, 15 Jun 2015 10:23:17 +0200 [thread overview]
Message-ID: <CAMuHMdWzKvWjAE3u54E4xewEDX+zJqEDEvRmO2twpeD2vmBzog@mail.gmail.com> (raw)
In-Reply-To: <20150614074613.054681242@telegraphics.com.au>
Hi Finn,
On Sun, Jun 14, 2015 at 9:46 AM, Finn Thain <fthain@telegraphics.com.au> wrote:
> --- linux.orig/arch/m68k/mac/misc.c 2015-06-14 17:46:02.000000000 +1000
> +++ linux/arch/m68k/mac/misc.c 2015-06-14 17:46:03.000000000 +1000
> @@ -284,11 +287,31 @@ static void via_pram_command(int command
>
> static unsigned char via_pram_read_byte(int offset)
> {
> - return 0;
> + unsigned char temp;
> + int addr = ((offset & 0xE0) << 3) | ((offset & 0x1F) << 2);
Can you please add #defines for the magic values?
> +
> + /* Use RTC command 0x38 for XPRAM access, as per MESS source code */
> + via_pram_command(addr | 0x3800 | 0x8001, &temp);
It seems 0x38 is already documented in <linux/pmu.h> (see below), or not (it's
shifted left by 8 bits?)?
> +
> + return temp;
> }
>
> static void via_pram_write_byte(unsigned char data, int offset)
> {
> + unsigned char temp;
> + int addr = ((offset & 0xE0) << 3) | ((offset & 0x1F) << 2);
> +
> + /* Clear the write protect bit */
> + temp = 0x55;
> + via_pram_command(0x34 | 0x01, &temp);
> +
> + /* Write the byte to XPRAM */
> + temp = data;
> + via_pram_command(0x3800 | 0x0001 | addr, &temp);
> +
> + /* Set the write protect bit */
> + temp = 0xD5;
> + via_pram_command(0x34 | 0x01, &temp);
More magic values...
> }
>
> /*
> Index: linux/include/uapi/linux/pmu.h
> ===================================================================
> --- linux.orig/include/uapi/linux/pmu.h 2015-06-14 17:45:34.000000000 +1000
> +++ linux/include/uapi/linux/pmu.h 2015-06-14 17:46:03.000000000 +1000
> @@ -18,7 +18,9 @@
> #define PMU_POWER_CTRL 0x11 /* control power of some devices */
> #define PMU_ADB_CMD 0x20 /* send ADB packet */
> #define PMU_ADB_POLL_OFF 0x21 /* disable ADB auto-poll */
> +#define PMU_WRITE_XPRAM 0x32 /* write eXtended Parameter RAM */
> #define PMU_WRITE_NVRAM 0x33 /* write non-volatile RAM */
> +#define PMU_READ_XPRAM 0x3a /* read eXtended Parameter RAM */
> #define PMU_READ_NVRAM 0x3b /* read non-volatile RAM */
> #define PMU_SET_RTC 0x30 /* set real-time clock */
> #define PMU_READ_RTC 0x38 /* read real-time clock */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2015-06-15 8:23 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-14 7:46 [RFC v2 00/24] Re-use nvram module Finn Thain
2015-06-14 7:46 ` [RFC v2 01/24] macintosh/nvram: Remove as unused Finn Thain
2015-06-15 6:41 ` [RFC,v2,01/24] " Michael Ellerman
2015-06-14 7:46 ` [RFC v2 02/24] scsi/atari_scsi: Dont select CONFIG_NVRAM Finn Thain
2015-06-14 7:46 ` [RFC v2 03/24] m68k/atari: Move Atari-specific code out of drivers/char/nvram.c Finn Thain
2015-06-14 7:46 ` [RFC v2 04/24] m68k/atari: Replace nvram_{read,write}_byte with arch_nvram_ops Finn Thain
2015-06-14 7:46 ` [RFC v2 05/24] char/nvram: Re-order functions to remove forward declarations and #ifdefs Finn Thain
2015-06-14 7:46 ` [RFC v2 06/24] char/nvram: Adopt arch_nvram_ops Finn Thain
2015-06-14 7:46 ` [RFC v2 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte() Finn Thain
2015-06-14 7:46 ` [RFC v2 08/24] char/nvram: Allow the set_checksum and initialize ioctls to be omitted Finn Thain
2015-06-14 7:46 ` [RFC v2 09/24] char/nvram: Implement NVRAM read/write methods Finn Thain
2015-06-14 7:46 ` [RFC v2 10/24] char/nvram: Use generic fixed_size_llseek() Finn Thain
2015-06-14 7:46 ` [RFC v2 11/24] m68k/atari: Implement arch_nvram_ops methods and enable CONFIG_HAVE_ARCH_NVRAM_OPS Finn Thain
2015-06-14 7:46 ` [RFC v2 12/24] char/nvram: Add "devname:nvram" module alias Finn Thain
2015-06-14 7:46 ` [RFC v2 13/24] powerpc: Cleanup nvram includes Finn Thain
2015-06-14 7:46 ` [RFC v2 14/24] powerpc: Add missing ppc_md.nvram_size for CHRP and PowerMac Finn Thain
2015-06-14 7:46 ` [RFC v2 15/24] powerpc: Implement arch_nvram_ops.get_size() and remove old nvram_* exports Finn Thain
2015-06-14 7:46 ` [RFC v2 16/24] powerpc: Implement nvram sync ioctl Finn Thain
2015-06-14 7:46 ` [RFC v2 17/24] powerpc, fbdev: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte() Finn Thain
2015-06-14 7:46 ` [RFC v2 18/24] nvram: Drop nvram_* symbol exports and prototypes Finn Thain
2015-06-14 7:46 ` [RFC v2 19/24] powerpc: Remove CONFIG_GENERIC_NVRAM and adopt CONFIG_HAVE_ARCH_NVRAM_OPS Finn Thain
2015-06-14 7:46 ` [RFC v2 20/24] char/generic_nvram: Remove as unused Finn Thain
2015-06-14 7:46 ` [RFC v2 21/24] powerpc: Adopt nvram module for PPC64 Finn Thain
2015-06-14 7:46 ` [RFC v2 22/24] m68k/mac: Adopt naming and calling conventions for PRAM routines Finn Thain
2015-06-14 7:46 ` [RFC v2 23/24] m68k/mac: Fix PRAM accessors Finn Thain
2015-06-15 8:23 ` Geert Uytterhoeven [this message]
2015-06-16 3:10 ` Finn Thain
2015-06-18 4:49 ` Finn Thain
2015-06-18 6:59 ` Geert Uytterhoeven
2015-06-18 16:52 ` Andreas Schwab
2015-06-14 7:46 ` [RFC v2 24/24] m68k: Dispatch nvram_ops calls to Atari or Mac functions Finn Thain
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=CAMuHMdWzKvWjAE3u54E4xewEDX+zJqEDEvRmO2twpeD2vmBzog@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=fthain@telegraphics.com.au \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
/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;
as well as URLs for NNTP newsgroup(s).