Skip to contentSkip to conversation

USB: Armada100: Add UTMI PHY interface driver

PATCH New Ajay Bhargav 3 participants 10 messages Feb 13, 2012 – Mar 3, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v3 1/3 USB: Armada100: Add UTMI PHY interface driver

This patch adds USB host controller's UTMI PHY interface driver for Armada100 SOCs.

---
Changes for v2:
- Fix: enable only required clock in MPMU
Changes for v3:
- Added timeout on while loops
- moved utmi-armada100.h to arch include folder

 arch/arm/include/asm/arch-armada100/armada100.h    |    8 ++
 .../include/asm/arch-armada100/utmi-armada100.h    |   79 ++++++++++++++++
 drivers/usb/host/utmi-armada100.c                  |   96 ++++++++++++++++++++
 3 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-armada100/utmi-armada100.h
 create mode 100644 drivers/usb/host/utmi-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +8 -0
index 0ed3a8e..70fba27 100644
@@ -43,6 +43,14 @@
 #define SSP2_APBCLK		0x01
 #define SSP2_FNCLK		0x02
 
+/* USB Clock/reset control bits */
+#define USB_SPH_AXICLK_EN	0x10
+#define USB_SPH_AXI_RST		0x02
+
+/* MPMU Clocks */
+#define APB2_26M_EN		(1 << 20)
+#define AP_26M			(1 << 4)
+
 /* Register Base Addresses */
 #define ARMD1_DRAM_BASE		0xB0000000
 #define ARMD1_FEC_BASE		0xC0800000
arch/arm/include/asm/arch-armada100/utmi-armada100.h new file +79 -0

79 lines not on this page · raw message

drivers/usb/host/utmi-armada100.c new file +96 -0

96 lines not on this page · raw message

Signature · 1 line
1.7.7.2
#1 lore raw

PATCH v3 1/3 USB: Armada100: Add UTMI PHY interface driver

Quoted 11 lines · Ajay Bhargav

This patch adds USB host controller's UTMI PHY interface driver for Armada100 SOCs.

---
Changes for v2:
- Fix: enable only required clock in MPMU
Changes for v3:
- Added timeout on while loops
- moved utmi-armada100.h to arch include folder

Quoted 7 lines
  arch/arm/include/asm/arch-armada100/armada100.h    |    8 ++
  .../include/asm/arch-armada100/utmi-armada100.h    |   79 ++++++++++++++++
  drivers/usb/host/utmi-armada100.c                  |   96 ++++++++++++++++++++
  3 files changed, 183 insertions(+), 0 deletions(-)

create mode 100644 arch/arm/include/asm/arch-armada100/utmi-armada100.h create mode 100644 drivers/usb/host/utmi-armada100.c

any comments on these patches?

Regards,
Ajay Bhargav

#2 lore raw

PATCH v3 2/3 USB: Armada100: EHCI Driver for Armada100 SOCs

In reply to Ajay Bhargav

This patch adds support for USB EHCI driver for Armada100 SOCs.

---
Changes for v2:
- Fix typo for SOC name
- change printf to debug
Changes for v3:
- Fix type in patch subject
- header file include updated

 arch/arm/include/asm/arch-armada100/armada100.h |    1 +
 drivers/usb/host/Makefile                       |    1 +
 drivers/usb/host/ehci-armada100.c               |   64 +++++++++++++++++++++++
 3 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/usb/host/ehci-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +1 -0
index 70fba27..614de55 100644
@@ -68,6 +68,7 @@
 #define ARMD1_SSP5_BASE		0xD4021000
 #define ARMD1_UART3_BASE	0xD4026000
 #define ARMD1_MPMU_BASE		0xD4050000
+#define ARMD1_USB_HOST_BASE	0xD4209000
 #define ARMD1_APMU_BASE		0xD4282800
 #define ARMD1_CPU_BASE		0xD4282C00
 
drivers/usb/host/Makefile +1 -0
index 7c4df53..5fdc97b 100644
@@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
 # echi
 COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
+COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-armada100.o
 ifdef CONFIG_MPC512X
 COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o
 else
drivers/usb/host/ehci-armada100.c new file +64 -0

64 lines not on this page · raw message

Signature · 1 line
1.7.7.2
#3 lore raw

PATCH v3 2/3 USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 126 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-boot at lists.denx.de; Ajay Bhargav
Subject: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

This patch adds support for USB EHCI driver for Armada100 SOCs.

