From patchwork Mon Jan 16 08:08:39 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Albert ARIBAUD X-Patchwork-Id: 136254 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id B49DBB6F13 for ; Mon, 16 Jan 2012 19:09:35 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0304F28176; Mon, 16 Jan 2012 09:09:31 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k7gDKgpC2kUK; Mon, 16 Jan 2012 09:09:30 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 402EB2818C; Mon, 16 Jan 2012 09:09:16 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 944B528163 for ; Mon, 16 Jan 2012 09:09:12 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Cyq+-hzOxdDi for ; Mon, 16 Jan 2012 09:09:12 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from smtp4-g21.free.fr (smtp4-g21.free.fr [212.27.42.4]) by theia.denx.de (Postfix) with ESMTP id 6860E28176 for ; Mon, 16 Jan 2012 09:09:04 +0100 (CET) Received: from lilith.aribaud.net (unknown [82.235.144.2]) by smtp4-g21.free.fr (Postfix) with ESMTP id A996A4C8284; Mon, 16 Jan 2012 09:09:00 +0100 (CET) From: Albert ARIBAUD To: u-boot@lists.denx.de Date: Mon, 16 Jan 2012 09:08:39 +0100 Message-Id: <1326701321-28185-3-git-send-email-albert.u.boot@aribaud.net> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1326701321-28185-2-git-send-email-albert.u.boot@aribaud.net> References: <1326701321-28185-1-git-send-email-albert.u.boot@aribaud.net> <1326701321-28185-2-git-send-email-albert.u.boot@aribaud.net> Subject: [U-Boot] [PATCH 2/4] Remove kirkwood-specifics from marvell EHCI driver X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Signed-off-by: Albert ARIBAUD --- arch/arm/include/asm/arch-kirkwood/kirkwood.h | 12 +++++++++ drivers/usb/host/ehci-marvell.c | 31 +++++++++++++----------- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h b/arch/arm/include/asm/arch-kirkwood/kirkwood.h index 0035ed5..47771d5 100644 --- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h +++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h @@ -65,6 +65,18 @@ #define MVGBE0_BASE KW_EGIGA0_BASE #define MVGBE1_BASE KW_EGIGA1_BASE +/* Kirkwood USB Host controller */ +#define MVUSB0_BASE KW_USB20_BASE +#define MVUSB0_CPU_ATTR_DRAM_CS0 KWCPU_ATTR_DRAM_CS0 +#define MVUSB0_CPU_ATTR_DRAM_CS1 KWCPU_ATTR_DRAM_CS1 +#define MVUSB0_CPU_ATTR_DRAM_CS2 KWCPU_ATTR_DRAM_CS2 +#define MVUSB0_CPU_ATTR_DRAM_CS3 KWCPU_ATTR_DRAM_CS3 + +/* Kirkwood CPU memory windows */ +#define MVCPU_WIN_CTRL_DATA KWCPU_WIN_CTRL_DATA +#define MVCPU_WIN_ENABLE KWCPU_WIN_ENABLE +#define MVCPU_WIN_DISABLE KWCPU_WIN_DISABLE + #if defined (CONFIG_KW88F6281) #include #elif defined (CONFIG_KW88F6192) diff --git a/drivers/usb/host/ehci-marvell.c b/drivers/usb/host/ehci-marvell.c index 6300587..e342d78 100644 --- a/drivers/usb/host/ehci-marvell.c +++ b/drivers/usb/host/ehci-marvell.c @@ -30,8 +30,10 @@ #include #include -#define rdl(off) readl(KW_USB20_BASE + (off)) -#define wrl(off, val) writel((val), KW_USB20_BASE + (off)) +DECLARE_GLOBAL_DATA_PTR; + +#define rdl(off) readl(MVUSB0_BASE + (off)) +#define wrl(off, val) writel((val), MVUSB0_BASE + (off)) #define USB_WINDOW_CTRL(i) (0x320 + ((i) << 4)) #define USB_WINDOW_BASE(i) (0x324 + ((i) << 4)) @@ -43,23 +45,23 @@ static void usb_brg_adrdec_setup(void) { int i; - u32 size, attrib; + u32 size, base, attrib; for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { /* Enable DRAM bank */ switch (i) { case 0: - attrib = KWCPU_ATTR_DRAM_CS0; + attrib = MVUSB0_CPU_ATTR_DRAM_CS0; break; case 1: - attrib = KWCPU_ATTR_DRAM_CS1; + attrib = MVUSB0_CPU_ATTR_DRAM_CS1; break; case 2: - attrib = KWCPU_ATTR_DRAM_CS2; + attrib = MVUSB0_CPU_ATTR_DRAM_CS2; break; case 3: - attrib = KWCPU_ATTR_DRAM_CS3; + attrib = MVUSB0_CPU_ATTR_DRAM_CS3; break; default: /* invalide bank, disable access */ @@ -67,15 +69,16 @@ static void usb_brg_adrdec_setup(void) break; } - size = kw_sdram_bs(i); + size = gd->bd->bi_dram[i].size; + base = gd->bd->bi_dram[i].start; if ((size) && (attrib)) wrl(USB_WINDOW_CTRL(i), - KWCPU_WIN_CTRL_DATA(size, USB_TARGET_DRAM, - attrib, KWCPU_WIN_ENABLE)); + MVCPU_WIN_CTRL_DATA(size, USB_TARGET_DRAM, + attrib, MVCPU_WIN_ENABLE)); else - wrl(USB_WINDOW_CTRL(i), KWCPU_WIN_DISABLE); + wrl(USB_WINDOW_CTRL(i), MVCPU_WIN_DISABLE); - wrl(USB_WINDOW_BASE(i), kw_sdram_bar(i)); + wrl(USB_WINDOW_BASE(i), base); } } @@ -87,11 +90,11 @@ int ehci_hcd_init(void) { usb_brg_adrdec_setup(); - hccr = (struct ehci_hccr *)(KW_USB20_BASE + 0x100); + hccr = (struct ehci_hccr *)(MVUSB0_BASE + 0x100); hcor = (struct ehci_hcor *)((uint32_t) hccr + HC_LENGTH(ehci_readl(&hccr->cr_capbase))); - debug("Kirkwood-ehci: init hccr %x and hcor %x hc_length %d\n", + debug("ehci-marvell: init hccr %x and hcor %x hc_length %d\n", (uint32_t)hccr, (uint32_t)hcor, (uint32_t)HC_LENGTH(ehci_readl(&hccr->cr_capbase)));