* Configure tweaks for SystemACE without CONFIG_XILINX_OCP
@ 2004-06-10 21:18 Stephen Williams
2004-06-11 3:05 ` Stephen Williams
[not found] ` <1087388724.17025.4.camel@pavement.sandburst.com>
0 siblings, 2 replies; 4+ messages in thread
From: Stephen Williams @ 2004-06-10 21:18 UTC (permalink / raw)
To: linuxppc-embedded
I'm working to clean up my integration of our JSE board, which
is based on PPC405GPr, and has a Xilinx SystemACE as a cf interface.
I find that the block/drivers/xilinx_systemace/adapter driver needs
the arch/ppc/platforms/xilinx_ocp/xilinx_ocp.o file compiled, but
definitely does *NOT* want the CONFIG_XILINX_OCP config defined.
If the latter is defined, then some changes in the ppc405_pci.c
source file are compiled in that are not right for ppc405GPr
devices.
In order to get CONFIG_XILINX_SYSACE to define, the unmodified
source requries that CONFIG_XILINX_OCP is defined. I created this
patch to alloc SYSACE on by board:
@@ -41,7 +41,7 @@
dep_tristate 'Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)'
CONFIG_BLK_DEV_UMEM $CONFIG_PCI $CONFIG_EXPERIMENTAL
dep_tristate 'Promise SATA SX8 (carmel) support' CONFIG_BLK_DEV_CARMEL $CONFIG_PCI
-if [ "$CONFIG_XILINX_OCP" = "y" ]; then
+if [ "$CONFIG_XILINX_OCP" = "y" || "$CONFIG_JSE" = "y" ]; then
tristate 'Xilinx on-chip System ACE' CONFIG_XILINX_SYSACE
fi
Functional, but brutish. Better would be for the ifdefs on the
CONFIG_XILINX_OCP in arch/ppc/kernel/ppc405_pci.o go away. Who is
the maintainer for this bit (Andrei?) and would in be OK to
further qualify this code so that the CONFIG_XILINX_OCP is not
enough to make a complete mess for non-virtex2pro folks? Heck,
one idea would be to change ppc405_pci.c:135 from:
#ifdef CONFIG_XILINX_OCP
to the more complete test:
#if DEFINED(CONFIG_XILINX_OCP) && defined(CONFIG_VIRTEX_II_PRO)
Please?
--
Steve Williams "The woods are lovely, dark and deep.
steve at XXXXXXXXXX But I have promises to keep,
http://www.XXXXXXXXXX and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Configure tweaks for SystemACE without CONFIG_XILINX_OCP
2004-06-10 21:18 Configure tweaks for SystemACE without CONFIG_XILINX_OCP Stephen Williams
@ 2004-06-11 3:05 ` Stephen Williams
2004-06-11 17:21 ` Andrei Konovalov
[not found] ` <1087388724.17025.4.camel@pavement.sandburst.com>
1 sibling, 1 reply; 4+ messages in thread
From: Stephen Williams @ 2004-06-11 3:05 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 855 bytes --]
Stephen Williams 612dlag102-at-sneakemail.com |PPC Linux Embedded| wrote:
> In order to get CONFIG_XILINX_SYSACE to define, the unmodified
> source requries that CONFIG_XILINX_OCP is defined. I created this
> patch to alloc SYSACE on by board:
I've made a patch that demonstrates what I have in mind, and
should work in general. With this patch, a configuration can
enable CONFIG_XILINX_OCP and enable CONFIG_XILINX_SYSACE and
not have ppc405gpr pci setup or PIC setup messed with.
Patch is relative the ppc.bkbits.net linuxppc-2.4 tree. I'm
guessing Andrei is the authority for this aspect.
--
Steve Williams "The woods are lovely, dark and deep.
steve at XXXXXXXXXX But I have promises to keep,
http://www.XXXXXXXXXX and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
[-- Attachment #2: sysace-without-virtex.patch --]
[-- Type: text/plain, Size: 1764 bytes --]
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/06/10 18:45:08-07:00 steve@wing.XXXXXXXXXX
# Condition Xilinx on-chip processor config with
# CONFIG_VIRTEX_II_PRO
#
# arch/ppc/kernel/ppc405_pci.c
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
# Condition Xilinx on-chip processor support with
# CONFIG_VIRTEX_II_PRO
#
# arch/ppc/kernel/Makefile
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
# Condition Xilinx on-chip processor support with
# CONFIG_VIRTEX_II_PRO
#
# BitKeeper/etc/ignore
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +4 -0
# Added arch/ppc/boot/images/uImage arch/ppc/boot/images/vmlinux.UBoot arch/ppc/boot/images/vmlinux.gz arch/ppc/kernel/ppc_defs.h to the ignore list
#
diff -Nru a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
--- a/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
+++ b/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
@@ -61,7 +61,7 @@
obj-$(CONFIG_PPC_OCP) += ocp.o
obj-$(CONFIG_40x) += ppc4xx_setup.o
obj-$(CONFIG_4xx) += todc_time.o idle_4xx.o
-ifeq ($(CONFIG_XILINX_OCP),y)
+ifeq ($(CONFIG_XILINX_OCP)$(CONFIG_VIRTEX_II_PRO),yy)
obj-$(CONFIG_40x) += xilinx_pic.o
else
obj-$(CONFIG_40x) += ppc4xx_pic.o
diff -Nru a/arch/ppc/kernel/ppc405_pci.c b/arch/ppc/kernel/ppc405_pci.c
--- a/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
+++ b/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
@@ -132,7 +132,7 @@
setup_indirect_pci(hose_a, PPC405_PCI_CONFIG_ADDR,
PPC405_PCI_CONFIG_DATA);
-#ifdef CONFIG_XILINX_OCP
+#if defined(CONFIG_XILINX_OCP) && defined(CONFIG_VIRTEX_II_PRO)
/* Eliminate "unused variable" warning for pcip. Optimizer removes. */
pcip = NULL;
new_pmm_min = PPC405_PCI_LOWER_MEM;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Configure tweaks for SystemACE without CONFIG_XILINX_OCP
2004-06-11 3:05 ` Stephen Williams
@ 2004-06-11 17:21 ` Andrei Konovalov
0 siblings, 0 replies; 4+ messages in thread
From: Andrei Konovalov @ 2004-06-11 17:21 UTC (permalink / raw)
To: Stephen Williams; +Cc: linuxppc-embedded
The patch is OK for me.
Thanks,
Andrei
Stephen Williams wrote:
>
> Stephen Williams 612dlag102-at-sneakemail.com |PPC Linux Embedded| wrote:
>
>> In order to get CONFIG_XILINX_SYSACE to define, the unmodified
>> source requries that CONFIG_XILINX_OCP is defined. I created this
>> patch to alloc SYSACE on by board:
>
>
> I've made a patch that demonstrates what I have in mind, and
> should work in general. With this patch, a configuration can
> enable CONFIG_XILINX_OCP and enable CONFIG_XILINX_SYSACE and
> not have ppc405gpr pci setup or PIC setup messed with.
>
> Patch is relative the ppc.bkbits.net linuxppc-2.4 tree. I'm
> guessing Andrei is the authority for this aspect.
>
> --
> Steve Williams "The woods are lovely, dark and deep.
> steve at XXXXXXXXXX But I have promises to keep,
> http://www.XXXXXXXXXX and lines to code before I sleep,
> http://www.picturel.com And lines to code before I sleep."
>
>
> ------------------------------------------------------------------------
>
> # This is a BitKeeper generated diff -Nru style patch.
> #
> # ChangeSet
> # 2004/06/10 18:45:08-07:00 steve@wing.XXXXXXXXXX
> # Condition Xilinx on-chip processor config with
> # CONFIG_VIRTEX_II_PRO
> #
> # arch/ppc/kernel/ppc405_pci.c
> # 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
> # Condition Xilinx on-chip processor support with
> # CONFIG_VIRTEX_II_PRO
> #
> # arch/ppc/kernel/Makefile
> # 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
> # Condition Xilinx on-chip processor support with
> # CONFIG_VIRTEX_II_PRO
> #
> # BitKeeper/etc/ignore
> # 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +4 -0
> # Added arch/ppc/boot/images/uImage arch/ppc/boot/images/vmlinux.UBoot arch/ppc/boot/images/vmlinux.gz arch/ppc/kernel/ppc_defs.h to the ignore list
> #
> diff -Nru a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
> --- a/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
> +++ b/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
> @@ -61,7 +61,7 @@
> obj-$(CONFIG_PPC_OCP) += ocp.o
> obj-$(CONFIG_40x) += ppc4xx_setup.o
> obj-$(CONFIG_4xx) += todc_time.o idle_4xx.o
> -ifeq ($(CONFIG_XILINX_OCP),y)
> +ifeq ($(CONFIG_XILINX_OCP)$(CONFIG_VIRTEX_II_PRO),yy)
> obj-$(CONFIG_40x) += xilinx_pic.o
> else
> obj-$(CONFIG_40x) += ppc4xx_pic.o
> diff -Nru a/arch/ppc/kernel/ppc405_pci.c b/arch/ppc/kernel/ppc405_pci.c
> --- a/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
> +++ b/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
> @@ -132,7 +132,7 @@
> setup_indirect_pci(hose_a, PPC405_PCI_CONFIG_ADDR,
> PPC405_PCI_CONFIG_DATA);
>
> -#ifdef CONFIG_XILINX_OCP
> +#if defined(CONFIG_XILINX_OCP) && defined(CONFIG_VIRTEX_II_PRO)
> /* Eliminate "unused variable" warning for pcip. Optimizer removes. */
> pcip = NULL;
> new_pmm_min = PPC405_PCI_LOWER_MEM;
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Configure tweaks for SystemACE without CONFIG_XILINX_OCP
[not found] ` <1087388724.17025.4.camel@pavement.sandburst.com>
@ 2004-06-16 14:46 ` Stephen Williams
0 siblings, 0 replies; 4+ messages in thread
From: Stephen Williams @ 2004-06-16 14:46 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 2770 bytes --]
Travis B. Sawyer tsawyer-at-sandburst.com |PPC Linux Embedded| wrote:
> Steve:
>
> I'm working on getting sysace to come up on our custom hw.
>
> Where did you put the definitions that the driver code needs, eg:
> #if defined(CONFIG_XILINX_SYSACE)
> #define XPAR_XSYSACE_NUM_INSTANCES 1
> #define XPAR_SYSACE_0_BASEADDR 0xe8100000
> #define XPAR_SYSACE_0_HIGHADDR 0xe8100FFF
> #define XPAR_SYSACE_0_DEVICE_ID 160
> #define XPAR_INTC_0_SYSACE_0_VEC_ID 51 /* UIC1:20, IRQ9 */
> #endif
>
> Am I way off base with these? I dropped them in my board specific
> header file... Or, should I be using:
>
> #define XPAR_SYSACE_0_BASEADDR 0x0000000148100000ULL
> #define XPAR_SYSACE_0_HIGHADDR 0x0000000148100FFFULL
First, you'll need the attached sysace-without-virtexii patch, which
has not been pushed to the linuxppc-2.4 tree yet. This fixes some
V2PRO dependencies when XILINX_OCP is activated.
I started by editing the file platforms/xilinx_ocp/xparameters.h:
===== arch/ppc/platforms/xilinx_ocp/xparameters.h 1.1 vs edited =====
--- 1.1/arch/ppc/platforms/xilinx_ocp/xparameters.h 2003-03-12 08:35:10 -08:00
+++ edited/arch/ppc/platforms/xilinx_ocp/xparameters.h 2004-06-10 13:53:02 -07:00
@@ -16,3 +16,7 @@
#if defined(CONFIG_XILINX_ML300)
#include "xparameters_ml300.h"
#endif
+
+#if defined(CONFIG_JSE)
+#include "xparameters_jse.h"
+#endif
The CONFIG_JSE is for my board. I then added the xparameters_jse.h
file next to the xparameters_ml300.h that has the pertinent values
for my system. I've attached mine as a working example.
I also edited the arch/ppc/config.in so that the right defines
are enabled:
===== arch/ppc/config.in 1.69 vs edited =====
--- 1.69/arch/ppc/config.in 2004-03-25 16:39:48 -08:00
+++ edited/arch/ppc/config.in 2004-06-10 14:29:58 -07:00
@@ -79,6 +79,7 @@
CPCI405 CONFIG_CPCI405 \
EP405/EP405PC CONFIG_EP405 \
405EP-eval CONFIG_EVB405EP \
+ JSE CONFIG_JSE \
Oak CONFIG_OAK \
Rainier CONFIG_RAINIER \
Redwood-4 CONFIG_REDWOOD_4 \
@@ -321,6 +322,11 @@
define_bool CONFIG_405GPR y
define_bool CONFIG_BIOS_FIXUP y
define_bool CONFIG_IBM_OPENBIOS y
+ fi
+
+ if [ "$CONFIG_JSE" = "y" ]; then
+ define_bool CONFIG_405GPR y
+ define_bool CONFIG_XILINX_OCP y
fi
if [ "$CONFIG_EBONY" = "y" ]; then
This activates CONFIG_XILINX_OCP when I config the JSE board,
and that allows the XILINX_SYSACE to be selected. From here,
make sure CONFIG_XILINX_SYSACE=y in your .config and you are
set.
--
Steve Williams "The woods are lovely, dark and deep.
steve at XXXXXXXXXX But I have promises to keep,
http://www.XXXXXXXXXX and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
[-- Attachment #2: sysace-without-virtex.patch --]
[-- Type: text/plain, Size: 1764 bytes --]
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/06/10 18:45:08-07:00 steve@wing.XXXXXXXXXX
# Condition Xilinx on-chip processor config with
# CONFIG_VIRTEX_II_PRO
#
# arch/ppc/kernel/ppc405_pci.c
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
# Condition Xilinx on-chip processor support with
# CONFIG_VIRTEX_II_PRO
#
# arch/ppc/kernel/Makefile
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +1 -1
# Condition Xilinx on-chip processor support with
# CONFIG_VIRTEX_II_PRO
#
# BitKeeper/etc/ignore
# 2004/06/10 18:45:06-07:00 steve@wing.XXXXXXXXXX +4 -0
# Added arch/ppc/boot/images/uImage arch/ppc/boot/images/vmlinux.UBoot arch/ppc/boot/images/vmlinux.gz arch/ppc/kernel/ppc_defs.h to the ignore list
#
diff -Nru a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
--- a/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
+++ b/arch/ppc/kernel/Makefile 2004-06-10 19:57:40 -07:00
@@ -61,7 +61,7 @@
obj-$(CONFIG_PPC_OCP) += ocp.o
obj-$(CONFIG_40x) += ppc4xx_setup.o
obj-$(CONFIG_4xx) += todc_time.o idle_4xx.o
-ifeq ($(CONFIG_XILINX_OCP),y)
+ifeq ($(CONFIG_XILINX_OCP)$(CONFIG_VIRTEX_II_PRO),yy)
obj-$(CONFIG_40x) += xilinx_pic.o
else
obj-$(CONFIG_40x) += ppc4xx_pic.o
diff -Nru a/arch/ppc/kernel/ppc405_pci.c b/arch/ppc/kernel/ppc405_pci.c
--- a/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
+++ b/arch/ppc/kernel/ppc405_pci.c 2004-06-10 19:57:40 -07:00
@@ -132,7 +132,7 @@
setup_indirect_pci(hose_a, PPC405_PCI_CONFIG_ADDR,
PPC405_PCI_CONFIG_DATA);
-#ifdef CONFIG_XILINX_OCP
+#if defined(CONFIG_XILINX_OCP) && defined(CONFIG_VIRTEX_II_PRO)
/* Eliminate "unused variable" warning for pcip. Optimizer removes. */
pcip = NULL;
new_pmm_min = PPC405_PCI_LOWER_MEM;
[-- Attachment #3: xparameters_jse.h --]
[-- Type: text/plain, Size: 412 bytes --]
/* The SystemACE chip is on CS1#, mapped here. */
#define XPAR_SYSACE_0_BASEADDR 0xf0000000
#define XPAR_SYSACE_0_HIGHADDR 0xf00001FF
/* On the JSE board, the SystemACE chip is wired to IRQ 29 */
#define XPAR_INTC_0_SYSACE_0_VEC_ID 2
#define XPAR_XSYSACE_NUM_INSTANCES 1
#define XPAR_OPB_SYSACE_0_MEM_WIDTH 8
#define XPAR_OPB_SYSACE_0_DEVICE_ID 0
#define XPAR_OPB_SYSACE_0_BASEADDR XPAR_SYSACE_0_BASEADDR
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-06-16 14:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-10 21:18 Configure tweaks for SystemACE without CONFIG_XILINX_OCP Stephen Williams
2004-06-11 3:05 ` Stephen Williams
2004-06-11 17:21 ` Andrei Konovalov
[not found] ` <1087388724.17025.4.camel@pavement.sandburst.com>
2004-06-16 14:46 ` Stephen Williams
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).