Skip to contentSkip to conversation

mfd: TWL6030: OMAP4: Registering the TWL6030-usb device

PATCH In review Hema HK 3 participants 3 messages Dec 10, 2010 1 message not in the archive

Subsystems (4)
lore
Share & tools
lore

Hema HK

author
#0 lore raw

PATCH v2 4/7 mfd: TWL6030: OMAP4: Registering the TWL6030-usb device

Registering the twl6030-usb transceiver device as a child to twl6030 core. Removed the NOP transceiver init call from board file.

Populated twl4030_usb_data platform data structure with the function pointers for OMAP4430 internal PHY operation to be used by twl630-usb driver.

Cc Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Tony Lindgren <[email protected]>
---
 arch/arm/mach-omap2/board-4430sdp.c    |   11 ++++++--
 arch/arm/mach-omap2/board-omap4panda.c |    8 ++++++
 drivers/mfd/twl-core.c                 |   44 +++++++++++++++++++++++++++++----
 include/linux/i2c/twl.h                |    7 +++++
 4 files changed, 62 insertions(+), 8 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +8 -3
Index: usb/arch/arm/mach-omap2/board-4430sdp.c
===================================================================
@@ -242,6 +242,13 @@ static struct omap_musb_board_data musb_
 	.power			= 100,
 };
 
