From owner-p4-projects@FreeBSD.ORG Wed Apr 7 15:05:31 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 521061065672; Wed, 7 Apr 2010 15:05:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1DBA106566B for ; Wed, 7 Apr 2010 15:05:30 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E0A2A8FC18 for ; Wed, 7 Apr 2010 15:05:30 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o37F5UE2065717 for ; Wed, 7 Apr 2010 15:05:30 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o37F5UWM065715 for perforce@freebsd.org; Wed, 7 Apr 2010 15:05:30 GMT (envelope-from raj@freebsd.org) Date: Wed, 7 Apr 2010 15:05:30 GMT Message-Id: <201004071505.o37F5UWM065715@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176622 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Apr 2010 15:05:31 -0000 http://p4web.freebsd.org/@@176622?ac=10 Change 176622 by raj@raj_fdt on 2010/04/07 15:04:32 Initial support for MPC85XX PCI / PCI-Express nodes. Affected files ... .. //depot/projects/fdt/sys/conf/files.powerpc#21 edit .. //depot/projects/fdt/sys/dev/fdt/fdt_pci.c#2 edit .. //depot/projects/fdt/sys/powerpc/include/ocpbus.h#2 delete .. //depot/projects/fdt/sys/powerpc/mpc85xx/mpc85xx.c#2 edit .. //depot/projects/fdt/sys/powerpc/mpc85xx/mpc85xx.h#4 edit .. //depot/projects/fdt/sys/powerpc/mpc85xx/ocpbus.c#4 delete .. //depot/projects/fdt/sys/powerpc/mpc85xx/ocpbus.h#3 delete .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#1 add .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_ocp.c#5 delete Differences ... ==== //depot/projects/fdt/sys/conf/files.powerpc#21 (text+ko) ==== @@ -119,7 +119,7 @@ powerpc/mpc85xx/mpc85xx.c optional mpc85xx powerpc/mpc85xx/nexus.c optional mpc85xx powerpc/mpc85xx/openpic_fdt.c optional fdt -powerpc/mpc85xx/pci_ocp.c optional pci mpc85xx +powerpc/mpc85xx/pci_fdt.c optional pci mpc85xx powerpc/ofw/ofw_cpu.c optional aim powerpc/ofw/ofw_pcib_pci.c optional pci aim powerpc/ofw/ofw_real.c optional aim ==== //depot/projects/fdt/sys/dev/fdt/fdt_pci.c#2 (text+ko) ==== @@ -44,8 +44,8 @@ #include "ofw_bus_if.h" +#define DEBUG #undef DEBUG -#define DEBUG #ifdef DEBUG #define debugf(fmt, args...) do { printf("%s(): ", __func__); \ ==== //depot/projects/fdt/sys/powerpc/mpc85xx/mpc85xx.c#2 (text+ko) ==== @@ -29,6 +29,9 @@ #include #include +#include +#include +#include #include #include @@ -37,7 +40,6 @@ #include #include -#include #include /* @@ -129,6 +131,39 @@ return (ENOENT); } +int +law_pci_target(struct resource *res, int *trgt_mem, int *trgt_io) +{ + u_long start; + uint32_t ver; + int trgt, rv; + + ver = SVR_VER(mfspr(SPR_SVR)); + + start = rman_get_start(res) & 0xf000; + + rv = 0; + trgt = -1; + switch (start) { + case 0x8000: + trgt = 0; + break; + case 0x9000: + trgt = 1; + break; + case 0xa000: + if (ver == SVR_MPC8572E || ver == SVR_MPC8572) + trgt = 2; + else + rv = EINVAL; + break; + default: + rv = ENXIO; + } + *trgt_mem = *trgt_io = trgt; + return (rv); +} + void cpu_reset(void) { ==== //depot/projects/fdt/sys/powerpc/mpc85xx/mpc85xx.h#4 (text+ko) ==== @@ -47,15 +47,6 @@ #define OCP85XX_LAWBAR(n) (CCSRBAR_VA + 0xc08 + 0x20 * (n)) #define OCP85XX_LAWSR(n) (CCSRBAR_VA + 0xc10 + 0x20 * (n)) -#define OCP85XX_TGTIF_PCI0 2 -#define OCP85XX_TGTIF_PCI1 1 -#define OCP85XX_TGTIF_PCI2 0 -#if 0 -#define OCP85XX_TGTIF_PCI0 0 -#define OCP85XX_TGTIF_PCI1 1 -#define OCP85XX_TGTIF_PCI2 2 -#endif - #define OCP85XX_TGTIF_LBC 4 #define OCP85XX_TGTIF_RAM_INTL 11 #define OCP85XX_TGTIF_RIO 12 @@ -104,5 +95,6 @@ int law_enable(int trgt, u_long addr, u_long size); int law_disable(int trgt, u_long addr, u_long size); int law_getmax(void); +int law_pci_target(struct resource *, int *, int *); #endif /* _MPC85XX_H_ */