---
Changes for v2:
- Fix typo for SOC name
- change printf to debug
Changes for v3:
- Fix type in patch subject
- header file include updated

 arch/arm/include/asm/arch-armada100/armada100.h |    1 +
 drivers/usb/host/Makefile                       |    1 +
 drivers/usb/host/ehci-armada100.c               |   64
+++++++++++++++++++++++
 3 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/usb/host/ehci-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +1 -0
index 70fba27..614de55 100644
@@ -68,6 +68,7 @@
 #define ARMD1_SSP5_BASE		0xD4021000
 #define ARMD1_UART3_BASE	0xD4026000
 #define ARMD1_MPMU_BASE		0xD4050000
+#define ARMD1_USB_HOST_BASE	0xD4209000
 #define ARMD1_APMU_BASE		0xD4282800
 #define ARMD1_CPU_BASE		0xD4282C00
 
drivers/usb/host/Makefile +1 -0
index 7c4df53..5fdc97b 100644
@@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
 # echi
 COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
+COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-

armada100.o
ifdef CONFIG_MPC512X
COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o
else

drivers/usb/host/ehci-armada100.c new file +64 -1
new file mode 100644
index 0000000..f3d8aef
@@ -0,0 +1,64 @@
+/*
+ * (C) Copyright 2012
+ * eInfochips Ltd. <www.einfochips.com>
+ * Written-by: Ajay Bhargav <[email protected]>
+ *
+ * This driver is based on Kirkwood echi driver
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <usb.h>
+#include "ehci.h"
+#include "ehci-core.h"
+#include <asm/arch/cpu.h>
+#include <asm/arch/armada100.h>
+#include <asm/arch/utmi-armada100.h>
+
+/*
+ * EHCI host controller init
+ */
+int ehci_hcd_init(void)
+{
+	if (utmi_init() < 0)
+		return -1;
+
+	hccr = (struct ehci_hccr *)(ARMD1_USB_HOST_BASE + 0x100);
+	hcor = (struct ehci_hcor *)((uint32_t) hccr
+			+ HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	debug("armada100-ehci: 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)));
+
+	return 0;
+}
+
+/*
+ * EHCI host controller stop
+ */
+int ehci_hcd_stop(void)
+{
+	return 0;
+}
--
Quoted 1 line

1.7.7.2

Applied to u-boot-marvell.git next branch

Regards..
Prafulla . . .

#4 lore raw

PATCH v3 2/3 USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 127 lines
Quoted 127 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-boot at lists.denx.de; Ajay Bhargav
Subject: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

This patch adds support for USB EHCI driver for Armada100 SOCs.

---

Changes for v2:
- Fix typo for SOC name
- change printf to debug

Changes for v3:
- Fix type in patch subject
- header file include updated

 arch/arm/include/asm/arch-armada100/armada100.h |    1 +
 drivers/usb/host/Makefile                       |    1 +
 drivers/usb/host/ehci-armada100.c               |   64

+++++++++++++++++++++++

 3 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/usb/host/ehci-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +1 -0
index 70fba27..614de55 100644
@@ -68,6 +68,7 @@
 
 #define ARMD1_SSP5_BASE		0xD4021000
 #define ARMD1_UART3_BASE	0xD4026000
 #define ARMD1_MPMU_BASE		0xD4050000
 
+#define ARMD1_USB_HOST_BASE	0xD4209000
 

#define ARMD1_APMU_BASE 0xD4282800
#define ARMD1_CPU_BASE 0xD4282C00

drivers/usb/host/Makefile +1 -0
index 7c4df53..5fdc97b 100644
@@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
 # echi
 COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
 
+COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-

armada100.o

ifdef CONFIG_MPC512X
COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o
else

drivers/usb/host/ehci-armada100.c new file +58 -0
new file mode 100644
index 0000000..f3d8aef
@@ -0,0 +1,64 @@
+/*
+ * (C) Copyright 2012
+ * eInfochips Ltd. <www.einfochips.com>
+ * Written-by: Ajay Bhargav <[email protected]>
+ *
+ * This driver is based on Kirkwood echi driver
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <usb.h>
+#include "ehci.h"
+#include "ehci-core.h"
+#include <asm/arch/cpu.h>
+#include <asm/arch/armada100.h>
+#include <asm/arch/utmi-armada100.h>
+
+/*
+ * EHCI host controller init
+ */
+int ehci_hcd_init(void)
+{
+	if (utmi_init() < 0)
+		return -1;
+
+	hccr = (struct ehci_hccr *)(ARMD1_USB_HOST_BASE + 0x100);
+	hcor = (struct ehci_hcor *)((uint32_t) hccr
+			+ HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	debug("armada100-ehci: 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)));
+
+	return 0;
+}
+
+/*
Quoted 8 lines
Quoted 8 lines
drivers/usb/host/ehci-armada100.c new file +6 -1
+ * EHCI host controller stop
+ */
+int ehci_hcd_stop(void)
+{
+	return 0;
+}
--

1.7.7.2

Oh dang, I picked them into -usb too. Shall I drop them ?

#5 lore raw

PATCH v3 2/3 USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 142 lines

-----Original Message-----
From: Marek Vasut [mailto:marex at denx.de]
Sent: 02 March 2012 16:07
To: Prafulla Wadaskar
Cc: Ajay Bhargav; linux at bohmer.net; u-boot at lists.denx.de
Subject: Re: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 5 lines
Quoted 5 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-

boot at lists.denx.de;

Quoted 75 lines
Quoted 75 lines

Ajay Bhargav
Subject: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

This patch adds support for USB EHCI driver for Armada100 SOCs.

---

Changes for v2:
- Fix typo for SOC name
- change printf to debug

Changes for v3:
- Fix type in patch subject
- header file include updated

 arch/arm/include/asm/arch-armada100/armada100.h |    1 +
 drivers/usb/host/Makefile                       |    1 +
 drivers/usb/host/ehci-armada100.c               |   64

+++++++++++++++++++++++

 3 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/usb/host/ehci-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +1 -0
index 70fba27..614de55 100644
@@ -68,6 +68,7 @@
 
 #define ARMD1_SSP5_BASE		0xD4021000
 #define ARMD1_UART3_BASE	0xD4026000
 #define ARMD1_MPMU_BASE		0xD4050000
 
+#define ARMD1_USB_HOST_BASE	0xD4209000
 

#define ARMD1_APMU_BASE 0xD4282800
#define ARMD1_CPU_BASE 0xD4282C00

drivers/usb/host/Makefile +1 -0
index 7c4df53..5fdc97b 100644
@@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
 # echi
 COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
 
+COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-

armada100.o

ifdef CONFIG_MPC512X
COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o
else

drivers/usb/host/ehci-armada100.c new file +11 -0
new file mode 100644
index 0000000..f3d8aef
@@ -0,0 +1,64 @@
+/*
+ * (C) Copyright 2012
+ * eInfochips Ltd. <www.einfochips.com>
+ * Written-by: Ajay Bhargav <[email protected]>
+ *
+ * This driver is based on Kirkwood echi driver
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
Quoted 8 lines

drivers/usb/host/ehci-armada100.c

Quoted 8 lines
drivers/usb/host/ehci-armada100.c new file +8 -0
+ * project.
+ *
+ * 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; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be

useful,

Quoted 5 lines

drivers/usb/host/ehci-armada100.c

Quoted 5 lines
drivers/usb/host/ehci-armada100.c new file +5 -0
+ * 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

Quoted 19 lines
Quoted 19 lines
drivers/usb/host/ehci-armada100.c new file +19 -0
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <usb.h>
+#include "ehci.h"
+#include "ehci-core.h"
+#include <asm/arch/cpu.h>
+#include <asm/arch/armada100.h>
+#include <asm/arch/utmi-armada100.h>
+
+/*
+ * EHCI host controller init
+ */
+int ehci_hcd_init(void)
+{
Quoted 8 lines

drivers/usb/host/ehci-armada100.c

Quoted 8 lines
drivers/usb/host/ehci-armada100.c new file +8 -0
+	if (utmi_init() < 0)
+		return -1;
+
+	hccr = (struct ehci_hccr *)(ARMD1_USB_HOST_BASE + 0x100);
+	hcor = (struct ehci_hcor *)((uint32_t) hccr
+			+ HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	debug("armada100-ehci: init hccr %x and hcor %x hc_length

%d\n",

Quoted 9 lines
Quoted 9 lines
drivers/usb/host/ehci-armada100.c new file +9 -0
+		(uint32_t)hccr, (uint32_t)hcor,
+		(uint32_t)HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	return 0;
+}
+
+/*
+ * EHCI host controller stop
+ */
Quoted 8 lines
Quoted 6 lines
Quoted 6 lines
drivers/usb/host/ehci-armada100.c new file +4 -1
+int ehci_hcd_stop(void)
+{
+	return 0;
+}
--

1.7.7.2

Oh dang, I picked them into -usb too. Shall I drop them ?

Ideally USB-custodian should pick them up :-). I am sorry but I did it with pre-discussion with Wolfgang.

May be Wolfgang can suggest something on this.

Regards..
Prafulla . . .

#6 lore raw

PATCH v3 2/3 USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 157 lines
Quoted 148 lines

-----Original Message-----
From: Marek Vasut [mailto:marex at denx.de]
Sent: 02 March 2012 16:07
To: Prafulla Wadaskar
Cc: Ajay Bhargav; linux at bohmer.net; u-boot at lists.denx.de
Subject: Re: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

Quoted 5 lines
Quoted 5 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-

boot at lists.denx.de;

Quoted 75 lines
Quoted 75 lines

Ajay Bhargav
Subject: [v3 2/3] USB: Armada100: EHCI Driver for Armada100 SOCs

This patch adds support for USB EHCI driver for Armada100 SOCs.

---

Changes for v2:
- Fix typo for SOC name
- change printf to debug

Changes for v3:
- Fix type in patch subject
- header file include updated

 arch/arm/include/asm/arch-armada100/armada100.h |    1 +
 drivers/usb/host/Makefile                       |    1 +
 drivers/usb/host/ehci-armada100.c               |   64

+++++++++++++++++++++++

 3 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/usb/host/ehci-armada100.c
arch/arm/include/asm/arch-armada100/armada100.h +1 -0
index 70fba27..614de55 100644
@@ -68,6 +68,7 @@
 
 #define ARMD1_SSP5_BASE		0xD4021000
 #define ARMD1_UART3_BASE	0xD4026000
 #define ARMD1_MPMU_BASE		0xD4050000
 
+#define ARMD1_USB_HOST_BASE	0xD4209000
 

#define ARMD1_APMU_BASE 0xD4282800
#define ARMD1_CPU_BASE 0xD4282C00

drivers/usb/host/Makefile +1 -0
index 7c4df53..5fdc97b 100644
@@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
 # echi
 COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
 
+COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-

armada100.o

ifdef CONFIG_MPC512X
COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o
else

drivers/usb/host/ehci-armada100.c new file +11 -0
new file mode 100644
index 0000000..f3d8aef
@@ -0,0 +1,64 @@
+/*
+ * (C) Copyright 2012
+ * eInfochips Ltd. <www.einfochips.com>
+ * Written-by: Ajay Bhargav <[email protected]>
+ *
+ * This driver is based on Kirkwood echi driver
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
Quoted 8 lines

drivers/usb/host/ehci-armada100.c

Quoted 8 lines
drivers/usb/host/ehci-armada100.c new file +8 -0
+ * project.
+ *
+ * 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; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be

useful,

Quoted 5 lines

drivers/usb/host/ehci-armada100.c

Quoted 5 lines
drivers/usb/host/ehci-armada100.c new file +5 -0
+ * 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

Quoted 19 lines
Quoted 19 lines
drivers/usb/host/ehci-armada100.c new file +19 -0
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <usb.h>
+#include "ehci.h"
+#include "ehci-core.h"
+#include <asm/arch/cpu.h>
+#include <asm/arch/armada100.h>
+#include <asm/arch/utmi-armada100.h>
+
+/*
+ * EHCI host controller init
+ */
+int ehci_hcd_init(void)
+{
Quoted 8 lines

drivers/usb/host/ehci-armada100.c

Quoted 8 lines
drivers/usb/host/ehci-armada100.c new file +8 -0
+	if (utmi_init() < 0)
+		return -1;
+
+	hccr = (struct ehci_hccr *)(ARMD1_USB_HOST_BASE + 0x100);
+	hcor = (struct ehci_hcor *)((uint32_t) hccr
+			+ HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	debug("armada100-ehci: init hccr %x and hcor %x hc_length

%d\n",

Quoted 9 lines
Quoted 9 lines
drivers/usb/host/ehci-armada100.c new file +9 -0
+		(uint32_t)hccr, (uint32_t)hcor,
+		(uint32_t)HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
+
+	return 0;
+}
+
+/*
+ * EHCI host controller stop
+ */
Quoted 8 lines
Quoted 6 lines
Quoted 6 lines
drivers/usb/host/ehci-armada100.c new file +4 -1
+int ehci_hcd_stop(void)
+{
+	return 0;
+}
--

1.7.7.2

Oh dang, I picked them into -usb too. Shall I drop them ?

Quoted 4 lines

Ideally USB-custodian should pick them up :-). I am sorry but I did it with pre-discussion with Wolfgang.

May be Wolfgang can suggest something on this.

Hey, you pick it this time, I already dropped them from my tree :)

Cheers!
M

#7 lore raw

PATCH v3 3/3 Armada100: gplugD: Add USB command support

In reply to Ajay Bhargav

This patch adds support for USB commands and USB storage device for Marvell gplugD

---
Changes for v2:
- removed unwanted ifdef
- fat and ext2 command support moved to new patch
Changes for v3:
- Not changed

 include/configs/gplugd.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
include/configs/gplugd.h +12 -0
index 9813309..061ebe6 100644
@@ -72,6 +72,7 @@
 #define CONFIG_CMD_I2C
 #define CONFIG_CMD_AUTOSCRIPT
 #undef CONFIG_CMD_FPGA
+#define CONFIG_CMD_USB
 
 /* Disable DCACHE */
 #define CONFIG_SYS_DCACHE_OFF
@@ -134,4 +135,15 @@
 #define CONFIG_CMD_EDITENV
 #define CONFIG_CMD_SAVEENV
 
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_ARMADA100
+#define CONFIG_EHCI_IS_TDI
+#define CONFIG_USB_STORAGE
+#endif /* CONFIG_CMD_USB */
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_ISO_PARTITION
+#define CONFIG_SUPPORT_VFAT
+
 #endif	/* __CONFIG_GPLUGD_H */
Signature · 1 line
1.7.7.2
#8 lore raw

PATCH v3 3/3 Armada100: gplugD: Add USB command support

Quoted 53 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-boot at lists.denx.de; Ajay Bhargav
Subject: [v3 3/3] Armada100: gplugD: Add USB command support

This patch adds support for USB commands and USB storage device for Marvell gplugD

---
Changes for v2:
- removed unwanted ifdef
- fat and ext2 command support moved to new patch
Changes for v3:
- Not changed

 include/configs/gplugd.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
include/configs/gplugd.h +12 -1
index 9813309..061ebe6 100644
@@ -72,6 +72,7 @@
 #define CONFIG_CMD_I2C
 #define CONFIG_CMD_AUTOSCRIPT
 #undef CONFIG_CMD_FPGA
+#define CONFIG_CMD_USB
 
 /* Disable DCACHE */
 #define CONFIG_SYS_DCACHE_OFF
@@ -134,4 +135,15 @@
 #define CONFIG_CMD_EDITENV
 #define CONFIG_CMD_SAVEENV
 
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_ARMADA100
+#define CONFIG_EHCI_IS_TDI
+#define CONFIG_USB_STORAGE
+#endif /* CONFIG_CMD_USB */
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_ISO_PARTITION
+#define CONFIG_SUPPORT_VFAT
+
 #endif	/* __CONFIG_GPLUGD_H */
--
Quoted 1 line

1.7.7.2

Applied to u-boot-marvell.git next branch

Regards..
Prafulla . . .

#9 lore raw

PATCH v3 1/3 USB: Armada100: Add UTMI PHY interface driver

In reply to Ajay Bhargav
Quoted 21 lines

-----Original Message-----
From: Ajay Bhargav [mailto:ajay.bhargav at einfochips.com]
Sent: 13 February 2012 18:58
To: linux at bohmer.net
Cc: Prafulla Wadaskar; marek.vasut at gmail.com; u-boot at lists.denx.de; Ajay Bhargav
Subject: [v3 1/3] USB: Armada100: Add UTMI PHY interface driver

This patch adds USB host controller's UTMI PHY interface driver for Armada100 SOCs.

---
Changes for v2:
- Fix: enable only required clock in MPMU
Changes for v3:
- Added timeout on while loops
- moved utmi-armada100.h to arch include folder

Quoted 10 lines
 arch/arm/include/asm/arch-armada100/armada100.h    |    8 ++
 .../include/asm/arch-armada100/utmi-armada100.h    |   79
++++++++++++++++
 drivers/usb/host/utmi-armada100.c                  |   96
++++++++++++++++++++
 3 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-armada100/utmi-
armada100.h
 create mode 100644 drivers/usb/host/utmi-armada100.c

Applied to u-boot-marvell.git next branch

Regards..
Prafulla . . .