soc/intel/broadwell: fix USBDEBUG copy-pasta
The broadwell soc code was upstreamed based off an old coreboot branch and apparently never tested with USBDEBUG. This changeset fixes USBDEBUG on the not yet upstreamed Auron-Paine board, as verified with a FT232H setup. The fix is simply removing outdated code that since branching off had been deduplicated in upstream coreboot, anyway. Change-Id: I53c924aa2a5357ed8313d0c9eaa2f9f9e132345e Signed-off-by: Georg Wicherski <gwicherski@gmail.com> Reviewed-on: http://review.coreboot.org/11874 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
parent
615f69e53d
commit
49ee5efea7
|
@ -66,12 +66,6 @@ smm-y += xhci.c
|
||||||
|
|
||||||
ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
|
ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
|
||||||
|
|
||||||
ifeq ($(CONFIG_USBDEBUG),y)
|
|
||||||
ramstage-y += usbdebug.c
|
|
||||||
romstage-y += usbdebug.c
|
|
||||||
smm-y += usbdebug.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
cpu_microcode_bins += 3rdparty/blobs/soc/intel/broadwell/microcode.bin
|
cpu_microcode_bins += 3rdparty/blobs/soc/intel/broadwell/microcode.bin
|
||||||
|
|
||||||
CPPFLAGS_common += -Isrc/soc/intel/broadwell/include
|
CPPFLAGS_common += -Isrc/soc/intel/broadwell/include
|
||||||
|
|
|
@ -574,27 +574,13 @@ static void configure_mca(void)
|
||||||
wrmsr(IA32_MC0_STATUS + (i * 4), msr);
|
wrmsr(IA32_MC0_STATUS + (i * 4), msr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_USBDEBUG
|
|
||||||
static unsigned ehci_debug_addr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void bsp_init_before_ap_bringup(struct bus *cpu_bus)
|
static void bsp_init_before_ap_bringup(struct bus *cpu_bus)
|
||||||
{
|
{
|
||||||
#if CONFIG_USBDEBUG
|
|
||||||
if(!ehci_debug_addr)
|
|
||||||
ehci_debug_addr = get_ehci_debug();
|
|
||||||
set_ehci_debug(0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Setup MTRRs based on physical address size. */
|
/* Setup MTRRs based on physical address size. */
|
||||||
x86_setup_fixed_mtrrs();
|
x86_setup_fixed_mtrrs();
|
||||||
x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2);
|
x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2);
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
#if CONFIG_USBDEBUG
|
|
||||||
set_ehci_debug(ehci_debug_addr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
initialize_vr_config();
|
initialize_vr_config();
|
||||||
calibrate_24mhz_bclk();
|
calibrate_24mhz_bclk();
|
||||||
configure_pch_power_sharing();
|
configure_pch_power_sharing();
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <device/pci_ids.h>
|
#include <device/pci_ids.h>
|
||||||
|
#include <device/pci_ehci.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <soc/ehci.h>
|
#include <soc/ehci.h>
|
||||||
#include <soc/pch.h>
|
#include <soc/pch.h>
|
||||||
|
@ -48,28 +49,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic
|
||||||
pci_write_config8(dev, 0x80, access_cntl);
|
pci_write_config8(dev, 0x80, access_cntl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usb_ehci_set_resources(struct device *dev)
|
|
||||||
{
|
|
||||||
#if CONFIG_USBDEBUG
|
|
||||||
struct resource *res;
|
|
||||||
u32 base;
|
|
||||||
u32 usb_debug;
|
|
||||||
|
|
||||||
usb_debug = get_ehci_debug();
|
|
||||||
set_ehci_debug(0);
|
|
||||||
#endif
|
|
||||||
pci_dev_set_resources(dev);
|
|
||||||
|
|
||||||
#if CONFIG_USBDEBUG
|
|
||||||
res = find_resource(dev, 0x10);
|
|
||||||
set_ehci_debug(usb_debug);
|
|
||||||
if (!res) return;
|
|
||||||
base = res->base;
|
|
||||||
set_ehci_base(base);
|
|
||||||
report_resource_stored(dev, res, "");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ehci_enable(struct device *dev)
|
static void ehci_enable(struct device *dev)
|
||||||
{
|
{
|
||||||
if (CONFIG_USBDEBUG)
|
if (CONFIG_USBDEBUG)
|
||||||
|
@ -83,8 +62,8 @@ static struct pci_operations ehci_ops_pci = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations usb_ehci_ops = {
|
static struct device_operations usb_ehci_ops = {
|
||||||
.read_resources = &pci_dev_read_resources,
|
.read_resources = &pci_ehci_read_resources,
|
||||||
.set_resources = &usb_ehci_set_resources,
|
.set_resources = &pci_dev_set_resources,
|
||||||
.enable_resources = &pci_dev_enable_resources,
|
.enable_resources = &pci_dev_enable_resources,
|
||||||
.ops_pci = &ehci_ops_pci,
|
.ops_pci = &ehci_ops_pci,
|
||||||
.enable = &ehci_enable,
|
.enable = &ehci_enable,
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* 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; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <arch/io.h>
|
|
||||||
#include <console/console.h>
|
|
||||||
#include <usbdebug.h>
|
|
||||||
#include <device/pci.h>
|
|
||||||
#include <device/pci_def.h>
|
|
||||||
#include <soc/pci_devs.h>
|
|
||||||
|
|
||||||
void set_debug_port(unsigned int port)
|
|
||||||
{
|
|
||||||
/* Hardcoded to physical port 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
void enable_usbdebug(unsigned int port)
|
|
||||||
{
|
|
||||||
u32 tmp32;
|
|
||||||
|
|
||||||
tmp32 = pci_read_config32(PCH_DEV_EHCI, PCI_VENDOR_ID);
|
|
||||||
if (tmp32 == 0xffffffff || tmp32 == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Set the EHCI BAR address. */
|
|
||||||
pci_write_config32(PCH_DEV_EHCI, EHCI_BAR_INDEX, CONFIG_EHCI_BAR);
|
|
||||||
|
|
||||||
/* Enable access to the EHCI memory space registers. */
|
|
||||||
pci_write_config8(PCH_DEV_EHCI, PCI_COMMAND, PCI_COMMAND_MEMORY);
|
|
||||||
|
|
||||||
/* Force ownership of the Debug Port to the EHCI controller. */
|
|
||||||
tmp32 = read32(CONFIG_EHCI_BAR + CONFIG_EHCI_DEBUG_OFFSET);
|
|
||||||
tmp32 |= (1 << 30);
|
|
||||||
write32(CONFIG_EHCI_BAR + CONFIG_EHCI_DEBUG_OFFSET, tmp32);
|
|
||||||
}
|
|
Loading…
Reference in New Issue