+static struct twl4030_usb_data omap4_usbphy_data = {
+	.phy_init	= omap4430_phy_init,
+	.phy_exit	= omap4430_phy_exit,
+	.phy_power	= omap4430_phy_power,
+	.phy_set_clock	= omap4430_phy_set_clk,
+};
+
 static struct omap2_hsmmc_info mmc[] = {
 	{
 		.mmc		= 1,
@@ -461,6 +468,7 @@ static struct twl4030_platform_data sdp4
 	.vaux1		= &sdp4430_vaux1,
 	.vaux2		= &sdp4430_vaux2,
 	.vaux3		= &sdp4430_vaux3,
+	.usb		= &omap4_usbphy_data
 };
 
 static struct i2c_board_info __initdata sdp4430_i2c_boardinfo[] = {
@@ -533,9 +541,6 @@ static void __init omap_4430sdp_init(voi
 		gpio_direction_output(OMAP4SDP_MDM_PWR_EN_GPIO, 1);
 	}
 	usb_ehci_init(&ehci_pdata);
-
-	/* OMAP4 SDP uses internal transceiver so register nop transceiver */
-	usb_nop_xceiv_register();
 	usb_musb_init(&musb_board_data);
 
 	status = omap_ethernet_init();
drivers/mfd/twl-core.c +39 -5

62 lines not on this page · raw message

include/linux/i2c/twl.h +7 -0
Index: usb/include/linux/i2c/twl.h
===================================================================
@@ -593,6 +593,13 @@ enum twl4030_usb_mode {
 
 struct twl4030_usb_data {
 	enum twl4030_usb_mode	usb_mode;
+
+	int		(*phy_init)(struct device *dev);
+	int		(*phy_exit)(struct device *dev);
+	/* Power on/off the PHY */
+	int		(*phy_power)(struct device *dev, int iD, int on);
+	/* enable/disable  phy clocks */
+	int		(*phy_set_clock)(struct device *dev, int on);
 };
 
 struct twl4030_ins {
arch/arm/mach-omap2/board-omap4panda.c +8 -0
Index: usb/arch/arm/mach-omap2/board-omap4panda.c
===================================================================
@@ -137,6 +137,13 @@ static struct omap_musb_board_data musb_
 	.power			= 100,
 };
 
+static struct twl4030_usb_data omap4_usbphy_data = {
+	.phy_init	= omap4430_phy_init,
+	.phy_exit	= omap4430_phy_exit,
+	.phy_power	= omap4430_phy_power,
+	.phy_set_clock	= omap4430_phy_set_clk,
+};
+
 static struct omap2_hsmmc_info mmc[] = {
 	{
 		.mmc		= 1,
@@ -345,6 +352,7 @@ static struct twl4030_platform_data omap
 	.vaux1		= &omap4_panda_vaux1,
 	.vaux2		= &omap4_panda_vaux2,
 	.vaux3		= &omap4_panda_vaux3,
+	.usb		= &omap4_usbphy_data,
 };
 
 static struct i2c_board_info __initdata omap4_panda_i2c_boardinfo[] = {

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 1291964690-7152-1-git-send-email-hemahk-l0cyMroinI0@public.gmane.org

#2 lore raw

Hi,

Quoted 7 lines · Hema HK

Registering the twl6030-usb transceiver device as a child to twl6030 core. Removed the NOP transceiver init call from board file.

Populated twl4030_usb_data platform data structure with the function pointers for OMAP4430 internal PHY operation to be used by twl630-usb driver.

one blank line only.

Quoted 6 lines

Index: usb/include/linux/i2c/twl.h
===================================================================

include/linux/i2c/twl.h +0 -0
@@ -593,6 +593,13 @@ enum twl4030_usb_mode {
 

include/linux/i2c/twl.h enum twl4030_usb_mode { · line 603

Quoted 10 lines
include/linux/i2c/twl.h +7 -0
 struct twl4030_usb_data {
 	enum twl4030_usb_mode	usb_mode;
+
+	int		(*phy_init)(struct device *dev);
+	int		(*phy_exit)(struct device *dev);
+	/* Power on/off the PHY */
+	int		(*phy_power)(struct device *dev, int iD, int on);
+	/* enable/disable  phy clocks */
+	int		(*phy_set_clock)(struct device *dev, int on);
 };

This hunk should come either before or together with patch:

usb: otg: Adding twl6030-usb transceiver driver for

Quoted 20 lines
include/linux/i2c/twl.h +0 -0
 struct twl4030_ins {

Index: usb/arch/arm/mach-omap2/board-omap4panda.c
===================================================================

arch/arm/mach-omap2/board-omap4panda.c +7 -0
@@ -137,6 +137,13 @@ static struct omap_musb_board_data musb_
 	.power			= 100,
 };
 
+static struct twl4030_usb_data omap4_usbphy_data = {
+	.phy_init	= omap4430_phy_init,
+	.phy_exit	= omap4430_phy_exit,
+	.phy_power	= omap4430_phy_power,
+	.phy_set_clock	= omap4430_phy_set_clk,
+};
+
 static struct omap2_hsmmc_info mmc[] = {
 	{
 		.mmc		= 1,

arch/arm/mach-omap2/board-omap4panda.c static struct twl4030_platform_data omap · line 358

Quoted 7 lines
arch/arm/mach-omap2/board-omap4panda.c +1 -0
@@ -345,6 +352,7 @@ static struct twl4030_platform_data omap
 	.vaux1		= &omap4_panda_vaux1,
 	.vaux2		= &omap4_panda_vaux2,
 	.vaux3		= &omap4_panda_vaux3,
+	.usb		= &omap4_usbphy_data,
 };
 
 static struct i2c_board_info __initdata omap4_panda_i2c_boardinfo[] = {

This hunk should come before adding the Kconfig entries for twl6030-usb.

Signature · 5 lines
balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw
Quoted 7 lines · Felipe Balbi

Hi,

Quoted 4 lines · Hema HK

Registering the twl6030-usb transceiver device as a child to twl6030 core. Removed the NOP transceiver init call from board file.

Quoted 7 lines
Quoted 5 lines

Populated twl4030_usb_data platform data structure with the function pointers for OMAP4430 internal PHY operation to be used by twl630-usb driver.

one blank line only.

OK. I will fix it

Quoted 7 lines
Quoted 7 lines

Index: usb/include/linux/i2c/twl.h
===================================================================

include/linux/i2c/twl.h +0 -0
@@ -593,6 +593,13 @@ enum twl4030_usb_mode {
 
Quoted 13 lines

include/linux/i2c/twl.h enum twl4030_usb_mode { · line 603

Quoted 10 lines
include/linux/i2c/twl.h +7 -0
 struct twl4030_usb_data {
        enum twl4030_usb_mode   usb_mode;
+
+       int             (*phy_init)(struct device *dev);
+       int             (*phy_exit)(struct device *dev);
+       /* Power on/off the PHY */
+       int             (*phy_power)(struct device *dev, int iD, int on);
+       /* enable/disable  phy clocks */
+       int             (*phy_set_clock)(struct device *dev, int on);
 };

This hunk should come either before or together with patch:

Agree this patch should be before 4th patch.

Quoted 28 lines

usb: otg: Adding twl6030-usb transceiver driver for

Quoted 26 lines
include/linux/i2c/twl.h +0 -0
 struct twl4030_ins {

Index: usb/arch/arm/mach-omap2/board-omap4panda.c
===================================================================

arch/arm/mach-omap2/board-omap4panda.c +8 -0
@@ -137,6 +137,13 @@ static struct omap_musb_board_data musb_
        .power                  = 100,
 };
 
+static struct twl4030_usb_data omap4_usbphy_data = {
+       .phy_init       = omap4430_phy_init,
+       .phy_exit       = omap4430_phy_exit,
+       .phy_power      = omap4430_phy_power,
+       .phy_set_clock  = omap4430_phy_set_clk,
+};
+
 static struct omap2_hsmmc_info mmc[] = {
        {
                .mmc            = 1,
@@ -345,6 +352,7 @@ static struct twl4030_platform_data omap
        .vaux1          = &omap4_panda_vaux1,
        .vaux2          = &omap4_panda_vaux2,
        .vaux3          = &omap4_panda_vaux3,
+       .usb            = &omap4_usbphy_data,
 };
 
Quoted 3 lines

arch/arm/mach-omap2/board-omap4panda.c static struct twl4030_platform_data omap · line 358

Quoted 1 line
arch/arm/mach-omap2/board-omap4panda.c +0 -0
 static struct i2c_board_info __initdata omap4_panda_i2c_boardinfo[] = {

This hunk should come before adding the Kconfig entries for twl6030-usb.

Agree. I will correct it submit in sometime.

Regards,
Hema

Quoted 4 lines

--
balbi

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html