-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Paul Mackerras
committed
Oct 26, 2005
1 parent
8e93b12
commit b554b52
Showing
6 changed files
with
79 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 03501dab035ab7da5e1373f5e130cfd6346d3f21 | ||
refs/heads/master: 830825d6c37a28061c0b6ca538a6411001cf3b2a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
obj-$(CONFIG_MPIC) += mpic.o | ||
obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o | ||
obj-$(CONFIG_PPC_I8259) += i8259.o | ||
obj-$(CONFIG_PPC_MPC106) += grackle.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/* | ||
* Functions for setting up and using a MPC106 northbridge | ||
* Extracted from arch/powerpc/platforms/powermac/pci.c. | ||
* | ||
* Copyright (C) 2003 Benjamin Herrenschmuidt (benh@kernel.crashing.org) | ||
* Copyright (C) 1997 Paul Mackerras (paulus@samba.org) | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
#include <linux/kernel.h> | ||
#include <linux/pci.h> | ||
#include <linux/init.h> | ||
|
||
#include <asm/io.h> | ||
#include <asm/prom.h> | ||
#include <asm/pci-bridge.h> | ||
#include <asm/grackle.h> | ||
|
||
#define GRACKLE_CFA(b, d, o) (0x80 | ((b) << 8) | ((d) << 16) \ | ||
| (((o) & ~3) << 24)) | ||
|
||
#define GRACKLE_PICR1_STG 0x00000040 | ||
#define GRACKLE_PICR1_LOOPSNOOP 0x00000010 | ||
|
||
/* N.B. this is called before bridges is initialized, so we can't | ||
use grackle_pcibios_{read,write}_config_dword. */ | ||
static inline void grackle_set_stg(struct pci_controller* bp, int enable) | ||
{ | ||
unsigned int val; | ||
|
||
out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); | ||
val = in_le32(bp->cfg_data); | ||
val = enable? (val | GRACKLE_PICR1_STG) : | ||
(val & ~GRACKLE_PICR1_STG); | ||
out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); | ||
out_le32(bp->cfg_data, val); | ||
(void)in_le32(bp->cfg_data); | ||
} | ||
|
||
static inline void grackle_set_loop_snoop(struct pci_controller *bp, int enable) | ||
{ | ||
unsigned int val; | ||
|
||
out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); | ||
val = in_le32(bp->cfg_data); | ||
val = enable? (val | GRACKLE_PICR1_LOOPSNOOP) : | ||
(val & ~GRACKLE_PICR1_LOOPSNOOP); | ||
out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); | ||
out_le32(bp->cfg_data, val); | ||
(void)in_le32(bp->cfg_data); | ||
} | ||
|
||
void __init setup_grackle(struct pci_controller *hose) | ||
{ | ||
setup_indirect_pci(hose, 0xfec00000, 0xfee00000); | ||
if (machine_is_compatible("AAPL,PowerBook1998")) | ||
grackle_set_loop_snoop(hose, 1); | ||
#if 0 /* Disabled for now, HW problems ??? */ | ||
grackle_set_stg(hose, 1); | ||
#endif | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/* | ||
* Functions for setting up and using a MPC106 northbridge | ||
*/ | ||
|
||
#include <asm/pci-bridge.h> | ||
|
||
extern void setup_grackle(struct pci_controller *hose); |