From: Daniel Laird <daniel.j.laird@nxp.com>
To: linux-mips@linux-mips.org
Subject: Re: [PATCH] Philips(NXP)/STB810 changes
Date: Thu, 21 Jun 2007 23:33:48 -0700 (PDT) [thread overview]
Message-ID: <11246928.post@talk.nabble.com> (raw)
In-Reply-To: <20070621142721.GC21938@linux-mips.org>
Useful script that checkpatch.pl!
Okay third attempt.
Please find attached a patch that sets up the CMEM registers for PNX8550
properly:
Setup the CMEM registers for PNX8550 correctly.
Signed-off-by: Daniel Laird <daniel.j.laird@NXP.com>
---
--- kernel/include/asm-mips/mipsregs.h
+++ kernel-new/include/asm-mips/mipsregs.h
@@ -498,6 +498,25 @@
#define MIPS_CONF_AT (_ULCAST_(3) << 13)
#define MIPS_CONF_M (_ULCAST_(1) << 31)
+/* Bits specific to the PR4450 CMEM Registers */
+#define PR4450_CMEMF_BBA (_ULCAST_(2047) << 20)
+#define PR4450_CMEMB_BBA 20
+#define PR4450_CMEMF_SIZE (_ULCAST_(15) << 1)
+#define PR4450_CMEMB_SIZE 1
+#define PR4450_CMEM_SIZE_1MB 0
+#define PR4450_CMEM_SIZE_2MB 1
+#define PR4450_CMEM_SIZE_4MB 2
+#define PR4450_CMEM_SIZE_8MB 3
+#define PR4450_CMEM_SIZE_16MB 4
+#define PR4450_CMEM_SIZE_32MB 5
+#define PR4450_CMEM_SIZE_64MB 6
+#define PR4450_CMEM_SIZE_128MB 7
+#define PR4450_CMEM_SIZE_256MB 8
+#define PR4450_CMEM_SIZE_512MB 9
+#define PR4450_CMEM_SIZE_1GB 10
+#define PR4450_CMEMF_VALID (_ULCAST_(1) << 0)
+#define PR4450_CMEMB_VALID 0
+
/*
* Bits in the MIPS32/64 PRA coprocessor 0 config registers 1 and above.
*/
@@ -917,6 +936,14 @@
#define read_c0_diag5() __read_32bit_c0_register($22, 5)
#define write_c0_diag5(val) __write_32bit_c0_register($22, 5, val)
+#ifdef CONFIG_SOC_PNX8550
+#define read_c0_diag6() __read_32bit_c0_register($22, 6)
+#define write_c0_diag6(val) __write_32bit_c0_register($22, 6, val)
+
+#define read_c0_diag7() __read_32bit_c0_register($22, 7)
+#define write_c0_diag7(val) __write_32bit_c0_register($22, 7, val)
+#endif
+
#define read_c0_debug() __read_32bit_c0_register($23, 0)
#define write_c0_debug(val) __write_32bit_c0_register($23, 0, val)
--- kernel/arch/mips/philips/pnx8550/common/setup.c
+++ kernel-new/arch/mips/philips/pnx8550/common/setup.c
@@ -75,6 +75,20 @@
},
};
+/* Define the CMEM regions for the processor. */
+#define CMEM_VALID (1 << PR4450_CMEMB_VALID)
+#define CMEM_REGION (0x1be00000 & PR4450_CMEMF_BBA)
+#define MMIO_CMEM_SIZE (PR4450_CMEM_SIZE_2MB << PR4450_CMEMB_SIZE)
+#define MMIO_CMEM_ENABLE (CMEM_REGION | MMIO_CMEM_SIZE | CMEM_VALID)
+
+#define XIO_CMEM_REGION (0x10000000 & PR4450_CMEMF_BBA)
+#define XIO_CMEM_SIZE (PR4450_CMEM_SIZE_128MB << PR4450_CMEMB_SIZE)
+#define XIO_CMEM_ENABLE (XIO_CMEM_REGION | XIO_CMEM_SIZE | CMEM_VALID)
+
+#define PCI_CMEM_REGION (0x20000000 & PR4450_CMEMF_BBA)
+#define PCI_CMEM_SIZE (PR4450_CMEM_SIZE_128MB << PR4450_CMEMB_SIZE)
+#define PCI_CMEM_ENABLE (PCI_CMEM_REGION | PCI_CMEM_SIZE | CMEM_VALID)
+
#define STANDARD_IO_RESOURCES (sizeof(standard_io_resources)/sizeof(struct
resource))
extern struct resource pci_io_resource;
@@ -105,6 +119,19 @@
pm_power_off = pnx8550_machine_power_off;
board_time_init = pnx8550_time_init;
+
+ /* Setup CMEM Registers */
+ /* CMEM0 = MMIO */
+ write_c0_diag4(MMIO_REGION_ENABLE);
+
+ /* CMEM1 = XIO */
+ write_c0_diag5(XIO_CMEM_ENABLE);
+
+ /* CMEM2 = PCI */
+ write_c0_diag6(PCI_CMEM_ENABLE);
+
+ /* CMEM3 = Not used */
+ write_c0_diag7(0);
/* Clear the Global 2 Register, PCI Inta Output Enable Registers
Bit 1:Enable DAC Powerdown
Attached Email:
http://www.nabble.com/file/p11246928/pnx8550_cmem_setup.patch
pnx8550_cmem_setup.patch
Cheers
Daniel Laird
--
View this message in context: http://www.nabble.com/-PATCH--Philips%28NXP%29-STB810-changes-tf3957431.html#a11246928
Sent from the linux-mips main mailing list archive at Nabble.com.
next prev parent reply other threads:[~2007-06-22 6:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-21 9:02 [PATCH] Philips(NXP)/STB810 changes Daniel Laird
2007-06-21 11:57 ` Sergei Shtylyov
2007-06-21 12:37 ` Daniel Laird
2007-06-21 14:27 ` Ralf Baechle
2007-06-22 6:33 ` Daniel Laird [this message]
2007-06-22 6:41 ` Daniel Laird
2007-06-27 12:58 ` Ralf Baechle
-- strict thread matches above, loose matches on Subject: below --
2007-06-27 14:19 Daniel Laird
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=11246928.post@talk.nabble.com \
--to=daniel.j.laird@nxp.com \
--cc=linux-mips@linux-mips.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