From 1264a91f260c193edb318ed9f15abbe7ff5ffe82 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Fri, 18 Sep 2009 20:50:36 +0200 Subject: [PATCH] added HC roothub output to isr (only on "RootHubStatusChange") --- hollywood.h | 4 ++++ usb/host/ohci.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/hollywood.h b/hollywood.h index 3f2dde4..a20f3e0 100644 --- a/hollywood.h +++ b/hollywood.h @@ -169,6 +169,8 @@ Copyright (C) 2008, 2009 John Kelley #define OHCI0_HC_RH_DESCRIPTOR_B (OHCI0_REG_BASE + 0x4C) #define OHCI0_HC_RH_STATUS (OHCI0_REG_BASE + 0x50) +#define OHCI0_HC_RH_PORT_STATUS_1 (OHCI0_REG_BASE + 0x54) +#define OHCI0_HC_RH_PORT_STATUS_2 (OHCI0_REG_BASE + 0x58) /* OHCI1 Registers */ @@ -200,6 +202,8 @@ Copyright (C) 2008, 2009 John Kelley #define OHCI1_HC_RH_DESCRIPTOR_B (OHCI1_REG_BASE + 0x4C) #define OHCI1_HC_RH_STATUS (OHCI1_REG_BASE + 0x50) +#define OHCI1_HC_RH_PORT_STATUS_1 (OHCI1_REG_BASE + 0x54) +#define OHCI1_HC_RH_PORT_STATUS_2 (OHCI1_REG_BASE + 0x58) /* EHCI Registers */ #define EHCI_REG_BASE 0xd040000 diff --git a/usb/host/ohci.c b/usb/host/ohci.c index 415be1c..5e41bb6 100644 --- a/usb/host/ohci.c +++ b/usb/host/ohci.c @@ -393,6 +393,11 @@ void hcdi_irq() if (flags & OHCI_INTR_RHSC) { printf("RootHubStatusChange\n"); /* TODO: set some next_statechange variable... */ + printf("OHCI0_HC_RH_DESCRIPTOR_A:\t0x%08X\n", read32(OHCI0_HC_RH_DESCRIPTOR_A)); + printf("OHCI0_HC_RH_DESCRIPTOR_B:\t0x%08X\n", read32(OHCI0_HC_RH_DESCRIPTOR_B)); + printf("OHCI0_HC_RH_STATUS:\t\t0x%08X\n", read32(OHCI0_HC_RH_STATUS)); + printf("OHCI0_HC_RH_PORT_STATUS_1:\t0x%08X\n", read32(OHCI0_HC_RH_PORT_STATUS_1)); + printf("OHCI0_HC_RH_PORT_STATUS_2:\t0x%08X\n", read32(OHCI0_HC_RH_PORT_STATUS_2)); write32(OHCI0_HC_INT_STATUS, OHCI_INTR_RD | OHCI_INTR_RHSC); } /* ResumeDetected */ -- 2.25.1