OMAP3: Change some USB related MUX settings to values used by the kernel.
Subsystems (2)
PATCH 1/3 OMAP3: Change some USB related MUX settings to values used by the kernel.
--- board/ti/beagle/beagle.h | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-)
board/ti/beagle/beagle.h +14 -13
@@ -273,18 +273,18 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(MCSPI1_CS1), (IDIS | PTD | EN | M0)) /*McSPI1_CS1*/\MUX_VAL (CP (MCSPI1_CS2 ), (IDIS |PTD |DIS |M4 ))/*GPIO_176*/ \ /* USB EHCI (port 2) */\ - MUX_VAL(CP(MCSPI1_CS3), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA2*/\ - MUX_VAL(CP(MCSPI2_CLK), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA7*/\ - MUX_VAL(CP(MCSPI2_SIMO), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA4*/\ - MUX_VAL(CP(MCSPI2_SOMI), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA5*/\ - MUX_VAL(CP(MCSPI2_CS0), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA6*/\ - MUX_VAL(CP(MCSPI2_CS1), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA3*/\ - MUX_VAL(CP(ETK_D10_ES2), (IDIS | PTU | DIS | M3)) /*HSUSB2_CLK*/\ - MUX_VAL(CP(ETK_D11_ES2), (IDIS | PTU | DIS | M3)) /*HSUSB2_STP*/\ - MUX_VAL(CP(ETK_D12_ES2), (IEN | PTU | DIS | M3)) /*HSUSB2_DIR*/\ - MUX_VAL(CP(ETK_D13_ES2), (IEN | PTU | DIS | M3)) /*HSUSB2_NXT*/\ - MUX_VAL(CP(ETK_D14_ES2), (IEN | PTU | DIS | M3)) /*HSUSB2_DATA0*/\ -MUX_VAL (CP (ETK_D15_ES2 ), (IEN |PTU |DIS |M3 ))/*HSUSB2_DATA1*/ \ + MUX_VAL(CP(MCSPI1_CS3), (IEN | PTD | EN | M3)) /*HSUSB2_DATA2*/\ + MUX_VAL(CP(MCSPI2_CLK), (IEN | PTD | EN | M3)) /*HSUSB2_DATA7*/\ + MUX_VAL(CP(MCSPI2_SIMO), (IEN | PTD | EN | M3)) /*HSUSB2_DATA4*/\ + MUX_VAL(CP(MCSPI2_SOMI), (IEN | PTD | EN | M3)) /*HSUSB2_DATA5*/\ + MUX_VAL(CP(MCSPI2_CS0), (IEN | PTD | EN | M3)) /*HSUSB2_DATA6*/\ + MUX_VAL(CP(MCSPI2_CS1), (IEN | PTD | EN | M3)) /*HSUSB2_DATA3*/\ + MUX_VAL(CP(ETK_D10_ES2), (IDIS | PTD | DIS | M3)) /*HSUSB2_CLK*/\ + MUX_VAL(CP(ETK_D11_ES2), (IDIS | PTD | DIS | M3)) /*HSUSB2_STP*/\ + MUX_VAL(CP(ETK_D12_ES2), (IEN | PTD | EN | M3)) /*HSUSB2_DIR*/\ + MUX_VAL(CP(ETK_D13_ES2), (IEN | PTD | EN | M3)) /*HSUSB2_NXT*/\ + MUX_VAL(CP(ETK_D14_ES2), (IEN | PTD | EN | M3)) /*HSUSB2_DATA0*/\ +MUX_VAL (CP (ETK_D15_ES2 ), (IEN |PTD |EN |M3 ))/*HSUSB2_DATA1*/ \ /*Control and debug */\ MUX_VAL(CP(SYS_32K), (IEN | PTD | DIS | M0)) /*SYS_32K*/\MUX_VAL (CP (SYS_CLKREQ ), (IEN |PTD |DIS |M0 ))/*SYS_CLKREQ*/ \
@@ -383,7 +383,8 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\ MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M0)) /*UART2_CTS*/\ MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\ - MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/ + MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/\ + MUX_VAL(CP(UART2_RX), (IDIS | PTU | EN | M4)) /*GPIO_147*/#define MUX_BEAGLE_XM () \ MUX_VAL(CP(GPMC_NCS5), (IDIS | PTD | EN | M4))/*GPIO_56*/ \
Signature · 1 line
1.7.3.4
PATCH 2/3 OMAP3: Add support for DPLL5 (usbhost)
--- arch/arm/cpu/armv7/omap3/clock.c | 20 ++++++++++++++++++ arch/arm/cpu/armv7/omap3/lowlevel_init.S | 22 ++++++++++++++++++++ arch/arm/include/asm/arch-omap3/clocks.h | 1 + arch/arm/include/asm/arch-omap3/clocks_omap3.h | 26 ++++++++++++++++++++++++ arch/arm/include/asm/arch-omap3/cpu.h | 21 ++++++++++++++---- 5 files changed, 85 insertions(+), 5 deletions(-)
arch/arm/cpu/armv7/omap3/clock.c +20 -0
@@ -278,6 +278,25 @@ static void dpll4_init_34xx(u32 sil_index, u32 clk_index)wait_on_value (ST_PERIPH_CLK ,2 , &prcm_base->idlest_ckgen,LDELAY ); } +static void dpll5_init_34xx (u32 sil_index,u32 clk_index) +{ +struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; +dpll_param *ptr = (dpll_param *)get_per2_dpll_param (); + +/* Moving it to the right sysclk base */ + ptr = ptr + clk_index; + +/* PER2 DPLL (DPLL5) */ +sr32 (&prcm_base->clken2_pll,0 ,3 ,PLL_STOP ); +wait_on_value (1 ,0 , &prcm_base->idlest2_ckgen,LDELAY ); +sr32 (&prcm_base->clksel5_pll,0 ,5 , ptr->m2);/* set M2 (usbtll_fck) */ +sr32 (&prcm_base->clksel4_pll,8 ,11 , ptr->m);/* set m (11-bit multiplier) */ +sr32 (&prcm_base->clksel4_pll,0 ,7 , ptr->n);/* set n (7-bit divider)*/ +sr32 (&prcm_base->clken_pll,4 ,4 , ptr->fsel);/* FREQSEL */ +sr32 (&prcm_base->clken2_pll,0 ,3 ,PLL_LOCK );/* lock mode */ +wait_on_value (1 ,1 , &prcm_base->idlest2_ckgen,LDELAY ); +} +static void mpu_init_34xx (u32 sil_index,u32 clk_index) {struct prcm *prcm_base = (struct prcm *)PRCM_BASE ;
@@ -587,6 +606,7 @@ void prcm_init(void)dpll3_init_34xx (sil_index, clk_index);dpll4_init_34xx (sil_index, clk_index); +dpll5_init_34xx (sil_index, clk_index);iva_init_34xx (sil_index, clk_index);mpu_init_34xx (sil_index, clk_index);
arch/arm/cpu/armv7/omap3/lowlevel_init.S +22 -0
@@ -360,6 +360,28 @@ get_per_dpll_param: adr r0, per_dpll_param mov pc, lr +/* PER2 DPLL values */ +per2_dpll_param: +/* 12MHz */ +.word PER2_M_12, PER2_N_12, PER2_FSEL_12, PER2_M2_12 + +/* 13MHz */ +.word PER2_M_13, PER2_N_13, PER2_FSEL_13, PER2_M2_13 + +/* 19.2MHz */ +.word PER2_M_19P2, PER2_N_19P2, PER2_FSEL_19P2, PER2_M2_19P2 + +/* 26MHz */ +.word PER2_M_26, PER2_N_26, PER2_FSEL_26, PER2_M2_26 + +/* 38.4MHz */ +.word PER2_M_38P4, PER2_N_38P4, PER2_FSEL_38P4, PER2_M2_38P4 + +.globl get_per2_dpll_param +get_per2_dpll_param: + adr r0, per2_dpll_param + mov pc, lr + /* * Tables for 36XX/37XX devices *
arch/arm/include/asm/arch-omap3/clocks.h +1 -0
@@ -68,6 +68,7 @@ extern dpll_param *get_mpu_dpll_param(void);extern dpll_param *get_iva_dpll_param (void );extern dpll_param *get_core_dpll_param (void );extern dpll_param *get_per_dpll_param (void ); +extern dpll_param *get_per2_dpll_param (void );extern dpll_param *get_36x_mpu_dpll_param (void );extern dpll_param *get_36x_iva_dpll_param (void );
arch/arm/include/asm/arch-omap3/clocks_omap3.h +26 -0
@@ -282,6 +282,32 @@#define PER_FSEL_38P4 0x07#define PER_M2_38P4 0x09 +/* PER2 DPLL */ +#define PER2_M_12 0x78 +#define PER2_N_12 0x0B +#define PER2_FSEL_12 0x03 +#define PER2_M2_12 0x01 + +#define PER2_M_13 0x78 +#define PER2_N_13 0x0C +#define PER2_FSEL_13 0x03 +#define PER2_M2_13 0x01 + +#define PER2_M_19P2 0x2EE +#define PER2_N_19P2 0x0B +#define PER2_FSEL_19P2 0x06 +#define PER2_M2_19P2 0x0A + +#define PER2_M_26 0x78 +#define PER2_N_26 0x0C +#define PER2_FSEL_26 0x03 +#define PER2_M2_26 0x01 + +#define PER2_M_38P4 0x2EE +#define PER2_N_38P4 0x0B +#define PER2_FSEL_38P4 0x06 +#define PER2_M2_38P4 0x0A +/* 36XX PER DPLL */ #define PER_36XX_M_12 0x1B0
arch/arm/include/asm/arch-omap3/cpu.h +16 -5
@@ -347,10 +347,13 @@ struct prcm {u32 clksel2_pll_mpu;/* 0x944 */ u8 res6[0xb8 ];u32 fclken1_core;/* 0xa00 */ -u8 res7[0xc ]; +u32 res_fclken2_core; +u32 fclken3_core;/* 0xa08 */ +u8 res7[0x4 ];u32 iclken1_core;/* 0xa10 */ u32 iclken2_core;/* 0xa14 */ -u8 res8[0x28 ]; +u32 iclken3_core;/* 0xa18 */ +u8 res8[0x24 ];u32 clksel_core;/* 0xa40 */ u8 res9[0xbc ];u32 fclken_gfx;/* 0xb00 */
@@ -368,13 +371,17 @@ struct prcm {u32 clksel_wkup;/* 0xc40 */ u8 res16[0xbc ];u32 clken_pll;/* 0xd00 */ -u8 res17[0x1c ]; +u32 clken2_pll;/* 0xd04 */ +u8 res17[0x18 ];u32 idlest_ckgen;/* 0xd20 */ -u8 res18[0x1c ]; +u32 idlest2_ckgen;/* 0xd24 */ +u8 res18[0x18 ];u32 clksel1_pll;/* 0xd40 */ u32 clksel2_pll;/* 0xd44 */ u32 clksel3_pll;/* 0xd48 */ -u8 res19[0xb4 ]; +u32 clksel4_pll;/* 0xd4c */ +u32 clksel5_pll;/* 0xd50 */ +u8 res19[0xac ];u32 fclken_dss;/* 0xe00 */ u8 res20[0xc ];u32 iclken_dss;/* 0xe10 */
@@ -394,6 +401,10 @@ struct prcm {u32 clksel_per;/* 0x1040 */ u8 res28[0xfc ];u32 clksel1_emu;/* 0x1140 */ +u8 res29[0x2bc ]; +u32 fclken_usbhost;/* 0x1400 */ +u8 res30[0xc ]; + u32 iclken_usbhost; /* 0x1410 */ };#else /* __ASSEMBLY__ */ #define CM_CLKSEL_CORE 0x48004a40
Signature · 1 line
1.7.3.4
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
In reply to Alexander HollerThe reset sequence/configuration for ehci is highly board specific, so this will be done in the source for the board, instead of introducing several CONFIG_* which would be needed to make those few lines in beagle.c usable across different OMAP boards.
--- arch/arm/include/asm/arch-omap3/ehci_omap3.h | 58 ++++++++++++++ board/ti/beagle/beagle.c | 106 ++++++++++++++++++++++++++ include/configs/omap3_beagle.h | 6 ++ 3 files changed, 170 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-omap3/ehci_omap3.h
arch/arm/include/asm/arch-omap3/ehci_omap3.h new file +58 -0
@@ -0,0 +1,58 @@ +/* +* (C) Copyright 2011 +* Alexander Holler <[email protected]> +* +* Based on "drivers/usb/host/ehci-omap.c" from Linux 2.6.37 +* +* See there for additional Copyrights. +* +* 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 +*/ +#ifndef _EHCI_OMAP3_H_ +#define _EHCI_OMAP3_H_ + +/* USB/EHCI registers */ +#define OMAP3_USBTLL_BASE 0x48062000UL +#define OMAP3_UHH_BASE 0x48064000UL +#define OMAP3_EHCI_BASE 0x48064800UL + +/* TLL Register Set */ +#define OMAP_USBTLL_SYSCONFIG (0x10) +#define OMAP_USBTLL_SYSCONFIG_SOFTRESET (1 << 1) +#define OMAP_USBTLL_SYSCONFIG_ENAWAKEUP (1 << 2) +#define OMAP_USBTLL_SYSCONFIG_SIDLEMODE (1 << 3) +#define OMAP_USBTLL_SYSCONFIG_CACTIVITY (1 << 8) + +#define OMAP_USBTLL_SYSSTATUS (0x14) +#define OMAP_USBTLL_SYSSTATUS_RESETDONE (1 << 0) + +/* UHH Register Set */ +#define OMAP_UHH_SYSCONFIG (0x10) +#define OMAP_UHH_SYSCONFIG_SOFTRESET (1 << 1) +#define OMAP_UHH_SYSCONFIG_CACTIVITY (1 << 8) +#define OMAP_UHH_SYSCONFIG_SIDLEMODE (1 << 3) +#define OMAP_UHH_SYSCONFIG_ENAWAKEUP (1 << 2) +#define OMAP_UHH_SYSCONFIG_MIDLEMODE (1 << 12) + +#define OMAP_UHH_HOSTCONFIG (0x40) +#define OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN (1 << 2) +#define OMAP_UHH_HOSTCONFIG_INCR8_BURST_EN (1 << 3) +#define OMAP_UHH_HOSTCONFIG_INCR16_BURST_EN (1 << 4) + +#endif /* _EHCI_OMAP3_H_ */
board/ti/beagle/beagle.c +106 -0
117 lines not on this page · raw message
include/configs/omap3_beagle.h +6 -0
@@ -121,6 +121,11 @@#define CONFIG_USB_TTY 1#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 +/* USB EHCI */ +#define CONFIG_CMD_USB +#define CONFIG_USB_EHCI +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 +/* commands to include */ #include <config_cmd_default.h>
@@ -137,6 +142,7 @@#define CONFIG_CMD_I2C /* I2C serial bus support */ #define CONFIG_CMD_MMC /* MMC support */ +#define CONFIG_USB_STORAGE /* USB storage support */ #define CONFIG_CMD_NAND /* NAND support */ #undef CONFIG_CMD_FLASH/* flinfo, erase, protect */
Signature · 1 line
1.7.3.4
Paulraj
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Quoted 10 lines
The reset sequence/configuration for ehci is highly board specific, so this will be done in the source for the board, instead of introducing several CONFIG_* which would be needed to make those few lines in
beagle.cusable across different OMAP boards.Signed-off-by Alexander Holler <[email protected]>---
Thanks
Pushed to u-boot-ti.
In one patch I changed the patch subject line as it was too long.
--Sandeep
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
In reply to Alexander HollerHi Alexander Holler,
is EHCI on omap3 already working?
On my beagleboard xM
usb start
hangs at this position in method ehci_hcd_init:
+ /* perform TLL soft reset, and wait until reset is complete */
+ writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET,
+ OMAP3_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);
regards,
chris.
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Am 26.05.2011 13:30, schrieb Christian Spielberger:
Quoted 6 lines
Hi Alexander Holler,
is EHCI on omap3 already working?
On my beagleboard xM
Quoted 7 lines
usb start
hangs at this position in method
ehci_hcd_init:+ /* perform TLL soft reset, and wait until reset is complete */
+ writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET,
+OMAP3_USBTLL_BASE+OMAP_USBTLL_SYSCONFIG);
It works on a normal BeagleBoard (720 MHz). On the XM it seems you have either move the initialization of the usb-clocks a bit upwards (e.g. before the reset of the phy) or you have to add a check if the clock runs after it was initialized (before that writel). The XM seems to be too fast and the peripheral-clock isn't ready when that writel wants to write to the peripheral-register, therefor it hangs there on a XM.
But even than USB doesn't seem to work on a BeagleBoard XM (at least some people told me so). I don't have a XM, so I can't help more there. It might be a problem with (a needed reset of) the HUB which is included on the XM, I don't know.
And a side note: don't try a kernel compiled with gcc 4.6 on the BeagleBoard. EHCI on the OMAP3 doesn't come up here when the kernel is compiled with gcc 4.6. That seems to be specific to OMAP, I don't have those problems on other ARM hw (I use successfull e.g. EHCI on some armv5 devices with kernels which are compiled with gcc 4.6).When I compile the same kernel using gcc 4.5.2 I have no problems with EHCI on the BeagleBoard. Haven't investigated that further.
Regards,
Alexander
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Am 26.05.2011 17:41, schrieb Alexander Holler:
Quoted 1 line
Am 26.05.2011 13:30, schrieb Christian Spielberger:
...
Quoted 4 lines
But even than USB doesn't seem to work on a BeagleBoard XM (at least some people told me so). I don't have a XM, so I can't help more there. It might be a problem with (a needed reset of) the HUB which is included on the XM, I don't know.
I forgot to mention that the PHY reset on the XM works inverse than for the BeagleBoard w/o XM. Haven't known this, when I've written that patch.
Regards,
Alexander
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Quoted 8 lines · Alexander Holler
Am 26.05.2011 17:41, schrieb Alexander Holler:
Quoted 1 line
Am 26.05.2011 13:30, schrieb Christian Spielberger:
...
Quoted 4 lines
But even than USB doesn't seem to work on a BeagleBoard XM (at least some people told me so). I don't have a XM, so I can't help more there. It might be a problem with (a needed reset of) the HUB which is included on the XM, I don't know.
Quoted 8 lines
I forgot to mention that the PHY reset on the XM works inverse than for the BeagleBoard w/o XM. Haven't known this, when I've written that patch.
Regards,
Alexander
We checked what you mentioned but found that the PHY reset is identical between XM and C4. The reset signal is ok. That is what we saw on an oscilloscope.
We also found that the USB2HS_CLK initialization does not work, also with the oscilloscope. I am going to check the CLK initialization sequence in beagle.c/ehci_hcd_init.
regards,
chris.
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Am 27.05.2011 11:40, schrieb Christian Spielberger:
Quoted 18 lines · Alexander Holler
Quoted 8 lines
Am 26.05.2011 17:41, schrieb Alexander Holler:
Quoted 1 line
Am 26.05.2011 13:30, schrieb Christian Spielberger:
...
Quoted 4 lines
But even than USB doesn't seem to work on a BeagleBoard XM (at least some people told me so). I don't have a XM, so I can't help more there. It might be a problem with (a needed reset of) the HUB which is included on the XM, I don't know.
Quoted 8 lines
I forgot to mention that the PHY reset on the XM works inverse than for the BeagleBoard w/o XM. Haven't known this, when I've written that patch.
Regards,
Alexander
Quoted 7 lines
We checked what you mentioned but found that the PHY reset is identical between XM and C4. The reset signal is ok. That is what we saw on an oscilloscope.
We also found that the
USB2HS_CLKinitialization does not work, also with the oscilloscope. I am going to check the CLK initialization sequence in beagle.c/ehci_hcd_init.
It seems the PHY reset was only inverted for XM-A and XM-B and got again the same as in the C4 with XM-C.
I've looked up in my mailbox and found a quick and dirty hack from Koen Kooi with which he comes at least through the initialization on the XM:
http://dominion.thruhere.net/koen/angstrom/beagleboard/uboot/hacks.diff
But I think he stopped working on that topic, waiting for feedback from other people.
You might ask on the mailing list for the BeagleBoard about the status.
Regards,
Alexander
PATCH 3/3 omap3_beagle: enable EHCI and USB storage.
Quoted 35 lines · Alexander Holler
Am 27.05.2011 11:40, schrieb Christian Spielberger:
Quoted 18 lines · Alexander Holler
Quoted 8 lines
Am 26.05.2011 17:41, schrieb Alexander Holler:
Quoted 1 line
Am 26.05.2011 13:30, schrieb Christian Spielberger:
...
Quoted 4 lines
But even than USB doesn't seem to work on a BeagleBoard XM (at least some people told me so). I don't have a XM, so I can't help more there. It might be a problem with (a needed reset of) the HUB which is included on the XM, I don't know.
Quoted 8 lines
I forgot to mention that the PHY reset on the XM works inverse than for the BeagleBoard w/o XM. Haven't known this, when I've written that patch.
Regards,
Alexander
Quoted 7 lines
We checked what you mentioned but found that the PHY reset is identical between XM and C4. The reset signal is ok. That is what we saw on an oscilloscope.
We also found that the
USB2HS_CLKinitialization does not work, also with the oscilloscope. I am going to check the CLK initialization sequence in beagle.c/ehci_hcd_init.It seems the PHY reset was only inverted for XM-A and XM-B and got again the same as in the C4 with XM-C.
I've looked up in my mailbox and found a quick and dirty hack from Koen Kooi with which he comes at least through the initialization on the XM:
http://dominion.thruhere.net/koen/angstrom/beagleboard/uboot/hacks.diff
Quoted 8 lines
But I think he stopped working on that topic, waiting for feedback from other people.
You might ask on the mailing list for the BeagleBoard about the status.
Regards,
Alexander
Hi Alexander, hi Koen,
@Alexander:
Thanks for your input! I could not find any difference in the schematics between C4, xM-A2, xM-A3 (which should be the same as xM-B, see
http://beagleboard.org/hardware/design!). Anyway, I'll check the lines:
MUX_VAL(CP(UART2_RX), (IDIS | PTU | EN | M4)) /*GPIO_147*/
in the defines of MUX_BEAGLE_C and MUX_BEAGLE_XM (board/ti/beagle/beagle.h) on Monday. I'am not sure if PTU is correct if a pull down resistor is used.
@Koen: We tried your hack
http://dominion.thruhere.net/koen/angstrom/beagleboard/uboot/hacks.diff
for a proper initialization of the omap3 ehci with both versions of PHY reset levels. Thus we removed the soft reset and the following initialization of the USBTLL. The result: U-boot hangs at the first writel after invoking "usb start".
We assume the reason for that is a faulty initialization of the usb clk for the DM3730 at lines 377-388 in board/ti/beagle/beagle.cpp. We also inserted an udelay after the CLK initialization with no result.
Did you have any luck with your efforts on the xM? What was the reason for removing the USBTLL soft reset and initialization?
regards,
chris.