* 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
[parent not found: <1087388724.17025.4.camel@pavement.sandburst.com>]
* 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).