blob: 20984d94509befe9dea76d47f0e085396060c0f8 [file] [log] [blame]
arch import user (historical)98d0d302005-07-06 17:13:46 +00001/*
Uwe Hermann8af6d552010-10-17 19:13:18 +00002 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2004 Tyan Computer
5 * Written by Yinghai Lu <yhlu@tyan.com> for Tyan Computer.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
arch import user (historical)98d0d302005-07-06 17:13:46 +000015 */
Uwe Hermann7f3d48c2008-10-02 18:19:17 +000016
arch import user (historical)98d0d302005-07-06 17:13:46 +000017#include <console/console.h>
18#include <device/device.h>
19#include <device/pci.h>
20#include <device/pci_ids.h>
21#include <device/pci_ops.h>
Kyösti Mälkki413e3da2015-02-03 08:05:55 +020022#include "chip.h"
arch import user (historical)98d0d302005-07-06 17:13:46 +000023
24static void usb2_init(struct device *dev)
25{
Uwe Hermann7e2fbd52011-01-04 17:36:55 +000026 u32 dword;
27
Myles Watson64caf362008-09-18 16:27:00 +000028 dword = pci_read_config32(dev, 0xf8);
29 dword |= 40;
30 pci_write_config32(dev, 0xf8, dword);
arch import user (historical)98d0d302005-07-06 17:13:46 +000031}
32
Uwe Hermann7f3d48c2008-10-02 18:19:17 +000033static struct device_operations usb2_ops = {
arch import user (historical)98d0d302005-07-06 17:13:46 +000034 .read_resources = pci_dev_read_resources,
35 .set_resources = pci_dev_set_resources,
36 .enable_resources = pci_dev_enable_resources,
37 .init = usb2_init,
arch import user (historical)98d0d302005-07-06 17:13:46 +000038 .scan_bus = 0,
Jonathan Kollaschc7f3f802010-10-29 15:56:04 +000039 .ops_pci = &ck804_pci_ops,
arch import user (historical)98d0d302005-07-06 17:13:46 +000040};
41
Stefan Reinauerf1cf1f72007-10-24 09:08:58 +000042static const struct pci_driver usb2_driver __pci_driver = {
arch import user (historical)98d0d302005-07-06 17:13:46 +000043 .ops = &usb2_ops,
44 .vendor = PCI_VENDOR_ID_NVIDIA,
45 .device = PCI_DEVICE_ID_NVIDIA_CK804_USB2,
46};