aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/86xx/gef_sbc610.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c
index 8a9dee247618..ee215002b1cf 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc610.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc610.c
@@ -12,6 +12,8 @@
12 * 12 *
13 * Based on: mpc86xx_hpcn.c (MPC86xx HPCN board specific routines) 13 * Based on: mpc86xx_hpcn.c (MPC86xx HPCN board specific routines)
14 * Copyright 2006 Freescale Semiconductor Inc. 14 * Copyright 2006 Freescale Semiconductor Inc.
15 *
16 * NEC fixup adapted from arch/mips/pci/fixup-lm2e.c
15 */ 17 */
16 18
17#include <linux/stddef.h> 19#include <linux/stddef.h>
@@ -75,6 +77,21 @@ static void gef_sbc610_show_cpuinfo(struct seq_file *m)
75 seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024)); 77 seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024));
76} 78}
77 79
80static void __init gef_sbc610_nec_fixup(struct pci_dev *pdev)
81{
82 unsigned int val;
83
84 printk(KERN_INFO "Running NEC uPD720101 Fixup\n");
85
86 /* Ensure ports 1, 2, 3, 4 & 5 are enabled */
87 pci_read_config_dword(pdev, 0xe0, &val);
88 pci_write_config_dword(pdev, 0xe0, (val & ~7) | 0x5);
89
90 /* System clock is 48-MHz Oscillator and EHCI Enabled. */
91 pci_write_config_dword(pdev, 0xe4, 1 << 5);
92}
93DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_USB,
94 gef_sbc610_nec_fixup);
78 95
79/* 96/*
80 * Called very early, device-tree isn't unflattened 97 * Called very early, device-tree isn't unflattened