* [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35
@ 2012-12-02 11:59 Nikita Kiryanov
2012-12-02 11:59 ` [U-Boot] [PATCH V2 1/2] twl4030: add gpio register offsets Nikita Kiryanov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Nikita Kiryanov @ 2012-12-02 11:59 UTC (permalink / raw)
To: u-boot
Add USB host support for CM-T35. As a preparation, some register offset
definitions are added to twl4030.h
Changes in V2:
- Added GPIO register offsets for twl4030
- Used twl4030 definitions from patch 1 in twl4030 functions instead of
BASE_ADDR + <numerical offset>
Nikita Kiryanov (2):
twl4030: add gpio register offsets
cm-t35: add USB host support
board/cm_t35/cm_t35.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++
include/configs/cm_t35.h | 8 ++++-
include/twl4030.h | 44 ++++++++++++++++++++++++++
3 files changed, 128 insertions(+), 1 deletion(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 4+ messages in thread* [U-Boot] [PATCH V2 1/2] twl4030: add gpio register offsets 2012-12-02 11:59 [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Nikita Kiryanov @ 2012-12-02 11:59 ` Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 2/2] cm-t35: add USB host support Nikita Kiryanov 2012-12-03 4:38 ` [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Marek Vasut 2 siblings, 0 replies; 4+ messages in thread From: Nikita Kiryanov @ 2012-12-02 11:59 UTC (permalink / raw) To: u-boot Add gpio register offsets for twl4030. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> --- include/twl4030.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/include/twl4030.h b/include/twl4030.h index 9cd32ab..e3b3806 100644 --- a/include/twl4030.h +++ b/include/twl4030.h @@ -482,6 +482,50 @@ #define TWL4030_USB_PHY_CLK_CTRL 0xFE #define TWL4030_USB_PHY_CLK_CTRL_STS 0xFF +/* GPIO */ +#define TWL4030_GPIO_GPIODATAIN1 0x00 +#define TWL4030_GPIO_GPIODATAIN2 0x01 +#define TWL4030_GPIO_GPIODATAIN3 0x02 +#define TWL4030_GPIO_GPIODATADIR1 0x03 +#define TWL4030_GPIO_GPIODATADIR2 0x04 +#define TWL4030_GPIO_GPIODATADIR3 0x05 +#define TWL4030_GPIO_GPIODATAOUT1 0x06 +#define TWL4030_GPIO_GPIODATAOUT2 0x07 +#define TWL4030_GPIO_GPIODATAOUT3 0x08 +#define TWL4030_GPIO_CLEARGPIODATAOUT1 0x09 +#define TWL4030_GPIO_CLEARGPIODATAOUT2 0x0A +#define TWL4030_GPIO_CLEARGPIODATAOUT3 0x0B +#define TWL4030_GPIO_SETGPIODATAOUT1 0x0C +#define TWL4030_GPIO_SETGPIODATAOUT2 0x0D +#define TWL4030_GPIO_SETGPIODATAOUT3 0x0E +#define TWL4030_GPIO_GPIO_DEBEN1 0x0F +#define TWL4030_GPIO_GPIO_DEBEN2 0x10 +#define TWL4030_GPIO_GPIO_DEBEN3 0x11 +#define TWL4030_GPIO_GPIO_CTRL 0x12 +#define TWL4030_GPIO_GPIOPUPDCTR1 0x13 +#define TWL4030_GPIO_GPIOPUPDCTR2 0x14 +#define TWL4030_GPIO_GPIOPUPDCTR3 0x15 +#define TWL4030_GPIO_GPIOPUPDCTR4 0x16 +#define TWL4030_GPIO_GPIOPUPDCTR5 0x17 +#define TWL4030_GPIO_GPIO_ISR1A 0x19 +#define TWL4030_GPIO_GPIO_ISR2A 0x1A +#define TWL4030_GPIO_GPIO_ISR3A 0x1B +#define TWL4030_GPIO_GPIO_IMR1A 0x1C +#define TWL4030_GPIO_GPIO_IMR2A 0x1D +#define TWL4030_GPIO_GPIO_IMR3A 0x1E +#define TWL4030_GPIO_GPIO_ISR1B 0x1F +#define TWL4030_GPIO_GPIO_ISR2B 0x20 +#define TWL4030_GPIO_GPIO_ISR3B 0x21 +#define TWL4030_GPIO_GPIO_IMR1B 0x22 +#define TWL4030_GPIO_GPIO_IMR2B 0x23 +#define TWL4030_GPIO_GPIO_IMR3B 0x24 +#define TWL4030_GPIO_GPIO_EDR1 0x28 +#define TWL4030_GPIO_GPIO_EDR2 0x29 +#define TWL4030_GPIO_GPIO_EDR3 0x2A +#define TWL4030_GPIO_GPIO_EDR4 0x2B +#define TWL4030_GPIO_GPIO_EDR5 0x2C +#define TWL4030_GPIO_GPIO_SIH_CTRL 0x2D + /* * Convience functions to read and write from TWL4030 * -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH V2 2/2] cm-t35: add USB host support 2012-12-02 11:59 [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 1/2] twl4030: add gpio register offsets Nikita Kiryanov @ 2012-12-02 11:59 ` Nikita Kiryanov 2012-12-03 4:38 ` [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Marek Vasut 2 siblings, 0 replies; 4+ messages in thread From: Nikita Kiryanov @ 2012-12-02 11:59 UTC (permalink / raw) To: u-boot Add support for USB host ports on cm-t3530 and cm-t3730. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> --- Changes in V2: - Used twl4030 definitions from patch 1 in twl4030 functions instead of BASE_ADDR + <numerical offset> board/cm_t35/cm_t35.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++ include/configs/cm_t35.h | 8 ++++- 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/board/cm_t35/cm_t35.c b/board/cm_t35/cm_t35.c index 6c2e95b..19367df 100644 --- a/board/cm_t35/cm_t35.c +++ b/board/cm_t35/cm_t35.c @@ -32,6 +32,7 @@ #include <netdev.h> #include <net.h> #include <i2c.h> +#include <usb.h> #include <twl4030.h> #include <linux/compiler.h> @@ -41,6 +42,8 @@ #include <asm/arch/mmc_host_def.h> #include <asm/arch/sys_proto.h> #include <asm/mach-types.h> +#include <asm/ehci-omap.h> +#include <asm/gpio.h> #include "eeprom.h" @@ -260,6 +263,36 @@ static void cm_t3x_set_common_muxconf(void) MUX_VAL(CP(HSUSB0_DATA6), (IEN | PTD | DIS | M0)); /*HSUSB0_DATA6*/ MUX_VAL(CP(HSUSB0_DATA7), (IEN | PTD | DIS | M0)); /*HSUSB0_DATA7*/ + /* USB EHCI */ + MUX_VAL(CP(ETK_D0_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT0*/ + MUX_VAL(CP(ETK_D1_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT1*/ + MUX_VAL(CP(ETK_D2_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT2*/ + MUX_VAL(CP(ETK_D7_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT3*/ + MUX_VAL(CP(ETK_D4_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT4*/ + MUX_VAL(CP(ETK_D5_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT5*/ + MUX_VAL(CP(ETK_D6_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT6*/ + MUX_VAL(CP(ETK_D3_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT7*/ + MUX_VAL(CP(ETK_D8_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DIR*/ + MUX_VAL(CP(ETK_D9_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_NXT*/ + MUX_VAL(CP(ETK_CTL_ES2), (IDIS | PTD | DIS | M3)); /*HSUSB1_CLK*/ + MUX_VAL(CP(ETK_CLK_ES2), (IDIS | PTU | DIS | M3)); /*HSUSB1_STP*/ + + MUX_VAL(CP(ETK_D14_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_DT0*/ + MUX_VAL(CP(ETK_D15_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_DT1*/ + MUX_VAL(CP(MCSPI1_CS3), (IEN | PTD | EN | M3)); /*HSUSB2_DT2*/ + MUX_VAL(CP(MCSPI2_CS1), (IEN | PTD | EN | M3)); /*HSUSB2_DT3*/ + MUX_VAL(CP(MCSPI2_SIMO), (IEN | PTD | EN | M3)); /*HSUSB2_DT4*/ + MUX_VAL(CP(MCSPI2_SOMI), (IEN | PTD | EN | M3)); /*HSUSB2_DT5*/ + MUX_VAL(CP(MCSPI2_CS0), (IEN | PTD | EN | M3)); /*HSUSB2_DT6*/ + MUX_VAL(CP(MCSPI2_CLK), (IEN | PTD | EN | M3)); /*HSUSB2_DT7*/ + 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_D10_ES2), (IDIS | PTD | DIS | M3)); /*HSUSB2_CLK*/ + MUX_VAL(CP(ETK_D11_ES2), (IDIS | PTU | DIS | M3)); /*HSUSB2_STP*/ + + /* SB_T35_USB_HUB_RESET_GPIO */ + MUX_VAL(CP(CAM_WEN), (IDIS | PTD | DIS | M4)); /*GPIO_167*/ + /* I2C1 */ MUX_VAL(CP(I2C1_SCL), (IEN | PTU | EN | M0)); /*I2C1_SCL*/ MUX_VAL(CP(I2C1_SDA), (IEN | PTU | EN | M0)); /*I2C1_SDA*/ @@ -461,3 +494,47 @@ void __weak get_board_serial(struct tag_serialnr *serialnr) serialnr->low = 0; serialnr->high = 0; }; + +#ifdef CONFIG_USB_EHCI_OMAP +struct omap_usbhs_board_data usbhs_bdata = { + .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, + .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY, + .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED, +}; + +#define SB_T35_USB_HUB_RESET_GPIO 167 +int ehci_hcd_init(void) +{ + u8 val; + int offset; + + if (gpio_request(SB_T35_USB_HUB_RESET_GPIO, "SB-T35 usb hub reset")) { + printf("Error: can't obtain GPIO %d for SB-T35 usb hub reset", + SB_T35_USB_HUB_RESET_GPIO); + return -1; + } + + gpio_direction_output(SB_T35_USB_HUB_RESET_GPIO, 0); + udelay(10); + gpio_set_value(SB_T35_USB_HUB_RESET_GPIO, 1); + udelay(1000); + + offset = TWL4030_BASEADD_GPIO + TWL4030_GPIO_GPIODATADIR1; + twl4030_i2c_read_u8(TWL4030_CHIP_GPIO, &val, offset); + val |= 0xC0; + /* Set GPIO6 and GPIO7 of TPS65930 as output */ + twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, val, offset); + offset = TWL4030_BASEADD_GPIO + TWL4030_GPIO_SETGPIODATAOUT1; + /* Take both PHYs out of reset */ + twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, 0xC0, offset); + udelay(1); + + return omap_ehci_hcd_init(&usbhs_bdata); +} + +int ehci_hcd_stop(void) +{ + return omap_ehci_hcd_stop(); +} + +#endif /* CONFIG_USB_EHCI_OMAP */ diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h index 46c556d..35e2280 100644 --- a/include/configs/cm_t35.h +++ b/include/configs/cm_t35.h @@ -114,9 +114,15 @@ #define CONFIG_DOS_PARTITION /* USB */ -#define CONFIG_MUSB_UDC #define CONFIG_USB_OMAP3 +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_OMAP +#define CONFIG_USB_ULPI +#define CONFIG_USB_ULPI_VIEWPORT_OMAP +#define CONFIG_USB_STORAGE +#define CONFIG_MUSB_UDC #define CONFIG_TWL4030_USB +#define CONFIG_CMD_USB /* USB device configuration */ #define CONFIG_USB_DEVICE -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 2012-12-02 11:59 [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 1/2] twl4030: add gpio register offsets Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 2/2] cm-t35: add USB host support Nikita Kiryanov @ 2012-12-03 4:38 ` Marek Vasut 2 siblings, 0 replies; 4+ messages in thread From: Marek Vasut @ 2012-12-03 4:38 UTC (permalink / raw) To: u-boot Dear Nikita Kiryanov, > Add USB host support for CM-T35. As a preparation, some register offset > definitions are added to twl4030.h > > Changes in V2: > - Added GPIO register offsets for twl4030 > - Used twl4030 definitions from patch 1 in twl4030 functions instead of > BASE_ADDR + <numerical offset> > > Nikita Kiryanov (2): > twl4030: add gpio register offsets > cm-t35: add USB host support > > board/cm_t35/cm_t35.c | 77 > ++++++++++++++++++++++++++++++++++++++++++++++ include/configs/cm_t35.h | > 8 ++++- > include/twl4030.h | 44 ++++++++++++++++++++++++++ > 3 files changed, 128 insertions(+), 1 deletion(-) Applied both, thanks! Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-12-03 4:38 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-02 11:59 [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 1/2] twl4030: add gpio register offsets Nikita Kiryanov 2012-12-02 11:59 ` [U-Boot] [PATCH V2 2/2] cm-t35: add USB host support Nikita Kiryanov 2012-12-03 4:38 ` [U-Boot] [PATCH V2 0/2] Add USB host support for CM-T35 Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox